Skip to Content.
Sympa Menu

ndt-users - Re: Duplex mismatches not being reported?

Subject: ndt-users list created

List archive

Re: Duplex mismatches not being reported?


Chronological Thread 
  • From: Richard Carlson <>
  • To: Matt Wilson <>,
  • Subject: Re: Duplex mismatches not being reported?
  • Date: Fri, 04 Nov 2005 11:44:32 -0500

Hi Matt;

Welllll it kind of reports it "Excessive packet loss is impacting your performance, check the auto-negotiate function on your local PC and network switch" and the asymmetric throughput is another clue, but yes the mismatch detection algorithm failed in this case.

Here's why.

The current duplex mismatch detection heuristics is based on some experiments I ran several years ago. I have been actively working on enhancing this part of the NDT code ever since. The current heuristic using a logical AND of the following conditions.
Congestion Window limited over 90% of the time (99.93% here)
Theoretical speed over 2 Mbps (7.32 Mbps here)
more than 2 packets being retransmitted per second (2.19 here)
SSthresh value has been set (4344 Bytes here)
Connection was idle more than 1% of the time (0 here)

So the first 4 conditions are true but the 5th is false so the condition is not reported.

While I am working on fixes for this problem, including a more mathematically rigorous model for this condition, the going is slow. I need to figure out when a problem is caused by the mismatch condition and when it is an artifact of the specific OS/browser. To make this problem harder, the condition changes when you reverse the mismatch condition (try setting the laptop to full and the switch to half). Lastly, I'm trying to keep the false positive rate as low as possible. I'm of the option that its better to fail to detect the condition than it is to falsely report it (and have techs running around trying to find a non-existent problem).

So all these things combined make detecting duplex mismatches a hard problem. Right now, you still need someone to interpret the results to determine what the tool says. But at least you have some data to work from.

Hopefully I can get a better detection algorithm out by the end of the year. Keep your fingers crossed.

Rich

At 11:01 AM 11/4/2005, Matt Wilson wrote:
Hi all-

Is anyone else having trouble with duplex mismatches not being diagnosed/reported by NDT?

I have two NDT servers and they both are exhibiting this behavior.
One is running RHEL kernel-2.6.9-22.EL, web100-2.5.1, and NDT 3.1.4a.
The other is running kernel.org kernel-2.6.12, web100-2.5.4, and NDT 3.1.4a

I create a duplex mismatch on the link between the edge switch and my laptop.
Mac OS 10.3.9, Firefox Client. ifconfig set en0 to 10baseT/UTP <half-duplex>
Connected to Cisco 3548 FastEthernet switchport set to Full-duplex, 10 Mbps, 100BaseTX/FX

But the applet reports that the link is Full Duplex, has no duplex errors, and has network congestion. Full report pasted below.

Anyone have any ideas about what might be going on? Thanks!
-Matt


Checking for Middleboxes . . . . . . . . . . . . . . . . . . Done
running 10s outbound test (client to server) . . . . . 83.88Kb/s
running 10s inbound test (server to client) . . . . . . 5.09Mb/s
The slowest link in the end-to-end path is a 10 Mbps Ethernet subnet
Information: Other network traffic is congesting the link
-
WEB100 Enabled Statistics:
Checking for Middleboxes . . . . . . . . . . . . . . . . . . Done
running 10s outbound test (client to server) . . . . . 83.88Kb/s
running 10s inbound test (server to client) . . . . . . 5.09Mb/s

------ Client System Details ------
OS data: Name = Mac OS X, Architecture = ppc, Version = 10.3.9
Java data: Vendor = Apple Computer, Inc., Version = 1.3.1_16

------ Web100 Detailed Analysis ------
10 Mbps Ethernet link found.
Link set to Full Duplex mode
Information: throughput is limited by other network traffic.
Good network cable(s) found
Normal duplex operation found.

Web100 reports the Round trip time = 7.06 msec; the Packet size = 1448 Bytes; and
There were 219 packets retransmitted, 1038 duplicate acks received, and 0 SACK blocks received
The connection was idle 0 seconds (0%) of the time
This connection is network limited 99.92% of the time.
Excessive packet loss is impacting your performance, check the auto-negotiate function on your local PC and network switch

