Ottimizzazione tcp per connessioni laggose

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
KiaZ
Linux 0.x
Linux 0.x
Messaggi: 32
Iscritto il: mar 24 ago 2004, 0:00
Contatta:

Ottimizzazione tcp per connessioni laggose

Messaggio da KiaZ »

Per lavoro ho spesso a che vedere con delle connessioni satellitari bidirezionali : si tratta di una sorta di "ultima spiaggia" per posti dove non arrivera' mai l'adsl. Sono connessioni che funzionano con una parabola da 80 o 120 cm e un "modem" satellitare. I tempi di ping si attestano intorno ai 700 msec, mentre la banda in download e' comunque buona (fino a 8 mbits per chi se lo puo' permettere). Il problema e' che questo lag spesso porta a congestione tcp.
Mi chiedevo se qualcuno ha avuto esperienze con linux e connessioni simili, e se aveva qualche consiglio su possibili ottimizzazioni a livello tcp per evitare la congestione. Per ora in genere noi mettiamo uno squid trasparent proxy per agevolare la navigazione e un postfix come smtp locale, ma per gli altri servizi ??
So che ci sono prodotti commerciali che fanno tcp optimization per connessioni satellitari, ma volevo crearmi un alternativa "open" .

Qualcuno ha avuto esperienze simili e puo' darmi qualche suggerimento ?

grazie, ciao
KiaZ

Avatar utente
masalapianta
Iper Master
Iper Master
Messaggi: 2775
Iscritto il: lun 25 lug 2005, 0:00
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian
Località: Roma
Contatta:

Re: Ottimizzazione tcp per connessioni laggose

Messaggio da masalapianta »

KiaZ ha scritto:Per lavoro ho spesso a che vedere con delle connessioni satellitari bidirezionali : si tratta di una sorta di "ultima spiaggia" per posti dove non arrivera' mai l'adsl. Sono connessioni che funzionano con una parabola da 80 o 120 cm e un "modem" satellitare. I tempi di ping si attestano intorno ai 700 msec, mentre la banda in download e' comunque buona (fino a 8 mbits per chi se lo puo' permettere). Il problema e' che questo lag spesso porta a congestione tcp.
Mi chiedevo se qualcuno ha avuto esperienze con linux e connessioni simili, e se aveva qualche consiglio su possibili ottimizzazioni a livello tcp per evitare la congestione.
devi lavorare principalmente sulla sliding window (ingrandendo i valori della finestra un bel po); i file in /proc su cui lavorare sono:

/proc/sys/net/core/rmem_default (dimensione di default della window di ricezione)
/proc/sys/net/core/rmem_max (dimensione massima della window di ricezione)
/proc/sys/net/core/wmem_default (dimensione di default della window di trasmissione)
/proc/sys/net/core/wmem_max (dimensione massima della window di trasmissione)
/proc/sys/net/ipv4/tcp_mem (dimensione minima, standard e massima dei buffer tcp)
/proc/sys/net/ipv4/tcp_rmem (dimensione minima, standard e massima dei buffer tcp di ricezione)
/proc/sys/net/ipv4/tcp_wmem (dimensione minima, standard e massima dei buffer tcp di trasmissione)

dei valori di riferimento da cui iniziare li puoi ricavare in base all'effettivo troughput e all'rtt, btw l'unico modo per avere una buona ottimizzazione e' mettersi con un po di pazienza e fare dei test.
Per ora in genere noi mettiamo uno squid trasparent proxy per agevolare la navigazione e un postfix come smtp locale
metti pure un dns locale che fa caching
So che ci sono prodotti commerciali che fanno tcp optimization per connessioni satellitari, ma volevo crearmi un alternativa "open" .
basta conoscere un minimo il tcp/ip, non serve alcun prodotto

KiaZ
Linux 0.x
Linux 0.x
Messaggi: 32
Iscritto il: mar 24 ago 2004, 0:00
Contatta:

Re: Ottimizzazione tcp per connessioni laggose

Messaggio da KiaZ »

masalapianta ha scritto:
KiaZ ha scritto:Per lavoro ho spesso a che vedere con delle connessioni satellitari bidirezionali : si tratta di una sorta di "ultima spiaggia" per posti dove non arrivera' mai l'adsl. Sono connessioni che funzionano con una parabola da 80 o 120 cm e un "modem" satellitare. I tempi di ping si attestano intorno ai 700 msec, mentre la banda in download e' comunque buona (fino a 8 mbits per chi se lo puo' permettere). Il problema e' che questo lag spesso porta a congestione tcp.
Mi chiedevo se qualcuno ha avuto esperienze con linux e connessioni simili, e se aveva qualche consiglio su possibili ottimizzazioni a livello tcp per evitare la congestione.
devi lavorare principalmente sulla sliding window (ingrandendo i valori della finestra un bel po); i file in /proc su cui lavorare sono:

/proc/sys/net/core/rmem_default (dimensione di default della window di ricezione)
/proc/sys/net/core/rmem_max (dimensione massima della window di ricezione)
/proc/sys/net/core/wmem_default (dimensione di default della window di trasmissione)
/proc/sys/net/core/wmem_max (dimensione massima della window di trasmissione)
/proc/sys/net/ipv4/tcp_mem (dimensione minima, standard e massima dei buffer tcp)
/proc/sys/net/ipv4/tcp_rmem (dimensione minima, standard e massima dei buffer tcp di ricezione)
/proc/sys/net/ipv4/tcp_wmem (dimensione minima, standard e massima dei buffer tcp di trasmissione)

dei valori di riferimento da cui iniziare li puoi ricavare in base all'effettivo troughput e all'rtt, btw l'unico modo per avere una buona ottimizzazione e' mettersi con un po di pazienza e fare dei test.
Per ora in genere noi mettiamo uno squid trasparent proxy per agevolare la navigazione e un postfix come smtp locale
metti pure un dns locale che fa caching
So che ci sono prodotti commerciali che fanno tcp optimization per connessioni satellitari, ma volevo crearmi un alternativa "open" .
basta conoscere un minimo il tcp/ip, non serve alcun prodotto
Grazie 1000 mi serviva proprio sapere cosa cercare in /proc
Giusto poi non ci avevo pensato al dns caching .... anche quello e' da mettere si.
Sto facnedo sta cosa per dimostrare ai miei capi che non ci vuole nessun prodotto !!!

Rispondi