ICMP断片化

65500バイトのサイズを持つ到達可能なIPアドレス、1500バイトのエンドツーエンドパスMTU、およびDFフラグが設定されていないピアへのping(エコー要求)は、ピアがICMPに応答することによって機能しますか?

21:05:31.325718 IP (tos 0x0, ttl 128, id 18761, offset 0, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: ICMP echo request, id 1, seq 28, length 1480
21:05:31.325726 IP (tos 0x0, ttl 128, id 18761, offset 1480, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325729 IP (tos 0x0, ttl 128, id 18761, offset 2960, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325732 IP (tos 0x0, ttl 128, id 18761, offset 4440, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325734 IP (tos 0x0, ttl 128, id 18761, offset 5920, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325736 IP (tos 0x0, ttl 128, id 18761, offset 7400, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325739 IP (tos 0x0, ttl 128, id 18761, offset 8880, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325742 IP (tos 0x0, ttl 128, id 18761, offset 10360, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325743 IP (tos 0x0, ttl 128, id 18761, offset 11840, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325746 IP (tos 0x0, ttl 128, id 18761, offset 13320, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325747 IP (tos 0x0, ttl 128, id 18761, offset 14800, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325750 IP (tos 0x0, ttl 128, id 18761, offset 16280, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325752 IP (tos 0x0, ttl 128, id 18761, offset 17760, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325754 IP (tos 0x0, ttl 128, id 18761, offset 19240, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325756 IP (tos 0x0, ttl 128, id 18761, offset 20720, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325758 IP (tos 0x0, ttl 128, id 18761, offset 22200, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325760 IP (tos 0x0, ttl 128, id 18761, offset 23680, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325762 IP (tos 0x0, ttl 128, id 18761, offset 25160, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325764 IP (tos 0x0, ttl 128, id 18761, offset 26640, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325767 IP (tos 0x0, ttl 128, id 18761, offset 28120, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325769 IP (tos 0x0, ttl 128, id 18761, offset 29600, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325771 IP (tos 0x0, ttl 128, id 18761, offset 31080, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325774 IP (tos 0x0, ttl 128, id 18761, offset 32560, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325776 IP (tos 0x0, ttl 128, id 18761, offset 34040, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325778 IP (tos 0x0, ttl 128, id 18761, offset 35520, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325781 IP (tos 0x0, ttl 128, id 18761, offset 37000, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325786 IP (tos 0x0, ttl 128, id 18761, offset 38480, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325788 IP (tos 0x0, ttl 128, id 18761, offset 39960, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325789 IP (tos 0x0, ttl 128, id 18761, offset 41440, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325791 IP (tos 0x0, ttl 128, id 18761, offset 42920, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325793 IP (tos 0x0, ttl 128, id 18761, offset 44400, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325794 IP (tos 0x0, ttl 128, id 18761, offset 45880, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325796 IP (tos 0x0, ttl 128, id 18761, offset 47360, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325798 IP (tos 0x0, ttl 128, id 18761, offset 48840, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325800 IP (tos 0x0, ttl 128, id 18761, offset 50320, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325801 IP (tos 0x0, ttl 128, id 18761, offset 51800, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325803 IP (tos 0x0, ttl 128, id 18761, offset 53280, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325805 IP (tos 0x0, ttl 128, id 18761, offset 54760, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325807 IP (tos 0x0, ttl 128, id 18761, offset 56240, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325808 IP (tos 0x0, ttl 128, id 18761, offset 57720, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325810 IP (tos 0x0, ttl 128, id 18761, offset 59200, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325812 IP (tos 0x0, ttl 128, id 18761, offset 60680, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325814 IP (tos 0x0, ttl 128, id 18761, offset 62160, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325816 IP (tos 0x0, ttl 128, id 18761, offset 63640, flags [+], proto ICMP (1), length 1500)
    1.1.1.2 > 1.1.1.1: icmp
21:05:31.325818 IP (tos 0x0, ttl 128, id 18761, offset 65120, flags [none], proto ICMP (1), length 408)
    1.1.1.2 > 1.1.1.1: icmp
1

2 答え

パケットサイズがMTUよりはるかに大きいpingは成功しますが、フラグメンテーションが許可され、すべてのフラグメントがターゲットに到達し、元のICMPパケットに再アセンブリできます。

DFビットが設定されたパス内の最小のMTUより大きなパケット(ICMPなど)は、もう一方の端に到達できません。

2
追加された
フラグメンテーションが許可され、フラグメントが到着した場合(輻輳または攻撃の防止のために破棄されないものもあれば)、pingが機能するはずです。問題はフラグメントをたくさんたくさん持ち、一部のルータはフラグメントを破棄し、ICMPは非常に低い優先順位であり、 any 渋滞理論的にはうまくいくが、すべてが正しいものでなければならない。
追加された 著者 Ron Maupin,
このようなことは、新しいPE/CE回路で実行するテストの1つです。 CEからPEにpingを送信し、10,000パケットのパケットサイズを10,000回繰り返します。いずれかのpingが失敗した場合、私たちはキャリアを回路に修正させるようにします。これは、私が複数のホップでやろうとするものではありません。
追加された 著者 Ron Maupin,
ありがとう、出力から見ることができるように、送信されたすべての断片はMTUより小さく、DFは設定されていません。 ping 8.8.8.8 -l 65500 -n 1は動作しますか?
追加された 著者 Peter,
ありがとう、ロン、私はそれもうまくいくと思っていましたが、死のpingを防ぐためファイアウォールの1つで65468という制限が課されていました。 en.wikipedia.org/wiki/Ping_of_death ほとんどのエンドホストはこれに対処しても問題ありませんが、古いホスト/未パッチのホストではIPスタックのオーバーフローが発生する可能性がありますボックスをクラッシュさせる。これはICMPプロトコル自体に起因するものではありません。これは、65535の最大IPサイズを超える再組み立てパケットによるものです。
追加された 著者 Peter,

私たちのファイアウォールのうち、pingを防ぐために65468という制限が課されています:en.wikipedia.org/wiki/Ping_of_deathほとんどのエンドホストはこれに対処しても問題ありませんが、古いホスト/未パッチのホストは潜在的にIPスタックのオーバーフローとボックスのクラッシュ。これはICMPプロトコル自体に起因するものではありません。これは、65535の最大IPサイズを超える再組み立てパケットによるものです

0
追加された