cremor hat geschrieben:Machen das die PCs denn nicht?
unreachables verschicken ist einzig und allein aufgabe des ip-stacks eines routers. aber in diesem fall würden die pakete gar nicht mal bis zum ip-stack kommen (mal abgesehen davon, daß in diesem fall nicht geroutet wird). immerhin ist MTU ja ein parameter auf layer 2. da kommt also ein ethernet-frame auf der netzwerkkarte rein, mit 1500 bytes payload. der ethernet-treiber schaut sich das an und denkt sich "ohhh meine MTU ist na nur 1400 bytes, das frame ist ja viel zu groß, da kann was nicht stimmen!" und haut's still und leise weg. (machen vielleicht nicht alle treiber so, aber sie dürfen.) mal abgesehen davon, daß die karte selbst solche frames schon droppen darf, wenn sie will, ohne daß der treiber sie je zu gesicht bekommt. in beiden fällen bleibt der ip-stack unwissend aussen vor.
Naja, würde es keine Paketfilter geben, die ICMP-Pakete rausfiltern, bräuchten wir auch unsere MTU nicht zu verkleinern, weil dann PMTU-D immer funktionieren würde.
Alternative:
Der Router macht MSS-Clamping. Auch dann brauchen wir unsere MTU nicht verkleinern.
falsch. mss clamping gibt es nur, weil pmtu discovery in der praxis nicht immer gut funktioniert (eben wegen kaputter firewalls), bzw pmtu discovery nicht von allen devices unterstützt wird. weiters gibt es pmtu discovery nur, um unnötige fragmentation auf der strecke zu verhindern. weiters heißt das, daß ohne pmtu discovery pakete im falle des falles eben unnötig fragmentiert werden. daraus folgt: mss clamping ist nur sinnvoll, wenn pmtu discovery versagt. pmtu discovery ist aber optional, somit ist auch mss clamping optional. einzige voraussetzung, die der logik nach übrig bleibt, ist eine funktionierende fragmentierung.
oder anders (kürzer) ausgedrückt: mss clamping ist ein workaround für nicht funktionierende pmtu discovery (welcher im übrigen nur für tcp-connections funktioniert). pmtu discovery ist aber KEIN workaround für nicht funktionierende fragmentierung, sondern NUR ein performance-tweak, und genau deswegen auch optional (kannst du in deinem OS deiner wahl auch abschalten, wodurch mss clamping auch obsolet wird). funktionierende fragmentierung ist daher _essentiell_ für jeden router; jeder, der das nicht macht, gehört ausnahmslos eingestanzt.