プログラミング勉強日記
2020年9月20日
RailsでWebアプリを作った時に、なんとなく理解していたがちゃんと理解するためにまとめる。
Routing(ルーティング)とは
ルーティングとは、ネットワーク上でデータを送信・転送する際に、宛先アドレスの情報を元に最適な転送経路を割り出すこと。特に、インターネットなどのIPネットワークにおいて、パケットの転送先を決定すること。
ネットワークの通信は宅配と似ていて、ルータと呼ばれるネットワーク機器が宛先IPアドレスを見て、宛先に近いルータへとデータを転送する。そして宛先に近いルータから宛先IPアドレスが設定されているコンピュータへとデータを送る仕組みになっている。このときに、どこのルータに送るのが目的地までが最適経路なのかを判断する仕組みのことをルーティングという。
通信相手までの経路を判断する仕組み(ルーティング)のデータの表をルーティングテーブルという。ルーティングは、あらかじめルーティングテーブルに経路情報が書き込まれていて、ルーティングテーブルを参照することでデータが目的地に到達するための経路を判断する仕組みである。
ルーティングには動的ルーティングと静的ルーティングの2通りの方法がある。
Dynamic Routing(動的ルーティング)とは
ダイナミックルーティングとは、ルータなどが経路情報を互いに交換しあい、自動的に生成・更新し続ける経路表(ルーティングテーブル)に基づいて経路選択を行なうこと。
簡単にまとめると、動的ルーティングは機器同士で情報を交換して経路情報を自動的に作成する。ルーターに設定するのは、ルーティングテーブルではなく、ルーティングプロトコルになる。動的ルーティングを用いた場合は、新しいネットワークが追加されても自動的にルーティングテーブルが変更されるメリットがある。ただ、経路制御表を常に監視するために各ネットワーク間にはある程度エラーが起こることがある。
逆に自動更新ではなく人間が手動で更新するのが静的ルーティングである。
参考文献
ルーティング (routing)
ルーティングテーブル (routing table)
ルーティング 【 routing 】 経路選択 / 経路制御
ルーティングとは
動的ルーティング (dynamic routing)
ダイナミックルーティング 【 dynamic routing 】 動的ルーティング / 動的経路制御
静的ルーティングと動的ルーティング