TCP/IPアレルギー撲滅ドリル【総まとめ編】

パケット君の冒険旅行

福永勇二
インタラクティブリサーチ
2005/3/29


 ルータを経由して送る様子を説明してください

・ルータを経由したときの具体的な形は?

 ルータは、IPパケットを受信し、そのあて先を確認して、それを送り届けるのに適切なネットワークにIPパケットを送出するコンピュータの一種です。

 ルータを経由したケースの最も簡単な例を図7に示します。ネットワークAにはコンピュータ1があり、ネットワークBにはコンピュータ2があります。コンピュータ1と2は直接つながっていませんが、ネットワークAとBはルータ1でつながっています。そのためルータ1が通信を中継してくれれば、コンピュータ1と2は通信することができます。

図7 ルータを経由して繋がったコンピュータの例


・ルータの働きについては「どうやってルーティングするんでしょうか?」を参照してください。

・ルータはどうやって送り先を判断しますか

 例えば図7の構成でいえば、ルータ1は、ネットワークA、Bそれぞれのネットワークアドレスが分かっています。そのため、コンピュータ2あてのIPパケットを受け取ると、そこに含まれるネットワークアドレスから、そのパケットはネットワークBに送出すればいいことが分かります。

 こういったIPパケットの中継のことをルーティングといいます。またどこあてのパケットをどこに送り出すかを記録した情報をルーティングテーブルといいます。

・ルーティングについては「ルーティングって何ですか?」を参照してください。

・ルータを経由するケースは多いのでしょうか?

 通信相手との間にはルータが存在しないケースは、かなりまれなケースだといえます。多くの場合、何回かルータを経由してから、通信相手に情報が届くと考えるべきです。そのためここまでの説明に、ここから先の説明を同時に考えた形が、より実際の通信に近いといえます。

・ ルータを経由して届けると通信処理が大幅に変わりますか?
 
 送出元コンピュータ、あて先コンピュータから見ると、それが直接つながっていようと、ルータを経由していようと、IPパケットを送出し、受信することには違いありません。ネットワークが複雑かつ大規模になって、途中に何段階かのルータを経由することになっても、まるで直接つながっているかのようにIPパケットを受け取ることができる。これはIPネットワークの特徴です。

・細かく見みたときに違いはありますか?

 細かく見ると、はっきりした違いがあります。

 ルータを経由せずに通信する場合、相手に直接データを届けることができるため、最終的にデータを届けたいあて先と、次にデータを渡すコンピュータは同じです。送信データに含まれるIPアドレスと、次にデータを届ける相手を表すMACアドレスは、同じコンピュータをあらわします。

 一方、ルータ経由で通信する場合、IPパケットに含まれるあて先IPアドレスと、Ethernetフレームに含まれるMACアドレス、つまりそのデータを次に届けるコンピュータは一致しません。「あて先コンピュータに届くように、そのデータを中継してくれるコンピュータ」がルータですから、データはルータに送らなければなりません。そのためあて先のMACアドレスはルータのものになります。しかしIPパケットを送り届けるあて先は別にありますので、IPパケットにはこのIPアドレスが書かれています。その結果、MACアドレスとIPアドレスで、指し示すコンピュータが違うことになります。

・ルータを経由して送る様子を説明してください

 図8に沿って説明します。Webブラウザが送り出したリクエストは、TCPを通ってIP処理プログラムに届けられます。IP処理プログラムは、先の場合と同じようにIPヘッダを作り、arpを使って送り届ける先のMACアドレスを確定します。

図8 ルータ経由の場合のリクエスト送信(図クリックで拡大表示)

 直接つながっている場合と違うのは、このときのMACアドレスが、送り届ける先のコンピュータのIPアドレスから変換したものではなく、デフォルトゲートウェイのIPアドレスから変換したものだという点です。デフォルトゲートウェイは、直接送り届けられないIPパケットを送る先で、普通、TCP/IP設定の1項目になっています。

 IPパケットが直接つながっているコンピュータあてかどうかは、あて先IPアドレスに含まれているネットワークアドレスが、自分自身のIPアドレスのネットワークアドレスと同じかどうかによって判断します。同じ場合は直接つながっている、違う場合は直接つながっていないことを意味します。

・ネットワークアドレスについては「IPアドレスからネットワークが分かるんですか?」を参照してください。

 こうして作ったMACアドレスをあて先にしたEthernetフレームは、そのあて先になっているデフォルトゲートウェイが受信します。デフォルトゲートウェイではイーサヘッダとフレームチェックシーケンスを取り外し、IPパケットをIP処理プログラムに引き渡します。

 IP処理プログラムはそのIPパケットのあて先を調べ、自分あてではないことが分かったら、次にそれをどこに中継するかを決めます。この決定にはルーティングテーブルを使います。ルーティングテーブルにはあて先アドレスと送り出し先ネットワークが書いてあります。

・ルーティングテーブルについては「どうやってルーティングするんでしょうか?」を参照してください。

 図8の例では、IPパケットのあて先が直接つながっているコンピュータですので、arpを使ってIPアドレスからMACアドレスを得て、それをイーサヘッダに設定してネットワークに送り出します。

 このようにして送り出したEthernetフレームは、あて先コンピュータがネットワークから受信し、以降、直接つながっている場合と同じように処理して、Webサーバに引き渡されます。

・PCは必ずデフォルトゲートウェイに渡すのですか?

 実はPCにもルータと同等の機能があり、ルーティングテーブルを設定して、IPパケットの中継をすることができます。それを使うと、ルータのようにあて先によってIPパケットの送り出し先を変えることができます。しかし、その機能はあまり使われていません。

 一般に使われている大部分のPCは、直接つながっていないコンピュータあてのIPパケットをデフォルトゲートウェイに送っていると考えてよいでしょう。

 次回は、別の例を使って、さらに通信の様子を見てゆきます。

読み出し結果の受信
次回もお楽しみに

TCP/IPアレルギー撲滅ドリル【総まとめ編】(1)目次
1  冒険の舞台はいずこ?
2  「名前」を「解決」するとは?
3  Webページをリクエストする
4  読み出し結果を受信する
5  ルータを経由するケース

関連リンク
  連載:TCP/IPアレルギー撲滅ドリル【超実践編】(上位レイヤ編)
連載:TCP/IPアレルギー撲滅ドリル【超実践編】(下位レイヤ編)
連載:インターネット・プロトコル詳説

連載:ルータの仕組みを学ぼう
ホストのネット接続は正しく行われているか? 〜netstatによるネットワーク設定の確認〜


「Master of IP Network総合インデックス」


Master of IP Network フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Master of IP Network 記事ランキング

本日 月間