MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

34
06/13/22 MPTCP TEST-BED 1 Members of group: Pham Nguyễn Huy Phương Nguyen Thi Mai Trang Từ Minh Mẫn Đặng Lê Nam

description

Members of group: Pham Nguyễn Huy Phương Nguyen Thi Mai Trang Từ Minh Mẫn Đặng Lê Nam. MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP. Introduction Background on MPTCP Performance tests Test scenarios & Results Issues Conclusions. Outline. - PowerPoint PPT Presentation

Transcript of MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

Page 1: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

04/20/23MPTCP TEST-BED

1

Members of group:

Pham Nguyễn Huy Phương

Nguyen Thi Mai Trang

Từ Minh Mẫn

Đặng Lê Nam

Page 2: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

1. Introduction2. Background on MPTCP3. Performance tests4. Test scenarios & Results5. Issues6. Conclusions

04/20/23MPTCP TEST-BED

2

Page 3: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

The main purpose of this project is to test the new release of the MPTCP implementation in the Linux kernel and evaluate the performance of this new protocol. To achieve these goals, our work is: Using Iperf support for a client/server

application with Multipath TCP as transport protocol.

Measuring and analyzing the performance of Multipath TCP in comparison to single-path TCP.

04/20/23MPTCP TEST-BED

3

Page 4: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

1. Introduction2. Background on MPTCP3. Performance tests4. Test scenarios & Results5. Issues6. Conclusions

04/20/23MPTCP TEST-BED

4

Page 5: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

MPTCP is an under standardization transport protocol which allows a TCP session to use simultaneously multiple available paths. The two key benefits of MPTCP are: To increase the resilience of the connectivity by

providing multiple paths. To increase the efficiency of the resource

usage. Example:

04/20/23MPTCP TEST-BED

5

INTERNET

Host A Host B

A1

A2B2

B1

Page 6: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

Improve Throughput: Multipath TCP must support the simultaneous use of multiple paths.

Improve Resilience: Multipath TCP must support the interchangeable use of multiple paths.

04/20/23MPTCP TEST-BED

6

Page 7: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

Application Compatibility: Follow the same service model as TCP: in-order,

reliable, and byte-oriented delivery. Network Compatibility:

Be compatible with the Internet, including being able to traverse middleboxes such as firewalls, NATs, etc.

Fall back to regular TCP if there is any incompatibility for the multipath transmission over a path.

Compatibility with other Network User: Not illegally harm users using single-path TCP at

shared bottlenecks.

04/20/23MPTCP TEST-BED

7

Page 8: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

1. Introduction2. Background on MPTCP3. Performance tests4. Test scenarios & Results5. Issues6. Conclusions

04/20/23MPTCP TEST-BED

8

Page 9: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

Using MPTCP, we expect its throughput is improved significantly than when using TCP. Therefore, by using Wireshark, we will analyze the throughput of transmitting data with MPTCP.

When transmission error or packet loss occurs, MPTCP must be able to deal with it (retransmit on another path, etc.). Thus, analyzing the packet loss is also important.

We intend to have a test in which data is transmitted through Internet to observe the MPTCP ability to traverse middleboxes (NATs, Firewalls, etc.).

Some other test scenarios for more precise analysis: The simple cases in which machines connect to each

other directly (each with 2 Ethernet cards or 1 Ethernet card and 1 Wireless card).

Machines connect to each other through a LAN network.

04/20/23MPTCP TEST-BED

9

Page 10: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

1. Introduction2. Background on MPTCP3. Performance tests4. Test scenarios & Results5. Issues6. Conclusions

04/20/23MPTCP TEST-BED

10

Page 11: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

Expected results: Double throughput in comparison to which of

regular single TCP case.

04/20/23MPTCP TEST-BED

11

192.168.2.0

192.168.3.0

Server Client

Page 12: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

04/20/23MPTCP TEST-BED

12

MPTCP TCPTest No. 1st 2nd 3rd 1st 2nd 3rd Transmission size

~100 MBytes 1st subflow:

51.5 MBytes 2nd subflow:

48.7 MBytes

1st subflow: 50 MBytes

2nd subflow: 48.9 MBytes

1st subflow: 51.1 MBytes

2nd subflow: 48.2 MBytes

Throughput 188.2 Mbps 186.2 Mbps 186.4 Mbps 98 Mbps 97.9 Mbps 97.9 Mbps 1st subflow:

96.8 Mbps 2nd subflow:

91.4 Mbps

1st subflow: 94.1 Mbps

2nd subflow: 92.1 Mbps

1st subflow: 96.3 Mbps

2nd subflow: 90.1 Mbps

Transmission time

4.47 sec 4.45 sec 4.45 sec 8.65 sec 8.65 sec 8.65 sec

Total throughput is as doubled as which in single TCP case due to the fact two Ethernet links have the same delay and same length.

Throughput of each subflow is similar to which in single TCP case.

Page 13: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

04/20/23MPTCP TEST-BED

13

Throughput graph of 1st subflow (left) and 2nd subflow (right)

Page 14: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

04/20/23MPTCP TEST-BED

14

The average Cwnd in each subflow is much less than which in single TCP case.

The average RTT in each subflow is much less than which in single TCP case.

MPTCP TCPTest No. 1st 2nd 3rd 1st 2nd 3rd

Subflow No. 1st 2nd 1st 2nd 1st 2nd

Congestion window statistics

max owin (bytes)

81201 49001 109201 56001 117601 100801 372401 371001 364001

avg owin (bytes)

2126 2850 2213 2895 2144 2876 189027 194319 191051

initial window (bytes)

24 1400 24 1400 24 1400 2824 2824 2824

RTT statistics RTT samples 18266 16460 17680 16502 18119 16295 35238 34585 34955RTT min (ms) 0.0 0.0 0.0 0.0 0.0 0.0 0.1 0.2 0.2RTT max (ms) 0.1 15.3 0.1 0.3 0.5 17.6 31.0 31.0 31.0RTT avg (ms) 0.0 0.0 0.0 0.0 0.0 0.0 16.1 16.3 16.2duplicate acks 1 920 1 899 1 875 0 1 0triple dup acks

0 91 0 71 0 82 0 0 0

Page 15: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

04/20/23MPTCP TEST-BED

15

RTTs in case of MPTCP remain stable and are almost the same in each subflow.

RTT graph of 1st subflow (left) and 2nd subflow (right)

Page 16: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

Expected results: Lower throughput than which of scenario 1

but still higher than which of single TCP case if delays of 2 links are not much different.

04/20/23MPTCP TEST-BED

16

192.168.2.0

Server Client192.168.1.0

AP

192.168.1.0

Page 17: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

04/20/23MPTCP TEST-BED

17

MPTCP TCPTest No. 1st 2nd 3rd 4th 1st 2nd 3rd Transmission size

~100 MBytes 1st subflow:

90.76 MBytes 2nd subflow:

3.1 MBytes

1st subflow: 96.65 MBytes

2nd subflow: 3.95 MBytes

1st subflow: 97 MBytes

2nd subflow: 3.63 MBytes

1st subflow: 96.2 MBytes

2nd subflow: 4.3 MBytes

Throughput 87.8 Mbps 99.77 Mbps 99.7 Mbps 100.06 Mbps 98 Mbps 97.9 Mbps 97.9 Mbps 1st subflow:

84.9 Mbps 2nd subflow:

2.9 Mbps

1st subflow: 95.87 Mbps

2nd subflow: 3.9 Mbps

1st subflow: 96.1 Mbps

2nd subflow: 3.6 Mbps

1st subflow: 95.76 Mbps

2nd subflow: 4.3 Mbps

Transmission time

8.9 sec 8.4 sec 8.47 sec 8.4 sec 8.65 sec 8.65 sec 8.65 sec

Total throughput is similar to or little larger than which of single TCP case.

Throughput of 2nd subflow is much less than which of 1st subflow and which of single TCP case due to different delays between 2 subflows.

Page 18: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

04/20/23MPTCP TEST-BED

18

Throughput graph of 1st subflow (left) and 2nd subflow (right)

Page 19: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

MPTCP TCPTest No. 1st 2nd 3rd 4th 1st 2nd 3rd

Subflow No. 1st 2nd 1st 2nd 1st 2nd 1st 2nd

Congestion window statistics

max owin (bytes)

6252401

49001 224001 40601 184801 60201 200201 57401 372401 371001 364001

avg owin (bytes)

9142 20752 91894 16923 91961 20095 91863 23932 189027 194319 191051

initial window (bytes)

2824 4200 2824 3992 24 4200 2824 3992 2824 2824 2824

RTT statistics

RTT samples 32028 1002 34218 1309 34362 1219 34067 1479 35238 34585 34955

RTT min (ms) 0.3 4.3 0.4 4.1 0.4 3.9 0.5 6.4 0.1 0.2 0.2

RTT max (ms) 39.0 197.7 17.7 139.9 46.9 118.6 44.8 136.0 31.0 31.0 31.0

RTT avg (ms) 0.6 51.3 7.8 34.3 7.8 42.6 7.8 45.2 16.1 16.3 16.2

duplicate acks 0 174 0 166 0 132 0 115 0 1 0

triple dup acks

0 12 0 13 0 10 0 7 0 0 0

04/20/23MPTCP TEST-BED

19

The average Cwnd of 1st subflow is larger than which of 2nd subflow.

The average RTT of 1st subflow is less than which of 2nd subflow.

Page 20: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

04/20/23MPTCP TEST-BED

20

RTT of 1st subflow remains more stable and lower than which of 2nd subflow.

RTT graph of 1st subflow (left) and 2nd subflow (right)

Page 21: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

Expected results: Higher throughput than which of single TCP

case.

04/20/23MPTCP TEST-BED

21

Switch

10.20.21.0

AP

Server Client

10.20.21.0

Page 22: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

04/20/23MPTCP TEST-BED

22

MPTCP TCPTest No. 1st 2nd 3rd 1st 2nd

Testing time 15h 15h 16h 16hTransmission size

~100 MBytes 1st subflow: 97.4

MBytes 2nd subflow: 2.8

MBytes

1st subflow: 97 MBytes

2nd subflow: 4.2 MBytes

1st subflow: 96.4 MBytes

2nd subflow: 2.6 MBytes

Throughput 83.9 Mbps 64.24 Mbps 90.47 Mbps 92.5 Mbps 93.2 Mbps 1st subflow: 81.6

Mbps 2nd subflow: 2.3

Mbps

1st subflow: 61.57 Mbps

2nd subflow: 2.67 Mbps

1st subflow: 88.07 Mbps

2nd subflow: 2.4 Mbps

Transmission time

10 sec 13.2 sec 9.18 sec 8.8 sec 8.74 sec

Total throughput of the best case is similar to which in single TCP case.

Throughput of 2nd subflow is almost not considerable in comparison to which of 1st subflow and which in single TCP case.

Page 23: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

04/20/23MPTCP TEST-BED

23

Throughput graph of 1st subflow (left) and 2nd subflow (right)

Page 24: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

04/20/23MPTCP TEST-BED

24

MPTCP Single TCPTest No. 1st 2nd 3rd 1st 2nd

Subflow No. 1st 2nd 1st 2nd 1st 2nd

Congestion window statistics

max owin (bytes)

669201 29401 22401 89601 2036801 35001 7123201 22401

avg owin (bytes)

2112 3356 2097 4062 2135 2989 2210 2099

initial window (bytes)

24 1400 24 1400 24 1192 24 24

RTT statistics RTT samples 34586 985 34477 1492 35193 940 33230 35833

RTT min (ms) 0 0 0 0 0 0 0 0

RTT max (ms) 40 39.7 39.6 16.7 0.7 39.6 6.6 6.1

RTT avg (ms) 0 0.3 0 0 0 0.1 0 0

duplicate acks 0 464 0 571 0 448 1 0

