TRANSPORT LAYER LOAD BALANCING IN FCS NETWORKS



Similar documents
Making SCTP More Robust to Changeover

TCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) Internet Protocol (IP)

Transport Layer Protocols

Simulation-Based Comparisons of Solutions for TCP Packet Reordering in Wireless Network

CS268 Exam Solutions. 1) End-to-End (20 pts)

TCP in Wireless Mobile Networks

APPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM

Transport layer issues in ad hoc wireless networks Dmitrij Lagutin,

TCP for Wireless Networks

Midterm Exam CMPSCI 453: Computer Networks Fall 2011 Prof. Jim Kurose

Requirements of Voice in an IP Internetwork

Improving the Performance of TCP Using Window Adjustment Procedure and Bandwidth Estimation

Improved Multiple File Transfer Protocol using Extended features of SCTP

SCTP over Satellite Networks

Mobile SCTP Transport Layer Mobility Management for the Internet

Low-rate TCP-targeted Denial of Service Attack Defense

Mobile Communications Chapter 9: Mobile Transport Layer

TCP and Wireless Networks Classical Approaches Optimizations TCP for 2.5G/3G Systems. Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

Lecture Objectives. Lecture 07 Mobile Networks: TCP in Wireless Networks. Agenda. TCP Flow Control. Flow Control Can Limit Throughput (1)

Student, Haryana Engineering College, Haryana, India 2 H.O.D (CSE), Haryana Engineering College, Haryana, India

Computer Networks. Chapter 5 Transport Protocols

Lecture 15: Congestion Control. CSE 123: Computer Networks Stefan Savage

SJBIT, Bangalore, KARNATAKA

Digital Audio and Video Data

A Survey: High Speed TCP Variants in Wireless Networks

An enhanced TCP mechanism Fast-TCP in IP networks with wireless links

Network Friendliness of Mobility Management Protocols

AN IMPROVED SNOOP FOR TCP RENO AND TCP SACK IN WIRED-CUM- WIRELESS NETWORKS

Stop And Wait. ACK received; transmit frame 2 CS 455 3

A Review on Quality of Service Architectures for Internet Network Service Provider (INSP)

Final for ECE374 05/06/13 Solution!!

ECE 358: Computer Networks. Homework #3. Chapter 5 and 6 Review Questions 1

QoS issues in Voice over IP

A Network-Controlled Architecture for SCTP Hard Handover

A Survey on Congestion Control Mechanisms for Performance Improvement of TCP

Secure SCTP against DoS Attacks in Wireless Internet

Influence of Load Balancing on Quality of Real Time Data Transmission*

Behavior Analysis of TCP Traffic in Mobile Ad Hoc Network using Reactive Routing Protocols

How To Provide Qos Based Routing In The Internet

Performance Evaluation of AODV, OLSR Routing Protocol in VOIP Over Ad Hoc

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages

Sources: Chapter 6 from. Computer Networking: A Top-Down Approach Featuring the Internet, by Kurose and Ross

Congestions and Control Mechanisms n Wired and Wireless Networks

Names & Addresses. Names & Addresses. Hop-by-Hop Packet Forwarding. Longest-Prefix-Match Forwarding. Longest-Prefix-Match Forwarding

An Improved TCP Congestion Control Algorithm for Wireless Networks

Using Fuzzy Logic Control to Provide Intelligent Traffic Management Service for High-Speed Networks ABSTRACT:

A Study of Internet Packet Reordering

Application Level Congestion Control Enhancements in High BDP Networks. Anupama Sundaresan

Ethernet. Ethernet. Network Devices

Adopting SCTP and MPLS-TE Mechanism in VoIP Architecture for Fault Recovery and Resource Allocation

Protocols and Architecture. Protocol Architecture.

Solving complex performance problems in TCP/IP and SNA environments.

High Speed Internet Access Using Satellite-Based DVB Networks

WAN Data Link Protocols

Introduction. Channel Associated Signaling (CAS) Common Channel Signaling (CCS) Still widely deployed today Considered as old technology

