ネット君ネットワークでは様々な情報や技術を使ってデータを相手に届けますよね。IPアドレス▼やルーティング▼、ARP▼などなどありますよね。
インター博士あるな。
ネット君それぞれの技術を学ぶ重要性はよく分かるんですが、それだけだと全体像がよく分からないというか把握しにくいというか…。
インター博士ふむ、一理あるな。では今回は、相手にデータが届くまでを見ていこう。
アプリケーションがTCP/IP▼でデータをやりとりする場合、各層のプロトコルが連携して通信する(図1)。以下、各層でどのような処理が行われてデータが運ばれるのか、順を追って解説する。
図1●各層が連携してデータを運ぶTCP/IP通信では、分割したデータにそれぞれ必要な情報を付与し、下位の層のプロトコルに渡して送信する。受信側では各層で必要な情報を取り出して上位の層に伝達する。[画像のクリックで拡大表示]今回は、パソコンのWebブラウザーからWebサーバーへのアクセスを想定する。ネットワーク構成は次の通り。パソコンはイーサネットの有線LANに接続しており、DHCP▼によってIPアドレスやデフォルトゲートウエイ▼などが割り当てられている。また、サーバーまでは2台のルーターを経由する(図2)。
図2●今回想定するネットワーク構成今回の記事では、このようなネットワーク構成を想定。クライアント(パソコン)からサーバー(Webサーバー)まで送信されるデータの流れを見ていく。[画像のクリックで拡大表示]ルーターはそれぞれ2つのインターフェースを備え、2つのネットワークにつながっている。
ユーザーがクライアント上のWebブラウザーにアクセスしたいURL▼を入力する。
するとクライアントはDNS▼サーバーにアクセスして、そのURLのホスト名に対応するIPアドレスを調べる。同時に、Webサーバーに送信するHTTP▼メッセージを作成する。
このHTTPメッセージを送るには、まずはTCPヘッダーを付与してTCPセグメントをつくる必要がある。TCPヘッダーに不可欠な情報の1つが送信元および宛先のポート番号である(図3)。
図3●TCPヘッダーを付与してTCPセグメントにHTTPメッセージを送る際には、TCPヘッダーを付与してTCPセグメントにする必要がある。TCPでの通信にはTCPコネクションを確立する必要があるので、最初にSYNのTCPセグメントを送る。[画像のクリックで拡大表示]この記事は有料会員限定です。次ページでログインまたはお申し込みください。
次ページ まずはSYNセグメントを送信