[fpc-devel] Re: [fpc-pascal] Website connectivity

Jonas Maebe jonas.maebe at elis.ugent.be
Mon Aug 17 18:05:09 CEST 2009


On 17 Aug 2009, at 17:43, Michael Van Canneyt wrote:

> The reason for this - which has been given often - was the atypical
> window size of the router in front of the server: Some ISP's routers  
> or network configuration could not cope with this atypical window  
> size.

To nitpick: it's not the window size, but the maximum segment size :)

And for the people interested in the details: the problems are that  
router in front of server
a) blocks incoming ICMP packets that are necessary for automatic MTU  
detection. As a result, the server cannot detect problems in case a  
network connection down the line requires a smaller TCP segment size.
b) set the TCP maximum segment size of all *incoming* packets to 1472.  
This means that setting the MTU on your computer to a low value (which  
would then also be used by the server when replying) won't help, since  
the server always sees an MTU of 1472 bytes.
c) sets the "don't fragment" flag on outgoing IP packets. This means  
that even if the server is configured to not add the "don't fragment"  
flag to packets so they can be fragmented by other routers when  
sending them over a connection with a smaller MTU, the end result  
won't change since by the time the packets arrive at those routers,  
they'll again have a DF flag set.

In the end, what did work was to enable TCP MTU detection on the server.

I don't know what kind of router is being used, but I would advise  
everyone to stay away from it as far as possible. The number of ways  
in which that thing tries to prevent connectivity with low-MTU  
endpoints is really astounding.


Jonas



More information about the fpc-devel mailing list