Wie kann der TCP-Stack für niedrige Latenzzeiten optimiert werden, wenn throuput keine Priorität hat?

432
K. Nick

Ich habe eine drahtlose Verbindung mit einem Paketverlust von bis zu 10%. Es muss einen RTP-Stream tragen, sonst nichts. Die Datenrate des Streams ist <100 kb / s, daher ist die niedrigste von Wlan (802.11b) angebotene Datenrate (1 MBit / s) mehr als ausreichend. Um dem Paketverlust entgegenzuwirken, möchte ich versuchen, den von tcp angebotenen arq-Algorithmus zu nutzen. Das Setup sieht folgendermaßen aus: Eine Maschine, die die Quelle des RTP-Streams ist, führt einen TCP-Server (ersten Endpunkt der TCP-Sitzung) und ein Soft-AP (Hostapd, das unter Linux ausgeführt wird) aus. Die zweite Maschine, die mit der ersten identisch ist, ist der Endpunkt der TCP-Sitzung und ein WLAN-Client (auf dem wpa_supplicant ausgeführt wird) unter Linux. Die TCP-Sitzung umfasst also keine Router oder Switches, sondern nur eine einzige drahtlose Verbindung. Mit Routern / Switches zwischen der Überlastungskontrolle hat Winth nicht viel zu tun, aber es gewinnt ' Es tat weh hoffentlich weh. Da beide Maschinen identisch sind und eine ausreichend leistungsfähige Flusskontrolle möglich ist, sollte dies ebenfalls kein Problem sein. Zumal der RTP-Stream eine relativ niedrige Datenrate hat (<100 kb / s).

Meine Fragen lauten also: Welche Parameter / Variablen (/ proc / sys / net / ipv4 / tcp *) sollten ich auf welche Weise einstellen, um eine möglichst geringe Latenzzeit zu erreichen (wie jedes Paket prüfen und Daten sofort senden, selbst in kleinen Paketen und nicht darauf warten.) genug Daten zum Sammeln ...) Es ist mir egal, ob Throuput darunter leidet. Was fehlt mir noch?

0
Arq würde zusätzlichen Aufwand hinzufügen. RTP verwendet UDP, da Streaming-Medien in der Regel Daten mit minimalem Einfluss verlieren können. Mit arq wird sichergestellt, dass der Endpunkt jedes Datenbyte auch auf Kosten des Durchsatzes und des erhöhten Overheads korrekt empfangen hat. Warum sollten Sie sicherstellen, dass ein Echtzeit-Medienstream Byte für Byte genau ist? Was ist das eigentliche Problem, das Sie hier haben, anstatt zu fragen, wie Sie eine Lösung implementieren können? Appleoddity vor 6 Jahren 1
Kann Ihr Gerät wirklich nur 802.11b unterstützen? Es gibt einige Optimierungen auf 802.11-Ebene, die hilfreich sein könnten, wenn Sie 802.11n oder besser verwenden: Stellen Sie Ihre IP-DiffServ-Bits so ein, dass Ihre Wi-Fi-Treiber diese Pakete in die Voice (VO) -Warteschlange von WMM stellen. Spiff vor 6 Jahren 1
Die Ausrüstung entspricht dem Standard 802.11g Consumer Grade. Nichts Besonderes. Mein Punkt ist, dass die niedrigste Geschwindigkeit für diesen Zweck mehr als ausreichend ist. Geschwindigkeit / Datenrate ist also nicht das Problem. Paketverlust ist. Und das passiert bei schickerem 802.11n-Zeug wohl noch mehr. Wmm ist auch nicht die Lösung. Bei Afaik geht es um die Priorisierung des Echtzeitverkehrs (starke Zeitbeschränkungen). Es gibt jedoch nichts zu priorisieren, daher haben wir bereits höchste Priorität. K. Nick vor 6 Jahren 0
Ich kenne das Argument, dass sich Audio einen Paketverlust leisten kann. Mit dem g711-Codec ist wahrscheinlich ein Verlust von bis zu 1% in Ordnung. Ich habe bis zu 10%, schwankt, was dazu führt, dass der Sound abgehackt wird und die Silben häufig genug fehlen, um unangenehm zu werden. K. Nick vor 6 Jahren 0
Da der rtt-Wert für die drahtlose Verbindung etwa 2-3 ms beträgt, hoffe ich, dass ich nur die geringe Verzögerung und hoffentlich nicht viel Jitter hinzufügen kann, während der Paketverlust unter einen akzeptablen Grenzwert sinkt. Daher möchte ich die Ausrüstung so abstimmen, dass diese Verzögerung minimiert wird, auch wenn es insgesamt weh tun würde (was ich sowieso nicht brauche). Ich weiß, dass dies gegen das Buch geht, aber ich möchte es trotzdem versuchen, bevor ich das Projekt erkläre Fehler. K. Nick vor 6 Jahren 0
Ich verstehe, dass du es versuchen willst. Ich habe damit überhaupt kein Problem. Aber ich kann dir nicht helfen. Es scheint nur eine merkwürdige Lösung zu sein, wenn es offensichtlich erscheint, das Verbindungsproblem zu beheben. Und nein, Wireless N und vor allem 5 GHz sollten nicht so viel Paketverlust haben, es sei denn, Sie sind einfach zu weit weg. 2,4 GHz ist gerade völlig gesättigt und kann in vielen Bereichen mit all den falsch konfigurierten WLAN-Routern nicht mehr verwendet werden. Wenn Sie herausfinden, wie Sie dies einrichten, ist es interessant genug. Appleoddity vor 6 Jahren 0

0 Antworten auf die Frage