データが相手に届くまで(TCP/IP)
データはどのように送られるか
メールやWebのデータが相手のコンピュータまでどのようにして届くか概略を以下に述べてみる。
- 送り先のIPアドレスをDNSによって調べる。
- 送るデータをいくつかのパケットに分解する。(TCP)
- それぞれのパケットにヘッダーをつける。(TCP)
主なヘッダーの内容は以下のものがある。
- 元のデータの何番目に当たるのかという番号
(そうしないと、届先で元に戻せない)
- ポート番号
この番号によって送り先のどのプログラムがデータを受け取るかを決める。
- さらにパケットにヘッダーをつける。(IP)
- インターネットの中をルータからルータへパケットが送られてゆく。
ルータというコンピュータによって次にどちらの道へパケットを送れば良いかが決められる。
- パケットが送り先のホストに届く。
- 送り先のホストは来たデータが自分宛のものかどうか調べる。
そうでなければそのデータは捨てられる。
- 上の4でつけたヘッダーをとる。(IP)
- もし待っていても届かないパケットがある場合は、送り手にもう一度パケットを送ってくれるように頼む。(TCP)
- データが全部そろったらパケットを番号順に組み立てる。(TCP)
- ポート番号のポートにデータを送る。(TCP)
TCP/IP
インターネット・LANなどではTCP/IPというしくみ(プロトコル)を利用してデータを相手に送るようになっている。
TCP/IPによって行なわれる作業はUINX・WindowsなどではOSのカーネルが担当している。
TCP/IPによって行なわれる作業は以下の通り。
- TCP(Transmission Control Protocol)
- データを分割する
- 分割したデータに番号をふる
- 送り先のポート番号をつける
- ある時間内にこないデータ、または壊れていたデータを再送してもらう
- IP(Internet Protocol)
- TCPによって分割されたデータに送り手・送り先のIPアドレスをつける
Prev | Next
index | home
abe@injapan.net