トランスポート層とは
トランスポート層はネットワーク層の上に位置しており、ネットワーク層のIPに通信データを渡したり、IPから受け取ったデータをアプリケーションソフトに渡す働きをします。
TCPとUDP
トランスポート層のプロトコルにはTCPとUDPの2種類があります。どちらも、ネットワーク層とアプリケーションソフトの橋渡しを行います。
TCPとTCPヘッダを、UDPはUDPヘッダをデータに付けます。ヘッダの情報は相手のTCP、UDPと連絡を取り合うのに使用されます。
TCPとは?
TCPは確実にデータを送るために使われるプロトコルです。分割したデータがしっかり届いているのかをチェックします。届いていない場合には、再度データを要求します。メールやWebページなど、1ビットも間違いが許されないデータ通信に使われます。
TCPはコネクションを通信間で作ります。コネクションとは通信が終わるまでで送信側のTCPと受信側のTCP同士で繋がれる仮想的なパイプです。
UDPとは?
UDPはデータがしっかり送られたかのをチェックしません。送りっぱなしの方が都合が良い通信に使われます。動画の中継や、コンピュータのアドレスを調べるためのブロードキャスト(一斉送信)に使われます。UDPはコネクションを作りません。
ストリーム
ストリームとは切れ目のない連続したデータのことを指します。TCPはアプリケーションソフトから渡されるデータをストリームとして扱います。TCPは送信できることができる最大サイズのデータ(MTU)を調べ、TCPのデータの最大サイズ(最大セグメントサイズ)を決めます。別名MSSとも呼びます。
TCPでは、アプリケーションソフトからデータを渡された後、まずはデータをくっつけて、MSSのサイズに合わせて切り分けます。この切り分けたデータをTCPセグメントと呼びます。
データグラム
UDPはアプリケーションソフトから渡されたデータにヘッダをつけて、そのままIPに渡します。このデータの1つをデータグラムと言います。UDPはデータをくっつけたり、切り分けたりすることはありません。