mtu errechnen

Florian Lohoff flo at rfc822.org
Fri Jan 23 11:16:37 CET 2004


On Thu, Jan 22, 2004 at 01:02:38PM +0100, Thomas Niesel wrote:
> Hallo zusammen
> 
> Ich hatte da mal nen link zu dem Thema, finde es aber nicht wieder.
> Meine eth1-Karte zum dsl-modem (DTAG) zeigt folgendes:
> 
> eth1      Protokoll:Ethernet  Hardware Adresse 00:60:97:6E:60:B3
>           inet Adresse:1.1.1.1  Bcast:1.255.255.255  Maske:255.255.255.0
>           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>           RX packets:57523760 errors:21573 dropped:0 overruns:0
> frame:43146          TX packets:62946903 errors:0 dropped:0 overruns:0
> carrier:715          Kollisionen:60563 Sendewarteschlangenlänge:1000
>           RX bytes:3248896897 (3.0 GiB)  TX bytes:1170752728 (1.0 GiB)
>           Interrupt:11 Basisadresse:0xa000
> 
> Man sieht, da stimmt was nicht. Oder ist das unwichtig?
> 
> Die mtu fuer ppp0 steht auf 1492 und alle anderen im Netz (Clienten),
> nutzen weiterhin 1500.
> 
> Die Fehler kommen vermutl. durch die mtu zustande. oder?
> Laut einer doku habe ich mal die mtu der eth1 auf 1492 gesetzt, brrrr,
> ich flog sofort aus der Leitung...

Also - Normalerweise sollte dein router die Pakete fragmentieren - Es
sei denn die Applikationen dahinter wollen eine Path MTU Discovery
machen - Das wird durch das setzen des DF (Dont Fragment) bits im IP
Header gemacht und anschliessendes Herabsetzen der MTU im verlaufe des
Transfers - Das entlastet die Router die eigentlich Fragmentieren
muessten  signifikant und ist "defakto standard" im Netz.

Problem kommt jetzt auf wenn z.b. dein Client und GMX Verhandeln das ihr
lokaler Link jeweils 1500 byte kann. Dann faengt GMX an zu senden und
dein ISP schickt ein "ICMP Must Fragment - MTU 1492" zurueck und die
Firewall bei GMX droppt das paket (Ja - GMX ist so doof und laesst kein
ICMP durch)

Dann kann dein client an der 1500 byte strecke nicht an GMX kommen weil
alle pakete verworfen werden und es keiner merkt.

Es gibt 2 Loesungen. Entweder - Du bringst deinen clients im Netz bei
das die MTU der default route nur 1492 byte ist

route add default gw <defgw> mtu 1492

Oder aber du benutzt "mss clamping" im Cisco speak - D.h. bei allen syn
paketen im TCP veraendert sein Router die maximale MSS von 1500 auf
1492 byte. Das ganze sollte mit netfilter/ipchains etc gehen - Wie
genau weiss bestimmt google.

Flo
-- 
Florian Lohoff                  flo at rfc822.org             +49-171-2280134
                        Heisenberg may have been here.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lug-owl.de/pipermail/linux/attachments/20040123/baf5f742/attachment.sig>


More information about the Linux mailing list