キャンセル
https://media.fs.com/images/community/uploads/post/202202/19/post35-fjs7bxaxmamnnk1-cmjokvisyd.png

UDPとTCP、QoSの動作基礎を解説

2022年2月25日 に投稿された

 TCP/IP通信プロトコルの4階層モデルにおいて、UDPとTCPは共にクライアントや利用者とサーバー間の通信チャネルを構築するプロトコルである。

両者は同じくトランスポート層(第3層)に位置し、利用するアプリケーション(メール受送信、ウェブサイト閲覧、動画視聴、音声など)によって使い方も通信品質も異なる。

連商品:S5860-20SQ(20x10Gb SFP+、4x25Gb SFP28)|203,435円 (税込)

目次

定義から見る違い

構造から見る違い

動作から見る違い

データ転送に必要なポート番号の違い

違いを図表で求める

TCPとUDP、定義から見る違い

UDPとは

 UDPとは、User Data Protocolの略語で、高速通信を重視する通信プロトコルである。

 UDPはコネクションレス型通信プロトコル(事前のやり取りなしで通信を開始させる)として、動画配信、音声通話、モニター監視などのリアルタイム的な分野で活用される。
高速通信を実現した代わりに、パケットロスによる低い信頼性が出てくる。

図1:TCP/IP4階層モデルにおけるUDPとTCP

TCPとは

 TCPとは、Transmission Control Protocolの略語で、高い信頼性で安定した通信を重視する通信プロトコル。

 TCPはコネクション型通信プロトコル(事前のやり取りを確認した上で通信を開始させる)として、ウェブサイト閲覧、ファイル転送などのデータ完全性が求められるアプリケーションで実用される。
 安全かつ安定した高信頼性のデータ転送を実現した一方、転送速度は今ひとつで、UDPより劣っている。

TCPとUDP、構造から見る違い

 TCPパケットには、3ウェイハンドシェイクの通信動作をサポートする情報が含まれる。例えば、受信確認や返事を記す「ACK」、通信を要求する「SYN」、パケット通信の順番を示す「シーケンス番号」などが付いているため、相当な負荷がかかる。


図2:UDPとTCPの構造的違い

 UDPパケットには、送信元ポート番号と宛先ポート番号が含まれるが、確認応答、再送制御などの情報は存在しないため、通信にかかった負荷もTCPより軽い。

連商品: 10GBASE-T SFP+(RJ-45銅製 30m)|6,695円

TCPとUDP、動作から見る違い

 UDPと比べて、安全かつ安定した通信を果たしたTCPの動作は複雑で持続的な通信が必要である。


図解でUDP/TCPを解説

3ウェイハンドシェイクによるTCP通信伝送路の確立

 TCPに基づくデータ通信を実行する前に、受送信両側間のコネクション成立が必須となる。そのコネクションの確立を実現した手順は「3ウェイハンドシェイク」と呼ばれる。

 ◉ SYNパケット(Synchronize Packet):コネクション確立の前に、クライアントからサーバーに送られるパケットで、最初の接続の申し入れである。
 ◉ ACK番号(ACKnowledgement):確認応答番号で、宛先に応答を返すために送る信号パケットである。

図3:3ウェイハンドシェイク通信動作の手順

UDPの通信動作

 事前の通知や前触れもなく、通信を開始するのはUDPの特徴である。そのため、通信の品質を引き換えにリアルタイムの高速通信を実現した。


図4:UDPの通信動作の手順

UDPとTCP、データ転送に必要なポート番号の違い

 ポート番号とは、通信相手を特定するために用いられる番号で、アプリケーションによって変わる。例えば、ウェブサイトを閲覧していると同時に音声電話をする場合に、データを分類して正しいアプリケーションに送り届ける。

 いわば、正しいデータを正しいアプリケーションに届けるために利用する識別番号である。

 下記の図に示すように、クライアント側でポート番号がランダムに割り当てられるが、対応サーバー側ではプロトコルによって特定のポート番号が割り当てられる。そのポート番号に基づき、宛先を識別して受送信する。


図5:アプリケーションによる異なるポート番号

UDPとTCP、違いを図表で求めると


プロトコル
UDP
TCP
通信
コネクションレス型
コネクション型
転送速度
高速
低速
信頼性
低い
高い
対応/上位プロトコル
DNS、DHCP、SNMPなど
HTTP、POP、FTPなど
実用例
音声通話、動画視聴など
ウェブサイト閲覧、メール受送信など
メリット・特徴

1、オーバーヘッドが少ない

2、パケットロスによる低い信頼性

3、高速なデータ転送

1、オーバーヘッドが大きい

2、高信頼性:データ欠落が発生しない

3、低速だが安定したデータ転送

387

おすすめのコンテンツ