第11章 ネットワーク
i40e および i40evf が完全にサポートされるようになりました。
i40e および i40evf カーネルドライバーがバージョン 1.3.21-k および 1.3.13 に更新されました。これまでテクノロジープレビューとして提供されていたこれらの更新ドライバーが完全にサポートされるようになりました。で https://rhn.redhat.com/errata/RHEA-2016-0464.html 入手可能な Red Hat Enterprise Linux 7.2 に i40e Driver Update Program (DUP)を適用する必要があることに注意してください。詳細は、ナレッジベースの記事() https://access.redhat.com/articles/1400943 を参照してください。
i40e ポートでは、iSCSI 関連のコマンドを実行しようとすると、以前は i40e ポートからネットワーク接続が失われていました。今回の更新でバグが修正され、システムは iSCSI コマンドを続行できるようになりました。
SNMP が IPv6 を介して clientaddr ディレクティブを正しく準拠するようになりました
以前は、
snmp.conf
の clientaddr
オプションは、IPv4 で送信された送信メッセージにのみ影響していました。今回のリリースにより、発信 IPv6 メッセージは、clientaddr
で指定されたインターフェイスから正しく送信されるようになりました。
tcpdump
は -J、-j、および --time-stamp-precision オプションをサポートします。
カーネル
、glibc
、および libpcap
がナノ秒の解像度のタイムスタンプを取得するための API を提供するようになり、この機能を利用するように tcpdump
が更新されました。ユーザーは、利用可能なタイムスタンプソース(-J)をクエリーできるようになりました(-J)、特定のタイムスタンプソース(-j)を設定し、指定した解像度でタイムスタンプをリクエストできるようになりました(--time-stamp-precision)。
TCP/IP のバージョン 3.18 へのリベース
TCP/IP スタックがアップストリームバージョン 3.18 にアップグレードされ、以前のバージョンに比べて多くのバグ修正と機能拡張が提供されています。注目すべきは、今回の更新で TCP 高速オープン拡張機能が修正され、IPv6 を使用する際に期待どおりに機能するようになりました。さらに、今回の更新で、オプションの TCP 自動クリキングとデータセンター TCP (DCTCP)の実装がサポートされるようになりました。
NetworkManager libreswan がバージョン 1.0.6 にリベース
アップストリームでは、バグ修正および機能拡張が数多く組み込まれています。以下に例を示します。
* パスワード処理がより堅牢になりました。
* 接続の開始と停止がより堅牢になりました。
* プッシュされたルートからデフォルトのルーティングが自動検出されるようになりました。
* インタラクティブなパスワード要求のサポートを追加
* 誤ったインポートおよびエクスポート機能のアドバタイズが修正されました。
NetworkManager が、ボンディングインターフェイスの MTU の設定に対応
nmcli インターフェイスと GUI インターフェイスの両方で、ボンディングされたインターフェイスで MTU を設定できるようになりました。
NetworkManager は、IPv6 ルーター広告 MTU オプションを適用する前に検証するようになりました。
悪意のあるノードや誤って設定されたノードは、IPv6 MTU を送信することで、さらにネットワーク通信の問題や、適用不可能な状態になる可能性があります。NetworkManager はこれらのイベントを正常に処理し、IPv6 接続を維持するようになりました。
IPv6 Privacy 拡張機能がデフォルトで有効になりました。
デバイスのアクティブ化時に IPv6 プライバシー設定を決定および設定するために、NetworkManager はデフォルトで NetworkManager.conf のネットワーク設定を確認し、必要に応じて /proc/sys/net/ipv6/conf/default/use_tempaddr にフォールバックします。
control-center ネットワークパネルに WiFi デバイス機能が表示されるようになりました。
WiFi デバイスでサポートされている操作頻度が、control-center ネットワークパネルに表示されるようになりました。
複数のインターフェイスが同じゲートウェイをポイントする場合に、NetworkManager がルートの競合を正常に処理するようになりました。
NetworkManager は設定されたルートを追跡し、競合するルートの設定を回避するようになりました。競合するルートがアクティブでなくなると、削除されます。
マルチホーム接続を使用したネットワークブラックリストの修正
NetworkManager は、マルチホーム接続で 2 番目のデバイスをアクティベートする際に、ネットワークのブラックリスト化を回避できるようになりました。
NetworkManager が ip route addを上書きしないようにする新しいオプション
接続 IP 設定に新しい never-default オプションが追加されました。このオプションにより、NetworkManager がデフォルトのルート自体を設定できなくなるため、管理者は必要に応じて異なるデフォルトルートを設定することができます。
一部のハードウェアで Carrier Down が検出されるとレガシー network.service エラーを修正しました。
起動時にデバイスにサイエンカーがない場合、NetworkManager は、アクティベーションがすぐに失敗する代わりに、サイバーが検出されるのを待機します。
NetworkManager が Wake On Lan をサポート
nmcli ユーティリティーで、デバイスごとに Wake on Lan を設定できるようになりました。
VPN 接続を使用した firewalld ゾーンのサポートの改善
ファイアウォールゾーンがデバイスベースの VPN 接続用に設定されている場合、ゾーンは firewalld で正しく設定されるようになりました。
Fair Queue パケットスケジューラーのサポート
fq
と呼ばれる Fair Queue パケットスケジューラーが Red Hat Enterprise Linux 7.2 に追加され、tc
(トラフィックコントローラー)ユーティリティーを使用して選択できます。
送信コアレッシングのサポートが追加されました。
xmit_more
拡張機能が実装され、特に TSO (TCP Segmentation Offload)が無効になっている場合、virtio-net やその他のドライバーの送信パフォーマンスが向上します。
ネットワークフレーム受信パフォーマンスの改善
NAPI メモリー割り当てで IRQ の保存操作と復元操作を排除するためにコードをリファクタリングすることで、ネットワークフレームを受信する際のレイテンシーが短縮されました。
ルートルックアップのパフォーマンスを大幅に向上
IPv4 FIB (Forward Information Base)コードがアップストリームから更新され、パフォーマンスが向上します。
仮想インターフェイスのネットワーク名前空間のサポート
netns ID が仮想インターフェイスで対応するようになり、ネットワーク名前空間の境界全体でリンクされたネットワークインターフェイスを確実に追跡できるようになりました。
Docker および LXC コンテナーは net.ipv4.ip_local_port_range を読み取ることができるようになりました。
net.ipv4.ip_local_port_range sysctl のネットワーク名前空間サポートが追加され、この情報へのアクセスを必要とするソフトウェアのコンテナーサポートが改善されました。
ip ツールによる自動設定された IPv6 ルートのレポートの改善
ip
ツールは、ルート広告から mtu または hoplimit 情報を取得できませんでした。これは修正されました。
デュアルスタックソケットオプションが正しくエクスポートされるようになりました。
AF_INET6 ソケットは、IPV6_V6ONLY が設定されている場合にのみ IPv6 に限定されます。その他の場合は、ソケットも IPv4 に対応します。この情報は適切にエクスポートされ、iproute2 を使用して相互運用できるようになりました。
データセンター TCP がサポートされるようになる
本リリースには、データセンター環境でのネットワークパフォーマンスを向上させる DCTCP の実装が含まれています。パラメーター
dctcp
は sysctl で、または ip route を使用してルートごとに設定できます。
ルートコンジッジごとの制御
ルートごとに異なる輻輳制御アルゴリズムを有効にするために、
congctl
パラメーターが ip route に追加されました。
GRO の使用時に TCP Cubic および Reno の Congestion Window 処理を改善
帯域幅と輻輳ウィンドウのサイズを決定する方法が改善され、大量のデータの送信に必要な ACK パケットの数が減りました。
TCP Pacing がサポートされるようになりました。
パラメーター
SO_MAX_PACING_RATE
が追加されました。これにより、これが考慮される環境のスループットレートをより細かく制御できます。
クライアントとサーバー TFO の両方のサポート
RFC 7413 の割り当てられたオプション番号を使用して、TCP Fast Open 機能が追加されました。
TCP ACK ループの軽減策
重複する TCP ACK の処理が改善され、バグや悪意のある中間ボックスの問題が阻止されました。
nf_conntrack_proto_sctp を使用したセカンダリーエンドポイントの最小サポート
基本的なマルチホーミングサポートが SCTP に追加されました。
AF_UNIX 実装がリベース
AF_UNIX (AF_LOCAL と呼ばれることもあります)コードが更新され、多くの修正および機能強化が追加されました。特に、sendpage および splice (ゼロコピーとも呼ばれます)がサポートされるようになりました。
カーネルトンネリングのサポートがアップストリームにリベース
カーネルトンネリングドライバーはカーネル 4 から更新され、特に VXLAN 向けに多くの修正および機能強化が追加されました。
GRE にネットワーク namespace にまたがるサポートを追加
gre と ip6gre の両方が x-netns に対応するようになりました。
VXLAN で仮想マシントラフィックを実行する場合のパフォーマンス向上
送信フローのハッシュコードが更新され、仮想マシンから発信されるトラフィックがトンネルに転送される際のパフォーマンスが向上します。
VXLAN トンネルまたは GRE トンネルから受信した VLAN フレームのオフロードを改善
GRO サポートを有効にし、VXLAN および NVGRE トンネリングでパフォーマンスを向上させるための多くの変更が導入されました。
Open vSwitch トンネリングのパフォーマンス向上
tx-nocache-copy
デバイス機能がデフォルトで無効になりました。以前のデフォルトにより、特に VXLAN で実行される OVS トンネル用に、多くのワークロードに大きなオーバーヘッドが発生していました。
IPsec 処理の改善
IPsec が更新され、多くの修正および機能強化が追加されました。特に、本リリースでは、発信インターフェイスで一致する機能が提供されるようになりました。
netns 機能を含む VTI6 サポートの追加
netns 機能を含む IPv6 の仮想トンネルインターフェイスがカーネルに追加されました。
nf_conntrack_buckets のデフォルト値の増加
モジュールの読み込み時にパラメーターとして指定されていない場合、バケットのデフォルト数は、合計メモリーを 16384 で除算してバケットの数を判断して計算されます。ハッシュテーブルは 32 未満ではなく、16384 バケットに制限されます。ただし、メモリーが 4GB を超えるシステムの場合には、この制限は 65536 バケットになります。
大規模な SMP マシンの iptables のメモリー使用量の改善
以前のバージョンでは、大きな iptables ルールセットは大量のメモリーを不必要に使用する可能性がありました。これは、CPU ごとにルールセットを保存するためです。メモリーのオーバーヘッドは、ルールセットの保存方法を変更することで軽減されました。
ネットワークボンディングドライバーの更新
保守性を向上させるために、カーネルネットワークボンディングドライバーが更新され、アップストリームソースと連携するようになりました。
ボンディング用のカーネル netlink インターフェイスおよび 802.3ad (LACP)
LACP デバイスのボンディングパラメーターを読み取り、設定するための追加の netlink インターフェイスがカーネルに追加されました。
VLAN を使用した mactap および macvtap のパフォーマンスの向上
セグメンテーションの問題に関するいくつかの低スループットの問題に対処しました。
* e1000 デバイスと通信し、mactap 経由で virtio デバイスと通信します。
* ゲストで VLAN を使用する場合の外部ホストとの通信。
* ゲストとホストの両方で、VLAN 経由で KVM ホストと通信します。
ethtool ネットワーククエリーの改善
ethtool ユーティリティーのネットワーククエリー機能は、IBM System z 上の Red Hat Enterprise Linux 7.1 のテクノロジープレビュー機能で強化され、Red Hat Enterprise Linux 7.2 以降で完全にサポートされています。その結果、改善されたクエリーと互換性のあるハードウェアを使用している場合、ethtool は監視オプションを改善し、ネットワークカードの設定と値をより正確に表示します。