CSE 473 Introduction to Computer Networks. Exam 2 Solutions. Your name: 10/31/2013

Boosting mobility performance with Multi-Path TCP

Performance Analysis of AQM Schemes in Wired and Wireless Networks based on TCP flow

COMP 361 Computer Communications Networks. Fall Semester Midterm Examination

TCP over Wireless Networks

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages

Publication III. c 2003 IEEE. Reprinted with permission.

Final Exam. Route Computation: One reason why link state routing is preferable to distance vector style routing.

15-441: Computer Networks Homework 2 Solution

Understanding Latency in IP Telephony

Encapsulating Voice in IP Packets

Mobile Computing/ Mobile Networks

Per-Flow Queuing Allot's Approach to Bandwidth Management

First Midterm for ECE374 03/09/12 Solution!!

Network Layer: Network Layer and IP Protocol

Internet Protocol (IP)/Intelligent Network (IN) Integration

Giving life to today s media distribution services

Multipath TCP in Practice (Work in Progress) Mark Handley Damon Wischik Costin Raiciu Alan Ford

MLPPP Deployment Using the PA-MC-T3-EC and PA-MC-2T3-EC

Key Components of WAN Optimization Controller Functionality

The OSI model has seven layers. The principles that were applied to arrive at the seven layers can be briefly summarized as follows:

Networking Test 4 Study Guide

A Fast Path Recovery Mechanism for MPLS Networks

TCP in Wireless Networks

TCP Flow Control. TCP Receiver Window. Sliding Window. Computer Networks. Lecture 30: Flow Control, Reliable Delivery

PART III. OPS-based wide area networks

STANDPOINT FOR QUALITY-OF-SERVICE MEASUREMENT

EFFICIENT BANDWIDTH ESTIMATION MANAGEMENT FOR VOIP CONCURRENT MULTIPATH TRANSFER

Computer Network. Interconnected collection of autonomous computers that are able to exchange information

1 An application in BPC: a Web-Server

International Journal of Scientific & Engineering Research, Volume 6, Issue 7, July ISSN

Recovery Modeling in MPLS Networks

LAN Switching Computer Networking. Switched Network Advantages. Hubs (more) Hubs. Bridges/Switches, , PPP. Interconnecting LANs

ICOM : Computer Networks Chapter 6: The Transport Layer. By Dr Yi Qian Department of Electronic and Computer Engineering Fall 2006 UPRM

A Passive Method for Estimating End-to-End TCP Packet Loss

Understanding TCP/IP. Introduction. What is an Architectural Model? APPENDIX

Computer Networks - CS132/EECS148 - Spring

Introduction, Rate and Latency

Transcription:

