トランスポート層とは

/ネットワーク

トランスポート層とは

トランスポート層

トランスポート層とは、TCP/IPモデルの第4層に当たり、アプリケーションに応じた通信制御を行います。第3階層のネットワーク層(IP)が、目的のノードにデータを送り届けるだけですが、トランスポート層では、アプリケーションに応じた通信制御を行います。

トランスポート層では、アプリケーションデータにトランスポートヘッダを付けてネットワーク層に渡します。尚、このデータの単位はセグメントと呼ばれ、ネットワーク層ではIPヘッダを付けてパケットと呼ばれる単位となります。

トランスポート層のプロトコルは、TCP(Transmission Control Protocol)とUDP(User Datagram Protocol)の2つです。TCPには信頼性、UDPには即時性(リアルタイム性)という特徴があり、アプリケーションの特性により使い分けられます。

TCPとUDPの特徴をまとめると以下になります。

項目 TCP UDP
通信タイプ コネクション型 コネクションレス型
処理負荷 高い 低い
信頼性 高い 低い
即時性 遅い 早い
用途 Web通信、メール、ファイル転送など 音声通話、動画配信、名前解決、DHCPなど

TCP

TCPは、Webブラウザやメール、ファイル転送など信頼性が求められるアプリケーションに使用されます。TCPではデータを送る前に仮想的な通信路(コネクション)を作り、その中でデータをやり取りします。

セグメント構成

TCPのセグメント構成は以下になります。

各フィールドの役割りは以下になります。

名称 サイズ 機能
送信元ポート 2byte サービスを要求する側(クライアント)のランダムポート
宛先ポート 2byte サービスを提供する側(サーバ)のポート、サービスに応じた番号がRFCで定められている
シーケンス番号 4byte 送信したデータの順序を示す、前回の自分のシーケンス番号にデータサイズを加えた値、初期値はランダムな値
確認応答番号 4byte 受信側が送信側から来ることを期待する次のバイトの番号、相手から受信したシーケンス番号にデータサイズを加えた値
データオフセット 4bit TCPヘッダのサイズ
コントロールフラグ 1byte URG、ACK、PSH、RST、SYN、FINの6つのビットで構成
ウィンドウサイズ 2byte 受信側が一度に受信することができるデータ量
チェックサム 2byte TCPヘッダとデータ部分のエラーチェックのための値
緊急データポインタ 2byte コントロールフラグのURGの値が 1 である場合にのみ使用されるフィールド、緊急データの開始位置を示す情報が入る
データ アプリケーションデータ

コントロールフラグの各ビットの説明は以下になります。

ビット 名称 内容
URG 緊急フラグ 「1」の場合、緊急を要するデータであることを示す
ACK 確認応答フラグ 「1」の場合、確認応答時間フィールドが有効であることを示す
PSH プッシュフラグ 「1」の場合、TCPで受信したデータを上位のアプリケーション層にすぐに渡す必要がある
「0」の場合、受信バッファにバッファリングできる
RST リセットフラグ 「1」の場合、コネクションが強制的に切断される
SYN 同期フラグ コネクション確立時に「1」が設定される
FIN 送信終了フラグ 「1」の場合、送信するデータがないことを示す、コネクションを切断するときに利用する

コネクション確立手順

TCPでは、通信を始める前にコネクションの確立を行います。このプロセスを、3ウェイハンドシェイクと呼ばれています。

フラグ等 内容
SYN=1、シーケンス番号=a
ACK=0、確認応答番号=0
クライアントからサーバへ、コネクションの確立要求
SYN=1、シーケンス番号=b
ACK=1、確認応答番号=a+1
サーバからクライアントへ、確認応答とコネクションの確立要求
SYN=0、シーケンス番号=a+1
ACK=1、確認応答番号=b+1
クライアントからサーバへ、確認応答

コネクション切断手順

通信終了時も、手順を踏んで双方が終了を確認してからコネクションが切断されます。

フラグ
SYN=1、FIN=1 クライアントからサーバへ、コネクション切断要求
SYN=1、FIN=0 サーバからクライアントへ、切断要求に対する確認応答
SYN=1、FIN=1 サーバからクライアントへ、コネクション切断要求
SYN=1、FIN=0 クライアントからサーバへ、切断要求に対する確認応答

UDP

UDPは、音声通話や動画配信、名前解決やDHCPなど、即時性が求められるアプリケーションに使用されます。余計な手順を省いているため即時性が上がりますが、反面送りっぱなしのため信頼性はありません。

セグメント構成

UDPのセグメント構成は以下になります。

各フィールドの役割りは以下になります。

名称 サイズ 機能
送信元ポート 2byte サービスを要求する側(クライアント)のランダムポート
宛先ポート 2byte サービスを提供する側(サーバ)のポート、サービスに応じた番号がRFCで定められている
パケット長 2byte UDPヘッダとデータ部分を合わせたサイズ
チェックサム 2byte TCPヘッダとデータ部分のエラーチェックのための値
データ アプリケーションデータ

通信手順

UDPは、ポート番号によるポート番号によるプロセスの認識とチェックサムによる誤り制御しか行いません。コネクションの確立は行いませんが、その分、通信手順がシンプルでオーバヘッドが少ない通信を提供します。

 

IT
マネジメント、セキュリティ、ネットワーク、システム
散策路TOP
数学、応用数学、古典物理、量子力学、物性論、電子工学、IT、力学、電磁気学、熱・統計力学、連続体力学、解析学、代数学、幾何学、統計学、論理・基礎論、プラズマ物理、量子コンピュータ、情報・暗号、機械学習、金融・ゲーム理論

 

タイトルとURLをコピーしました