Web100 reports TCP negotiated the optional Performance Settings to:
RFC 2018 Selective Acknowledgment: OFF
RFC 896 Nagle Algorithm: ON
RFC 3168 Explicit Congestion Notification: OFF
RFC 1323 Time Stamping: ON
RFC 1323 Window Scaling: OFF
Information: Network Middlebox is modifying MSS variable
Server IP addresses are preserved End-to-End
Client IP addresses are preserved End-to-End
-
WEB100 Kernel Variables:
Client: localhost/127.0.0.1
AckPktsIn: 2917
AckPktsOut: 0
BytesRetrans: 331566
CongAvoid: 1234
CongestionOverCount: 0
CongestionSignals: 208
CountRTT: 1880
CurCwnd: 5792
CurMSS: 1448
CurRTO: 209
CurRwinRcvd: 65535
CurRwinSent: 5792
CurSsthresh: 2896
DSACKDups: 0
DataBytesIn: 0
DataBytesOut: 6893242
DataPktsIn: 0
DataPktsOut: 4553
DupAcksIn: 1038
ECNEnabled: 0
FastRetran: 208
MaxCwnd: 8688
MaxMSS: 1448
MaxRTO: 517
MaxRTT: 201
MaxRwinRcvd: 65535
MaxRwinSent: 5792
MaxSsthresh: 4344
MinMSS: 1448
MinRTO: 201
MinRTT: 0
MinRwinRcvd: 57920
MinRwinSent: 5792
NagleEnabled: 1
OtherReductions: 0
PktsIn: 2917
PktsOut: 4553
PktsRetrans: 219
X_Rcvbuf: 262142
RcvWinScale: 2
SACKEnabled: 0
SACKsRcvd: 0
SendStall: 0
SlowStart: 218
SampleRTT: 8
SmoothedRTT: 6
X_Sndbuf: 262142
SndWinScale: 0
SndLimTimeRwin: 0
SndLimTimeCwnd: 10065458
SndLimTimeSender: 7011
SndLimTransRwin: 0
SndLimTransCwnd: 1
SndLimTransSender: 1
SndLimBytesRwin: 0
SndLimBytesCwnd: 6893242
SndLimBytesSender: 0
SubsequentTimeouts: 0
SumRTT: 13280
Timeouts: 0
TimestampsEnabled: 1
WinScaleRcvd: 0
WinScaleSent: 2
DupAcksOut: 0
StartTimeUsec: 23167
Duration: 10075695
c2sData: 3
c2sAck: 3
s2cData: 8
s2cAck: 3
half_duplex: 0
link: 100
congestion: 1
bad_cable: 0
mismatch: 0
spd: 0.00
bw: 7.32
loss: 0.045684164
avgrtt: 7.06
waitsec: 0.00
timesec: 10.00
order: 0.3558
rwintime: 0.0000
sendtime: 0.0007
cwndtime: 0.9993
rwin: 0.5000
swin: 2.0000
cwin: 0.0663
rttsec: 0.007064
Sndbuf: 262142
aspd: 154.98177

Checking for mismatch on uplink
(speed > 50 [0>50], (xmitspeed < 5) [0.08<5]
(rwintime > .9) [0>.9], (loss < .01) [0.04<.01]
Checking for excessive errors condition
(loss/sec > .15) [0.00>.15], (cwndtime > .6) [0.99>.6],
(loss < .01) [0.04<.01], (MaxSsthresh > 0) [4344>0]
Checking for 10 Mbps link
(speed < 9.5) [0<9.5], (speed > 3.0) [0>3.0]
(xmitspeed < 9.5) [0.08<9.5] (loss < .01) [0.04<.01], (mylink > 0) [10.0>0]
Checking for Wireless link
(sendtime = 0) [7.0E=0], (speed < 5) [0<5]
(Estimate > 50 [7.32>50], (Rwintime > 90) [0>.90]
(RwinTrans/CwndTrans = 1) [0/1=1], (mylink > 0) [10.0>0]
Checking for DSL/Cable Modem link
(speed < 2) [0<2], (SndLimTransSender = 0) [1=0]
(SendTime = 0) [7.0E-4=0], (mylink > 0) [10.0>0]
Checking for half-duplex condition
(rwintime > .95) [0>.95], (RwinTrans/sec > 30) [0>30],
(SenderTrans/sec > 30) [0.1>30], OR (mylink <= 10) [10.0<=10]
Checking for congestion
(cwndtime > .02) [0.99>.02], (mismatch = 0) [0=0]
(MaxSsthresh > 0) [4344>0]

estimate = 7.32 based on packet size = 11Kbits, RTT = 7.06msec, and loss = 0.045684164
The theoretical network limit is 7.32 Mbps
The NDT server has a 255.0 KByte buffer which limits the throughput to 283.12 Mbps
Your PC/Workstation has a 63.0 KByte buffer which limits the throughput to 70.78 Mbps
The network based flow control limits the throughput to 9.38 Mbps

Client Data reports link is 'Ethernet', Client Acks report link is 'Ethernet'
Server Data reports link is 'OC-48', Server Acks report link is 'Ethernet'

------------------------------------



Richard A. Carlson e-mail:

Network Engineer phone: (734) 352-7043
Internet2 fax: (734) 913-4255
1000 Oakbrook Dr; Suite 300
Ann Arbor, MI 48104



Archive powered by MHonArc 2.6.16.

Top of Page