UDPとはなにか。TCP,コネクションレス,プロトコル

今回は、 とにかく早くデータを送り届けるプロトコル「UDP」についてです。

 

「UDP」は「User Datagram Protocol」の略で、「TCP」と同様トランスポート層(Layer4)のプロトコルです。

(OSI参照モデルについてはコチラ → OSI参照モデル )

(「TCP」についての説明は最後にリンクを載せておきます。)

「UDP」の最大の役割は、通信相手に早くデータを送り届けるということです。その代わり、信頼性(確実に相手にデータを届けること)には欠けます。

 

TCPとUDPのどちらを使うかは、アプリケーションによって決められます。

UDPを使うアプリケーションといえば、ストリーミングIP電話(VoIP)など、動画配信、音声通話を行うものが多いですね。

 

ただし、これらのアプリケーションは、遅延ジッタパケットロスに弱いです。

ジッタとは”ゆらぎ”のことで、音声が詰まって聞こえたり、間延びして聞こえたりすることです。

これを防ぐために、音声パケットなどは通常、QoS(Quality of Service)という技術を用いて、通常のデータよりも優先的に運ぶようにネットワークを実装します。

 

また、DHCP、ARPといったプロトコルもUDPでサポートされています。

これらのプロトコルはブロードキャストを行うため、UDPを使用します。

(TCPは通信相手とコネクションを確立するため、ユニキャストでした。)

 

さっきから、「UDP」は、通信は早いが信頼性に欠けると言ってきたのは、

UDPはTCPのように、通信開始前にコネクションを確立したり、確認応答を行ったりはしないからです。

UDP

以上、「UDP」の特徴をまとめると、

 

・コネクションレスである。

・信頼性はない。

・速度は早い。

・1対多の通信が容易。(ブロードキャスト、マルチキャストの通信に向いている。)

 

「TCP」はその逆と言えます。

 

TCPとUDP、どちらが良い、悪いとかではなく、適切なアプリケーションに対して、適切な方法で通信を行っていると言えます。

========関連リンク集=====================================

TCP /  DHCP  /  ARP

 



コメントを残す