• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Netzwerkproblem -- Programme für Fehlersuche?

A

Anonymous

Gast
Hallo zusammen,

seit in unserem Studentenwohnheim der Internetzugang über eine Authentifizierung von Zyxel und Breitbandzugang über Unitymedia realisiert ist, kommt es immer wieder zu starken Performance-Problemen bei allen Nutzern im Netzwerk. Vor allem bei mehreren gleichzeitigen Internetzugriffen (da reichen schon mehrere zu ladende Tabs im Browser) steigen die Ladezeiten bis zum timeout.
Leider ist die Problematik für mich zur Fehlerfindung systematisch schwer zu reproduzieren und zu analysieren (und die Geräte kann ich leider aufgrund eines externen IT-Dienstleisters nicht mal eben austauschen).
Wisst ihr vielleicht Monitoring-/Benchmarktools (z.B. welche, bei denen man systematisch die Anfrageanzahl je nach Protokoll erhöhen könnte um zu schauen, ab welcher Zahl die Antwortzeiten in den Keller gehen) etc., die bei einer Fehlersuche helfen könnten? Habt ihr irgendwelche Ideen? (Hab schonmal überlegt, ob vielleicht die DNS-Antworten zu langsam kommen, hab das aber noch nicht verfolgt.)

Mit Dank und Grüßen
Mercedesdriver :)
 

spoensche

Moderator
Teammitglied
Der Performanceeinbruch entsteht nicht durch den Provider, sondern am Router, der direkt mit dem Modem verbunden ist.

Ursachen:

Der Router verwendet ein weniger geeignetes TCP Congestion Protocol, die Sende- und Empfangsbuffer sind zu klein, kein bzw. ein fehlehaftes Window Scaling, die max. Anzahl gleichzeitiger Verbindungen ist zu gering, der Keepalive Tiemout ist zu hoch.

Kein Traffic Shaping und QoS sorgt dafür, das die Queue des Modems bei euch und beim Provider ohne Rücksicht auf Verluste überflutet wird und als Ergebnis Pakete verworfen werden, die dann erneut gesendet werden müssen.

Bei gleichzeitigem Up und Download, z.B. VoIP und gleichzeitiges laden von Webseiten sorgt bei unlimitierter Bandbreite für einen rapiden Rückgang des gesamten Daten Durchsatz und bremmst alles andere somit mit aus.

Eine Verbesserung des Datendurchsatzes und damit auch bei der Geschwindigkeit kannst du erzielen, in dem du:

1. Den Upstream auf ca. 80-90% der verfügbaren Upstream Bandbreite begrenzt. Dies bewirkt, dass die TX und RX Queues des Modems und auch beim Provider nicht verstopfen und somit entsteht auch kein "Stau". Zusätzlich solltest du auch den Rmem und Wmem (Speicher für die Sende-und Empfangspuffer) erhöhen, um so wenig Pakete wie mögl. zu verwerfen und neu übertragen zu müssen. So steigt der Durchsatz weiter.

2. Per QoS (Quality of Service) kannst du steuern, wie viel Bandbreite welche Anwendung max. verwenden darf.
 
OP
A

Anonymous

Gast
Vielen Dank schon einmal für die hilfreichen Gedankenanregungen!
Meine Vermutung liegt auch beim nicht gut konfigurierten Router / Hotspot. Ich würde das jedoch gerne näher austesten, wo genau der Haken liegt.
Mich wundert es nämlich, dass es auch bei geringer Netzwerkauslastung zu Problemen kommt.
Vom System her müsste der Router (von Unitymedia vorkonfiguriert -- max 150Mbps) und der Hotspot (max 85Mbps) eigentlich mit dem 64/5Mbps-Anschluss fertig werden.
Ich wollte schon einmal namebench ausprobieren -- jedoch funktioniert das natürlich wegen des gezwungen umgeleiteten DNS-Traffics nicht (wüsste da zufällig jemand die Parameter bei namebench nur den vorhandenen Nameserver zu verwenden -- bei mir scheint er trotz Einstellung nicht weiter machen zu wollen, mit Hinweis auf s.o.).
Hast du / habt ihr vielleicht noch weitere Ideen?
 

spoensche

Moderator
Teammitglied
Bevor du irgendwelche Server bezüglich ihrer Performance testest, könnte http://www.psc.edu/index.php/networking/641-tcp-tune hilfreich sein
 
OP
A

Anonymous

Gast
Hallo spoensche,
vielen Dank für den Link. Leider hilft er glaube ich bei meinem Problem nicht weiter. Mich würde es ja freuen, wenn es überhaupt "normal" funktionieren würde (bevor ich mir Gedanken über TCP Tuning etc. mache).

