UDPについて

はじめにUDP:
ユーザデータグラムプロトコルは、トランスポート層プロトコルに属し、コネクションレス、送信の信頼性を保証するものではありません。アプリケーション層、UDPヘッダと直接送信IPに結合されたデータパケットのため。UDPヘッダのチェックサムフィールドは、エラーを検出するために使用することができるが、UDPは、誤り訂正を提供することです。さらに、IPV4これは、必須のチェックサムフィールドを使用しなければならないが、IPv6を使用する必要があります。
UDPヘッダ:

 

 

 

ここで、
①場合送信元ポート番号が0に設定される必要はなく、
長さフィールドは、UDPヘッダとUDPデータの合計長さ②IPパケットはデータ長情報が含まれているため、このフィールドは、冗長である。
③チェックサムフィールドが終了しますUDPヘッダ、UDPデータ、疑似ヘッダ、スタッフィングバイトを覆う端子に、計算によって得られた最初の送信者から計算され、その後、最終的な宛先を確認します。
UDPの利点:
①オーバーヘッド少なく
、その信頼性を確保するためにTCP、ヘッダは20バイト、およびオプションの40バイトを含み、わずか8バイトのUDPヘッダ
②高速
UDPはTCPコネクション確立処理前にデータを送信しません。
TCPのような、妥協の多くを行って適時に、あまりにも多くの保護を提供します:マイクロ制御パケット(Nagleアルゴリズム)など、フロー制御、再送タイムアウトをACKを遅らせ、真剣に設計速度と適時Tcpの影響を受けています
主な問題UDP伝送存在:
①損失と障害:UDP等ACK、シリアル番号、ためのメカニズムを提供していないので、そこにパケットが失われているかどうかを知る方法はありませんと送信と送信者場合、受信側は、他のメッセージ・シーケンスに到達するためメッセージデータとして、
②エラー:エラーの問題が確認等により検出されるが、エラー訂正を提供しない。
③データの整合性、UDPプロトコルヘッダ、ものの16ビットのチェックサムが、IPv4およびUDPデータの整合性が枕できないことを意味し、強制ではありません
:その送信プロセスの問題解決方法をUDP
、データの信頼性の高い配信し、正しい順序付けを確保したいとあなたがしなければなりません これらのアプリケーションは、独自の保護実装する
ように多くのネイティブUDP痛みのポイントがあるので、私はUDPヘッダのように、アプリケーション層プロトコルに加えて、答えはイエスですRUDPとして定義され包頭の期間のようにすることができない、シンプルなアイデアを。まず、問題に応じて、必要なヘッダフィールドを追加し、問題がRUDPを解決するために必要なものだと思います。
1.データの整合性- >プラス16または32ビットCRC検証フィールド
2スクランブル- >プラス配列のパケットシーケンス番号
3の損失- >肯定応答と再送機構を必要とし、同様のTCPのACKメカニズム(累積検出のシリアル番号であれば、中間パケット損失が、パッケージ開始が検出されたシリアル番号による方法がない失われた)
、それはカスタム・プロトコルであるためを考えるには、フィルタへのプロトコル番号フィールドが必要ではありません彼らは新しいフィールドを追加することができますので、いくつかの違法パッケージ、:
4プロトコルフィールドを- > protolフィールドは、現在使用中のプロトコルを識別します

----------------

オリジナルリンクします。https://blog.csdn.net/weixin_39138071/article/details/79630133

おすすめ

転載: www.cnblogs.com/yuanch2019/p/11619794.html