こちらの記事ではインターネット層のプロトコルであるIPの基礎についてIPヘッダを中心に学びました。

今回はIPパケットを宛先のIPアドレスまで届けるための機能である、
経路制御について学びたいと思います😊

IPの基礎知識、経路制御とは?

経路制御(ルーティング)の機能があることによって、
IPパケットは指定した宛先まで送り届けられます

経路制御が正しく働かなかった場合、
パケットはどのルーターを経由してホストへ届ければいいかわからなくなり、迷子になってしまいます。

  • ルーター → 経路制御を行う機器
  • ホスト → 経路制御を行わない機器

最終的な目的地までどうやってたどり着くか

最終的な宛先のホストまでは、複数のルーターやホストを経由してたどり着きます。

それぞれの機器は最終目的地までの経路を指示するわけではなく、
次の転送先の機器を指示するだけです。

それぞれ機器と機器の間の1区間のことを1ホップといいます。

経路制御表とは

  • 通信相手を判断するときに使われる
  • 経路制御表があることで通信すべき次のホストやルーターがわかる

経路制御表があることによって、次にどのルーターやホストに進めばいいかがわかります。

全てのホストやルーターは経路制御表を持っています。
そして、この経路制御表によって通信先が決定されます。

静的経路制御と動的経路制御

  • 静的経路制御(スタティックルーティング) → 人間が予め設定
  • 動的経路制御(ダイナミックルーティング) → アルゴリズムによって設定

静的経路制御では管理者が事前に設定する必要があり、
動的経路制御ではルーターが相互に通信しあい、自動で経路表が更新されていきます。

デフォルトルート

全てのルーターやホストが全てのIPアドレスの情報を持っているわけではありません。
そのため、代わりにデフォルトルートが設定されています。

経路制御表に目的地がない場合はデフォルトルートが使用されます
デフォルトルートは「0.0.0.0/0」と表記されています。

「0.0.0.0」で全てのビットは0、「/0」でサブネットマスクが表されており、
全ての宛先アドレスに対して有効であることが表されています。

デフォルトルートは次にパケットを送る先が、
経路制御表に記載されているどのアドレスにも当てはまらないときに使用されます。

転送先として指定されたルーターのことをデフォルトゲートウェイといいます。

macではターミナルでnetstat -rn | more と入力すれば確認できます。

Image from Gyazo

ルートパブリックアドレス

プログラミングを勉強し始めたときによくわからないまま使っている、
「localhost」がこのアドレスに当たります。

「127.0.0.1」というIPアドレスが使われています。

こちらもnetstat -rn | more とターミナルで入力すれば確認できます。
Image from Gyazo

まとめ

  • IPパケットは経路制御の機能によって、目的地まで届けられる
  • 経路制御の際には経路制御表を使用し次の目的地を決定する
  • 経路制御表に目的地がない場合はデフォルトルートが使用される
  • localhostは「127.0.0.1」というIPアドレスを意味し、ルートパブリックアドレスと言う

こんなところですかね😊

» 会社員Rintaro@Space (@Space____Tech) | Twitter

参考文献

マスタリングTCP/IP入門編第5版

http://e-words.jp/w/ダイナミックルーティング.html

https://xtech.nikkei.com/it/article/Keyword/20140327/546643/#:~:text=デフォルトルートは、ルーティングテーブル,を託す相手を表す。