Friday, April 28, 2006

MTU Size

To check the MTU size between your PC and server, do the following in DOS:

ping mail.internode.on.net -f -l 1500

Pinging mail.internode.on.net [203.16.214.182] with 1500 bytes of data:

Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.

Ping statistics for 203.16.214.182:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

It means the packet is to big for the MTU size, reduce the size of the packet until you find out what is the optimum size:

ping mail.internode.on.net -f -l 1473

Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
...

ping mail.internode.on.net -f -l 1472

Reply from 203.16.214.182: bytes=32 time=6ms TTL=64
Reply from 203.16.214.182: bytes=32 time=3ms TTL=64
...

as you can see the optimum packet size is 1472. Now set your MTU size on your network adapter to: 1472 + 28 (You add 28 bytes because 20 bytes are reserved for the IP header and 8 bytes must be allocated for the ICMP Echo Request header).

Yes, it is 1500 MTU size. That is because I am using ADSL with PPPoA, which by default has MTU size of 1500.

Note: for Linux, the command is:

[root@fedora postfix]# ping -s 1480 -c 100 yahoo.com.au -M do
PING yahoo.com.au (203.84.217.26) 1480(1508) bytes of data.
ping: sendmsg: Message too long
ping: sendmsg: Message too long

--- yahoo.com.au ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1000ms

reduce the size of the packet to 1472

[root@fedora postfix]# ping -s 1472 -c 100 yahoo.com.au -M do
PING yahoo.com.au (203.84.217.26) 1500(1528) bytes of data.
1508 bytes from i1.aunz.vip.aue.yahoo.com (203.84.217.26): icmp_seq=0 ttl=248 time=298 ms
1508 bytes from i1.aunz.vip.aue.yahoo.com (203.84.217.26): icmp_seq=1 ttl=248 time=390 ms
1508 bytes from i1.aunz.vip.aue.yahoo.com (203.84.217.26): icmp_seq=2 ttl=248 time=294 ms

--- yahoo.com.au ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 294.271/327.895/390.728/44.468 ms, pipe 2

No comments: