TCPとUPDの比較

アプリケーションシナリオ


たとえば、ネットワーク通信の品質が必要な場合、データ全体を正確かつ正確に相手に送信する必要があります。これは、HTTP、HTTPS、FTP、その他のファイル転送プロトコルなど、信頼性が必要な一部のアプリケーションでよく発生します。 POP、SMTP、およびその他のメール転送プロトコル。TCPプロトコルを使用する一般的なアプリケーション:
1。ブラウザが使用するもの:HTTP
2. FlashFXP:FTP
3. Outlook:POP、SMTP
4.QQファイル転送

UDPファイル転送プロトコル
現在のネットワーク通信品質が高くない場合、ネットワーク通信速度は可能な限り高速である必要があります。このとき、UDP
は日常生活で一般的に使用されています:
1.QQ音声2.QQ
ビデオ
3.TFTP

 


追加:

セキュリティ:UDPにはこれらのTCPメカニズムがないため、悪用される脆弱性が少なくなります。3ウェイハンドシェイクメカニズムにより、他のユーザーがTCPを簡単に使用してDOSおよびDDOS攻撃を実行できます。

リソースの消費:TCPの方が大きい

バイトストリーム指向とメッセージ指向


メッセージ指向メッセージ
指向の送信方法は、アプリケーション層がUDPメッセージをそのまま渡す方法であり、UDPは同じ方法でメッセージを送信します。つまり、一度に1つのメッセージを送信します。したがって、アプリケーションは適切なサイズのメッセージを選択する必要があります。メッセージが長すぎる場合は、IP層を断片化する必要があります。UDPは、アプリケーション層から渡されたパケットをマージも分割もしません。微妙な処理は上位のアプリケーションに渡されて完了しますが、これらのパケットの境界は保持されます。つまり、アプリケーション層がUDPパケットを配信している限り、UDPはそれらを送信します。つまり、一度に1つのパケットを送信します。(updの最大メッセージ長は2 ^ 16-1-20-8、20はipメッセージヘッダー、8はudpメッセージヘッダーです)
バイトストリーム
指向のバイトストリームの場合、アプリケーションとTCP間の相互作用はありますがは一度に1つのデータブロック(さまざまなサイズ)ですが、TCPはアプリケーションを一連の非構造化バイトストリームとして扱います。TCPにはバッファがあります。アプリケーションによって送信されるデータブロックが長すぎる場合、TCPはそれをより短いブロックに分割して送信できます。アプリケーションが一度に1バイトしか送信しない場合、TCPは、メッセージセグメントとして送信する前に、十分なバイトが蓄積されるのを待つこともできます。

 

 

 

 

おすすめ

転載: blog.csdn.net/chuancheng_zeng/article/details/115228953
UPD