« Ehcache-1.4 beta Released | Main | Announcing Curlew Retreat »

September 14, 2007

Adjusting the networking MTU on Mac OS X

My wife is newly involved with a Arbonne, a network selling cosmetics company. They set up in Australia a few months ago. She has an a website http://arbonnebrisbane.myarbonne.com.au . Anyway the web site did not work from Mac OS X or Linux from our home, only Windows (running in VM Ware). The problem was seen in all browsers, curl and wget. Not a problem I have seen before.

The issue, viewed from wget, looks like:

Using wget we get:

http://www.myarbonne.com.au/
=> `index.html.1'
Resolving www.myarbonne.com.au... 208.179.207.104
Caching www.myarbonne.com.au => 208.179.207.104
Connecting to www.myarbonne.com.au|208.179.207.104|:80... connected.
Created socket 4.
Releasing 0x00516290 (new refcount 1).

---request begin---
GET / HTTP/1.0
User-Agent: Wget/1.10.2
Accept: */*
Host: www.myarbonne.com.au
Connection: Keep-Alive

---request end---
HTTP request sent, awaiting response...
---response begin---
HTTP/1.1 200 OK
Server: Lotus-Domino
Date: Tue, 28 Aug 2007 22:36:16 GMT
Connection: close
Content-Type: text/html
Content-Length: 14036
Last-Modified: Sun, 01 Jul 2007 21:15:36 GMT
Accept-Ranges: bytes

---response end---
200 OK
Length: 14,036 (14K) [text/html]

0% [ ] 0 --.--K/s

i.e. the response is always stuck on 0%. You never get any data.

A colleague, Dave Whitla, suggested that our default MTU of 1500 bytes could be at issue. Not all networking equipment deals properly with fragments. See http://en.wikipedia.org/wiki/Maximum_transmission_unit

The default MTU on Mac OS X is 1500. I adjusted the MTU to 1000 bytes and sure enough, the problems were resolved.

On Mac the MTU can be adjusted to 1000 bytes using:

sudo ifconfig en1 mtu 1000

You then to stop and start the interface. You then get:

en1: flags=8863 mtu 1000
tunnel inet -->
inet6 fe80::216:cbff:feb9:7131%en1 prefixlen 64 scopeid 0x5
inet 192.168.0.119 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:16:cb:b9:71:31
media: autoselect status: active
supported media: autoselect
vlan: 0 parent interface:
bond interfaces:

MTU can also be on the server side. See http://help.expedient.net/broadband/mtu.shtml

Posted by gluck at September 14, 2007 09:09 AM

Comments