第8章 ネットワーキング
Red Hat Enterprise Linux 6.2 は、マルチメッセージ send
システムコールを導入しました。これは Red Hat Enterprise Linux 6 にある既存の recvmmsg
システムコールの send
バージョンです。
sendmmsg
ソケット API は以下のようになります。
struct mmsghdr { struct msghdr msg_hdr; unsigned msg_len; }; ssize_t sendmmsg(int socket, struct mmsghdr *datagrams, int vlen, int flags);
Red Hat Enterprise Linux 6.2 には、マルチキューデバイス用の XPS (送信パケットステアリング) が含まれています。XPS は、パケットの送信に関わるプロセッサを特別に対象とすることにより、マルチキューデバイス用のネットワークパケットを効率良く送信することができます。XPS により、設定に基づいたパケット送信に関して送信キューを選択できます。これは、受信キューに基づいてプロセッサの選択が可能だった Red Hat Enterprise Linux 6.1 で実装されていた受信側の機能性と類似しています (RPS)。XPS はスループットを 20% から 30% 改善しました。
以前は、ブリッジはすべてのポートの未登録グループにパケットをフラッドしていました。しかし、この動作は未登録グループへのトラフィックが常に存在する環境では望ましくありません。Red Hat Enterprise Linux 6.2 では、トラフィックが送信されるのは、ルーターとしてマークされたポートへの未登録グループのみです。強制的に任意のポートへフラッディングを行うには、ルーターとしてそのポートをマークしてください。
Red Hat Enterprise Linux 6.2 では SCTP マルチホーミングに対するサポートが追加されました — ノード (つまり、マルチホームノード) が複数の IP アドレスで到達可能です。
Red Hat Enterprise Linux 6.2 では、UDP パケットドロップイベントにトレースポイントがさらに追加されました。こうしたトレースポイントにより、UDP パケットがドロップされる理由を分析できます。
カーネルの IPSet 機能が追加され、複数の IP アドレスまたはポート番号を格納するようになりました。また、それらを iptables を通じてコレクションと照合します。
初期 TCP 受信ウィンドウのデフォルトは 4 kB から 15 kB に増加しました。これによる利点は、どのデータ (15 kB > ペイロード > 4 kB) も初期ウィンドウに適合するようになった点です。4 kB 設定 (IW3) では、4 kB を越えるペイロードは複数の転送に分割される必要があります。
Red Hat Enterprise Linux 6.2 では、初期 TCP 輻輳ウィンドウのデフォルトは、RFC 5681 に従い 10
に設定されています。加えて、TCP および CCID-2 に共通の初期ウィンドウコードが統合されました。
IPv6 の転送パスに対する GSO (汎用セグメンテーションオフロード) サポートが追加され、GSO が有効の場合にはホスト/ゲスト通信のパフォーマンスが向上します。
vios-proxy は、ストリームソケットのプロキシで、仮想ゲストのクライアントと Hypervisor ホストのサーバー間の接続を提供します。通信は virtio-serial リンク上で発生します。この機能は、Red Hat Enterprise Linux 6.2 ではテクノロジープレビューとして導入されています。