8.2. ネットワーク
UDP トンネルで MPLS トラフィックをテクノロジープレビューとして追加するための bareudp
デバイスサポートの導入
bareudp
デバイスのサポートが、テクノロジープレビューとして ip link
コマンドで利用できるようになりました。bareudp
デバイスは、UDP トンネル内の unicast および multicast multi protocol label switching (MPLS) および IPv4/IPv6 などの異なる L3 プロトコルでトラフィックをルーティングするための L3 カプセル化サポートを提供します。tc
フィルターおよびアクションの追加で、UDP で MPLS パケットのルーティングを開始できます。
たとえば、新規の bareudp
デバイスを作成するには、以下のコマンドを使用します。
# ip link add dev bareudp0 type bareudp dstport 6635 ethertype mpls_uc
bareudp0 デバイスを使用して UDP トンネルの MPLS 受信パケットをルーティングするには、次のコマンドを使用します。
# tc qdisc add dev enp1s0 ingress # tc filter add dev enp1s0 ingress proto mpls_uc matchall \ > action tunnel_key set src_ip 2001:db8::22 dst_ip 2001:db8::21 id 0 \ > action mirred egress redirect dev bareudp0
bareudp
デバイスの作成時に使用するオプションおよびパラメーターの詳細は、man ページの ip-link(8)
の Bareudp Type Support
セクションを参照してください。
AF_XDP
がテクノロジープレビューとして利用可能に
AF_XDP
(Address Family eXpress Data Path
) ソケットは、高性能パケット処理用に設計されています。さらに処理するために、XDP
を取り入れ、プログラムにより選択されたパケットの効率的なリダイレクトをユーザー空間アプリケーションに付与します。
(BZ#1633143)
KTLS がテクノロジープレビューとして利用可能に
Red Hat Enterprise Linux 8 では、Kernel Transport Layer Security (KTLS) がテクノロジープレビューとして提供されます。KTLS は、AES-GCM 暗号化のカーネルで対称暗号化アルゴリズムまたは複号アルゴリズムを使用して TLS レコードを処理します。KTLS は、この機能に対応するネットワークインターフェイスコントローラー (NIC) に TLS レコード暗号化をオフロードするインターフェイスも提供します。
(BZ#1570255)
テクノロジープレビューとして利用できる XDP 機能
Red Hat は、以下の eXpress Data Path (XDP) 機能をサポート対象外のテクノロジープレビューとして提供します。
-
AMD および Intel 64 ビット以外のアーキテクチャーで XDP プログラムを読み込む。
libxdp
ライブラリーは、AMD および Intel 64 ビット以外のアーキテクチャーでは使用できません。 - XDP ハードウェアオフロード。
TC のマルチプロトコルラベルスイッチがテクノロジープレビューとして利用可能に
Multi-protocol Label Switching (MPLS) は、エンタープライズネットワーク全体でトラフィックフローをルーティングするカーネル内データ転送メカニズムです。MPLS ネットワークでは、パケットを受信するルーターは、パケットに割り当てられたラベルに基づいて、パケットの追加のルートを決定します。ラベルを使用すると、MPLS ネットワークは特定の特性を持つパケットを処理する機能があります。たとえば、特定ポートから受信したパケットの管理や、特定のタイプのトラフィックを一貫した方法で伝送する tc filters
を追加できます。
パケットがエンタープライズネットワークに入ると、MPLS ルーターは、パケット上で複数の操作を実行します。ラベルの追加には push
、swap
(ラベルの更新)、ラベルの削除の pop
などが含まれます。MPLS では、RHEL の 1 つまたは複数のラベルに基づいて、アクションをローカルに定義できます。ルーターを設定し、トラフィック制御 (tc
) フィルターを設定して、label
、traffic class
、bottom of stack
、time to live
などの MPLS ラベルスタックエントリー (lse
) 要素に基づいて、パケットに対して適切なアクションを実行するように設定することができます。
たとえば、次のコマンドは、フィルターを enp0s1 ネットワークインターフェイスに追加して、最初のラベル 12323 と 2 番目のラベル 45832 を持つ着信パケットと一致させます。一致するパケットでは、以下のアクションが実行されます。
- 最初の MPLS TTL はデクリメントされます (TTL が 0 に達するとパケットがドロップされます)。
- 最初の MPLS ラベルが 549386 に変更
作成されるパケットは enp0s2 経由で送信されます。宛先 MAC アドレス 00:00:5E:00:53:01、およびソース MAC アドレス 00:00:5E:00:53:02。
# tc filter add dev enp0s1 ingress protocol mpls_uc flower mpls lse depth 1 label 12323 lse depth 2 label 45832 \ action mpls dec_ttl pipe \ action mpls modify label 549386 pipe \ action pedit ex munge eth dst set 00:00:5E:00:53:01 pipe \ action pedit ex munge eth src set 00:00:5E:00:53:02 pipe \ action mirred egress redirect dev enp0s2
(BZ#1814836, BZ#1856415)
act_mpls
モジュールがテクノロジープレビューとして利用可能になりました。
act_mpls
モジュールが、テクノロジープレビューとして kernel-modules-extra
rpm で利用可能になりました。モジュールを使用すると、トラフィック制御 (TC) フィルターを使用した Multiprotocol Label Switching (MPLS) アクション (TC フィルターを使用した MPLS ラベルスタックエントリーの push や pop など) の適用が可能になります。また、このモジュールでは、Label、Traffic Class、Botem of Stack、および Time to Live フィールドを独立して設定できます。
(BZ#1839311)
Multipath TCP サポートがテクノロジープレビューとして利用可能になりました。
マルチパス TCP (MPTCP) はネットワーク内のリソース使用状況を改善し、ネットワーク障害に対する耐障害性を確保します。たとえば、RHEL サーバーで Multipath TCP を使用すると、MPTCP v1 対応のスマートカードは、サーバーで実行中のアプリケーションに接続し、サーバーへの接続を中断せずに Wi-Fi とセルラーネットワークを切り替えることができます。
RHEL 8.4 では、以下のような追加の機能を提供します。
- 複数の同時アクティブなサブストリーム
- アクティブバックアップサポート
- ストリームのパフォーマンスが向上
-
バッファーの自動調整の
receive
andsend
によるメモリー使用量の向上 - SYN クッキーのサポート
サーバーで実行中のアプリケーションが MPTCP をネイティブにサポートするか、管理者が eBPF
プログラムをカーネルにロードして、IPPROTO_TCP
を IPPROTO_MPTCP
に動的に変更する必要があることに注意してください。
詳細は、Multipath TCP の使用 を参照してください。
(JIRA:RHELPLAN-57712)
systemd-resolved
サービスがテクノロジープレビューとして利用できるようになりました。
systemd-resolved
サービスは、ローカルアプリケーションに名前解決を提供します。このサービスは、DNS スタブリゾルバー、LLMNR (Link-Local Multicast Name Resolution)、およびマルチキャスト DNS リゾルバーとレスポンダーのキャッシュと検証を実装します。
systemd
パッケージが systemd-resolved
を提供している場合でも、このサービスはサポートされていないテクノロジープレビューであることに注意してください。
nispor
パッケージがテクノロジープレビューとして利用可能になりました。
nispor
パッケージがテクノロジープレビューとして利用できるようになりました。これは、Linux ネットワーク状態クエリーの統合インターフェイスです。これにより、Python および C api と rust crate を使用して、実行中のすべてのネットワークのステータスにクエリーを実行することができます。nispor
は、nmstate
ツールの依存関係として機能します。
nispor
パッケージは、nmstate
の依存関係、または個々のパッケージとしてインストールできます。
nispor
を個別のパッケージとしてインストールするには、次のコマンドを実行します。# yum install nispor
nispor
をnmstate
の依存関係としてインストールするには、次のコマンドを実行します。# yum install nmstate
nispor
は依存関係としてリスト表示されます。
nispor
の使用の詳細は、/usr/share/doc/nispor/README.md
ファイルを参照してください。
(BZ#1848817)