Re: Strange http client/MTU problem under linux

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jul 30, 2008 at 2:37 PM, Bill Mott <v12bill@xxxxxxxxx> wrote:
> Looks like an MTU size problem / do not fragment problem.
> Since from earlier post, reducing the MTU makes it work, why not fix it that
> way?

For the following reasons:

a) Dropping the mtu down to 1499 doesn't tell me why wget works under
windows (without the need to drop the mtu).

b) Dropping the mtu down to 1499 doesn't tell me why wget (under
linux) works if I force my router to grab a public-facing ip address
in the range 93.96.x.x.

c) Dropping the mtu down to 1499 doesn't agree with/explain the
results of the ping testing, which follows...


I originally thought that it was an mtu-size / do-not-fragment problem
so I read up on "TCP Path Maximum Transmission Unit (PMTU) Discovery"
in Karajit Siyan's book, "Windows 2000 TCP/IP" (the chapter required
is available at
http://vig.pearsoned.co.uk/samplechapter/0735709920.pdf).

He explains that if I ping the destination with the "don't fragment"
option set and a sufficiently large packet-size, then I can find the
largest permissible mtu by checking for something like "Packet needs
to be fragmented but DF set" in the output.

Here are the results of the 2 boundary-case pings:

$ ping -s 1472 -M do ocp.com.com
PING c18-ad-xw-lb.cnet.com (216.239.122.193) 1472(1500) bytes of data.
64 bytes from c18-ad-xw-lb.cnet.com (216.239.122.193): icmp_seq=1
ttl=241 (truncated)
64 bytes from c18-ad-xw-lb.cnet.com (216.239.122.193): icmp_seq=2
ttl=241 (truncated)
64 bytes from c18-ad-xw-lb.cnet.com (216.239.122.193): icmp_seq=3
ttl=241 (truncated)
64 bytes from c18-ad-xw-lb.cnet.com (216.239.122.193): icmp_seq=4
ttl=241 (truncated)

$ ping -s 1473 -M do ocp.com.com
PING c18-ad-xw-lb.cnet.com (216.239.122.193) 1473(1501) bytes of data.
>From t60jt (192.168.0.3) icmp_seq=1 Frag needed and DF set (mtu = 1500)
>From t60jt (192.168.0.3) icmp_seq=1 Frag needed and DF set (mtu = 1500)
>From t60jt (192.168.0.3) icmp_seq=1 Frag needed and DF set (mtu = 1500)
>From t60jt (192.168.0.3) icmp_seq=1 Frag needed and DF set (mtu = 1500)

If I am correct, success with "-s 1472" means that an mtu of 1500
should work (i.e. lowering the mtu down to 1499 should not be
necessary). Consequently, I don't want to drop the mtu down to 1499 if
that will simply mask/cover a bigger problem.

(I must admit, I'm not sure whether the "(truncated)" on the end of
the first ping is indicative of another problem - perhaps there's a
clue there somewhere?)

> You can use traceroute, and specify a packetlen. This will help you prove /
> disprove an MTU problem along the route.
> Good luck!

I had a quick play with tracert in the beginning but, like I said,
many lines contained asterisks and I wasn't perfectly sure exactly
what it meant. Here are some example runs:

(connected to 78.105.x.x):
# tracert ocp.com.com 20
traceroute to ocp.com.com (216.239.122.193), 30 hops max, 20 byte packets
 1  router (192.168.0.1)  78.772 ms  77.768 ms  77.753 ms
 2  * * *
 3  213.161.72.69 (213.161.72.69)  22.761 ms * *
 4  * * *
 5  * * *
 6  * so-3-0-0.mpr1.iad2.us.above.net (64.125.29.134)  89.867 ms *
 7  * * so-3-0-0.mpr1.iad10.us.above.net (64.125.30.117)  89.937 ms
 8  above-oc48.iad.att.net (64.125.13.14)  90.860 ms  89.908 ms  89.918 ms
 9  tbr2.wswdc.ip.att.net (12.122.84.202)  128.888 ms  126.870 ms  127.900 ms
10  cr2.wswdc.ip.att.net (12.122.16.101)  125.903 ms  125.872 ms  125.910 ms
11  cr1.attga.ip.att.net (12.122.1.173)  125.899 ms  125.894 ms  125.896 ms
12  cr2.dlstx.ip.att.net (12.122.28.174)  126.884 ms  126.883 ms  126.900 ms
13  tbr2.dlstx.ip.att.net (12.122.18.230)  126.918 ms  127.758 ms  126.900 ms
14  12.122.100.97 (12.122.100.97)  126.899 ms  125.895 ms  125.865 ms
15  12.87.121.22 (12.87.121.22)  125.898 ms  125.905 ms  125.896 ms
16  c18-ad-xw-lb.cnet.com (216.239.122.193)  126.897 ms  125.894 ms  125.899 ms

(also connected to 78.105.x.x):
# tracert ocp.com.com 1500
traceroute to ocp.com.com (216.239.122.193), 30 hops max, 1500 byte packets
 1  router (192.168.0.1)  53.710 ms  53.675 ms  52.681 ms
 2  78-86-32-1.zone2.bethere.co.uk (78.86.32.1)  175.626 ms * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * so-3-0-0.mpr1.iad10.us.above.net (64.125.30.117)  197.719 ms  101.894 ms
 8  above-oc48.iad.att.net (64.125.13.14)  102.912 ms  101.897 ms  102.907 ms
 9  * * *
10  cr2.wswdc.ip.att.net (12.122.16.101)  162.785 ms * *
11  * * *
12  * * *
13  * * *
14  * 12.122.100.97 (12.122.100.97)  147.854 ms *
15  12.87.121.22 (12.87.121.22)  137.859 ms  146.883 ms  137.890 ms
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

While it looks good, I don't understand what it means (other than
being a partially-identified list of routers between me and the
destination). Do you have any idea what traceroute/tracert commands I
should be running and, more importantly, exactly how I can interpret
the results?

One other thing I forgot to mention: my isp/provider uses rfc 1483 /
2684 (ethernet over atm) rather than ppp, but I don't think that has
much of a bearing on my problem.

If anyone has any suggestions, again I'd be really thankful. Jaime.
--
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux