ネットワーク層とルーティング
ネットワーク層は、データプレーンが各ルーターで各パケットを転送し、コントロールプレーンがそれらのパケットがたどる経路を計算することで、複数のリンクとネットワークを介して送信元ホストから宛先ホストへパケットを移動させます。
Definition
ネットワーク層は、インターネットワークを介したホスト間でのパケット配信を担当するプロトコル層であり、アドレス指定、ルーター内でのパケット転送(データプレーン)、およびネットワーク全体の経路決定(コントロールプレーン)を提供します。
Scope
この分野は、インターネットワーキングを扱います。具体的には、インターネットプロトコル(IP)とそのアドレス指定および転送、経路を計算するルーティングアルゴリズム(リンクステートおよび距離ベクトル)、ルーティングをドメイン内プロトコルとドメイン間プロトコル(自律システム間のBGPを含む)に組織化すること、そしてコントロールプレーンを論理的に集中化されたコントローラーに分離するより新しいソフトウェア定義型ネットワークパラダイムです。これは、パケットごとのデータプレーンと経路計算を行うコントロールプレーンを区別し、その上位にあるトランスポート層のエンドツーエンドサービスと、その下位にあるリンク層のホップバイホップ配信は除外します。
Sub-topics
Core questions
- ルーターはどのようにパケットを宛先に向けて転送するのか、また転送テーブルには何が含まれているのか?
- IPアドレスはどのように構造化され、割り当てられているのか、またサブネット化とCIDRはどのように機能するのか?
- リンクステートアルゴリズムと距離ベクトルアルゴリズムはどのようにして最小コスト経路を計算するのか?
- ルーティングがドメイン内プロトコルとドメイン間プロトコルBGPに分割されているのはなぜか?
- ソフトウェア定義型ネットワークは、ルーティングの決定がどこでどのように行われるかをどのように変えるのか?
Key concepts
- インターネットプロトコル (IP)
- IPアドレス指定、サブネット化、およびCIDR
- 転送テーブルと最長プレフィックス一致
- リンクステートルーティング
- 距離ベクトルルーティング
- 自律システム
- ボーダーゲートウェイプロトコル (BGP)
- コントロールプレーンとデータプレーン
- ソフトウェア定義型ネットワーク
- ネットワークアドレス変換 (NAT)
Key theories
- データプレーンとコントロールプレーンの分離
- ネットワーク層は、転送テーブルに従って到着する各パケットを転送する高速なデータプレーンと、ルーティングプロトコルを介してそれらのテーブルを計算するコントロールプレーンに分解されます。ソフトウェア定義型ネットワークは、コントロールプレーンを集中化することでこれをさらに進めます。
- 最小コスト経路ルーティング
- ルーティングアルゴリズムは、ネットワークを重み付きグラフとしてモデル化し、最短経路を計算します。リンクステートアルゴリズム(ダイクストラ)は各ルーターに完全なトポロジービューを与え、距離ベクトルアルゴリズム(ベルマン・フォード)は隣接ルーターと推定値を交換し、反復的に収束します。
- ポリシーベースのドメイン間ルーティング
- 独立して管理される自律システム間のルーティングは、ボーダーゲートウェイプロトコルによって管理されます。これは到達可能性情報を伝播し、各ネットワークが純粋な最短経路メトリックではなく、ビジネスおよびポリシーの優先順位を適用できるようにします。
Clinical relevance
ネットワーク層は、グローバルインターネットを単一の到達可能なシステムにする層です。インターネットを通過するすべてのパケットはIPルーターによって転送され、数万の自律システム間のBGPの決定がグローバルな接続性を決定します。ソフトウェア定義型ネットワークは現在、大規模なクラウドおよびデータセンターネットワークの基盤となっており、オペレーターがトラフィックエンジニアリングと分離を集中管理できるようにしています。アドレス枯渇がIPv4からIPv6への移行を促進しました。
History
インターネットプロトコルは、TCP/IPアーキテクチャのコネクションレスでベストエフォートな中核として、RFC 791(1981年)で規定されました。RIPやOSPFなどの内部ルーティングプロトコルと、外部プロトコルであるBGPは、インターネットの規模拡大に伴いルーティングを管理するために発展しました。2008年のOpenFlowの提案は、スイッチの転送テーブルを外部コントローラーに公開することでソフトウェア定義型ネットワークを開始し、大規模ネットワークの構築と管理方法を再構築しました。
Debates
- 分散型コントロールプレーン対集中型SDNコントロール
- 従来のルーティングは、堅牢性と自律性のためにすべてのルーターに経路計算を分散させますが、ソフトウェア定義型ネットワークは、プログラマビリティとグローバルな最適化のためにコントロールを集中させます。集中化、スケーラビリティ、および回復力の適切なバランスについて議論が続いています。
Key figures
- Vinton Cerf
- Robert Kahn
- Jon Postel
- Nick McKeown
- Jennifer Rexford
Related topics
Seminal works
- kurose2021
- rfc791
- mckeown2008
Frequently asked questions
- フォワーディングとルーティングの違いは何ですか?
- フォワーディングは、転送テーブルを使用してパケットを入力ポートから出力ポートへ移動させるローカルなパケットごとの動作であり、データプレーンで高速に行われます。ルーティングは、コントロールプレーンのルーティングアルゴリズムとプロトコルによって行われる、これらの転送テーブルの内容を計算するネットワーク全体のプロセスです。
- IPv6はなぜ導入されたのですか?
- IPv4の32ビットアドレス空間(約40億アドレス)は、インターネット接続デバイスの普及に伴い不十分になりました。IPv6は128ビットアドレスを使用して、はるかに広いアドレス空間を提供するとともに、ヘッダーの簡素化や自動構成などの機能の組み込みサポートを提供します。