RANSPOR LAYER LOAD BALANCING IN FCS NEWORKS Janardhan R. Iyengar, Paul D. Amer, Armando L. Caro, Jr. Protocol Engineering Lab Computer and Information Sciences University of Delaware iyengar, amer, acaro @cis.udel.edu Randall R. Stewart Cisco Systems Inc. rrs@cisco.com ABSRAC he Stream Control ransmission Protocol (SCP) allows for end-to-end load balancing in FCS networks to be performed at the transport layer, through repeated changeover. We present a problem in the current SCP (RFC2960) specification that results in unnecessary retransmissions and CPunfriendly growth of the sender s congestion window during certain changeover conditions. We first illustrate the problem using an example scenario. We then briefly describe the proposed solutions for problem and our future direction. 1 INRODUCION A node is multihomed if it can be addressed by multiple IP addresses [3], as would be the case when the host has multiple network interfaces. Network layer redundancy allows access to a host even if one of its IP addresses becomes unreachable; ideally packets can be rerouted to one of the host s alternate IP addresses. However, since IP is connectionless, end-to-end session persistence under failure conditions becomes the responsibility of the transport layer and above. o provide for such fault tolerance, the Stream Control ransmission Protocol (SCP) supports multihoming at the transport layer. SCP sessions, or associations, can dynamically span over multiple local and peer IP addresses so that an association can remain alive even if one of the endpoints addresses becomes unreachable. Multihoming also allows for end-to-end load balancing to be performed at the transport layer. Bearing in mind that all Prepared through collaborative participation in the Communications and Networks Consortium sponsored by the U. S. Army Research Laboratory under the Collaborative echnology Alliance Program, Cooperative Agreement DAAD19-01-2-0011. he U. S. Government is authorized to reproduce and distribute reprints for Government purposes notwithstanding any copyright notation thereon. resources available should be optimally used in FCS networks, our investigation focusses on utilizing all network resources visible at the transport layer. SCP [9] is a recent standards track transport layer protocol in the Internet Engineering ask Force (IEF). Of the salient features that distinguish SCP from CP, we concern ourselves with multihoming. SCP multihoming allows binding of one transport layer association to multiple IP addresses. his binding allows an SCP sender to send data to a multihomed receiver through different destination addresses. For instance, in figure 1, could send data to using destination address or. SCP s multihoming feature was motivated by fault tolerance; if one destination address becomes unreachable, the destination can still send and receive via other interfaces bound to the association. In a multihomed SCP association, the sender transmits data to its peer s primary destination address. SCP provides for application-initiated changeovers so that the sending application can change the sender s primary destination address, thus moving the outgoing traffic to a potentially different path 1. his feature can be used to perform end-to-end load balancing using SCP, thus helping FCS network elements exploit all network resources visible at the transport layer. We uncovered a problem in the current SCP (RFC2960) specification [9] that results in unnecessary retransmissions and CPunfriendly growth of the sender s congestion window under certain changeover conditions. In section 2, we present a specific example which illustrates the problem of cwnd overgrowth with SCP s currently 1 SCP was designed as a transport protocol for telephony signaling in SS7 networks. In an SS7 network the upper layers can dictate to which destination address packets will be sent, motivating the application-initiated changeover feature in SCP. 1 of 5

specified handling of changeover. Section 3 presents two changeover aware congestion control algorithms: Conservative CACC (C-CACC) and Split Fast Retransmit CACC (SFR- CACC), and the Rhein algorithm. In light of the bigger problem of end-to-end load balancing, we conclude with questions which describe our future direction in section 4. 2 CONGESION WINDOW OVERGROWH Host A A 1 A 2 Path1 Network Path2 Figure 1: Architecture used in example B 1 Host B B 2 In this section, we present an example illustrating the occurence of cwnd mishandling and unnecessary retransmissions with SCP s currently specified handling of changeover. he example uses the architecture shown in figure 1. Endpoints and have an SCP association between them. Both endpoints are multihomed, with network interfaces and, and with interfaces and 2. All four addresses are bound to the one SCP association. For several possible reasons (e.g., path diversity, policy based routing, load balancing), we assume in this example that the data traffic from to is locally routed through, and from to through. Non overlapping paths are assumed with the bottleneck bandwidth of path 1 being 10Mbps, and that of path 2 being 100Mbps. he propagation delay of both paths is 200ms, and the path MU for both paths is 1250 bytes. Figure 2 shows a timeline of events for our example. he vertical lines represent interfaces,, and. he numbers along the lines represent times in milliseconds. Each arrow depicts the departure of a packet from one interface and its arrival at the destination. he labels on the arrows are either SCP ransmission Sequence Numbers (SN) or labels of the form. Assuming one chunk per packet, every packet in the example corresponds to one SN. A number represents the SN of the chunk in the packet being transmitted. A label! "# represents a packet carrying a SACK chunk with cumulative ack, and gap ack for SNs for destination, and through. $ is the cwnd at $ is the cwnd at for destination. $% and $ are denoted in terms of MUs, not bytes. 2 More precisely, & ', &)(, *#' and *)( are IP addresses associated with link layer interfaces. Here we assume only one address per interface, so address and interface are used interchangeably. he assignments such as initial SN = 1 and initial time +#,.- are arbitrary assignments to signify the beginning of the snapshot. hese assignments are not meant to imply the beginning of the association. Initially, $,0/ because we assume that either there has been no transmission to before +!,1- during the lifetime of the association, or $ has decayed 3 to two 2 43 5 by +6,7-. 2.1 Example Description he sender ( ) initially sends to the receiver ( ) using primary destination address. his setting causes packets to leave through. Assume these packets leave the transport/network layers, and get buffered at s link layer 8, whereupon they get transmitted according to the channel s availability. his initial condition is depicted in figure 2 at time +9,:-, when in this example has 50 packets buffered on interface. At +,<;, as SNs 1-50 are being transmitted through, the sender s application changes the primary destination to, thus requiring any new data from to be sent to. In the example, we assume SN 51 is transmitted to the new primary at +#,1;. We refer to this moment as the changeover time. his new primary destination causes new SNs to leave the sender through. Concurrently, the packets buffered earlier at are still being transmitted. Previous packets sent through, and the packets sent through, can arrive at the receiver in an interleaved fashion on interfaces 8 and respectively. In figure 2, SNs 1, 51, 52 and 2 arrive at times 21, 21.1, 21.2, 22, respectively. his reordering is introduced as a result of changeover; the specific times depend on the delays of paths 1 and 2. he receiver starts reporting gaps as soon as it notices reordering. If the receiver communicates four missing reports to the sender before all of the original transmissions (SNs 1-50) have been acked, the sender will start retransmitting the unacked SNs. SCP s Fast Retransmit algorithm is based on CP s Fast Retransmit algorithm [4], with the additional use of selective acks and a modification to handle some cases of reordering 4. Accordingly, the SACKs resulting from the receipt of SNs 51-54 will be the only ones generating missing reports. he SACKs received by on at +=,?>@;BAC; and +D,E>@;BAF/ will be considered as the first and second missing 3 he cwnd for a destination address decays exponentially if no data is transmitted to that destination address [9]. 4 [7] goes hand-in-hand with RFC2960. he Implementor s guide maintains all changes and additions to be included in RFC2960 s next version. All implementations are expected to carry the specifications and modifications in this guide. 2 of 5

