【経路制御】ネットワーク層でパケットを配達する仕組み

インターネット

今回はネットワーク層における経路制御について解説します。IPやIPアドレスについて基本的なことを理解しているという前提で説明しています。

もし、IPやIPアドレスについてよくわからないという方は先にこちらの記事を読んでいただくことをおすすめしています。併せてこちらの記事もご覧になるとより理解が深まります。

キーワード:経路制御、経路MTU探索、IGP、EGP

経路制御表について

経路制御表には、ネットワークアドレスと次に配送すべきルーターのアドレスが書かれています

IPパケットを送信するときは、IPパケットの宛先アドレスを調べて経路制御表から同じネットワークアドレスを見つけ、次のルータへと配送します。

経路制御表に登録されているどのアドレスにもマッチしなかった場合、デフォルトルートとよばれるルートを使用します。

デフォルトルートは0.0.0.0/0と表します。ただし、サブネットマスクが0であるため、IPアドレスを表している部分はない。

「IPアドレス/32」のようなサブネットマスクが32のIPアドレスをホストルートといいます。

IPアドレスの全てのビットが経路制御に使用され、NICにつけたIPアドレスそのものになります。

同一のコンピュータ内部のプログラムで通信するとき、つまりネットワークにパケットを流さない場合はループバックアドレスを使用します。ルーブバックアドレスは127.0.0.1であり、「localhost」というホスト名も使われます。ローカル環境で開発したWebアプリを起動するときに使ったりします。

IPはデータリンクの上位層であり、データリンクの最大転送単位(MTU)に左右されてはいけない。そこでパケットを分割します。IPヘッダにユニークなヘッダを取り付け、終点のホストでこの識別子を見ながらまとめていきます。

分割処理のデメリット
・ルーターの処理が重い
・分割されたデータが消えると、元データ(分割前データ)が全て消える

これらを避けるために経路MTU探索が発明されました。

経路MTU探索とは送信元ホストから宛先ホストの間で、分割処理が行われない最大のMTUを求めます。つまり、経路に存在するデータリンクのうち最小のMTUに揃えます。

ただし、IPv6の分割処理は始点のホストでのみ行われ、途中では分割処理を行いません。よって、経路MTU探索が必須です。

ダイナミックルーティングについて

ダイナミックルーティングは、隣り合うルーター間で自分が知っているネットワーク情報を教え合うことによって通信が行われます。

よって、経路制御情報をやりとりするためにルーティングプロトコルが必要です。

その反対に、管理者が事前にルーティングを決めておくスタティックルーティングも存在します。

ルーティングプロトコル

経路を制御するためのプロトコルにはIGP(Interior Gateway Protocol)とEGP(Exterior Gateway Protocol)の2種類があります。

用語:自立システム
経路制御に関するルールを決めて、それを基に運用する範囲を自立システム(または経路制御ドメイン)という。

自立システム内のダイナミックルーティングに利用されているのがIGPです。また、この自立システム間の経路制御を行うのがEGPです。

ここでIPアドレスを思い出してみましょう。IPアドレスはネットワーク部とホスト部によって構成されており、ネットワーク部はネットワークを識別するために、ホスト部はリンク内のホストを識別するためでした。

EGPとIGPの関係性はこれと似ています。EGPは自立システム間の経路制御を可能にし、IGPによってそのシステム内の経路制御を可能にしている

おわりに

今回は経路制御について解説しました。MTU、IGP、EGPなどアルファベットが複数出てきて混乱したかもしれません。筆者もアルファベットの単語はなかなか覚えずらいです…

・経路制御表には、ネットワークアドレスと次に配送すべきルーターのアドレスが書かれている
・MTUを考慮して分割処理を行なっている

少し難しかったと思いますが、最後まで読んでいただきありがとうございました。

コメント

タイトルとURLをコピーしました