Verbindung mit einigen Servern/Diensten gestört durch ECN

Kommt es bei Verbindungen zwischen UCS-Systemen und anderen Servern zu unübersichtlichen Netzwerkproblemen ist häufig eine fehlerhafte Implementierung von ECN in einem der vermittelnden Routern die Ursache. Mögliche Folgen sind z.B., dass DNS-Auflösung und “ping” funktionieren, Zugriff auf Webseiten jedoch nicht.

ECN (Explicit Congestion Notification) ist eine Erweiterung des IP-Protokolls, die TOS abgelöst hat und heute als Standard gilt. ECN erkennt frühzeitig, dass die Überlastung einer Netzwerkverbindung droht und passt die Menge der gesendeten Daten pro Zeiteinheit entsprechend an. Da­durch gehen weniger Datenpakete verloren und es müssen weniger Daten erneut gesendet werden. Der übertragene Datenmenge wird also insgesamt reduziert und der Datentransfer beschleunigt. Genaue Details zu ECN finden sich z.B. unter http://www.icir.org/floyd/ecn.html.

UCS verwendet ECN standardmäßig. ECN wird von fast allen Netzwerkkomponenten (Hard- und Software) unter­stützt. Beim Datenaustausch im Internet wird trotzdem sicherheitshalber von einem Rechner, der ECN verwenden möchte, in jedem Fall zunächst geprüft, ob der Kommunikationspartner ECN versteht. Versteht einer der Rechner ECN nicht, wird auf den Einsatz von ECN verzichtet.

Bei einigen Routern treten bei dieser Abstimmung Fehler auf, die zu den beschriebenen Effekten führen. Eine vorübergehende Deaktivierung von ECN für Tests kann über das proc-Dateisystem vorgenommen werden:

echo "0" >/proc/sys/net/ipv4/tcp_ecn

Eine dauerhafte Deaktivierung kann über folgenden zusätzlichen Eintrag in der Datei /etc/sysctl.conf erfolgen:

net/ipv4/tcp_ecn=0
Mastodon