UDP データグラムヘッダーをパースする
UDP ヘッダーは 8 バイトです:送信元ポート、宛先ポート、長さ、チェックサム。プロトコル分析のために UDP をデコードする方法を学びましょう。
- 1
UDP ヘッダーはちょうど 8 バイトです:送信元ポート(2 バイト)、宛先ポート(2 バイト)、長さ(2 バイト、ヘッダー + データを含む)、チェックサム(2 バイト、IPv4 では省略可)。UDP はコネクションレスです。ハンドシェイク、フロー制御、再送がありません。DNS、DHCP、SNMP、リアルタイムプロトコル(RTP、QUIC)に使われます。
- 2 HEX デコーダー →
UDP ヘッダーの 16 進表現をデコードします。バイト 0〜1:送信元ポート、2〜3:宛先ポート、4〜5:長さ(ヘッダー + ペイロード)、6〜7:チェックサム。例えば、0035 0044 0010 0000 は送信元ポート 53(DNS)、宛先ポート 68、長さ 16、チェックサムなしです。
- 3 バイナリデコーダー →
長さとチェックサムのフィールドをデコードします。長さには 8 バイトのヘッダーとペイロードが含まれます。チェックサムは疑似ヘッダー(送信元/宛先 IP、プロトコル、長さ)+ UDP ヘッダー + データを対象とします。IPv4 では、チェックサム 0 は計算されていないことを意味します。
よくある質問
- TCP ではなく UDP を使うのはなぜですか?
- UDP はオーバーヘッドが小さく(ヘッダー 8 バイト対 TCP の 20 バイト以上)、接続確立の遅延もありません。リアルタイムデータ(動画、音声。再送は損失より有害)、シンプルな問い合わせ応答(DNS)、ブロードキャスト/マルチキャスト、アプリケーション自身が信頼性を扱う場合(QUIC)に理想的です。
- UDP チェックサムは省略可能ですか?
- IPv4 では省略可能です。チェックサム 0 は「計算していない」ことを意味します。IPv6 ではチェックサムは必須です。信頼性のため常にチェックサムを計算してください。チェックサムがなければ、破損したデータが検出されずに配信されます。
このタスクを解決するワークフロー
Base16 から Base32 へ変換
Hex をデコードし、DNS セーフな表現のために Base32 として再エンコードする。 パイプライン
Binary から Base32 へ変換
Binary をデコードし、コンパクトなテキストのために Base32 として再エンコードする。 パイプライン
Binary から Hex へ変換
Binary(base-2)文字列をバイト値にデコードし、Hex として再エンコードする。 パイプライン
Hex エンコード後デコードのラウンドトリップ検証
テキストを Hex にエンコードし、デコードしてラウンドトリップが元のデータを保持することを検証する。 パイプライン
Hex から Base32 へ変換
Hex をデコードし、DNS セーフな使用のために Base32 として再エンコードする。 パイプライン
Hex から Base64 へ変換
Hex 文字列を生バイトにデコードし、コンパクトな転送のために Base64 として再エンコードする。 パイプライン