0

パケット フラグメンテーションの目的は理解しています。答えから、私が理解していないのは、全長とフラグメントのオフセットだけです。この問題を解決するためにあなたが私に与えることができる助けを大いに感謝します.

以下、質問と回答です。

ホスト A がルーター R 1 に接続され、R 1 が別のルーター R 2 に接続され、R 2 がホスト B に接続されているとします。900 バイトのデータと 20 バイトの TCP ヘッダーを含む TCP メッセージがホスト A で IP コードに渡され、B に配信されます。3 つのリンクを介して送信される各パケットの IP ヘッダーの全長、識別、DF、MF、およびフラグメント オフセット フィールドを表示します。リンク A-R1 は 14 バイトのフレーム ヘッダーを含む 1024 バイトの最大フレーム サイズをサポートでき、リンク R1-R2 は 8 バイトのフレーム ヘッダーを含む 512 バイトの最大フレーム サイズをサポートでき、リンク R2-B をサポートできると仮定します。 12 バイトのフレーム ヘッダーを含め、最大 512 バイトのフレーム サイズをサポートできます。

答え:

The initial IP datagram will be fragmented into two IP datagrams at I1. No other fragmentation will occur.
Link A-R1:
Length = 940; ID = x; DF = 0; MF = 0; Offset = 0
Link R1-R2:
(1) Length = 500; ID = x; DF = 0; MF = 1; Offset = 0 
(2) Length = 460; ID = x; DF = 0; MF = 0; Offset = 60
Link R2-B:
(1) Length = 500; ID = x; DF = 0; MF = 1; Offset = 0 
(2) Length = 460; ID = x; DF = 0; MF = 0; Offset = 60
4

1 に答える 1

0

これは確かに大学での演習です。回答を求めるよりも、自分で解決しようとする方がよいでしょう。

ここで確認できるフィールド値: http://mars.netanya.ac.il/~unesco/cdrom/booklet/HTML/NETWORKING/node020.html

読んでください。

部分的な回答をさせていただきます。残りは、学習するために一人で解決する必要があります。DF は、送信者がフラグメント化を望まないことを意味します。演習では常に 0 になると思います。

後続の別のフラグメントがある場合、MF は 1 です。したがって、データグラムが 2 つのデータグラムにフラグメント化されている場合、追加のフラグメントがないため、最初のデータグラムは 1 に、2 番目のデータグラムは 0 になります。宛先がフラグメント 1 を受信すると、MF が 1 であるため、待機する別のフラグメントが少なくとも存在することがわかります。宛先がフラグメント 1 の前にフラグメント 2 を受信すると、オフセットが 0 ではないため、より大きなフラグメント化されたデータグラムの一部であることがわかります。 (フラグメント 2 では、MF は 0 です)。

すべてのデータグラムで、TCP 層 (TCP の場合) には 20 バイト (一般に)、IP 層には 20 バイトを考慮する必要があります。一般に、Ethernetv2 (GbE ではない) では、MTU は 1500 オクテットです。次に、IP ペイロードで最大 1480 オクテット (IP 層ヘッダーの場合は 20 オクテット)、TCP ペイロードで最大 1460 オクテット (IP ヘッダーの場合は最小で 20 オクテット、TCP ヘッダーの場合は最小で 20 オクテット) を送信できます。

ヒントとして、IPv4 ではどのホップでもフラグメンテーションが発生します。IPv6 では、送信元ノードのみがフラグメント化できます。したがって、A-R1 ではフラグメンテーションは必要ありません。

于 2015-11-11T14:21:19.203 に答える