Shoeisha Technology Media

資格Zine(しかくジン)

記事種別から探す

ルーティングの動作とルーティングテーブル ~ IPパケットの転送は電車の乗り換えのように

  • LINEで送る
  • このエントリーをはてなブックマークに追加
Gene[著]
2016/10/24 10:00

 シスコシステムズの認定資格「CCENT」の合格に向け、ゼロからネットワークの学習を始めるという方のための連載第9回です。今回のテーマは「ルーティングの動作とルーティングテーブル」です。一見複雑そうなルーティングの動作ですが、1つ1つ見ていけば難しいものではありません。ルータの中継により、複数のネットワークを越えた先にあるホストまでIPパケットが転送されていくさまは、まるでIPパケットが電車を乗り継いで移動しているよう。そう感じられれば理解はばっちりです。なお、ルータの基本は前回解説しましたから、自信のない方は復習してから読みましょう。

ルーティング

一言でいうと

ルータが受信したIPパケットの宛先IPアドレスとルーティングテーブルから適切な転送先を判断して、IPパケットを転送する動作。

試験のポイント

  • 「ルータがルーティングするたび、レイヤ2ヘッダがどんどん書き換えられていく」という動作を把握することがとても重要です。
  • シスコシステムズ製ルータのルーティングテーブルを正しく解釈できるようにしておくことも重要です。

ルータがデータを転送する仕組み

ルータは、データ(IPパケット)を次の流れで転送します。

  • 1. ルーティング対象のIPパケットを受信する
  • 2. 宛先IPアドレスからルーティングテーブル上のルート情報を検索して、転送先を決定する
  • 3. レイヤ2ヘッダを書き換えてIPパケットを転送する

ルータがIPパケットを転送するには、ルーティングテーブル(⇒本連載第8回)に転送先のネットワークの情報(ルート情報)が、あらかじめ登録されていることが大前提です。ルーティングテーブルの詳細や、ルーティングテーブルにルート情報を登録する方法は、次項で解説します。

ここでは図1のネットワーク構成[1]で、ホスト1からホスト2にIPパケットを送信する場合を例に、ルータがIPパケットを転送していく仕組みを解説します。

図1:ルータのデータ転送 ネットワーク構成例
図1:ルータのデータ転送 ネットワーク構成例

【ルータR1】ルーティング対象のIPパケットの受信

ルータがルーティングするIPパケットは、次のようなアドレス情報を持っています。

  • 宛先レイヤ2アドレス(MACアドレス):ルータ
  • 宛先IPアドレス:ルータのIPアドレス以外

図1でホスト1からホスト2へ転送するIPパケットは、まずルータR1へ転送されます。そのときのアドレス情報は、次のようになっています。

  • 宛先MACアドレス:R11
  • 送信元MACアドレス:H1
  • 宛先IPアドレス:192.168.2.100
  • 送信元IPアドレス:192.168.1.100

宛先MACアドレスはルータR1のものです。一方、宛先IPアドレスはルータR1ではなく、ホスト2のものです。したがって、ルータR1は、受信したIPパケットをルーティング対象だと判断します。

【ルータR1】ルーティングテーブルの検索

受信したIPパケットをルーティング対象だと判断したルータR1は、自分が持っているルーティングテーブルから、そのIPパケットの宛先IPアドレスに一致するルート情報を検索します。検索の結果、宛先IPアドレス192.168.2.100に一致するルート情報は「192.168.2.0/24」だと判明します。そこから、転送先のネクストホップアドレスは「192.168.0.2」、すなわちルータR2であると分かります[2]

図2:【ルータR1】ルーティング対象IPパケットの受信とルーティングテーブルの検索
図2:【ルータR1】ルーティング対象IPパケットの受信とルーティングテーブルの検索

【ルータR1】レイヤ2ヘッダを書き換えてIPパケットを転送

ルータR1は、ルーティングテーブルを検索して得たルート情報から、受信したIPパケットを、ネクストホップアドレスである192.168.0.2(ルータR2)へ転送します。ただし、それにはルータR2のMACアドレスを知る必要があります。

そこで、ルータR1はARP(⇒本連載第2回)を行って、ネクストホップアドレス192.168.0.2からMACアドレス(どちらもルータR2)を求めます。ARPにより、宛先(ルータR2)MACアドレスが「R21」だと分かります。

そうしたら、ルータR1は、IPパケットに新しいイーサネットヘッダを付けてインタフェース2からルータR2に向けて転送します。新しいイーサネットヘッダの宛先MACアドレスは「R21」で、送信元MACアドレスは「R12」です。

ルータR1によるルーティングにより、レイヤ2ヘッダであるイーサネットヘッダは置き換えられました。一方、IPヘッダのIPアドレスは変化しませんでした。大切なポイントですので覚えておいてください[3][4]

図3:【ルータR1】レイヤ2ヘッダを書き換えてIPパケットを転送
図3:【ルータR1】レイヤ2ヘッダを書き換えてIPパケットを転送

[1]: 図1ではすべてイーサネットインタフェースとしています。また、ネットワーク構成を簡単にするために、レイヤ2スイッチを介さずに各イーサネットインタフェース間を直接接続しているものとします。

[2]: 単純なルーティングを行う場合、ルータはトランスポート層以上の層をチェックしません。図2ではHTTPのデータを転送していますが、これをチェックはしません。

[3]: IPヘッダでは、TTL(Time To Live)を-1し、それに伴ってヘッダチェックサムの再計算を行います。TTLはIPパケットがループしないようにするためのものです。

[4]: ルータでNAT(⇒本連載第6回)を行うときにはIPアドレスが書き換えられます。単純なルーティングを行うときには、IPアドレスは変わりません。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • Gene(ジーン)

    2000年よりメールマガジン、Webサイト「ネットワークのおべんきょしませんか?」を開設。「ネットワーク技術をわかりやすく解説する」ことを目標に日々更新を続ける。2003年にCCIE Routing and Switchingを取得。2003年8月に独立し、ネットワーク技術に関するフリーのインストラクター、テクニカルライターとして活動中。

バックナンバー

連載:シスコCCENT合格をゼロから目指す人のためのネットワーク超入門

もっと読む

All contents copyright © 2015-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.0