triple dup acks

0 5 0 3 0 2 0 0

Numbers of duplicate ACKs in 2nd subflows are large due to transmission delay or transmission loss through the LAN.

The average Cwnd in 2nd subflows are usually larger than which in 1st subflows and in single TCP case. The average RTT in all subflows are almost similar to which in single TCP case.

Page 25: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

04/20/23MPTCP TEST-BED

25

RTT of 1st subflow of MPTCP is more stable and lower than which in case of 2nd subflow of MPTCP.

RTT graph of 1st subflow (left) and 2nd subflow (right)

Page 26: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

Expected results: Throughput may be low due to different

delays between 2 links and high loss rate when transmitting through Internet.

04/20/23MPTCP TEST-BED

26

INTERNET

192.168.1.0 192.168.2.0

Client

192.168.1.0 192.168.2.0

Server

LAN01 LAN02

Page 27: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

Single TCP: Done with two LANs, each connects to the Internet. Configure NAT on each router in order to route the

transmitted data to the specified IP address on each LAN. It can work as well as we expected.

MPTCP: Similarly done with two LANs. In this case we tried with

two interfaces, Ethernet card and Wireless card. Data was transmitted over only one interface.

The problem may come from NAT functionality. At a time, NAT can be configured with only one IP address and only one port, while for MPTCP operation, more than one IP address and port is needed.

04/20/23MPTCP TEST-BED

27

Page 28: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

1. Introduction2. Background on MPTCP3. Performance tests4. Test scenarios & Results5. Issues6. Conclusions

04/20/23MPTCP TEST-BED

28

Page 29: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

Unstability of MPTCP kernel in supporting wireless driver.

TCP Option inconsistency: Based on what we investigated, the used TCP option for

MPTCP transmission is not the same as the current specification of MPTCP.

This difference may come from the fact that the current MPTCP implementation is just the draft version and it may be modified later.

04/20/23MPTCP TEST-BED

29

Page 30: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

1. Introduction2. Background on MPTCP3. Performance tests4. Test scenarios & Results5. Issues6. Conclusions

04/20/23MPTCP TEST-BED

30

Page 31: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

About MPTCP: MPTCP provides a solution to increase the throughput of data

transmission by making use of all available paths between hosts. MPTCP can be used transparently to the Application layer. MPTCP messages can be easily analyzed through TCP options. Currently MPTCP implementation is not complete; there are still

some inconsistencies between the draft specification and the current implementation.

About our achievements: Understand sufficiently about MPTCP architecture and be able to

apply its implementation to obtain expected results. Get experience of working in group, managing a whole project,

reporting and presenting. Need further investigation about MPTCP for deeper understanding

(coupled congestion control, etc.).

04/20/23MPTCP TEST-BED

31

Page 32: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

[1]: MPTCP specification of Internet Engineering Task Force: http://datatracker.ietf.org/wg/mptcp/

[2]: The IP Network Lab of the Department of Computing Science and Engineering: http://inl.info.ucl.ac.be/mptcp

[3]: Elearning Forum: http://www.5info.vn [4]: tcptrace tool and guideline to analyze TCP dump files :

http://tcptrace.org/ [5]: Transport Next Generation document:

http://tools.ietf.org/html/draft-iyengar-ford-tng-00 [6]: Architecture of MPTCP: http://tools.ietf.org/wg/mptcp/draft-ietf-

mptcp-architecture/ [7]: TCP Extensions for Multipath Operation with Multiple Addresses:

http://tools.ietf.org/wg/mptcp/draft-ietf-mptcp-multiaddressed/ [8]: Coupled Congestion Control for MPTCP:

http://tools.ietf.org/wg/mptcp/draft-ietf-mptcp-congestion/

04/20/23MPTCP TEST-BED

32

Page 33: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

THANKS FOR YOUR ATTENTION!

04/20/23MPTCP TEST-BED

33

Page 34: MULTIPATH TCP TEST-BED Based on IETF [1] working group MPTCP

04/20/23MPTCP TEST-BED

34

?