LKML Archive on
help / color / mirror / Atom feed
From: "Andy Chittenden" <>
To: <>
Subject: Nfs over tcp retries
Date: Mon, 5 Mar 2007 10:42:53 -0000	[thread overview]
Message-ID: <> (raw)

Here's a sequence of packets captured at the end of a NFS connection and
the start of the next for a RH Fedora Core 6 client:

# cat ~/tmp/28852a.txt
No.     Time        Source                Destination           Protocol
      1 0.000000        TCP
894 > nfs [ACK] Seq=4104776783 Ack=146337374 Win=5840 Len=1460
      2 0.000009        TCP
894 > nfs [PSH, ACK] Seq=4104778243 Ack=146337374 Win=5840
Len=1244[Packet size limited during capture]
      3 0.000031         TCP
nfs > 894 [FIN, ACK] Seq=146337374 Ack=4104776783 Win=64240 Len=0
      4 0.000210         TCP
nfs > 894 [ACK] Seq=146337375 Ack=4104779487 Win=64240 Len=0
      5 0.000226        TCP
894 > nfs [ACK] Seq=4104779487 Ack=146337375 Win=5840 Len=0
      6 0.002454        TCP
894 > nfs [FIN, ACK] Seq=4104779487 Ack=146337375 Win=5840 Len=0
      7 0.002651         TCP
nfs > 894 [ACK] Seq=146337375 Ack=4104779488 Win=64240 Len=0
      8 0.003601        TCP
894 > nfs [SYN] Seq=4104775174 Len=0 MSS=1460 TSV=110286926 TSER=0 WS=7
      9 0.003709         TCP
nfs > 894 [RST, ACK] Seq=146337375 Ack=4104775175 Win=64240 Len=0
     10 3.003081        TCP
894 > nfs [SYN] Seq=4104775177 Len=0 MSS=1460 TSV=110287676 TSER=0 WS=7
     11 3.003196         TCP
nfs > 894 [RST, ACK] Seq=146337375 Ack=4104775178 Win=64240 Len=0
     12 9.003738        TCP
894 > nfs [SYN] Seq=4104775180 Len=0 MSS=1460 TSV=110289176 TSER=0 WS=7
     13 9.003852         TCP
nfs > 894 [RST, ACK] Seq=146337375 Ack=4104775181 Win=64240 Len=0
     14 21.004805        TCP
894 > nfs [SYN] Seq=4104775183 Len=0 MSS=1460 TSV=110292177 TSER=0 WS=7
     15 21.004917         TCP
nfs > 894 [RST, ACK] Seq=146337375 Ack=4104775184 Win=64240 Len=0
     16 45.007926        TCP
894 > nfs [SYN] Seq=4104775186 Len=0 MSS=1460 TSV=110298177 TSER=0 WS=7
     17 45.008050         TCP
nfs > 894 [RST, ACK] Seq=146337375 Ack=4104775187 Win=64240 Len=0
     18 93.005802        TCP
894 > nfs [SYN] Seq=4104775189 Len=0 MSS=1460 TSV=110310177 TSER=0 WS=7
     19 93.005933         TCP
nfs > 894 [RST, ACK] Seq=146337375 Ack=4104775190 Win=64240 Len=0
     20 189.009560        TCP
894 > nfs [SYN] Seq=4104775192 Len=0 MSS=1460 TSV=110334177 TSER=0 WS=7
     21 189.009675         TCP
nfs > 894 [RST, ACK] Seq=146337375 Ack=4104775193 Win=64240 Len=0
     22 381.013870        TCP
894 > nfs [SYN] Seq=4104775195 Len=0 MSS=1460 TSV=110382178 TSER=0 WS=7
     23 381.013980         TCP
[TCP Previous segment lost] nfs > 894 [SYN, ACK] Seq=240134139
Ack=4104775196 Win=64240 Len=0 MSS=1460
     24 381.014010        TCP
894 > nfs [ACK] Seq=4104775196 Ack=240134140 Win=5840 Len=0

As you can see in packet 3, the nfs server's sent a FIN-ACK which is
acknowledged in packet 6 by the client. So by packet 8, the connection's
closed. The client attempts to reconnect to the server in packet 8 which
is refused by the server in packet 9 as the client is using the same
port number as the previous session: the server's in TIME WAIT from the
previous connection and the initial send sequence number of this new
connection is below the highest sequence number of the previous
connection. The client's attempts to reconnect continue unsuccessfully
until 2MSL is exceeded.

So, a few questions:

* why does the NFS client reuse the same source port number (894 in the
example above)?
* if the socket's being reused, why is the ISS being chosen such that
it's within the same range as the last successful connection?
* why does the ISS seem to go up by only 3 since the last attempt to

If the linux NFS client had used a different source port number or
chosen an out-of-range ISS, then its reconnection attempts would have
been successful in a more timely manner.

Andy, BlueArc Engineering

             reply	other threads:[~2007-03-05 10:53 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-05 10:42 Andy Chittenden [this message]
2007-03-05 16:13 ` Trond Myklebust
2007-03-05 16:29   ` Andy Chittenden
2007-03-05 16:31 ` Peter Staubach

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \
    --subject='Re: Nfs over tcp retries' \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).