Skip to Content.
Sympa Menu

ndt-dev - [ndt-dev] [ndt] r452 committed - Reordered diagrams in the NDTP-Tests.

Subject: NDT-DEV email list created

List archive

[ndt-dev] [ndt] r452 committed - Reordered diagrams in the NDTP-Tests.


Chronological Thread 
  • From:
  • To:
  • Subject: [ndt-dev] [ndt] r452 committed - Reordered diagrams in the NDTP-Tests.
  • Date: Thu, 04 Aug 2011 15:20:24 +0000

Revision: 452
Author:

Date: Thu Aug 4 08:19:35 2011
Log: Reordered diagrams in the NDTP-Tests.
http://code.google.com/p/ndt/source/detail?r=452

Modified:
/wiki/NDTProtocol.wiki

=======================================
--- /wiki/NDTProtocol.wiki Thu Aug 4 08:10:43 2011
+++ /wiki/NDTProtocol.wiki Thu Aug 4 08:19:35 2011
@@ -316,47 +316,6 @@

Middlebox test is a short throughput S2C test with a limited CWND to check for a duplex mismatch condition. Moreover, this test uses pre-defined MSS value to check if any intermediate node will modify its connection settings.

-==== MID Sequence diagram ====
-
-A Middlebox test session overview can be seen on the following sequence diagram:
-
-{{{
- +----------------+ +------------------+
- | Client | | Server |
- +----------------+ +------------------+
- | |
- | |----BIND NEW PORT--|
- | |
- |<---------TEST_PREPARE (PORT)----------|
- | |
- |------------CONNECT (PORT)------------>|
- | |
- | |
- |<----5 seconds s2c Throughput test-----|
- . .
- . .
- . .
- |<----5 seconds s2c Throughput test-----|
- | |
- | |
- |<---------TEST_MSG (RESULTS)-----------|
- | |
- |----------TEST_MSG (CLIENT RESULTS)--->|
- | |
- |<----------TEST_FINALIZE---------------|
- | |
- |<------CLOSE CONNECTION (PORT)--------x|
-}}}
-
-==== MID Throughput test ====
-
-The NDT Server in the MID Throughput test MUST send packets through the newly opened connection as fast as possible (i.e. without any delays) for 5 seconds. These packets must have the following size:
-{{{
-2 * (The current maximum segment size (MSS))
-}}}
-
-If for some reasons it is not possible to send such packets, the Server MUST send a 8192 Byte packets. The content of these packets SHOULD be as random as possible and MUST include only printable characters.
-
==== MID protocol ====

All messages exchanged between the Client and the Server during the MID protocol are sent using the same connection and message format as NDTP-Control protocol.
@@ -382,6 +341,13 @@

When the Client successfully connects, the NDT Server MUST start 5 seconds throughput test on the newly created connection.

+The NDT Server in the MID Throughput test MUST send packets through the newly opened connection as fast as possible (i.e. without any delays) for 5 seconds. These packets must have the following size:
+{{{
+2 * (The current maximum segment size (MSS))
+}}}
+
+If for some reasons it is not possible to send such packets, the Server MUST send a 8192 Byte packets. The content of these packets SHOULD be as random as possible and MUST include only printable characters.
+
When the test is over, Server MUST send its results encoded as strings in a TEST_MSG message to Client:
{{{
0 1 2 3
@@ -396,23 +362,12 @@
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
}}}
-
-These results are encoded as ascii strings with following format:
-{{{
-ServerIP;ClientIP;CurMSS;WinScaleSent;WinScaleRecv
-}}}

Next, the Client MUST send to the Server its calculated throughput value encoded as string (float format) in a TEST_MSG message.

At the end the Server MUST close the MID test session by sending an empty TEST_FINALIZE message.

-=== Simple firewall test ===
-
-Simple firewall test tries to find out any firewalls between Client and Server that will prevent connections to ephemeral port numbers. Test is performed in both directions (i.e. Client is trying to connect to Server (c2s) and Server is trying to connect to Client (s2c)).
-
-==== SFW Sequence diagram ====
-
-A Simple firewall test session overview can be seen on the following sequence diagram:
+A Middlebox test session overview can be seen on the following sequence diagram:

{{{
+----------------+ +------------------+
@@ -421,28 +376,32 @@
| |
| |----BIND NEW PORT--|
| |
- |<----TEST_PREPARE (S_PORT TEST_TIME)---|
+ |<---------TEST_PREPARE (PORT)----------|
| |
- |--BIND NEW PORT----| |
+ |------------CONNECT (PORT)------------>|
| |
- |----------TEST_MSG (C_PORT)----------->|
| |
- |<-------------TEST_START---------------|
+ |<----5 seconds s2c Throughput test-----|
+ . .
+ . .
+ . .
+ |<----5 seconds s2c Throughput test-----|
| |
- |-----------CONNECT (S_PORT)----------->|
- |<----------CONNECT (C_PORT)------------|
- |---TEST_MSG ("Simple firewall test")-->|
- |<--TEST_MSG ("Simple firewall test")---|
| |
|<---------TEST_MSG (RESULTS)-----------|
| |
+ |----------TEST_MSG (CLIENT RESULTS)--->|
+ | |
|<----------TEST_FINALIZE---------------|
| |
- |<-----CLOSE CONNECTION (S_PORT)-------x|
- |x-----CLOSE CONNECTION (C_PORT)------->|
+ |<------CLOSE CONNECTION (PORT)--------x|
}}}


+=== Simple firewall test ===
+
+Simple firewall test tries to find out any firewalls between Client and Server that will prevent connections to ephemeral port numbers. Test is performed in both directions (i.e. Client is trying to connect to Server (c2s) and Server is trying to connect to Client (s2c)).
+
==== SFW protocol ====

As a first step the Server MUST bind ephemeral port and send a TEST_PREPARE message containing this port number and test time (in seconds) to the Client:
@@ -503,13 +462,7 @@

At the end the Server MUST close the SFW test session by sending an empty TEST_FINALIZE message.

-=== C2S throughput test ===
-
-The C2S throughput test tests the achievable network bandwidth from the client to the server by performing a 10 second memory-to-memory data transfer.
-
-==== C2S Sequence diagram ====
-
-A C2S throughput test session overview can be seen on the following sequence diagram:
+A Simple firewall test session overview can be seen on the following sequence diagram:

{{{
+----------------+ +------------------+
@@ -518,30 +471,30 @@
| |
| |----BIND NEW PORT--|
| |
- |<---------TEST_PREPARE (PORT)----------|
+ |<----TEST_PREPARE (S_PORT TEST_TIME)---|
| |
- |------------CONNECT (PORT)------------>|
+ |--BIND NEW PORT----| |
+ | |
+ |----------TEST_MSG (C_PORT)----------->|
| |
|<-------------TEST_START---------------|
| |
- | |
- |----10 seconds c2s Throughput test---->|
- . .
- . .
- . .
- |----10 seconds c2s Throughput test---->|
- | |
+ |-----------CONNECT (S_PORT)----------->|
+ |<----------CONNECT (C_PORT)------------|
+ |---TEST_MSG ("Simple firewall test")-->|
+ |<--TEST_MSG ("Simple firewall test")---|
| |
|<---------TEST_MSG (RESULTS)-----------|
| |
|<----------TEST_FINALIZE---------------|
| |
- |<------CLOSE CONNECTION (PORT)--------x|
+ |<-----CLOSE CONNECTION (S_PORT)-------x|
+ |x-----CLOSE CONNECTION (C_PORT)------->|
}}}

-==== C2S Throughput test packets ====
-
-The NDT Client in the C2S Throughput test MUST send a 8192 Byte packets through the newly opened connection as fast as possible (i.e. without any delays) for 10 seconds. The content of these packets SHOULD be as random as possible and MUST include only printable characters.
+=== C2S throughput test ===
+
+The C2S throughput test tests the achievable network bandwidth from the client to the server by performing a 10 second memory-to-memory data transfer.

==== C2S protocol ====

@@ -568,6 +521,8 @@

The Client MUST start 10 seconds throughput test and the Server MUST read transmitted data.

