The Cable Guy – 2005 年 9 月

Windows Vista および Windows Server "Longhorn" の次世代の TCP/IP スタック

cable_guy

By The Cable Guy

Microsoft® Windows® Vista™ Beta 1 および Windows Server™ "Longhorn" Beta 1 には、次世代の TCP/IP スタックとして知られている TCP/IP プロトコル スイートの新しい実装が含まれています。Windows XP および Windows Server 2003 に提供されている TCP/IP プロトコル スタックは元々 1990 年代初頭に設計されたものであり、時間とともにホーム ユーザーおよびエンタープライズ ユーザーのニーズに見合うよう変更され、強化されてきました。Windows Vista および Windows Server "Longhorn" の次世代の TCP/IP スタックは、Internet Protocol version 4 (IPv4) と Internet Protocol version 6 (IPv6) の両方について、完全にTCP/IP 機能を再設計したもので、これは今日の多様なネットワーク環境や技術の接続性およびパフォーマンスのニーズを満たします。

トピック
次世代の TCP/IP スタックの機能次世代の TCP/IP スタックの機能
次世代の TCP/IP スタックのアーキテクチャ次世代の TCP/IP スタックのアーキテクチャ
詳細情報詳細情報

次世代の TCP/IP スタックの機能

以下に次世代の TCP/IP スタックの新しい機能を挙げます。

IPv6 のためのデュアル IP レイヤ

Windows XP および Windows Server 2003 での IPv6 の実装はデュアル スタック アーキテクチャです。IPv6 のサポートについては、ネットワーク接続フォルダを介し別途プロトコルをインストールする必要があります。別途の IPv6 プロトコル スタックには、伝送制御プロトコル (TCP) およびユーザー データグラム プロトコル (UDP) およびそれ自体のフレーミング レイヤを含む独自のトランスポート レイヤがありました。トランスポートまたはフレーミング レイヤのいずれかのプロトコルに対する変更が 2 つの Windows ドライバに行なわれる必要がありました。それらは IPv4 プロトコル スタックの Tcpip.sys、IPv6 プロトコル スタックの Tcpip6.sys です。

次世代の TCP/IP スタックは、IPv4 および IPv6 の実装が一般的なトランスポートおよびフレーミング レイヤを共有するデュアル IP レイヤ アーキテクチャをサポートします。次世代の TCP/IP スタックでは、既定で IPv4 および IPv6 が有効となっています。IPv6 のサポートを得るために別途コンポーネントをインストールする必要はありません。

より容易なカーネル モード ネットワーク プログラミング

次世代の TCP/IP スタックは Winsock Kernel (WSK) をサポートします。これは新しいカーネル モード プログラミング インターフェースで、いずれは Windows XP および Windows Server 2003 のトランスポート ドライバ インターフェース (TDI) に取って代わるよう設計されています。Windows Vista および Windows Server "Longhorn" もまた TDI をサポートします。

ルーティング コンパートメント

仮想プライベート ネットワーク (VPN)、ターミナル サーバー、マルチユーザー ログオン構成間のトラフィックの不必要な転送を防ぐために、次世代の TCP/IP スタックはルーティング コンパートメントをサポートします。ルーティング コンパートメントはそれ自体の IP ルーティング テーブルを持つログイン セッションとインターフェースのセットの組み合わせです。コンピュータはたがいに分離している複数のルーティング コンパートメントを持つことができます。各インターフェースは 1 つのコンパートメントのみに属すことができます。たとえば、ユーザーがインターネットで現在の TCP/IP スタックと VPN 接続を開始する時、そのユーザーのコンピュータは、IPv4 ルーティング テーブル内のエントリを操作することにより、インターネットおよびプライベート イントラネットの両方への部分的な接続を持ちます。ある状況では、インターネットからのトラフィックを VPN 接続でプライベート イントラネットに転送することができます。次世代の TCP/IP スタックのルーティング コンパートメントはインターネット接続を別々の IP ルーティング テーブルを持つプライベート イントラネット接続から分離します。

強力なホスト モデルのサポート

ユニキャスト パケットがホストに到着すると、IP はそのパケットがローカルに宛てられたものかどうか (その宛先がホストのインターフェースに割り当てられているアドレスと一致するかどうか) を確認する必要があります。弱いホスト モデルに従う IP の実装は、パケットが受け取られたインターフェースに関わらず、すべてのローカルに宛てられたパケットを受け入れます。強力なホスト モデルに従う IP の実装は、パケットの宛先アドレスが、パケットが受け取られたインターフェースに割り当てられたアドレスと一致する場合のみローカルに当てられたパケットを受け取ります。Windows XP および Windows Server 2003 の現在の IPv4 の実装は弱いホスト モデルを使用します。次世代の TCP/IP スタックは IPv4 と IPv6 の両方について強力なホスト モデルをサポートし、既定で強力なホスト モデルを使用するよう構成されています。次世代の TCP/IP スタックを弱いホスト モデルを使用するよう構成することができます。弱いホスト モデルはよりよいネットワーク接続を提供しますが、同時にホストをマルチホーム ベースのネットワーク攻撃の影響を受けやすくします。

新しいセキュリティおよびパケット フィルタリング API

TCP/IP セキュリティ (ローカル ホスト トラフィックのフィルタリング) の現在の TCP/IP スタックのインターフェース、ファイアウォール フック、フィルタ フックおよびパケット フィルタ情報のストレージは Windows フィルタリング プラットフォーム (WFP) として知られる新しいフレームワークにとってかわられました。WFP は TCP/IP プロトコル スタックのすべてのレイヤでフィルタリング機能を提供します。WFP はさらにセキュアで、スタックで統合され、独立系ソフトウェア ベンダー (ISV) にとってドライバ、サービスおよび TCP/IP トラフィックをフィルタ、分析または変更する必要のあるアプリケーションを開発することがはるかに容易となります。WFP に関する詳細情報は、Windows Filtering Platform(英語情報) をご覧ください。

