Newsgroup: it.comp.reti.locali
Titolo: Settare l'MTU

Salve a tutti
oggi mi sono messo a ricontrollare il settaggio della mia adsl casalinga.
Ho un router/gateway con un mtu 1492 di default e connessione pppoa.
Mi sono messo quindi a controllare il miglior settaggio per le macchine
interne (per ora il portatile) ed ho notato che non posso spingermi
oltre il valore 1464 (che stando a quel che mi dice il comando ping
diventano 1492) per le connessioni verso internet. (e mi tornerebbe)
Allego un esempio:
root@trinity2:~# ping -M do 
www.google.it
 -s 1464
PING 
www.l.google.com
 (64.233.183.147) 1464(1492) bytes of data.
64 bytes from 
nf-in-f147.google.com
 (64.233.183.147): icmp_seq=1 ttl=243
(truncated)
--- 
www.l.google.com
 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 72.803/72.803/72.803/0.000 ms
root@trinity2:~# ping -M do 
www.google.it
 -s 1465
PING 
www.l.google.com
 (64.233.183.147) 1465(1493) bytes of data.
From 192.168.1.11 icmp_seq=1 Frag needed and DF set (mtu = 1492)
From 192.168.1.11 icmp_seq=1 Frag needed and DF set (mtu = 1492)
quindi la domanda che sorge spontanea è:
la scheda di rete devo settarla con un mtu = 1492 giusto? (secondo
quanto "consiglia" il ping)
Però il conto non mi torna.
Stando a wikipedia :
Il concetto di MTU si riferisce alla dimensione del pacchetto IP. IP
viene trasportato nella gran parte dei casi su ethernet, che ha
normalmente un carico pagante massimo di 1500 byte, a cui si aggiungono
14 byte di intestazione ethernet. La MTU tipica su Internet è quindi di
1500 byte. Di questi, 20 sono normalmente occupati dall'header IP. Se
viene utilizzato il protocollo TCP, questo occupa normalmente altri 20
byte per i propri header. Il carico pagante (segmento) di un pacchetto
TCP è quindi tipicamente di 1460 byte. TCP possiede un meccanismo per
negoziare il "Maximum Segment Size" (dimensione massima del segmento, o
MSS). Normalmente, MSS = MTU - 40.
Ma, se il pacchetto di massima dimensione che passa non frammentato è di
1464, e il mio mtu deve essere 1492...
1492 - 1464 = 28
Questi 28 byte a chi o cosa servono se il tcp ne usa 20 e l'ip altri 20
o sono 20 o sono 40. perchè 28?
a meno che il mio ragionamento non sia errato perchè usando il ping uso
icmp (non tcp), ma anche in questo caso:
il pacchetto icmp è formato da:
8 bit x il Tipo
8 bit x il Codice
16 bit per il checksum dell'header
il rimanente sono dati
Quindi se mando 1464 bit di dati:
1464 + 8 +8 + 16 = 1496
Dove sto sbagliando?
Scusate per l'assurdità delle domanda, ma mi piace capire :-)
Saluti a tutti.
-- 
MaoX
http://maox.blogspot.com


Ciaoooooooooooooooo,
Luciano

 Scusate per l'assurdità delle domanda, ma mi piace capire :-)
Benvenuto tra i testardi !!!! :-))))
Ciaoooooooooooooooooo,
Luciano

 Allego un esempio:
uhm.. ho idea che tu non abbia le idee ben chiare; l'impostazione MTU
per la connessione *internet* ha senso se hai una macchina che funge
da gateway per la rete e che è direttamente connessa ad internet (ad
esempio attraverso un "modem" ADSL); nel tuo caso invece hai un certo
numero di computers connessi in rete locale ad un router che funge da
NAT quindi l'eventuale impostazione del valore MTU andrebbe fatta
sull'interfaccia WAN del router e NON sulla rete interna; nel primo caso
ottimizzerai il traffico da/verso internet, nel secondo invece l'effetto che
otterrai sarà quello di RALLENTARE il traffico LAN dato che su questa
il valore ottimale MTU è quello normale
ciao