360 likes | 373 Views
This master thesis presentation explores the concept of multiple path connection in network routing using a set of connection relay servers. The performance of this approach is discussed, along with lessons learned and future work.
E N D
Multiple Path Connection through a Set of Connection Relay Servers Master Thesis Presentation Syama S Kosuri Department of Computer Science Univ. of Colorado at Colorado Springs
Outline of the Talk • Background and Motivation • Related Work • MPC-CRS • Performance of MPC-CRS • Lessons learned • Future work
Internet Explosion • Started with ARPANET in 1969. • Factors contributing to explosion • multimedia • P2P applications • Impact • Poor application performance • Congested networks • Frequent break-downs • Forecasted traffic by 2007 – 5175 peta bits [IDC]
Obvious Solution • Upgrade or add new network infrastructure to meet the growing demand • Then what is the problem? • A very costly affair • Time consuming too…
What Is the Alternative? • Devise methods to make use of the available bandwidth effectively • What is the effective bandwidth of a network? – Lowest bandwidth of all links in a network
Multipath Routing • Single path Vs. Multiple paths
Advantages Of Multipath Routing • Increased network performance • Application can use the paths that best suit its needs • Aggregate path resources • Improved security
Available Multipath Solutions • Data Link Layer • Network Layer • Transport Layer • Parallel download from multiple mirror sites
Data Link Layer • combining multiple physical network links between two devices into a single logical link for increased bandwidth Taken from - Yu Cai, "On Proxy Server Based Multipath Connection", PhD dissertation, UCCS, 2005
Network Layer • Network Layer • Table-driven algorithms • Source Routing • Multi Protocol Label Switching (MPLS)
Transport Layer • Transport layer: • (parallel) pTCP [1 ]: subflow control via SM (stripped manager) and TCP-v (virtual); no UDP support. • (multiple) mTCP [2]: subflow control – a TCP subflow on each path; one-way only; no UDP support. • TCP congestion control • TCP Westwood [3]: use measured “residual bandwidth” instead of 1/2 * cwnd in fast retransmit and slow start. • TCP-PR [4]: use a TCP timer for TCP persistent reordering problem.
Parallel Download from Multiple Mirror Sites • History-based TCP parallel access • Dynamic TCP parallel access Ref: http://research.microsoft.com/~pablo/paraload.aspx
Work at UCCS • Proxy Server based Multipath Connection (PSMC) • Yu cai and Frank watson • Data striping was implemented at the IP layer • Data reassembly using double buffer for TCP • Allows support for TCP and UDP • Cons • TCP persistent reordering problem in multipath environment. • TCP packets are likely to reach destination out of sequence number, which cause serious performance degradation. • Solution is to implemented a double buffering scheme on TCP layer • Need to change the sender and receiver’s operating system network related code
Bit Torrent • Popular P2P file distribution system • File is broken down to pieces (~ 1MB) • Fragments are downloaded from peers • Packets are reassembled on the client side. • Pros • Faster downloads • No server congestion • Cons • Multiple peers should have same file!! • Legal issues
Limitations With Current Solutions • Hardware dependent • Platform dependent • Complex to setup and configure • Changes to end points
Proposed Solution Multiple Path Connections using Connection Relay Servers - MPCCRS
Requirements • Provide multiple path data transmission • Hardware independent • Platform independent • Easy and Quick to setup • Compatible with current internet infrastructure
Implementation Client Communication Set client to forward requests to client proxy
Clientproxy Communication • Check in cache • Create MD5 digest • Forward request to SP • Wait for client collector response
Serverproxy Communication • Calculate Bandwidths of available paths when started • Create MD5 digest • Select service paths • Fill in packets and send data
Client Collector Communication • Collect packets • Assemble data bytes • Store complete data • Communicate with client proxy
Packet Data • Application data • Byte range • File name • Packet number • Connection status
How Data Collected • Multiple sizes of data • 1,2, & 3 paths
Lessons Learnt • It took good amount of time figuring out how to synchronize between the two streams of data • Management of shared resources is complicated. • Lot of time was spent on understanding HTTP protocol • Learnt and used lot of socket programming
Future Work • Extend MPC-CRS to run applications using multimedia/streaming protocols • Establishing security and trust between proxy and CRS servers • Efficient way to place the servers across the internet to take full advantage of MPC-CRS
Contribution • Studied existing multipath systems • Identified limitations of existing systems • Built a multipath system that overcomes existing limitations • Architecture and design • Implementation • Performance testing • Documented results • Proposed areas of future work
Additional References • [1] H. Hsieh, et. al., “ptcp: An end-to-end transport layer protocol for striped connections”, In Proceedings of IEEE ICNP, 2002. • [2] M. Zhang, et. al., “A Transport Layer Approach for Improving End-to-End Performance and Robustness Using Redundant Paths”, In Proc. of the USENIX 2004 Annual Technical Conference. 2004. • [3] C. Casetti, et. al., "TCP Westwood: End-to-End Congestion Control for Wired/Wireless Networks", In Wireless Networks Journal 8, 467-479, 2002 • [4] S. Bohacek, et. al. “A New TCP for Persistent Packet Reordering”, In Transactions on Networking, 2004.