1

合計サイズが 12000 バイトの IP パケットがあり、このパケットをデータリンク層を介してステーション A からステーション B に送信するとします。1 つのイーサネット フレームは最大 1500 バイトのペイロード データを運ぶことができるので、12000 バイトの IP パケットを送信するには、合計で 8 つのイーサネット フレームが必要になりますね。

最初のイーサネット フレーム (IP ヘッダーを運ぶ) が送信中に文字化けし、IP ヘッダーの TotalLength フィールドに実際の長さが含まれておらず、ナンセンスな値が含まれているとします。ステーション B がヘッダー チェックサムが有効でなくなったことに気づき、フレームを破棄したとしても、ステーション B は次の IP パケットが着信データ ストリームのどこから始まるかをどうやって知ることができるでしょうか? 最初の IP パケットのペイロードが何バイトかはわかりませんよね?

それとも、IP パケットのサイズは、基礎となるデータリンク フレームが処理できるペイロードの最大長によって効果的に制限されますか?

4

2 に答える 2

2

さらに調査を行った後、IP パケットの最大サイズがデータリンクの最大伝送単位 (MTU) によって決定されるのは事実です。

気にする人のために、このウェブサイトはそれをかなりうまく分類しています: http://aa.net.uk/kb-broadband-mtu.html

于 2013-08-07T13:55:32.323 に答える
1

IP フラグメントのサイズは MTU によって制限され、IP パケットのサイズは IP ヘッダーのサイズ フィールドによって制限されます。受信者は、Total Length フィールドと Fragment Offsets フィールドを使用して、全体のサイズと、受信した IP フラグメントが最初のものかどうかを理解できます。アセンブルがうまくいかなかった場合、次のレイヤーのチェックサムがそれを教えてくれるか、重複したオフセットをカバーするフラグメントを受け取り始めます。IPv4用です。IPv6 の場合、必須の MTU ディスカバリーとほぼ禁止されている IP パケットのフラグメンテーションにより、動作が異なります。

于 2015-07-02T08:15:24.327 に答える