ルーティング
パケットを目的地まで中継する経路を決める。
転送の仕組み#
各ルータは経路表を持ち、 宛先 IP のネットワーク部を見て次の転送先を選ぶ。
宛先 192.0.2.130
経路表:
0.0.0.0/0 → デフォルトゲートウェイ
192.0.2.0/24 → インタフェース eth1 ← 最長一致で選ばれる
192.0.2.128/25 → インタフェース eth2 ← さらに長いのでこちら最長プレフィックス一致が原則。 より具体的な経路が優先される。
経路の学習#
| 種類 | 例 | 範囲 |
|---|---|---|
| 静的 | 手で設定 | 小規模 |
| IGP | OSPF、IS-IS | 組織内 |
| EGP | BGP | 組織間(インターネット) |
BGP#
インターネットの経路を支えるプロトコル。 AS(自律システム)間で経路情報を交換する。
「私(AS 64500)は 192.0.2.0/24 に到達できます」
「私を経由すると AS 64500, AS 64501 の順で届きます」経路の選択は最短距離ではなく、 **各組織の方針(policy)**で決まる。 契約関係や費用が反映される。
BGP の脆さ#
BGP は基本的に相手の宣言を信じる設計。
- 誤設定で他人のアドレス範囲を宣言すると、 トラフィックが吸い込まれる(経路ハイジャック)
- 実際に大規模な障害が繰り返し起きている
対策として RPKI(経路の起源を証明書で検証)が 段階的に導入されているが、普及は道半ば。
インターネットの根幹が、 相互の信頼の上に成り立っていることを示す例。
参考文献#
- James F. Kurose, Keith W. Ross. Computer Networking: A Top-Down Approach, 8th ed. Pearson, 2021.
- A Border Gateway Protocol 4 (BGP-4). RFC 4271, 2006. https://doi.org/10.17487/RFC4271
- Cloudflare Learning. What is BGP? https://www.cloudflare.com/learning/security/glossary/what-is-bgp/