top

サイト内検索

インターネットはどのようにつながっているのか2(データの流れ)

【データはパケットに分割して送信する】
 パソコン(PC)からインターネットに接続するまでのデータはどのような流れになっているのでしょうか。

 パソコン上のソフトウェアで作成したり取り込んだりした文字や画像などの情報は通信ソフトによってパケットに 分割されて図1のような階層ごとにその頭の部分(ヘッダ)に荷札のような情報(自分や相手先のアドレス、 元の文字や画像に復元するための番号など)が付け足された形で送信されます。 受信側はそのヘッダの情報を各層で読み取って送信側が指定した相手かどうかの認識をしたり、データの復元を行ったり しています。

(図1)


 パケットに分割するわけは大きいデータを送受信するような場合、少量のデータに分割したパケット単位で通信を行うことにより、 ネットワークの帯域を連続して占有することがなくなってネットワーク回線の負荷が軽くなったり、データの一部が破損・喪失 しても少ないコストで再送が可能になるなどの利点があるためです。

 図1のような処理はOSI参照モデルと呼ばれていてさまざまな通信のプロトコルの基本モデルとなっていますが、 その中でも世界標準といえるプロトコルがTCP/IPです。図2にOSI参照モデルとの対応を示します。

(図2)


【データの送信には約束事がある】
 電子メールでの通信を例にとってこのTCP/IPを説明します。
 まず、メールソフトを起動して新規メールを作成します。このメールに「こんにちは」と入力して送信ボタンを押すと、 TCP/IPによる通信が始まります。

 まず、アプリケーションプログラムでは「こんにちは」という文字列の符号化処理が行われます。 符号化されたデータはパケットに分割されて、下位層のトランスポート層のプロトコルであるTCPに渡されて 転送処理が行われます。

 TCPではデータの先頭にTCPヘッダが付けられます。このTCPヘッダには送信側端末と受信側端末のアプリケーションを 認識するポート番号(メールの場合は25番)やそのパケットが元の「こんにちは」というデータの何バイト目に当たるのか を表すシーケンス番号、データが壊れていないかどうかを確認するためのチェックサムといった情報が含まれています。

 次にTCPからインターネット層のIPにTCPヘッダ付きのデータが渡されます。このIPでは送信元や宛先の住所にあたる IPアドレスなどの情報が含まれるIPヘッダが追加されます。このIPパケットがを宛先までの経路を示すルーティングテーブル を参照して次にどのルーターや端末に送るべきかを決定します。そしてこのIPパケットにその下位層のネットワーク インターフェース層の代表的なしくみであるイーサネットのヘッダ(端末などの機器の識別番号にあたる送信元と 宛先のMACアドレスが含まれる)が追加されて、このパケットが電気信号となってケーブル伝送されるわけです。

 図3のようにIPは宛先までの通信経路を確保するのに対して、データリンクは機器と機器の1区間の通信を実現します。

(図3)クリックしてご覧ください


【受信したパケットは元通りに組み立てられる】
 受信した端末はまず、イーサネットヘッダの宛先のMACアドレスが自分宛であるかどうかを調べて、 自分宛であれば上位層のIPに渡されます。IPではIPヘッダの宛先IPアドレスが自分宛かどうか調べて、大抵は自分宛ではないので、 次に送信すべき端末やルーターをルーティングテーブルから調べて送ります。このようにIPではリレーのようにいろんな端末や ルーターなどを経由して最終的な宛先までパケットを送ることになります。

 最終的に宛先IPアドレスが受信した自分宛であった場合、上位層のTCPにデータを渡します。 TCPではTCPヘッダ内のチェックサムを計算してそのパケットが壊れていないかどうかを調べます。 ここで問題がなければポート番号を調べて通信を行っているアプリケーションを特定します。 データがきちんと届いた場合には送信元の端末に受信確認の応答をして、送信元ではこの受信確認が来るまで 繰返しパケットを送信します。

 最後にポート番号で識別したアプリケーションにデータが渡されて「こんにちは」という文字列に復元されパソコン のハードディスクに格納されたら、処理が正常に終了したメッセージを送信元のアプリケーションにとどけます。 以上が実際のデータの流れです。


↓ネットワークの勉強には最適です