kanotix.com

Netzwerk - Teilweise Netzwerkprobleme mit Kernel 2.6.17++

jgrotepass - 06.07.2006, 19:38 Uhr
Titel: Teilweise Netzwerkprobleme mit Kernel 2.6.17++
Der guten Ordnung halber wollte ich auf ein Problem aufmerksam machen das vielleicht den Einen oder Anderen zur Verzweiflung treibt.

Durch eine Änderung im Kernel 2.6.17 für das "window-scaling" im IP Stack, kann es, je nach Netzwerklayout, Router, Firewall oder sonstigen Komponenten, zu Problemen bei TCP-Sitzungen kommen.

Das Problem entstand durch ein redesign der "rmem" und "wmem" Parameter, bei denen der maximalwert, je nach Speichergröße, zu Problemen führt.

Das Ganze lässt sich entweder durch "disablen" des window-scaling oder durch Bestücken der rmem und wmem Parameter umgehen.

Ein Vergleich zu einem vorhergehenden Kernel (bis 2.6.16) zeigt, dass hier wohl window-scaling ebenfalls enabled ist, die rmem und wmem parameter (im Max-Wert) jedoch weitaus kleiner definiert sind.

Ich habe in der /etc/sysctl.conf den Wert
net.ipv4.tcp_window_scaling=0
gesetzt.

Die Grunddiskussion über das Problem findet sich hier http://kerneltrap.org/node/6723.

Keep on the good work
Jochen
schnorrer - 07.07.2006, 00:01 Uhr
Titel: Teilweise Netzwerkprobleme mit Kernel 2.6.17++
soweit ich den Inhalt des Links verstanden habe, liegt heir ein kliense Problem im Paging-verhalten im ia-386 verhalten vor (alter 64k-Boundary DMA-Balast). Zugleich gesellt sich gerade bei den modernen NIC's noch en weiteres Problem mit der Lage der RCV und TX-Buffern hinzu. Die alten NIC's hatten je 4K bzw teure NIC's je 64K internes Ram, das an entsprechender Stelle ingeblendet werden kann.

Bei den neuen NIC's gibt es nun mal nur noch das Ram auf dem Mainboard, zu dem erledigt die CPU noch die Wandlung der Pakete in einen Bitstrom und umgekehrt. Und hier liegt der Hund vielleicht begraben.

Der Kollege hatte 256MB Ram hinzugefügt und kein scaling der Puffer erhalten. Wie auch? Der erste Buffer (Window) wird vom Bios vorgegeben, das kann nicht geändert werden, genau so wenig wie der Treiber TCP-Stack den neuen Wert, falls das Bios den richtig weiter gibt, nochmals abfragt.

Wichtig wäre neben dem Scaling im Stack auch noch den Basistreiber für den NIC nochmals neu zu übersetzen. Ich weiß nicht ob das der Kollege ausprobiert hat.

Noch einen Aspekt hat er übersehen, der Bug kommt nicht auf jeder Maschine vor. Er sprach auch nicht auf welcher HW er es Probiert hat. CPU Chipsatz NIC, so bleibt sein Ansatz eigentlich vage, wo der Fehler liegen könnte.
Alle Zeiten sind GMT + 1 Stunde
PNphpBB2 © 2003-2007