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