Receiver B B 1 A 1 Sender A 2 B 2 A 1-50* 0 (C 2 =2) 1 21 22 23 61 62 63 64 65 66 69 70 41 1 2 3 S1 S2(51-52) S3(51-52) S41(51-52) S42(51-54) S43(51-54) S44(51-54) S45(51-54) S46(51-54) 42 43 44 45 46 49 50 S49 (51-54) S54 ى لا مل م مو ف لم منن ق ممق م فو ٥٠-١ خسش. م ه ىمق م ف ل ف ١ ء ه ىل م ك م ف 41 42 43 81 82 83 84 85 86 89 90 (C 2 =2) 2 (C 2 =2) 41.1 (C 2 =2) 41.2 (C 2 =2) 81.2 (C 2 =2) 81.3 (C 2 =3) 82 (C 2 =4) 83 (C 2 =5) 84 (C 2 =6) 85 (C 2 =7) 86 (C 2 =10) 89 (C 2 =11) 90 51 52 S1(51-51) S1(51-52) 53 54 S41(51-53) S41(51-54) 55 42 (rtx) 43, 44 (rtx) 45, 46 (rtx) 47, 48 (rtx) 49, 50 (rtx) 56, 57 62, 63 64, 65 21.1 21.2 61.2 61.3 101.3 101.4 102.1 103.1 104.1 105.1 106.1 Receiver B Figure 2: imeline for the example reports for SNs 2-50. Since these SACKs do not carry new cumulative acks, they do not cause growth of $. Between +#,.>G/ and +#,IHJ;, the cumulative ack in the SACKs received by on increases as a consequence of the original transmissions to destination reaching. In this period, receives 40 SACKs which incrementally carry cumulative acks of 2-41. he SACKs received by carry a cumulative ack of 41, and are the third and the fourth missing reports for SNs 42-50. Upon the fourth missing report, retransmits only SN 42, since $ permits only one on 9 at +,KHJ;BAF/ and +,KHJ;BAFL more packet to be outstanding. Note that this falsely triggered retransmission leads to an unnecessary reduction of the $4 by half, since the sender infers congestion from to. At +M,NHO/, the SACK for the original transmission of SN 42 reaches on. Since the sender cannot distinguish between SACKs generated by transmissions from SACKs generated by retransmissions, this SACK incorrectly acks the retransmission of SN 42, thereby increasing $ by one, reducing the amount of data outstanding on destination, and triggering the retransmission of SNs 43 and 44. At +P,QHOL, the SACK for the original transmission of SN 43 arrives at on 8. As before, this SACK acks the retransmission (of SN 43), further incorrectly increasing $, and triggering retransmission of SNs 45 and 46. his behaviour of SACKs for original transmissions incorrectly acking retransmissions continues until the SACKs of all the original transmissions to (up to SN 50) are received by A. hus, the SACKs from the original transmissions cause $ to grow (possibly drastically) from wrong interpretation of the feedback. 2.2 Discussion While the values chosen in our example illustrate but a single case of the congestion window overgrowth problem, our preliminary investigation shows that the problem occurs for a range of R propagation delay, bandwidth, MUS settings. For example, with both paths having Rs of 200ms (bandwidth = 100Kbps, propagation delay = 40ms) and MU = 1500 bytes, the incorrect retransmission starts much earlier (at SN 3), and the cwnd overgrowth is even more dramatic. he congestion window overgrowth problem exists even if the buffering occurs not at the sender s link layer, but in a router along the path (in figure 1, path 1). In essence, the transport layers at the endpoints can be thought of as the sending and receiving entities, and the buffering could potentially be distributed anywhere along the end-to-end path. Further, the reduction in $ causes the sender to reduce its sending rate on path 1 unnecessarily. In our preliminary investigation of load balancing, we have observed multiple occurrences of such false retransmissions. Such false retransmissions cause the sending rate to reduce drastically on path 1, resulting in 3 of 5