プロトコル スタックのオフロードの新しいメカニズム

次世代の TCP/IP スタックは TCP およびそのほかの種類のトラフィックの処理をネットワーク ドライバ インターフェース仕様 (NDIS) のミニポート ドライバおよびネットワーク インターフェース アダプタにオフロードすることができます。TCP およびそのほかのプロトコルの処理をオフロードすると、高帯域ネットワークまたは高ボリューム サーバーのパフォーマンスを向上させることができます。

マルチ プロセッサ コンピュータでのスケーリングの新しいサポート

NDIS 5.1 およびそれ以前のバージョンのアーキテクチャはプロトコルの処理を受けることを 1 つのプロセッサに制限します。この制限は、マルチ プロセッサ コンピュータでのネットワーク トラフィックの大ボリュームへのスケーリングを抑制します。Receive-Side Scaling (RSS) は、ネットワーク アダプタからのネットワーク負荷が複数のプロセッサでバランスがとれるようにしてこの問題を解決します。詳細情報については、Scalable Networking with RSS(英語情報) をご覧ください。

新しい拡張性

次世代の TCP/IP スタックには、動的に挿入および削除することができるさらに多くのモジュラ コンポーネントを有効にするインフラストラクチャがあります。

コンピュータを再起動する必要なしで再構成

次世代の TCP/IP スタックは新しい方法を使用してさらに動的な制御を有効にする構成設定を保存し、設定の変更後、コンピュータを再起動する必要がありません。

異なるネットワーク環境に基づくスタックの設定の自動構成

次世代の TCP/IP スタックは自動的にネットワーク環境を察知し、TCP 受信ウィンドウなどの重要なパフォーマンス設定を調整します。改善されたスタックの自動チューニングおよび構成により、TCP/IP 設定を手動で構成する必要性が削減されます。

サポート可能性の強化点

TCP Management Information Base (MIB)-II およびより優れたシステム イベント ログの記録と追跡のサポートを含むランタイム診断の豊富なサポートがあります。

次の機能は、次世代の TCP/IP スタックの改善点です。

ネットワークを移動するコンピュータのためのよりよいサポート

マルチキャスト対応のアプリケーションおよびネットワークの開発者のためのよりよいサポート

高速ネットワーク、非対称の サテライト リンク 、およびワイヤレスやそのほかの高ロス ネットワークのための TCP パフォーマンスの向上機能

Windows CE、Xbox®、Windows Embedded などのそのほかのマイクロソフト オペレーティング システムに対する次世代の TCP/IP スタックの改善されたポータビリティ

すべての既知の TCP/IP ベースのサービス拒否およびそのほかの種類のネットワーク攻撃に対する改善された抵抗性

ページのトップへページのトップへ

次世代の TCP/IP スタックのアーキテクチャ

次の図は、次世代の TCP/IP スタックのアーキテクチャを示しています。

Next Generation TCP/IP stack

アプリケーション、サービスまたはそのほかのシステム コンポーネントが次世代の TCP/IP スタックにアクセスする 3 つの重要な API は次の通りです。

WSK: WSK クライアントにより使用されます。

Windows Sockets: Windows Sockets ベースのアプリケーションおよびサービスにより使用されます。Windows Sockets API は Ancillary Function Driver (AFD) を介し操作され、TCP/IP と Socket 機能を実行します。

TDI: NetBIOS over TCP/IP (NetBT) およびそのほかのレガシー TDI クライアントにより使用されます。TDX とは、TDI と次世代の TCP/IP スタック間のトランスレーション レイヤです。

次世代の TCP/IP スタックは、インスペクション API を公開します。インスペクション API は一貫した汎用インターフェースを提供し、パケットのコンテンツの深い精査またはデータの変更を実行します。インスペクション API は WFP の一部です。次世代の TCP/IP スタックは、ネットワークおよびトランスポート レイヤでパケット処理パスへのアクセスを提供します。

次世代の TCP/IP スタックは NDIS を使用してフレームの送受信を行ないます。

次世代の TCP/IP スタック ドライバ (Tcpip.sys) のアーキテクチャは次のレイヤで構成されています。

トランスポートレイヤは TCP および UDP の実装、および TCP または UDP ヘッダーを必要としない raw IP パケットを送信するメカニズムを含みます。

ネットワークレイヤは、デュアル IP レイヤ アーキテクチャに IPv4 および IPv6 の両方の実装を含みます。

フレーミングレイヤは IPv4 または IPv6 パケットを作成するモジュールを含みます。モジュールは、IEEE 802.3 (イーサネット、IEEE 802.11)、ワイド エリア ネットワーク (ポイント ツー ポイント プロトコル [PPP] ベースのトラフィック)、および IEEE 1394 インターフェースなどの物理的なネットワーク技術のために存在します。また、モジュールは、ループバック インターフェース、IPv4 ベースのトンネル、および IPv6 ベースのトンネルなどの論理的なインターフェースのためにも存在します。IPv4 ベースのトンネルは一般的に IPv6 移行技術に使用されます。

ページのトップへページのトップへ

詳細情報

このトピックに関する詳細情報は、次のリソースを参照してください。

Microsoft Windows Vista の Web ページ

Microsoft Windows Longhorn Server Beta 1 の Web ページ(英語情報)

Microsoft Windows Server 2003 TCP/IP Implementation Details ホワイトペーパー(英語情報)

The Cable Guy の全コラムの一覧と概要をご覧になるには、ここをクリックしてください。


ページのトップへページのトップへ