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

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

Embed Size (px)

Citation preview

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

MultiPath TCP Proxy

Presented by: Yongzhi Zhuang,Wei Zeng,

Jianlei Zhang

Page 2: 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

Today, high demanding applications increaseing very fast.

Page 3: MultiPath TCP Proxy Presented by: Yongzhi Zhuang, Wei Zeng, Jianlei Zhang

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

Page 4: MultiPath TCP Proxy Presented by: Yongzhi Zhuang, Wei Zeng, Jianlei Zhang

MPTCP Scenario

Page 5: MultiPath TCP Proxy Presented by: Yongzhi Zhuang, Wei Zeng, Jianlei Zhang

MultiPath Proxy

• Problem: – most of the servers not support MultiPath TCP

• Solution:– set up a proxy on the path

Page 6: MultiPath TCP Proxy Presented by: Yongzhi Zhuang, Wei Zeng, Jianlei Zhang

MPTCP Scenario(mobile client)

• MPTCP client sends SYN to proxy with the server’s address, proxy initiates connection to server.

Page 7: MultiPath TCP Proxy Presented by: Yongzhi Zhuang, Wei Zeng, Jianlei Zhang

MPTCP Scenario(mobile client)

• New subflow connets to the server

Page 8: MultiPath TCP Proxy Presented by: Yongzhi Zhuang, Wei Zeng, Jianlei Zhang

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.

Page 9: MultiPath TCP Proxy Presented by: Yongzhi Zhuang, Wei Zeng, Jianlei Zhang

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

Page 10: MultiPath TCP Proxy Presented by: Yongzhi Zhuang, Wei Zeng, Jianlei Zhang

MPTCP Proxy

MPTCP Client

MPTCP Proxy

Server

Page 11: MultiPath TCP Proxy Presented by: Yongzhi Zhuang, Wei Zeng, Jianlei Zhang

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

Page 12: MultiPath TCP Proxy Presented by: Yongzhi Zhuang, Wei Zeng, Jianlei Zhang

Connection SetupMPTCP Client

MPTCP Proxy

Server

1. SYN MP_CAPABLE

2. SYN ACK NON MP_CAPABLE3. 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))

Page 13: MultiPath TCP Proxy Presented by: Yongzhi Zhuang, Wei Zeng, Jianlei Zhang

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

Page 14: MultiPath TCP Proxy Presented by: Yongzhi Zhuang, Wei Zeng, Jianlei Zhang

Data TransferMPTCP Client

MPTCP Proxy

Server

seqno. 1, 2, 3F2. seqno. 2000 DSN 1

F1 seqno. 1001 DSN 2

F1 seqno. 1000 DSN 0

Page 15: MultiPath TCP Proxy Presented by: Yongzhi Zhuang, Wei Zeng, Jianlei Zhang

Data Transfer: Issues

• Data Sequence Number Mapping • Data re-assemble and re-order • Acknowledgement Mechanism• Congestion Control and Performance

Page 16: MultiPath TCP Proxy Presented by: Yongzhi Zhuang, Wei Zeng, Jianlei Zhang

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

Page 17: MultiPath TCP Proxy Presented by: Yongzhi Zhuang, Wei Zeng, Jianlei Zhang

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

Page 18: MultiPath TCP Proxy Presented by: Yongzhi Zhuang, Wei Zeng, Jianlei Zhang

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

Page 19: MultiPath TCP Proxy Presented by: Yongzhi Zhuang, Wei Zeng, Jianlei Zhang

Gantt Chart

Page 20: MultiPath TCP Proxy Presented by: Yongzhi Zhuang, Wei Zeng, Jianlei Zhang

Resource Manage

• Version Control SystemGoogle Code + SVNhttp://code.google.com/p/mptcp-proxy/

• DocumentationEvernote: using a shared account to manage

meeting notes, design drafts, relative materials.

Page 21: MultiPath TCP Proxy Presented by: Yongzhi Zhuang, Wei Zeng, Jianlei Zhang

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 IssuesBecause 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 RiskDefine minimum requirements, keep the whole processing as fast as the plan.