TCP/IPアレルギー撲滅ドリル【総まとめ編】パケット君の冒険旅行
|
読み出し結果の受信 |
・Webサーバからの回答はどうなりますか?
Webブラウザからのリクエストを受け取ったWebサーバは、求められた対象の読み出し結果コードと、読み出せた場合はその内容を送り返します。
図6はその様子を示したものです。Webサーバは、結果コードと内容を含んだ情報、また送り返す相手のIPアドレス、ポート番号をTCPに引き渡します。少し前に書きましたが、TCPは最初に通信を開始するためのやり取りをします。そのときに相手先のIPアドレスやポート番号を記録しておき使用します。
図6 Webサーバがhtmlを返送する(図クリックで拡大表示) |
TCPヘッダをくっつけたTCPパケットはIP処理プログラムに引き渡します。TCPが複雑な処理をするのはこの場合も同じです。IP処理プログラムでは、受け取ったデータにIPヘッダをくっつけてIPパケットを作ってから、さらにarpでMACアドレスを求めます。このIPパケットとMACアドレスをEthernetに引き渡します。EthernetはイーサヘッダとフレームチェックシーケンスをくっつけてEthernetフレームを作り出し、それをLANに送り出します。この辺りの手順はこれまでの例と同様です。
Ethernetから受信したデータは、イーサヘッダとフレームチェックシーケンスが取り除かれてから、IP処理プログラムに引き渡されます。引き渡し先の判断はイーサヘッダの情報から判断します。これまでと同じようにIP処理プログラム→TCP処理プログラムとたどり、最後にWebサーバが送り出した結果コードとhtmlがWebブラウザに引き渡されます。
この一連の動作でリクエストした情報を得ることができます。
・送受信は1回きりでよいのですか?
ここまでの説明はWebサーバとのやりとりの基本単位です。この1回のリクエストで受け取れるのは1つのファイルですので、もしほかのファイルが必要な場合には、これと同じことを何回か繰り返します。
例えば、画像を表示するページのようにhtmlの中で画像ファイルを参照している場合、htmlを取得した後に、さらに画像ファイルも取得しなければなりません。
Webブラウザはこうして取得した1つ以上のファイルを取りまとめて、1つの画面として表示します。
・htmlのリクエストの流れは「Webの画面を見てみると、画像もたくさんあって、複雑な処理をしてるように見えますが」を参照してください |
・アプリケーションはEthernetが見えない?
これまでの図を見ると、アプリケーションはTCPに対して通信を依頼します。その時には、TCPで必要なポート番号と一緒に、IPで必要なIPアドレスも引き渡しますので、実質的にはTCPとIPの両方、つまりTCP/IPに通信を依頼しているとみなすことができます。
ここで興味深いのが、TCP/IPはアプリケーションに直接関係がある一方、Ethernetなどネットワークとは直接の関係がないという点です。これは言い換えると、ネットワークの部分をEthernet以外に取り換えても、アプリケーションには影響がないと見なすことができます。
実際、PCでインターネットにアクセスするときの例で見ると、EthernetによるLANを使うときもあれば、電話回線を使ってダイヤルアップ接続することもあります。これはネットワーク装置を取り換えているような状況ですが、どちらの場合でもWebブラウザは全く同じように使えます。
アプリケーションと通信装置が独立しているからこそ、こういった便利な使い分けができるわけです。
Webページをリクエストする |
|
関連リンク | |
連載: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疑似デバイスの作成も可能だ。
|
|