第4章 インターネットの仕組み
4-2 TCP/IP
4-2-5 TCP/IPのトランスポート層
TCP/IPのトランスポート層には、TCPとUDPという2つプロトコルが含まれます。TCPは、インターネットを実現するための中核を成すプロトコルです。
TCPには、@通信を行うアプリケーション間の通信経路の確立と、Aアプリケーションから渡されたデータを通信に適した大きさに分割したり復元したりする、2つの大きな役割があります。
TCPヘッダは、ポート番号やシーケンス番号などTCPの機能に必要な情報が書き込まれた部分で、IPプロトコルが一度に送信できるサイズに合わせてデータを分割した後に付加されます。| フィールド名 | ビット長 | 説 明 |
| 送信元ポート番号(Source Port) | 16 | 送信元のポート番号を表す。 |
| 宛先ポート番号(Destination Port) | 16 | 送信先のポート番号を表す。 |
| シーケンス番号 (Sequence Number) |
32 | シーケンス番号を表す。シーケンス番号は、分割したデータに割り振られる通し番号のこと。 |
| 確認応答番号 (Acknowledgement Number) |
32 | 確認応答番号を表す。確認応答番号は、TCPヘッダのシーケンス番号の次に続く番号のこと。 |
| データオフセット(Hlen) | 4 | TCPヘッダの長さを表す。 |
| 予約(Reserved) | 4 | 将来の拡張するための空間。 |
| コードビット(Code Bits) | 4 | 通信の開始や終了などの符号を指定する。 |
| ウィンドウ(Window) | 16 | 通信速度を上げるために、セグメントを連続して送信可能なデータのサイズを表す。 |
| チェックサム(Checksum) | 16 | セグメントのデータの誤りを検出する情報を表す。 |
| 緊急ポインタ(Urgent Pointer) | 16 | 緊急のデータの格納場所の情報を表す。 |
| オプション(Option) | 可変長 | TCPによる通信の性能を向上するための情報を表す。 |
| パディング(Padding) | 可変長 | ヘッダ長が32ビットの整数倍にならない場合、0で穴埋め(パディング)をして調整する。 |
TCPは、消失したり破損したりしたデータがある場合は、送信元にデータの再送信を要求し、データを完全な形に復元する処理を行いますが、UDPは、そのような機能はありません。UDPは、ポート番号でアプリケーション層へデータの受け渡しをする機能しかありません。