Puffergröße einzelner TCP-Verbindungen beeinflussen

08/10/2009 - 15:00 von Hauke Laging | Report spam
Moin,

kann man – mit vertretbarem Aufwand – die Größe des Sendepuffers
einer TCP-Verbindung beeinflussen? Es geht mir darum, die Folgen
eines Vertippers in einer SSH-Sitzung zu minimieren. Deshalb würde
ich interaktives SSH gern mit einem kleinen Puffer laufen lassen.


CU

Hauke
http://www.hauke-laging.de/ideen/
 

Lesen sie die antworten

#1 Juergen P. Meier
09/10/2009 - 09:27 | Warnen spam
Hauke Laging :
kann man ? mit vertretbarem Aufwand ? die Größe des Sendepuffers
einer TCP-Verbindung beeinflussen? Es geht mir darum, die Folgen



Die meisten Unixoide erlauben die systemweite Manipulation der
Sende/Empfangspuffergroesse mittels sysctl. Das betrifft aber alle
Programme.

Fuer die TCP Kommunikation ist die Puffergroesse nicht direkt
relevant, sondern schlaegt sich lediglich in der Fenstergroesse
(window size) nieder, die staendig individuell innerhalb einer TCP
Verbindung angepasst wird.
Diese laesst sich aber leicht manipulieren. Fertige Manipulatoren gibt
es fuer gaengige Paketfilter (z.B. Linux Netfilter).

eines Vertippers in einer SSH-Sitzung zu minimieren. Deshalb würde
ich interaktives SSH gern mit einem kleinen Puffer laufen lassen.



Verwendet fuer alle Pakete mit Daten das TCP Flag "PSH".
Da ist es dann egal wie gross oder klein die TCP-Puffer sind und wie
viel Platz darin noch waere, sie werden jeweils sofort geflusht (d.h.
die Applikation muss den Puffer auslesen.)

Aber das alles hilft nichts, wenn die Applikation an der anderen Seite
des Sockets nicht reagieren kann/will weil sie z.B. gerade mit einer
nicht unterbrechbaren anderen I/O Operation beschaeftigt ist.
(z.b. wenn der sshd gerade versucht die zu kopierende Datei zu mappen)

Oder wenn TCP wie hier nur als Matrjoschka fuer ein weiteres
Transportprotokoll (SSH,SCP) verwendet wird, in dem selbst wiederum
kein solcher flush-Mechanismus abgebildet ist. Da hilft dann auch das
drehen an TCP Puffergroessen nichts.

Juergen
Juergen P. Meier - "This World is about to be Destroyed!"
end
If you think technology can solve your problems you don't understand
technology and you don't understand your problems. (Bruce Schneier)

Ähnliche fragen