ルーティングの原則

ルータやレイヤ3スイッチは、IPパケットをルーティングしてエンドツーエンドの通信を可能にしています。ルーティングするためには、ルーティングテーブルに必要なルート情報を登録しなければいけません。ルーティングテーブルはルータが認識しているネットワークの情報をまとめたもので、ルーティングテーブルに登録されていないネットワーク宛てのIPパケットは破棄されます。

「ルーティングテーブルに必要なルート情報をもれなく登録する」ということがルーティングを行うための前提条件です。

インターネットの概要

インターネットは、いろんな組織が運用するネットワークを相互接続しているものです。ネットワークを相互接続するのは、ルータまたはレイヤ3スイッチです。ルータやレイヤ3スイッチがインターネットの膨大な数のネットワークを相互接続しています。そして、それぞれのルータやレイヤ3スイッチが正しくルーティングテーブルに膨大な数のルート情報を登録しているので、私たちはインターネットの通信ができます。

膨大な数のルート情報ってどれぐらいあるのでしょう?

いくつかのISPがインターネット全体のルート情報を確認するためのLooking Glassのサービスを提供しています。Looking Glassのうち、AT&Tが運用しているルータでインターネットのルート情報を確認してみましょう。

インターネットのルート情報の確認手順

AT&TのLooking Glassサービスでインターネットのルート情報を確認するための手順は以下のとおりです。

  1. 「route-server.ip.att.net」へTelnet
  2.  ユーザ名「rviews」 パスワード「rviews」でログイン
  3.  ルーティングテーブルの表示

【「route-server.ip.att.net」へTelnet】

AT&Tの「route-server.ip.att.net」は、Telnetアクセスが可能です。Tera Termなどのターミナルソフトウェアから「route-server.ip.att.net」へTelnetします。

【 ID「rviews」 PW「rviews」でログイン】

Telnetでログインすると、以下のバナーメッセージが表示されます。

-------------- route-server.ip.att.net ---------------
---------  AT&T IP Services Route Monitor  -----------

The information available through route-server.ip.att.net is offered
by AT&T's Internet engineering organization to the Internet community.

This router maintains eBGP peerings with customer-facing routers
throughout the AT&T IP Services Backbone:

 IPv4:           IPv6:                             City:
 12.122.124.12   2001:1890:ff:ffff:12:122:124:12   Atlanta, GA
 12.122.124.67   2001:1890:ff:ffff:12:122:124:67   Cambridge, MA
 12.122.127.66   2001:1890:ff:ffff:12:122:127:66   Chicago, IL
 12.122.124.138  2001:1890:ff:ffff:12:122:124:138  Dallas, TX
 12.122.83.238   2001:1890:ff:ffff:12:122:83:238   Denver, CO
 12.122.120.7    2001:1890:ff:ffff:12:122:120:7    Fort Lauderdale, FL
 12.122.125.6    2001:1890:ff:ffff:12:122:125:6    Los Angeles, CA
 12.122.125.44   2001:1890:ff:ffff:12:122:125:44   New York, NY
 12.122.125.106  2001:1890:ff:ffff:12:122:125:106  Philadelphia, PA
 12.122.125.132  2001:1890:ff:ffff:12:122:125:132  Phoenix, AZ
 12.122.125.165  2001:1890:ff:ffff:12:122:125:165  San Diego, CA
 12.122.126.232  2001:1890:ff:ffff:12:122:126:232  San Francisco, CA
 12.122.159.217  2001:1890:ff:ffff:12:122:159:217  San Jose, PR
 12.122.125.224  2001:1890:ff:ffff:12:122:125:224  Seattle, WA
 12.122.126.9    2001:1890:ff:ffff:12:122:126:9    St. Louis, MO
 12.122.126.64   2001:1890:ff:ffff:12:122:126:64   Washington, DC

*** Please Note:
Ping and traceroute delay figures measured here are unreliable, due to the
high CPU load experienced when complicated show commands are running.

For questions about this route-server, send email to: [email protected]

*** Log in with username 'rviews', password 'rviews' *** 

login:


このメッセージに表示されているようにユーザ名「rivews」、パスワード「rviews」でログイン可能です。

【ルーティングテーブルの表示】

2016年2月現在、「route-server.ip.att.net」はJuniperのルータです。

以前は、Ciscoルータでした。

Juniperルータでルーティングテーブルを表示するためには show route table inet.0コマンドを利用します。コマンドを実行すると、以下のような出力です。

[email protected]> show route table inet.0 

