TCP: Deaktivieren Sie reine ACKs?

0

Ich habe ein Szenario, in dem ich reine ACKs (TCP-ACKs ohne Daten) deaktivieren möchte, aber ich finde keine Anleitung dazu. Gibt es eine Option, die ich so einstellen kann, dass ACKs immer auf das nächste Datenpaket gepackt werden (von dem ich sicher sein kann, dass es kommen wird)?

Ich habe versucht, quickACKs über das ip routeKommando für einen bestimmten Netzwerkbereich und ein bestimmtes Gerät zu deaktivieren , aber es schien keine Auswirkung zu haben. Als zusätzliche Information starte ich auf dieser Maschine einen 4.4er Kernel. Wenn Sie weitere Informationen benötigen, fragen Sie und ich werde zur Verfügung stellen.

zufälliger Fehler
quelle

Antworten:

1

Ein Paket muss vom Empfänger innerhalb einer bestimmten Zeit bestätigt werden, da der Absender sonst davon ausgeht, dass das Paket verloren gegangen ist und es erneut sendet. Wenn Ihr Empfänger trotzdem Daten sendet, wird die ACK zu diesen Daten hinzugefügt. Wenn keine Daten gesendet werden, muss eine reine ACK gesendet werden, um den Absender rechtzeitig über den Empfang des Pakets zu informieren.

Steffen Ullrich
quelle
Ich bin mir dessen bewusst, aber ich bin mir sehr sicher, dass die Daten innerhalb des Zeitrahmens gesendet werden (500 ms, denke ich?). Ich werde noch einmal nachsehen, um zu bestätigen, dass dies nicht der Grund ist, warum reine ACKs gesendet werden, aber ich ziehe sie wirklich an glaube es nicht. Edit: Ich habe mir mein PCAP angesehen, es sendet die regulären Daten viel früher als nötig, daher sollte das Problem kein Timeout sein.
random_error
0

Wie sich herausstellte, verwendete die Anwendung, die mir diese reinen ACKs gab, einen Socket mit der Option TCP_NODELAY, sodass jedes Paket so schnell wie möglich beantwortet wurde, ohne auf zusätzliche Daten zu warten.

zufälliger Fehler
quelle