Skip to Content.
Sympa Menu

ndt-users - RE: failed middlebox testing

Subject: ndt-users list created

List archive

RE: failed middlebox testing


Chronological Thread 
  • From: Richard Carlson <>
  • To: "Pepmiller, Craig E." <>, <>
  • Subject: RE: failed middlebox testing
  • Date: Wed, 31 Aug 2005 13:26:08 -0400

Hi Craig;

The NDT server can run in 2 modes, switchable by the -m flag.

Without the flag (single-client mode), the server handles 1 client at a time. The server uses a FIFO queue to handle client requests. This allows the server to receive multiple requests but it only process one request at a time (in a FIFO maner). The server uses 3 ports to handle the communications between the client and server. By default they are 3001, 3002, and 3003.
3001 is the control channel, allowing the client and server to exchange
messages
3002 is used for the client -> server speed test
3003 is used for the middlebox and server -> client speed tests

When the flag is set (-m on the command line or multi-client mode)) then the server runs in multiple simultaneous client mode. In this mode the server will immediately begin testing to a client, so if multiple requests are received, multiple tests will be run. This means that the server's up-link may become congested. In this mode the server assigns a unique pair of ephemeral ports to each client. There ports will be used for the speed and middlebox tests, as described above. They replace the 3002 and 3003 ports. In the example below the server picked 32778 and 32779, but those numbers will change every time a client request is received. The debug statement will show you what ports are being used.

When operating in the multi-client mode the server does not use a specific port range so you may find it difficult to open up the server ports. Since the single-client mode does FIFO queuing I typically run my servers in this mode.


At 09:35 AM 8/31/2005, Pepmiller, Craig E. wrote:

>At this point the server should have ports 32778 and 32779 in a listen
>state. Is that true? Try running a "netstat -nat" command on the
>server. The ports should be in some state (WAITING, LISTEN, or
something).

Richard: I'm using iptables also. Does this mean I should have 32778 &
32779 open? What does "Middlebox testing" do anyway?

No, If you are running in multi-client mode you need to have all port above 1024 open because the server could pick any 2 open ports. If you are running in single-client mode then ports 3001, 3002, & 3002 open for the testing and 7123 open for the web server front end (assuming you use the default values).

The middlebox testing opens and closes a TCP connection. The server sets the TCP MSS value to a specific value and examines the Web100 variables to see if the client accepted that value. If not, it assumes that a middlebox changed the value. It also sends the source and dest IP addresses back to the client. The client compares these addresses to the addresses it used to see if a NAT box is in the path.

Regards;
Rich
Thanks-
-Craig Pepmiller
-MOREnet, Univ. of MO

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



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