suboptimal utilization of the path. 4 ANALYSIS AND FUURE WORK 3 PROPOSED SOLUIONS he CP-unfriendly cwnd growth and incorrect retransmissions during changeover occur due to a current inadequacy of SCP - either (i) the sender is unable to distinguish SACKs for transmissions from SACKs for retransmissions, or (ii) the sender s congestion control mechanism is unaware of the occurrence of a changeover, and hence is unable to identify reordering introduced due to changeover. Addressing either of these inadequacies will solve the problems of CP-unfriendly cwnd growth and unnecessary retransmissions. he Rhein Algorithm [6] solves the problems by addressing (i). he Rhein algorithm is based on the Eifel algorithm, which uses meta information in the CP header. his meta information is used in disambiguating acks for transmissions from acks for retransmissions to improve the throughput of a CP connection. he Rhein algorithm uses meta information in the SCP header to curb the unnecessary cwnd growth and reduction due to spurious retransmissions. In our initial conception of the Rhein algorithm, each data packet has to carry an extra Retransmission Identifier (RID) Chunk, and each SACK has to carry an extra RID Echo. Additional complexity is also introduced at the sender and receiver for processing these new chunks. he Changeover aware congestion control (CACC) algorithms solve the problem by addressing (ii). In other words, the CACC solutions introduce changeover awareness in the sender s congestion control mechanism. he cwnd overgrowth occurs due to the sender misinterpreting SACK feedback, and incorrectly sending fast retransmissions. CACC algorithms curb the cwnd miscalculations by eliminating these improper fast retransmissions. he key in a CACC algorithm is maintaining state at the sender for each destination when changeover happens. On receipt of a SACK, the sender selectively increases the missing report count for SNs in the retransmission list, thus preventing incorrect fast retransmissions. [5] describes two CACC algorithms: Conservative CACC (C-CACC) and Split Fast Retransmit CACC (SFR- CACC). he C-CACC algorithm has the disadvantage that in the face of loss, a significant number of SNs could potentially wait for a retransmission timeout when they could have been fast retransmitted. he SFR-CACC algorithm alleviates this disadvantage. [5] provides the details of the CACC algorithms, including verification of the effectiveness of the SFR- CACC algorithm through ns-2 simulations. Results from [5] suggest that the problem presented in Section 2 might not be a corner case. By approaching the problem from different perspectives, the Rhein algorithm and the CACC algorithms all solve the problem of cwnd overgrowth. he Rhein algorithm recognizes that this growth occurs due to the sender s inability to distinguish between SACKs for original transmissions from SACKs for retransmissions. his algorithm does not solve the problem of unnecessary fast retransmissions on a changeover. his algorithm also adds the overhead of an extra chunk for every SCP packet. he CACC algorithms maintain state information during a changeover, and use this information to avoid incorrect fast retransmissions. hese algorithms have the added advantage that no extra bits are added to any packets, and thus the load on the wire and network is not increased. One disadvantage of the CACC algorithms is that some of the SNs on the old primary are ineligible for fast retransmit. Furthermore, complexity is added at the sender to maintain and use the added state variables. We have implemented SFR-CACC in the NetBSD/FreeBSD release for the KAME stack [1, 2]. he implementation uses three flags and one SN marker for each destination, as described in [5]. Approximately twenty lines of $ code were needed to facilitate the SFR-CACC algorithm, most of which will be executed only when a changeover is performed in an association. In light of the enveloping issue of end-to-end load balancing, we plan to research the following questions in the future: How well do the Rhein and CACC algorithms perform during cycling changeovers? A changeover where the sender repeatedly cycles through the destination address space while sending data is called a cycling changeover. In an FCS network wireless environment where paths have frequent disruptions, would load balancing improve or degrade overall performance? Given the path parameters for all paths between the sender and the receiver, is it possible for the sender to send data out of order such that the receiver receives all data in order? Is it possible for the sender to do the same while probing for path information at the same time? his line of thought leads to efficient load balancing for realtime and/or multimedia transfers. What is the effect of performing shared/separate congestion control at the sender among various paths to 4 of 5

