
【基礎から学び直すITインフラ入門】#5 ルーティング
インフラ入門の5記事目です。新年から始めて、丸一か月続けられました。
では、始めます。前回記事は ↓ から。
はじめに
前回は、IPアドレッシングについて学びました。
今回は、ルーティングについて見ていきます。パケットがどのように目的地までの経路を見つけて転送されるのか、その仕組みを学びましょう。
ルーティングとは?
ルーティングとは、パケットを送信元から宛先まで届けるために、ルータを経由しながら適切な経路を選択してパケットを転送することです。
ルータでの処理
ルータでは、パケットの宛先IPアドレスを確認し、パケットを転送します。
その中で、ルーティングテーブルというものを参照し、経路を決定して次のホップへパケットを渡していく役割があります。

ルーティングテーブル
ルーティングテーブルは、ルータ(などネットワーク機器)が持っている、どの宛先に対して、どこへ送ればいいかを判断するための経路一覧表です。

各フィールドの意味
宛先ネットワーク:
パケットの宛先IPアドレスがどのネットワークに属するか
例 192.168.1.0/24 → 192.168.1.1〜254 宛のパケット
ネクストホップ:
次にパケットを送る先のルータのIPアドレス
直接接続… 同じネットワーク内なので直接届けられます
IPアドレス… 次のルータのアドレス
インターフェース:
どのネットワークカード(NIC)からパケットを送出するか
例 eth0, eth1, wlan0
メトリック:
経路のコスト。値が小さいほど優先されます
ホップ数(経由するルータの数) 、 帯域幅 、遅延 などで計算される
パケット転送の仕組み
最長一致
ルータは、パケットの宛先IPアドレスとルーティングテーブルを照合して、最長一致するエントリ(行)を選びます。
例)
宛先IPアドレス: 192.168.1.100
ルーティングテーブル:
1. 192.168.1.0/24, ルータA …24ビット一致
2. 192.168.0.0/16, ルータB …16ビット一致
3. 0.0.0.0/0, ルータC …0ビット一致
上記の例の場合、最も詳細な(一致するビット数の多い) 192.168.1.0/24 のネクストホップである、ルータAへパケットを転送します。
※住所の照合に例えると、「東京都渋谷区神南1丁目〇〇番△△マンション」宛の場合に、「東京都渋谷区神南1丁目」まで一致する配達ルートがあれば、「東京都」だけ一致するルートより優先されるイメージです。
デフォルトルート (0.0.0.0/0)
デフォルトルートは、どのエントリにも一致しなかった場合のその他全ての経路です。

上記の図だと、8.8.8.8への接続に対し、ルータのルーティングテーブルのデフォルトルートにはISPのゲートウェイ(インターネット)が設定されているため、インターネットへ転送するという流れとなっています。
ルーティングテーブルの設定方式
静的ルーティング:
管理者が手動でルーティングテーブルを設定する方式です。
シンプルな方式で予測可能な範囲での動作が可能ですが、ネットワークが大規模になった際の管理や、障害時に自動で切り替えなどはできません。
小規模なネットワークなどで効果的に利用されます。
動的ルーティング:
ルーティングプロトコルを使って、ルータ同士が自動的にルーティング情報を交換する方式です。
障害時などに経路の自動切り替えが可能で、大規模なネットワークでも比較的負荷を少なく管理が可能です。しかし設定が複雑で、ルータのリソース消費も大きいといったデメリットもあります。
主要な動的ルーティングプロトコル:
RIP (Routing Information Protocol)
最も古くシンプルなプロトコルです。経由するルータの数(ホップ数)でメトリックを計算し、最大15ホップまで対応します。小規模ネットワーク向けですが、収束(全ルータの情報が一致すること)が遅く、大規模ネットワークには不向きです。
OSPF (Open Shortest Path First)
企業ネットワークで広く使われているプロトコルです。帯域幅でメトリックを計算し、エリア分割による階層化で大規模ネットワークにも対応できます。RIPと比べて収束が高速で、スケーラブルな設計が可能です。
BGP (Border Gateway Protocol)
インターネット全体で使われているプロトコルです。ISPなど組織間のルーティングに使われるほか、大規模企業ネットワーク内部でも利用されます。ポリシーベースのルーティングが特徴で、インターネットの基幹を担っています。
さいごに
今回は、ルーティングについて、ルータの役割やルーティングテーブルの中身を見て、どのようにパケットが転送されていくのかを追っていきました。
オンプレだけでなく、クラウドを触る際にも、このあたり意識しないといけないところでもあるので、勉強になりました。
次回は、DNSについて詳しく見ていきます。現場でも非常によく携わる部分なので、個人的にも楽しみですね。DNSとなにか、どのような流れで名前解決していくのかを見ていきましょう。