Download presentation
Presentation is loading. Please wait.
Published byOscar Robertson Modified over 9 years ago
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 2. SYN ACK NON MP_CAPABLE 3. SYN ACK MP_CAPABLE Intercept 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 seqno. 1, 2, 3 F2. seqno. 2000 DSN 1 F1 seqno. 1001 DSN 2 F1 seqno. 1000 DSN 0
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.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.