Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Nov 2010 14:39:21 +0100
From:      Pieter de Boer <pieter@os3.nl>
To:        Christopher Penney <cpenney@gmail.com>
Cc:        freebsd-net@freebsd.org
Subject:   Re: FreeBSD TCP Behavior with Linux NAT
Message-ID:  <4CDD4389.5060405@os3.nl>
In-Reply-To: <AANLkTimR_gNhwnamT2=QzD7zHhGx5p--_c_yq0qjcNzh@mail.gmail.com>
References:  <AANLkTimR_gNhwnamT2=QzD7zHhGx5p--_c_yq0qjcNzh@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Christopher,

<snip>
> Before the reboot two Linux clients were mounting the FreeBSD server.  They
> were both using port 903 locally.  On the head node clientA:903 was remapped
> to headnode:903 and clientB:903 was remapped to headnode:601.  There is no
> activity when the reboot occurs.  The head node takes a few minutes to come
> back up (we kept it down for several minutes).
>
> When it comes back up clientA and clientB try to reconnect to the FreeBSD
> NFS server.  They both use the same source port, but since the head node's
> conntrack table is cleared it's a race to see who gets what port and this
> time clientA:903 appears as headnode:601 and clientB:903 appears as
> headnode:903 (>>>  they essentially switch places as far as the FreeBSD
> server would see<<<  ).

So what you are saying is that the Linux NAT box reuses the same 
source_ip:source_port / destination_ip:destination_port tuple for a new 
connection to the FreeBSD NFS server after the Linux box has rebooted. 
This quickly enough that the connection on the FreeBSD NFS server has 
not timed out yet?

Isn't there a rule in TCP you shouldn't be reusing port numbers within 
the MSL (or 2*MSL?) period?

-- 
Pieter



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4CDD4389.5060405>