Was mich jetzt bei weiteren Tests etwas überrascht hat: Bei kontinuierlichen Verbindungen (Downloads-/Uploads) funktioniert es auch über die volle Bandbreite problemlos.
Wenn ich zum Beispiel über einen SSH-Tunnel einen SOCKS-Proxy aufbaue, werden alle Anfragen (hier zunächst vor allem HTTP-Anfragen) in gewünschter Schnelligkeit geladen / beantwortet. In herkömmlicher Form nicht.
Also auf der einen Seite über die selbe Außenanbindung -- SOCKS-Proxy auf einem eigenen VPS: Seiten sofort geladen.
Auf der anderen Seite herkömmlicher Zugang (auch durch den Hotspot etc., aber ohne SSH-Tunnel): Seiten laden sehr langsam / Timeout.
Wo könnte also das Problem genau liegen? Habt ihr eine Idee?
 
OP
A

Anonymous

Gast
mercedesdriver schrieb:
Wo könnte also das Problem genau liegen? Habt ihr eine Idee?
Such mal nach vollkommen unpopulären Seite möglichst nicht englisch und nicht deutsche Sprache und Seiten ohne automatischen Werbeeinblendungen, schau mal ob die schneller laden, bzw ob dort auch Timeouts und Verbindungsabbrüche kommen, (vielleicht gehts auch mit Tests von FTP Downloads also nicht über HTTP, oder Seiten mit HTTPS ).
Wenn dort keine Probleme sind, dann würde ich vermuten, du wirst (normaler Internetanbieter) über Proxys geleitet und der wird dann je nach Auslastung der Server und Netze beim Provider gedrosselt, bzw regelt sich selbst je nach Auslastung der Proxys. Betroffen von Geschwindigkeitseinschänkungen bei normalen Providern sind dann oftmals sehr populäre Seiten zB. Onlineshops, Google, Nachrichtendienste, Wikis, Facebook, typische Downloadseiten, Seiten mit viel und dicker Werbung, usw. und typische Zeiten sind Wochenenden und Abendstunden.

Solche Einstellungen kann man in der Regel bei seinem Kontoeinstellungen bei seinem Providerkonto unter den abenteuerlichsten Bezeichnungen finden, und versprechen oftmals irgendwelchen Schutz oder Filter vor allem möglichen, bewirken aber für dich nur, dass der Provider am Hahn drehen kann wie er lustig ist. Diese Option abwählen danach musst du deine Internetverbindung neu aufbauen, Router/DSL-Modem resetten oÄ. und anschließend normales Internet direkt ohne die Proxys des Provider benutzen und staunen, das Internet auch rund um die Uhr mit normalen Geschwindigkeiten funktionieren kann.

Inwieweit das bei dir auch zutrifft ???

robi
 
OP
A

Anonymous

Gast
Also einen Proxy kann wohl ziemlich wahrscheinlich ausgeschlossen werden -- ich kann nichts im Internet darüber finden, dass Unitymedia Zwangs-Proxys verwendet.
Es laden auch bekannte oder nicht-bekannte Seite gleich schlecht; genauso wie https-Seiten (und da kann ja meistens ein Proxy-Cache ausgeschlossen werden).
Sehr komisch ...
Irgendwie hab ich ja den Zyxel N4100 im Verdacht, aber bevor man das entsprechende IT-Unternehmen kommen lässt, wäre es ja schon praktisch, wenn man was Handfestes hat ...
 

spoensche

Moderator
Teammitglied
Dein Problem wird eher in Richtung langsame DNS-Auflösung über die DNS-Server des Providers laufen. Läuft auf dem Zyxel evtl. ein Proxy der die Verbindung lahmen lässt? Ich habe bei Unitymedia nämlich keinerlei Probleme mit langsamen Internet, im Gegenteil.
 

CIS

Newbie
Wenn Du Tools wie "Etherreal" oder "mtr" zur Hilfe nimmst, könntest Du die Suche nach Ursachen vielleicht genauer eingrenzen...
 
OP
A

Anonymous

Gast
Vielen Dank für die weiteren Hinweise!
Also mit dem DNS-Server habe ich auch schon überlegt gehabt, konnte ich aber relativ ausschließen. Zwar biegt die Zyxel-Kiste die DNS-Anfragen gewaltsam um, aber nach näherer Analyse und lokalem DNS-Cache ist wohl da nicht der Flaschenhals (Die DNS-Antworten kommen auch sehr schnell).
Mit mtr und Co. werde ich gleich nochmals genauer überprüfen -- wir haben aber inwzischen eine Vermutung: Unitymedia und IPv6.
Durch den neuen Anschluss werden wir zwangsweise an einen IPv6-Anschluss angeschlossen. Das Problem ist das Carrier Grade NAT / DualStack light -- da gibt es keine IPv4-Adresse parallel, sondern eine mit mehreren Kunden geteilte IPv4-Adresse, die durch einen IPv6-Tunnel zum Endkunden durchgeroutet wird (wusste gar nicht, dass es sowas gibt -- echt abgefahren, was die wegen IPv4-Mangel so alles machen). Prinzipiell ja kein Problem, nur, dass der Zyxel nur IPv4 kann -- wie viele Server im Internet auch ...
Eine schöne Lösung ein paar Jahre zu früh ...
Nach anderen Foreneinträgen kommt es durch die Flicklösung mit Carrier Grade NAT / DS light zu Timeout-Problemen.