the receiver when the bottlenecks along the paths are shared/separate? his question arises from an inquiry into the effects of shared/separate bottlenecks on SCP congestion control. his study is important for SCP to be CP-friendly in sending data. [9] R. Stewart, Q. Xie, K. Morneault, C. Sharp, H. Schwarzbauer,. aylor, I. Rytina, M. Kalla, L. Zhang, and V. Paxson. Stream Control ransmission Protocol. Proposed standard, RFC2960, Internet Engineering ask Force (IEF), October 2000. 5 DISCLAIMER he views and conclusions contained in this document are those of the authors and should not be interpreted as representing the official policies, either expressed or implied, of the Army Research Laboratory or the U.S. Government. 6 ACKNOWLEDGMENS hanks to Ivan Arias Rodriguez, Vern Paxson, Mark Allman, Phillip Conrad and Johan Garcia for their comments and inputs. Ivan helped in the formulation of the problem. REFERENCES [1] he SCP Homepage. http://www.sctp.org. [2] Webpage of the KAME project. http://www.kame.net. [3] R. Braden. Requirements for internet hosts communication layers. RFC1122, Internet Engineering ask Force (IEF), October 1989. [4] M. Allman et al. CP Congestion Control. RFC2581, Internet Engineering ask Force (IEF), April 1999. [5] Janardhan R. Iyengar, Armando L. Caro Jr., Paul D. Amer, Gerard J. Heinz, and Randall Stewart. Making SCP More Robust o Changeover. echnical Report R 2002-03-01, CIS Department, University of Delaware, July 2002. [6] Janardhan R. Iyengar, Armando L. Caro Jr., Paul D. Amer, Gerard J. Heinz, and Randall Stewart. SCP Congestion Window Overgrowth During Changeover. Proc. SCI2002, Orlando, July 2002. [7] R. Stewart, L. Ong, I. Arias-Rodriguez, K. Poon, P. Conrad, A. Caro, and M. uexen. SCP Implementers Guide. Internet Draft: draft-ietf-tsvwg-sctpimpguide-06.txt, Internet Engineering ask Force (IEF), May 2002. (work in progress). [8] R. Stewart and Q. Xie. Stream Control ransmission Protocol (SCP): A Reference Guide. Addison Wesley, New York, NY, 2001. 5 of 5