inet.0: 779548 destinations, 12471044 routes (779548 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

0.0.0.0/0          *[Static/5] 10w5d 16:45:55
                    > to 12.0.1.1 via em0.0
1.0.0.0/24         *[BGP/170] 1w5d 08:47:44, localpref 100, from 12.122.83.238
                      AS path: 7018 3356 13335 I, validation-state: valid
                    > to 12.0.1.1 via em0.0
                    [BGP/170] 1w5d 08:47:44, localpref 100, from 12.122.120.7
                      AS path: 7018 3356 13335 I, validation-state: valid
                    > to 12.0.1.1 via em0.0
                    [BGP/170] 1w5d 08:47:44, localpref 100, from 12.122.124.12
                      AS path: 7018 3356 13335 I, validation-state: valid
                    > to 12.0.1.1 via em0.0
                    [BGP/170] 1w5d 08:47:44, localpref 100, from 12.122.124.67
                      AS path: 7018 6453 13335 I, validation-state: valid
                    > to 12.0.1.1 via em0.0
                    [BGP/170] 1w5d 08:47:44, localpref 100, from 12.122.124.138
                      AS path: 7018 3356 13335 I, validation-state: valid
                    > to 12.0.1.1 via em0.0
                    [BGP/170] 1w5d 08:47:44, localpref 100, from 12.122.125.6
                      AS path: 7018 6453 13335 I, validation-state: valid
                    > to 12.0.1.1 via em0.0
                    [BGP/170] 1w5d 08:47:44, localpref 100, from 12.122.125.44
                      AS path: 7018 6453 13335 I, validation-state: valid
                    > to 12.0.1.1 via em0.0
                    [BGP/170] 1d 01:00:14, localpref 100, from 12.122.125.106
                      AS path: 7018 2914 13335 I, validation-state: valid
                    > to 12.0.1.1 via em0.0
                    [BGP/170] 1w5d 08:47:44, localpref 100, from 12.122.125.132
                      AS path: 7018 6453 13335 I, validation-state: valid
                    > to 12.0.1.1 via em0.0
                    [BGP/170] 1w4d 22:16:47, localpref 100, from 12.122.125.165
                      AS path: 7018 6453 13335 I, validation-state: valid
                    > to 12.0.1.1 via em0.0
                    [BGP/170] 1w5d 08:47:44, localpref 100, from 12.122.125.224
                      AS path: 7018 3356 13335 I, validation-state: valid
                    > to 12.0.1.1 via em0.0
                    [BGP/170] 1d 01:24:35, localpref 100, from 12.122.126.9
                      AS path: 7018 3257 13335 I, validation-state: valid
                    > to 12.0.1.1 via em0.0
                    [BGP/170] 1d 01:00:14, localpref 100, from 12.122.126.64
                      AS path: 7018 2914 13335 I, validation-state: valid
                    > to 12.0.1.1 via em0.0
                    [BGP/170] 6d 11:17:48, localpref 100, from 12.122.126.232
                      AS path: 7018 3356 13335 I, validation-state: valid
                    > to 12.0.1.1 via em0.0
                    [BGP/170] 1d 01:24:35, localpref 100, from 12.122.127.66
                      AS path: 7018 3257 13335 I, validation-state: valid
                    > to 12.0.1.1 via em0.0
                    [BGP/170] 1w3d 03:25:28, localpref 100, from 12.122.159.217
                      AS path: 7018 3356 13335 I, validation-state: valid
                    > to 12.0.1.1 via em0.0
1.0.4.0/22         *[BGP/170] 5d 20:59:47, localpref 100, from 12.122.83.238
                      AS path: 7018 1299 4826 38803 56203 I, validation-state: unknown
                    > to 12.0.1.1 via em0.0
                    [BGP/170] 5d 20:59:13, localpref 100, from 12.122.120.7
                      AS path: 7018 1299 4826 38803 56203 I, validation-state: unknown
                    > to 12.0.1.1 via em0.0
                    [BGP/170] 5d 20:59:20, localpref 100, from 12.122.124.12
---(more)---[abort]

~以下、省略~

宛先のネットワークは「779548」個登録されていることがわかります。1つのネットワークに対して複数のルートがあるので、ルーティングテーブルに登録されているルートの総数としては「12471044」です。

このような膨大な数のネットワークのルート情報をインターネット上のルータがルーティングテーブルに登録していることがわかります。そして、これだけ膨大な数のルート情報をルーティングテーブルに登録するためのプロトコルがBGPです。

普段、インターネットを使っていろんな通信をしているとき、「経路上のルータやレイヤ3スイッチを管理している方々がきちんとルーティングテーブルを登録してくれてから通信できるんだ」ということをぜひ覚えておいてください。

IPルーティングのキホン