(8)TCP・UDPプロトコル(トランスポート層)
TCP(Transmission Control Protocol)
TCPとは、TCP/IPプロトコル群のトランスポート層に位置するプロトコルの1つです。
トランスポート層とは、上位層から渡された情報に対して相手のどのアプリケーションに渡すべきかを認識し、その情報をデータに付加するとともに、下位層であるネットワーク層から渡された情報についてパケットなどに欠如がないかなどをチェックします。
もしパケットに欠如などがあった場合には、再度送信を要求するなどの機能を持つものです。
トランスポート層にはTCPとUDPという機能の異なる2つのプロトコルが存在します。
トランスポート層においてTCPによってパケットの送受信を行う場合、どのアプリケーションに渡すものなのかを示す情報や、パケットの欠如がないかなどのチェックを行うための情報をパケットに付加する必要があります。
この情報はトランスポート層を通過する際にTCPソフトウェアによって、送受信される実データの上部に付加されますが、これをTCPセグメントフォーマット(TCPヘッダ)といいます。
TCPセグメントフォーマット
0bit 16bit 32bit
|
|
|
|
|
|
|
|
|
|
|
+
|
図は、TCPセグメントフォーマットの内部を示したものですが、見やすいように1行32ビットで表現しています。
まず、送信元ポート番号と、宛先ポート番号です。
ポート番号は、どのアプリケーションからの情報か、どのアプリケーションヘ宛てたものかを伝えるためのものであり、番号に応じてそれがどのようなアプリケーションであるのかはあらかじめ決まっています。
届いたパケットは宛先ポート番号を参照し、その番号に対応するアプリケーションにデータを引き渡すことになります。
ちなみに、このポート番号が21ならFTP、23ならTelnetにそれぞれデータが渡されます。
また、シーケンス番号と確認応答番号、ウィンドウなどは、パケットに欠如がないかなどを調べ、情報が正常に転送されているか否かを確認するための