+The NDT Client in the C2S Throughput test MUST send a 8192 Byte packets through the newly opened connection as fast as possible (i.e. without any delays) for 10 seconds. The content of these packets SHOULD be as random as possible and MUST include only printable characters.
+
When the Client stops streaming test data (or the test routine at Server times out), the Server MUST send to the Client its calculated throughput value encoded as string (float format) in the TEST_MSG message:
{{{
0 1 2 3
@@ -585,15 +540,7 @@

At the end the Server MUST close the C2S test session by sending an empty TEST_FINALIZE message.

-=== S2C throughput test ===
-
-The S2C throughput test tests the achievable network bandwidth from the Server to the Client by performing a 10 second memory-to-memory data transfer.
-
-The NDT Server uses a [http://www.web100.org/ web100] project to perform a detailed connection measurements. This means that the Server is also collecting the web100 data variables, that MUST be send to the Client at the end of the whole test session.
-
-==== S2C Sequence diagram ====
-
-A S2C throughput test session overview can be seen on the following sequence diagram:
+A C2S throughput test session overview can be seen on the following sequence diagram:

{{{
+----------------+ +------------------+
@@ -609,33 +556,25 @@
|<-------------TEST_START---------------|
| |
| |
- |<---10 seconds s2c Throughput test-----|
+ |----10 seconds c2s Throughput test---->|
. .
. .
. .
- |<---10 seconds s2c Throughput test-----|
+ |----10 seconds c2s Throughput test---->|
| |
| |
|<---------TEST_MSG (RESULTS)-----------|
| |
- |-------TEST_MSG (CLIENT RESULTS)------>|
- | |
- | |
- |<-------TEST_MSG (WEB100 VARS)---------|
- . .
- . .
- . .
- |<-------TEST_MSG (WEB100 VARS)---------|
- | |
- | |
|<----------TEST_FINALIZE---------------|
| |
|<------CLOSE CONNECTION (PORT)--------x|
}}}

-==== S2C Throughput test packets ====
-
-The NDT Server in the S2C Throughput test MUST send a 8192 Byte packets through the newly opened connection as fast as possible (i.e. without any delays) for 10 seconds. The content of these packets SHOULD be as random as possible and MUST include only printable characters.
+=== S2C throughput test ===
+
+The S2C throughput test tests the achievable network bandwidth from the Server to the Client by performing a 10 second memory-to-memory data transfer.
+
+The NDT Server uses a [http://www.web100.org/ web100] project to perform a detailed connection measurements. This means that the Server is also collecting the web100 data variables, that MUST be send to the Client at the end of the whole test session.

==== S2C protocol ====

@@ -662,6 +601,8 @@

The Server MUST start 10 seconds throughput test and the Client MUST read transmitted data.

+The NDT Server in the S2C Throughput test MUST send a 8192 Byte packets through the newly opened connection as fast as possible (i.e. without any delays) for 10 seconds. The content of these packets SHOULD be as random as possible and MUST include only printable characters.
+
When the Server stops streaming test data, it MUST send to the Client its calculated throughput value (encoded as string in float format), amount of unsent data in the socket send queue (encoded as string in integer format) and overall number of sent bytes (encoded as string in float format) in the TEST_MSG message:
{{{
0 1 2 3
@@ -703,36 +644,50 @@

At the end the Server MUST close the S2C test session by sending an empty TEST_FINALIZE message.

-=== META test ===
-
-The META test allows the Client to send an additional information to the Server to be included along with the overall set of test results. Information received from the Client is encoded as key/value pairs.
-
-==== META Sequence diagram ====
-
-A META test session overview can be seen on the following sequence diagram:
+A S2C throughput test session overview can be seen on the following sequence diagram:

{{{
+----------------+ +------------------+
| Client | | Server |
+----------------+ +------------------+
| |
- |<------------TEST_PREPARE--------------|
+ | |----BIND NEW PORT--|
+ | |
+ |<---------TEST_PREPARE (PORT)----------|
+ | |
+ |------------CONNECT (PORT)------------>|
| |
|<-------------TEST_START---------------|
| |
| |
- |----------TEST_MSG (META DATA)-------->|
+ |<---10 seconds s2c Throughput test-----|
. .
. .
. .
- |----------TEST_MSG (META DATA)-------->|
+ |<---10 seconds s2c Throughput test-----|
| |
| |
- |--------------TEST_MSG---------------->|
+ |<---------TEST_MSG (RESULTS)-----------|
+ | |
+ |-------TEST_MSG (CLIENT RESULTS)------>|
+ | |
+ | |
+ |<-------TEST_MSG (WEB100 VARS)---------|
+ . .
+ . .
+ . .
+ |<-------TEST_MSG (WEB100 VARS)---------|
+ | |
| |
|<----------TEST_FINALIZE---------------|
-
+ | |
+ |<------CLOSE CONNECTION (PORT)--------x|
}}}
+
+
+=== META test ===
+
+The META test allows the Client to send an additional information to the Server to be included along with the overall set of test results. Information received from the Client is encoded as key/value pairs.

==== META protocol ====

@@ -783,3 +738,28 @@
The Client MUST finish uploading its meta data by sending an empty TEST_MSG message.

At the end the Server MUST close the META test session by sending an empty TEST_FINALIZE message.
+
+A META test session overview can be seen on the following sequence diagram:
+
+{{{
+ +----------------+ +------------------+
+ | Client | | Server |
+ +----------------+ +------------------+
+ | |
+ |<------------TEST_PREPARE--------------|
+ | |
+ |<-------------TEST_START---------------|
+ | |
+ | |
+ |----------TEST_MSG (META DATA)-------->|
+ . .
+ . .
+ . .
+ |----------TEST_MSG (META DATA)-------->|
+ | |
+ | |
+ |--------------TEST_MSG---------------->|
+ | |
+ |<----------TEST_FINALIZE---------------|
+
+}}}


  • [ndt-dev] [ndt] r452 committed - Reordered diagrams in the NDTP-Tests., ndt, 08/04/2011

Archive powered by MHonArc 2.6.16.

Top of Page