TCP/IPアレルギー撲滅ドリル【総まとめ編】パケット君の冒険旅行
|
ルータを経由して送る様子を説明してください |
・ルータを経由したときの具体的な形は?
ルータは、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アレルギー撲滅ドリル【超実践編】(上位レイヤ編) 連載:TCP/IPアレルギー撲滅ドリル【超実践編】(下位レイヤ編) 連載:インターネット・プロトコル詳説 連載:ルータの仕組みを学ぼう ホストのネット接続は正しく行われているか? 〜netstatによるネットワーク設定の確認〜 |
「Master of IP Network総合インデックス」 |
- 完全HTTPS化のメリットと極意を大規模Webサービス――ピクシブ、クックパッド、ヤフーの事例から探る (2017/7/13)
2017年6月21日、ピクシブのオフィスで、同社主催の「大規模HTTPS導入Night」が開催された。大規模Webサービスで完全HTTPS化を行うに当たっての技術的、および非技術的な悩みや成果をテーマに、ヤフー、クックパッド、ピクシブの3社が、それぞれの事例について語り合った - ソラコムは、あなたの気が付かないうちに、少しずつ「次」へ進んでいる (2017/7/6)
ソラコムは、「トランスポート技術への非依存」度を高めている。当初はIoT用格安SIMというイメージもあったが、徐々に脱皮しようとしている。パブリッククラウドと同様、付加サービスでユーザーをつかんでいるからだ - Cisco SystemsのIntent-based Networkingは、どうネットワークエンジニアの仕事を変えるか (2017/7/4)
Cisco Systemsは2017年6月、同社イベントCisco Live 2017で、「THE NETWORK. INTUITIVE.」あるいは「Intent-based Networking」といった言葉を使い、ネットワークの構築・運用、そしてネットワークエンジニアの仕事を変えていくと説明した。これはどういうことなのだろうか - ifconfig 〜(IP)ネットワーク環境の確認/設定を行う (2017/7/3)
ifconfigは、LinuxやmacOSなど、主にUNIX系OSで用いるネットワーク環境の状態確認、設定のためのコマンドだ。IPアドレスやサブネットマスク、ブロードキャストアドレスなどの基本的な設定ができる他、イーサネットフレームの最大転送サイズ(MTU)の変更や、VLAN疑似デバイスの作成も可能だ。
|
|