ルーティングとはルーティングとは、宛先となるホストまでパケットを送信する時に最適な経路を選択して転送することです。このルーティングは、ルータやL3スイッチなどのレイヤ3で動作するネットワーク機器によって行われます。ルータは最適な経路を決定するためにルーティングテーブルを参照します。ルーティングテーブルは、受信したパケットをどこへ転送するべきかを決定するための宛先ルートの一覧情報です。重要な点は、ルータはルーティングテーブルを参照し、ルーティングの際に受信パケットの宛先アドレスを見て転送していること。上図で10.1.1.1から10.1.4.1宛てのパケットをR1が受信すると、パケットの宛先IPアドレスを見ます。次に自身のルーティングテーブルを参照します。「10.1.4.1」は「10.1.4.0/24」のネットワークに該当するのでR1はルーティングテーブルに従い、F0/1のI/Fから「10.1.2.253」のIPアドレスを持つ機器(R3)に対してパケットを転送します。パケットを受信したR3はパケットの宛先IPアドレスを見ます。次に、ルーティングテーブルを参照します。10.1.4.1は自身のI/FのネットワークなのでARP情報に基づきパケットを転送します。ネクストホップとは受信したパケットを宛先ネットワークに転送するために次にパケットを転送する隣接ルータのIPアドレスのこと。Connectedの場合、自分自身のインターフェースが直接そのネットワークに接続している事を意味します。その1ルータは、ルーティングテーブル上には存在しない宛先ネットワークあてのパケットは破棄してしまいます。)メッセージをICMPパケットで通知します。そのため、通信に必要な宛先ネットワークの経路情報はルーティングテーブルに保持している必要があります。下図は、10.1.1.1から10.1.9.1宛てのパケットを送信した所、10.1.9.1の宛先ネットワークがルーティングテーブルにないことから、パケットを破棄しICMPで結果を通知しています。その2受信パケットの宛先IPアドレスに該当するルート情報がルーティングテーブルに複数ある場合、そのルータはロンゲストマッチの法則に従いパケットを転送します。ロンゲストマッチとはパケットを転送するための宛先ネットワークがルーティングテーブルに複数ある時、宛先ネットワークのアドレスビット(プレフィックス長)が最も長く一致する宛先ルートをパケットの転送先として選択するルールのことです。下図の説明どおりです。ルータにパケットを転送。ルーティングでは、複数の宛先ルートがある場合、色々な基準により最適ルートを選択することになりますがロンゲストマッチが最適経路の選択に最優先されます。アドミニストレーティブディスタンス、メトリックはこの次に考えられる値です。ロンゲストマッチの法則は、ネットワークエンジニアにとってとても大切な知識。まとめ・ルーティングとは→宛先となるホストまでパケットを送信する時に最適な経路を選択して転送することです。ルーティングテーブルへのルート情報の追加ルータのルーティングテーブルにルート情報を追加するためには、以下の3通りの方法があります。ルータの自身のI/FにIPアドレスを設定して、I/Fを有効化することで追加されるルートのこと。状態である必要がある。スタティックルート管理者が宛先ネットワークへの最適なルートを手動で設定したルートのこと。ダイナミックルートルータで設定されたルーティングプロトコルにより、自動的に追加されるルートのこと。ルーティングテーブルの見方ここではCisco機器を例にして、ルーティングテーブルを詳細に見ていきます。routeコマンドを入力する必要があります。そのルートがどのようにルーティングテーブルに追加されたのかを示すコード。」、スタティックルートの場合「S」、ダイナミックルートの場合はルーティングプロトコルによりコードが異なる。今回はルータでRIPを有効にしているので、ルーティングテーブル上では「R」が表示されている。宛先ネットワークを示すアドレスとサブネットマスクの情報。サブネットマスクはネットワークアドレスの区切りを示し、ロンゲストマッチの際に参照される情報源。ルーティングテーブル上に、プレフィックス長が同じ宛先ルートが複数ある場合このアドミニストレーティブディスタンス(AD)の値が参照される。AD値が小さい宛先ルートがルーティングテーブルに追加される。ダイナミックルーティングにおいて、宛先ルートに対し複数のルートが存在する場合に最適経路を選択するために使用される値。このメトリック値は、使用しているダイナミックルーティングプロトコルにより値の意味が異なる。受信したパケットを宛先ネットワークに転送するために次にパケットを転送する隣接ルータのIPアドレスのこと。今回は、192.168.0.0/24の宛先ルートに対しては192.168.1.254がネクストホップアドレスであることが分かる。viaは「~経由」の意味であり、192.168.1.254経由で192.168.0.0/24のルートが学習されたと分かる。接続ルートであることからネクストホップは存在しない。ダイナミックルーティングにおいて、宛先ルートが追加されてからの経過時間。上図の場合、「192.168.0.0/24」のルート情報を受信してから6秒経過している。受信パケットを宛先ネットワークに転送するための出力インターフェースを表示。確認できることは超必須なことなので、しっかり理解しましょう。まとめ・直接接続ルート→ルータの自身のI/FにIPアドレスを設定して、I/Fを有効化することで追加されるルートのこと。・スタティックルート→管理者が宛先ネットワークへの最適なルートを手動で設定したルートのこと。・ダイナミックルート→ルータで設定されたルーティングプロトコルにより、自動的に追加されるルートのこと。スタティックルーティングとはスタティックルートとは、管理者が宛先ネットワークへの最適なルートを手動で設定したルートのことです。スタティックルートの情報は他のルータへ通知されることはありません。ネットワークの状態に変化があった場合でも、他に有効な宛先ルートがあっても、自動的にそのルートに切り替わることはありません。ルータでこのスタティックルートを使用したルーティングのことを、スタティックルーティングと言います。shutdown)をしている状態となります。この時点でルータは直接接続ルートを追加することになるので、ルーティングテーブルは下図のとおりです。この状態ではルーティングテーブルどおり端末AからBにパケットを送信しても届きません。R1のルーティングテーブルには、宛先IPアドレス「192.168.2.10」に該当する宛先ルートが存在しないからです。そこでR1にスタティックルートの設定をしてみます。routeコマンドを使用します。引数は以下となります。ついては理解していなくてもOKです。宛先ネットワークのアドレスを指定する。宛先ネットワークに対するサブネットマスクを指定する。ネクストホップアドレス、または出力インターフェースを指定する。ポイントツーポイントのインターフェースであることが条件。アドミニストレーティブディスタンス値(AD)を変更したい場合に数値を指定する。宛先ルートへの出力インターフェースがダウンした場合でも、設定したスタティックルートがルーティングテーブルから削除されないようにしたい時にpermanentと指定する。(オプション)R1は「192.168.2.0/24」の宛先ルートを学習する必要があるので、以下のスタティックルートを設定します。上での設定により下図の通り端末AからBへパケットが届くようになります。端末AからのパケットがBへ送信できたとしても、端末BからAへ送信できないことがR2のルーティングテーブルを見れば分かります。宛先ルートが存在しません。B間で相互に通信できるようにするためには、R2に以下のスタティックルートが必要です。R2でもスタティックルートを設定することで、端末A⇔B間で双方向に通信できるようになります。このようにスタティックルートは、双方向に設定する必要あります。パケットを送信できたとしても返りのスタティックルートがなければ、受信したパケットを送り返すことができません。コンピュータ間の通信は双方向に通信してはじめて成立するので、片側だけのパケットが送信できても意味がないのです。このようにスタティックルートを設定する場合、双方向に通信できるか確認します。デフォルトルートの設定スタティックルートの場合、通信したい宛先ネットワークごとにスタティックルートを1行ずつ設定していく必要があります。通信したい宛先ネットワークが膨大にある場合、設定していくのが非常に手間です。そこで、その場合はデフォルトルートという特別なルートを設定します。デフォルトルートとは「0.0.0.0/0」で全てのネットワークを示して、受信したパケットの宛先ネットワークアドレスが、ルーティングテーブルに登録されていない場合でも指定したネクストホップアドレスにパケットを転送してくれる便利で特別なルート。デフォルトルートはインターネットに接続する企業ネットワークのルータにはとても役立ちます。192.168.1.253に転送されます。インターネット上の通信したいグローバルIPアドレスを1行ずつ設定する必要はないのです。コマンドを使用します。0.0.0.0」と指定する必要があります。まとめ・スタティックルーティングとは→管理者が宛先ネットワークへの最適なルートを手動で設定したルートのことです。addコマンドは、ルータなどのネットワーク機器に設定するコマンドではなく、クライアントPCやサーバなどに設定することができるコマンドです。addコマンドの設定によって、特定の宛先ネットワークに対して、デフォルトゲートウェイとは異なるゲートウェイのIPアドレスを指定できます。実は、ルータやL3スイッチだけでなく、1つのインターフェースしか持たないクライアントPCやサーバでもルーティングテーブルを持っています。printコマンドを入力すればルーティングテーブルを確認することができます。上記の結果は、クライアントPCに対してIPアドレス「192.168.0.10」サブネットマスク「255.255.255.0」デフォルトゲートウェイ「192.168.0.254」と設定した時の結果。PCにIPアドレス関連の設定を行うとループバックアドレス、マルチキャストアドレス、ブロードキャストアドレス等がOSで自動的に登録されます。上記で意識すべきは、このPCにはデフォルトゲートウェイが「192.168.0.254」に設定されているという青枠の部分だけ。このサーバ(PC)で有効なインターフェースのリストが表示される。(無線LANのI/F)の3つを確認できる。宛先ネットワークへのルートが複数ある場合小さいメトリック値のパスを選択。addコマンドを使用する時は、サーバでデフォルトゲートウェイを設定しているだけでは通信要件が満たせない場合やゲートウェイのルータを制御できない場合など、特別な条件がある時にのみ利用します。下図のように、R1が外部ユーザの資産機器、R2がキャリアのレンタルルータなどにより設定変更ができない、あるいは、セキュリティ上の問題でルーティング設定ができないとします。下図では、サーバはインターネットとの通信はデフォルトゲートウェイ(254)にパケットを転送するので通信できますが、R1の「172.16.20.0/24」の宛先ネットワークとはR2の機器を変更できない前提では通信ができない状態です。R2のルータを自由に設定変更してよい場合、ルーティング設定やポリシーベースルーティング等で通信させることが可能です。addコマンドは以下の通りとなります。addのルートが保持される。addが消えてしまうので、検証ではないのなら必ず設定するようにしよう。addによるルート追加前に現在の経路情報を全て削除してしまう。