1 / 21

MultiPath TCP Proxy

MultiPath TCP Proxy. Presented by: Yongzhi Zhuang, Wei Zeng, Jianlei Zhang. TCP. two functions: reliable transmit and congestion control 95% Internet traffic driven by TCP Single TCP connection not support different application interfaces

ninon
Download Presentation

MultiPath TCP Proxy

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MultiPath TCP Proxy Presented by: Yongzhi Zhuang, Wei Zeng, Jianlei Zhang

  2. TCP • two functions: reliable transmit and congestion control • 95% Internet traffic driven by TCP • Single TCP connection not support different application interfaces • Today, high demanding applications increaseing very fast.

  3. MultiPath TCP • Allow single data connection to use for multi interfaces • Resource pooling helps to increase bandwidth • Possible to switch between interfaces • Establish several subflows for the same connection

  4. MPTCP Scenario

  5. MultiPath Proxy • Problem: • most of the servers not support MultiPath TCP • Solution: • set up a proxy on the path

  6. MPTCP Scenario(mobile client) • MPTCP client sends SYN to proxy with the server’s address, proxy initiates connection to server.

  7. MPTCP Scenario(mobile client) • New subflow connets to the server

  8. MPTCP Scenario(mobile client) • After the proxy knows server is MP_CAPABLE, sends ADD_ADDRESS to client. • New subflow will be set up directly from client to server with proxy used as backup. • Data traffic not bother proxy.

  9. Our Goal • Primary Goal: • Implement a basic MPTCP proxy between MPTCP client and Non-MPTCP server, then increasingly improve its functionality • Optional Goal: • Consistent with congestion control algorithm • TCP checksum validation

  10. MPTCP Proxy MPTCP Client MPTCP Proxy Server

  11. Implicit vs. Explicit • Explicit Proxy • Configured client to use the proxy for all connection • Signaling Problem: How to tell the real destination • Implicit Proxy • Transparent to Client and Server • Deploy on the direct routing path between Client and Server • Inspect and then inject the packet

  12. Connection Setup MPTCP Client MPTCP Proxy Server 1. SYN MP_CAPABLE Intercept 3. SYN ACK MP_CAPABLE 2. SYN ACK NON MP_CAPABLE 4. ADD_ADDR(Address of Proxy) 5. Tell Client to use proxy directly (e.g. REMOVE_ADDR(Address of Server))

  13. Connection Setup: Issues • Intercept the packet and establish the connection without breaking the original handshake • Client’s other interface may use other path to establish sub connection with server before we indicate the client to use proxy

  14. Data Transfer MPTCP Client MPTCP Proxy Server F1 seqno. 1000 DSN 0 seqno. 1, 2, 3 F2. seqno. 2000 DSN 1 F1 seqno. 1001 DSN 2

  15. Data Transfer: Issues • Data Sequence Number Mapping • Data re-assemble and re-order • Acknowledgement Mechanism • Congestion Control and Performance

  16. Approach • User space packet handling • Data transfer • Data Sequence mapping between sub-flows • Basic Acknowledgement mechanism • TCP Proxy  MPTCP Proxy • State machine • Rules about how to transform packet and what need to be transform

  17. Role • Yongzhi, Zhuang • Key coder • Jianlei, Zhang • Documentation work meeting notes & report writing • Testing & evaluation • Wei, Zeng • Project manager assign work to each member, keep project processing in time • Seconder coder

  18. Time Plan • Background Research – 2 week • Initial Design - 1 week • Implementation – 5 weeks • Minimum requirements • Packets handle • Connection setup • Data uplink forwarding • Data downlink forwarding • Optional Functions • Congestion Control • Checksum • Testing and Evaluation – 2 weeks • Dissertation Writing – 2 weeks

  19. Gantt Chart

  20. Resource Manage • Version Control System Google Code + SVN http://code.google.com/p/mptcp-proxy/ • Documentation Evernote: using a shared account to manage meeting notes, design drafts, relative materials.

  21. Risk Management • Schedule flaws Lack of through understanding the work involved, under estimate the time need to complete certain function. Group members may have some unexpected issues in this summer. • Technical Issues Because of the current internet structure and protocol, we may meet some unsolvable problem. • Design mistake and Bug We may spend a a lot time in going wrong direction, and solving bug. • Control Risk Define minimum requirements, keep the whole processing as fast as the plan.

More Related