0

MTU サイズより大きい UDP データグラムを送信すると、UDP データグラムの最後のフラグメントのみが宛先に送信されます。残りのフラグメントは黙って破棄されます。Sendto() は sendlength を返します (エラーなし)。環境: OS: vxWorks6.8 CPU: ARM9 MTU: 1500 vxWorks ボードは、イーサネット ケーブルを介して Win7 PC (wireshark を使用) に直接接続されています。DF フラグが設定されていません。

例 1: 1400 バイトの sendto はwireshark ショーを示します: 1400 Databytes の udp

例 2: 1800 バイトの wireshark を使用した sendto の表示: Fragmented IP protocol (proto=udp 0x11, off=1496, id0a00) -> Data (312 bytes)

例 3: 4000 バイトの wireshark を使用した sendto の表示: Fragmented IP protocol (proto=udp 0x11, off=1496, id0a00) -> Data (1016 bytes)

例 4: sendto と 7800 バイトの wireshark は次を示します: Fragmented IP protocol (proto=udp 0x11, off=1496, id0a00) -> Data (328 bytes)

CPU PPC を備えた 2 番目の vxworks ボードで同じテストを使用すると、これは正常に動作し、ip-fragmentation も適切に動作します。

udp パケットの最初のフラグメントが常に破棄されるのはなぜですか? どうもありがとう

4

0 に答える 0