370 likes | 617 Views
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.
E N D
MPTCP TEST-BED • Members of group: • Pham Nguyễn Huy Phương • Nguyen Thi Mai Trang • Từ Minh Mẫn • Đặng Lê Nam MULTIPATH TCP TEST-BEDBased on IETF [1] working group MPTCP
Introduction Background on MPTCP Performance tests Test scenarios & Results Issues Conclusions MPTCP TEST-BED Outline
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. MPTCP TEST-BED Project Objectives
Introduction Background on MPTCP Performance tests Test scenarios & Results Issues Conclusions MPTCP TEST-BED Outline
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: MPTCP TEST-BED What is Multipath TCP (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. MPTCP TEST-BED Functional Goals
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. MPTCP TEST-BED Compatibility Goals
Introduction Background on MPTCP Performance tests Test scenarios & Results Issues Conclusions MPTCP TEST-BED Outline
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 throughInternet 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. MPTCP TEST-BED Performance Tests
Introduction Background on MPTCP Performance tests Test scenarios & Results Issues Conclusions MPTCP TEST-BED Outline
Expected results: • Double throughput in comparison to which of regular single TCP case. MPTCP TEST-BED Scenario 1 - Architecture
MPTCP TEST-BED Scenario 1 – Results (1) • 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.
MPTCP TEST-BED Scenario 1 – Results (2) Throughput graph of 1st subflow (left) and 2nd subflow (right)
MPTCP TEST-BED Scenario 1 – Results (3) • 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 TEST-BED Scenario 1 – Results (4) RTT graph of 1st subflow (left) and 2nd subflow (right) • RTTs in case of MPTCP remain stable and are almost the same in each subflow.
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. MPTCP TEST-BED Scenario 2 - Architecture
MPTCP TEST-BED Scenario 2 – Results (1) • Total throughput is similar to or littlelarger than which of single TCP case. • Throughput of 2nd subflow is muchless than which of 1st subflow and which of single TCP case due to different delays between 2 subflows.
MPTCP TEST-BED Scenario 2 – Results (2) Throughput graph of 1st subflow (left) and 2nd subflow (right)
MPTCP TEST-BED Scenario 2 – Results (3) • 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.
MPTCP TEST-BED Scenario 2 – Results (4) RTT graph of 1st subflow (left) and 2nd subflow (right) • RTT of 1st subflow remains more stable and lower than which of 2nd subflow.
Expected results: • Higher throughput than which of single TCP case. MPTCP TEST-BED Scenario 3 - Architecture
MPTCP TEST-BED Scenario 3 – Results (1) • 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.
MPTCP TEST-BED Scenario 3 – Results (2) Throughput graph of 1st subflow (left) and 2nd subflow (right)
MPTCP TEST-BED Scenario 3 – Results (3) • 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.
MPTCP TEST-BED Scenario 3 – Results (4) RTT graph of 1st subflow (left) and 2nd subflow (right) • RTT of 1st subflow of MPTCP is morestable and lower than which in case of 2nd subflow of MPTCP.
Expected results: • Throughput may be low due to different delays between 2 links and high loss rate when transmitting through Internet. MPTCP TEST-BED Scenario 4 - Architecture
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. MPTCP TEST-BED Scenario 4 - Results
Introduction Background on MPTCP Performance tests Test scenarios & Results Issues Conclusions MPTCP TEST-BED Outline
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. MPTCP TEST-BED Issues
Introduction Background on MPTCP Performance tests Test scenarios & Results Issues Conclusions MPTCP TEST-BED Outline
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.). MPTCP TEST-BED Conclusions
[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/ MPTCP TEST-BED References
THANKS FOR YOUR ATTENTION! MPTCP TEST-BED
MPTCP TEST-BED Q & A ?