Wenn das wirklich an DS light liegt, ist das natürlich blöd. Angeblich rückt Unitymedia keine parallele IPv4-Adresse raus und ich sehe es irgendwie auch nicht ein, über VPN oder andere Späße eine kostspielige Tunnellösung zu machen.
Hmm, so ein bisschen verzweifelt bin ich ja doch ...
 

spoensche

Moderator
Teammitglied
mercedesdriver schrieb:
Durch den neuen Anschluss werden wir zwangsweise an einen IPv6-Anschluss angeschlossen. Das Problem ist das Carrier Grade NAT / DualStack light -- da gibt es keine IPv4-Adresse parallel, sondern eine mit mehreren Kunden geteilte IPv4-Adresse, die durch einen IPv6-Tunnel zum Endkunden durchgeroutet wird (wusste gar nicht, dass es sowas gibt -- echt abgefahren, was die wegen IPv4-Mangel so alles machen). Prinzipiell ja kein Problem, nur, dass der Zyxel nur IPv4 kann -- wie viele Server im Internet auch ...
Eine schöne Lösung ein paar Jahre zu früh ...
Nach anderen Foreneinträgen kommt es durch die Flicklösung mit Carrier Grade NAT / DS light zu Timeout-Problemen.

Das stimmt so nicht. Wenn du von Unitymedia eine IPv6 Adresse bekommst, was nicht funktioniert, weil der Zyxel scheinbar nur IPv4 kann, werden die IPv6 Pakete höchstens von einem Gateway (Router) bei Unitymedia in IPv4 Pakete gekapselt und von dort aus gehts dann per IPv4 weiter und wird auch als Dual Stack bezeichnet.

Das es sich dabei um einen IPv6 Tunnel handelt oder die IPv4 Adresse zum Kunden geroutet wird ist völliger Unsinn. Wo hast du das den her?
 
OP
A

Anonymous

Gast
Bitte entschuldigt, wenn ich mich in meiner Frustration unpräziese ausgedrückt habe.
Meine Informationen habe ich unter anderem von Wikipedia (naja nicht bei allen Leuten zitierfähig, aber für mich als ersten Anlaufpunkt schon).
Dort die ist das Verfahren Dual Stack Lite (kein echtes Dual Stack!) entsprechend beschrieben: https://de.wikipedia.org/wiki/IPv6#Dual-Stack_Lite_.28DS-Lite.29
Soweit ich das verstanden habe, wird von Unitymedia anscheinend dem Router (der ist noch vor dem Zyxel) eine IPv6-Adresse zugewiesen. Da Unitymedia zu wenig IPv4-Adressen hat, wird eine IPv4-Adresse über ein https://de.wikipedia.org/wiki/Carrier-grade_NAT von mehreren Leuten verwendet und die IPv4-Pakete in IPv6 gekapselt zum Kunden geroutet (vielleicht ist hier IPv6-Tunnel nicht ganz richtig, aber es handelt sich ja um einem Konvertierung des Netzwerkprotokolls und damit ist es wie https://de.wikipedia.org/wiki/Tunnel_(Rechnernetz) nach meiner Meinung nicht ganz weit von einem Tunnel entfernt, oder?).

Habe ich das soweit richtig verstanden, oder irre ich mich (wieder) und es ist völliger Unsinn?

Das hilft mir zwar leider nicht bei meinem Problem weiter, aber beantwortet das deine Frage?

MfG. Mercedesdriver :)
 

spoensche

Moderator
Teammitglied
mercedesdriver schrieb:
Soweit ich das verstanden habe, wird von Unitymedia anscheinend dem Router (der ist noch vor dem Zyxel) eine IPv6-Adresse zugewiesen. Da Unitymedia zu wenig IPv4-Adressen hat, wird eine IPv4-Adresse über ein https://de.wikipedia.org/wiki/Carrier-grade_NAT von mehreren Leuten verwendet und die IPv4-Pakete in IPv6 gekapselt zum Kunden geroutet (vielleicht ist hier IPv6-Tunnel nicht ganz richtig, aber es handelt sich ja um einem Konvertierung des Netzwerkprotokolls und damit ist es wie https://de.wikipedia.org/wiki/Tunnel_(Rechnernetz) nach meiner Meinung nicht ganz weit von einem Tunnel entfernt, oder?).

Habe ich das soweit richtig verstanden, oder irre ich mich (wieder) und es ist völliger Unsinn?

Das Prinzip und die Funktionsweise hast du verstanden, nur die Richtung stimmt nicht ganz. Deine IPv6 Pakete wandern über das Kabelmodem zum default Gateway (bei Unity) und werden dort in IPv4 Pakete verpackt und haben dann die IPV4 Adresse, mit der es dann in die weite Welt des Internets zum Zielserver gelangt.
 
Oben