An Adaptive Bandwidth Estimation Mechanism for SCTP over Wireless Networks Rung-Shiang Cheng
Der-Jiunn Deng
Department of Computer and Communication Kun Shan University Taiwan
[email protected]
Department of Computer Science and Information Engineering National Changhua University of Education, Taiwan
[email protected]
ABSTRACT A wireless link is generally characterized by high transmission errors, random interference and a varying latency. The erratic packet losses usually lead to a curbing of flow segments on the SCTP association and thus limit SCTP's performance. To improve the performance of SCTP protocol under high-speed environments over wireless networks, a bandwidth estimation mechanism and a per-stream-based error recovery mechanism is applied to modified SCTP protocol. The simulation results confirmed that the proposed scheme can improve the performance of SCTP over wireless networks. Keywords: SCTP, Bandwidth estimation , Multi-streaming I.
INTRODUCTION
Stream Control Transmission Protocol (SCTP) [1] is a new transport layer protocol standardized by IETF which originally designed for telephone signaling across IP networks. SCTP inherits most of its functions from TCP (e.g. reliable, ordered delivery service). The main difference between SCTP and TCP is that, SCTP allows each association to have multiple streams and support multi-homing, congestion control, and other functions that are similar to TCP.
Han-Chieh Chao Institute of CSIE National Ilan University Taiwan
[email protected]
Whai-En Chen Institute of CSIE National Ilan University Taiwan
[email protected]
The remainder of this paper is organized as follows. Section II and III provides a brief description of the SCTP protocol and challenges for SCTP in wireless environments, respectively. Section IV proposes an enhanced bandwidth estimation algorithm for the SCTP. Section V describes the results of the performance evaluation simulations. Finally, Section VI presents some brief conclusions. II. BACKBROUND Stream control transmission protocol is standardized by IETF which originally designed as a transport protocol for telephone signaling across IP networks. SCTP provide reliable, ordered delivery service similar to TCP, but operates in a message-oriented fashion like UDP, preserving message boundaries (see Figure 1). Both SCTP and TCP support reliable delivery service, but TCP has many limitations, including: (1)
TCP provide reliable delivery service with in-order byte stream, but it may cause unnecessarily delay.
(2)
TCP does not support multi-homing which has highavailability.
(3)
TCP can not defense against denial-of-service (DOS) attack.
SCTP has improved some flaws of TCP, and includes some advantages of UDP; however, SCTP still uses transmission control mechanisms used by TCP. Under an error-prone and varying latencies wireless network, SCTP may not effectively use link bandwidths for sending data, and hence only relatively small numbers of data packets can be delivered per round-trip. In this event, the SCTP source will spend excessive time in attaining an acceptable bandwidth usage, resulting in degraded link utilization. As described above, bandwidth estimation procedures have a significant effect on SCTP performance. Accordingly, this study proposes a scheme for SCTP to estimate available bandwidth in high-speed wired and wireless networks. With the proposed mechanism, the need for per-flow support in routers is eliminated, and the available bandwidth in networks can be fully exploited.
Figure 1. Network layering.
Although SCTP is originally designed to carry telephony signaling over IP based networks, it also can be used as transport layer protocols like TCP and UDP. SCTP provides error-free data transmission which makes data delivery service more robust. It adopts selective acknowledgement (SACK) of TCP enhancement. Besides, SCTP overcomes several security deficiencies of TCP by using four-way handshake and cookie
Correspondence: Han-Chieh Chao
978-1-4244-6949-9/10/$26.00 ©2010 IEEE
mechanism. The main differences between TCP and SCTP are multi-homing and multi-streaming features. The following are some features provided by SCTP. The two most important enhancements in SCTP over traditional transport layer protocols are the end-host multihoming and multi-streaming mechanisms [2]. Multi-homing provides applications with higher availability than those that use TCP. A multi-homed host has more than one network interface, and therefore, has more than one IP address for communication. In TCP, a connection refers to a channel between end-hosts. SCTP introduces the concept of an association that exists between two hosts, but can potentially collaborate with multiple interfaces at each host. Conceptually, an SCTP association is like a TCP connection, except that SCTP supports multiple streams within an association. All streams within an association are independent, but are related to the association. Each stream is given a stream identifier and a stream sequence number that are used to determine the delivery sequence of received data for multistreaming support. Since a SCTP allows packets to be switched among multiple streams in an association, it prevents the head-of-line (HOL) blocking problem inherit from TCP. This powerful mechanism allows SCTP to provide increased availability and reliability. Like TCP, a SCTP association must be established before delivering data segment. But SCTP provides not only reliable transfer service, but also partial reliable (PR), unreliable, ordered, partial ordered and unordered transfer service. In SCTP, if the partial reliability mode is not started, SCTP provides reliable transfer service equivalent to TCP, but under PR mode, SCTP provides partially reliable transmission service, as in UDP. When transmitting the packet, PR-SCTP designates the lifetime of the packet; if the packet is not successfully transmitted within the scheduled time, PR-SCTP would give up transmission of the packet and use Forward TSN chunk that notify the endpoint to omit this packet. SCTP uses the same port concept as TCP and UDP in identifying an association. As shown in Figure 2(a), the SCTP packet is composed of a common header and a series of chunks. The chunks included in the SCTP packet may be control or data chunks, where data chunks contain user messages and control chunks contain control information. Each chunk begins with a type field, which is used to distinguish between data chunks and different types of control chunks followed by chunk specific flags and chunk length field as chunk length varied (see Figure 2(b)). In addition, for reliability and congestion control, each data chunk is assigned a unique transmission sequence number (TSN), while stream identifiers and stream sequence numbers are used for multistreaming support.
(a) Packet format
(b) Chunk field Figure 2. SCTP packet format.
SCTP is a message-oriented transport protocol. Unlike TCP, SCTP uses transmission sequence number to track the order of sent data chunk and its reception at the transport layer. The SCTP protocol bases the congestion control on TCP congestion control principles and uses SACK extensions for reception of acknowledgment at the receiver side. However, congestion controls of standard SCTP are applied to the entire association whether using multiple source/destination IP addresses or multiple paths. Hence, this kind of perassociation congestion control limits the performance of SCTP as multiple paths are involved in an association. III. CHALLENGES FOR SCTP OVER WIRELESS NETWORKS Wireless technologies provide mobile access to networks and eliminate the need of fixed cable infrastructures, and thus enabling cost-effective network deployment. In recent years, wireless networks have been extensively deployed and are generally specified in accordance with IEEE 802.11 standards. However, a wireless link is commonly characterized by an unpredictable bit-error rate and varying latencies, hence, wireless environments pose great challenges when attempting to provide reliable data transmission for transport protocols, such as SCTP. Packet losses in a wired network are mainly caused by buffer overflows at the bottleneck router. However, over wireless networks, packet losses due to buffer overflows at intermediate stations occur rarely. It results primarily from link-layer contentions or transmission errors [3]. Collision occurrences in a shared channel increase as in-flight packet numbers increase. Hence, a large sized congestion window leads to a higher degree of link-layer contention due to the half-duplex nature of wireless links and thus leads to a higher number of dropped packets. SCTP is an end-to-end transport layer protocol. SCTP controls the sending rate, using a congestion window parameter. As discussed above, channel access contentions may occur between different associations passing through the same vicinity, or between different packets within the same association, causing SCTP transmission rate to fall as a result of frequent invocations of the congestion control mechanism. Moreover, frequent packet exchanges taking place over wireless networks exacerbate channel contention problems, resulting in more packets drop in the MAC layer. This exacerbation causes inappropriate invocation of the back-off mechanism, further degrading network bandwidth utilization. In this event, the SCTP association will spend excessive time in attaining an acceptable bandwidth usage, resulting in degraded link utilization [4]. To address this problem, this study proposes a per-streambased scheme to estimate the available bandwidth in a SCTP association. In this method, rather than choosing an arbitrary initial value for the slow-start threshold, the value is estimated during the startup phase to determine if SCTP has achieved the full bandwidth of the network.
IV. PROPOSED SCHEME Burst random losses in wireless links usually result in a small window size, and hence only relatively few data packets can be delivered per round-trip. Under such conditions, the TCP source will spend excessive time in attaining an acceptable bandwidth usage, and consequently resulting in degraded link utilization. This induces a considerable performance cost, particularly for high-speed networks with long delay paths. Since channel errors in wireless links usually result in a reduction of transmission rate, a more appropriate growth strategy must be considered for wireless environments. Accordingly, this study develops an enhanced SCTP transmission control scheme, referred to as moderate-SCTP (m-SCTP), to improve the SCTP performance. The details of the bandwidth estimation scheme and the error recovery algorithm are described in the followings. Let w and wt refer to congestion window size and slow-start threshold, respectively, and let t denote the measured minimal round-trip delay time (RTT). The expected transmission rate, λ, at the m-SCTP source can be related to the window size by:
λ=
w t
(1)
Furthermore, let μ denote the expected transmission rate of a stream within the association from source to destination. If a queue gradually accumulates at the bottleneck, the correlation between packets in-flight along the association and the window size during a measured round-trip period is given by:
w = μt + ρ
(2)
In Eq. (2), = 1+ 2 is the observed current buffer size at the bottleneck, where 1 is the observed packets waiting for service at the end of the previous round-trip, and 2 is the additional queue built-up at the bottleneck contributed by the specific SCTP stream. The observed buffer occupancy can be given by 1 = (rtt–t)×r, where r = w/rtt can be deemed as the actual transmission rate of the m-SCTP source. To quickly utilize available bandwidth, it is necessary to estimate bandwidth at the bottleneck. By combining Eqs. (1) and (2), the expected bandwidth at the end of each round-trip period can be given by:
μ=λ−
ρ t
(3)
Let η denote the measured bandwidth. Based on the Packet pair scheme [5], measured bandwidth μ can be obtained by dividing the number of ACK packets by the sum of ACK inter-arrival times. In the proposed algorithm, the estimated bandwidth, per round trip time interval, is given by:
γ = ν ⋅ μ + (1 −ν ) ⋅η
in the measured round-trip. At the beginning of the startup procedure, SCTP stream commences with small w and ν values, thus the estimated bandwidth is dominated by the measured bandwidth η. However, when the sender bandwidth utilization achieves a higher value (indicated by ν), the expected bandwidth μ dominates. With Eq. (4), the size of the prescribed threshold can be given by: wt = γ ⋅ t
Based on Eq. (5), wt is the computed every round-trip. The source then updates its window size for each ACK received, as follows: ⎧ w + (1 − A ) , slow start, if w < wt w=⎨ congestion avoidance, otherwise ⎩ w + 1 / w,
(6)
The parameter, A = w /wt, indicates the ratio of the sender’s window size to its configured threshold. When w is less than wt, the setting of the congestion window size is initially increased exponentially, which increases the transmission rate and fully exploits the unused bandwidth. However, when the threshold limit is reached, m-SCTP enters the congestion avoidance phase, which increases the congestion window linearly. When receiving SACK from destination, the modified mSCTP records the TSN number, and then retransmit the lost chunk with differential service priority. If the lost chunk belongs to critical stream, modified SCTP retransmit the lost chunk with highest priority. Similarly, if the lost chunk belongs to medium stream, the modified SCTP retransmit the lost chunk with medium priority. Whereas, if the lost chunk belongs normal stream, modified m-SCTP retransmits the lost chunk with general priority same as traditional SCTP. V.
PERFORMACE EVALUATION
The performance of the proposed scheme is evaluated using an ns-2 [6] simulator. In the simulations, the SCTP module is extended to support the proposed SCTP modification. The discussions commence with the case of a general network model with a single bottleneck shared by several SCTP associations (see Figure 3). In this model, source i represents a SCTP source, and destination i represents a SCTP receiver (for i = 1, 2, 3...n), respectively. Each link is labeled with its corresponding bandwidth and propagation delay. Note that in the following simulations, the bottleneck link capacity and its buffer size may be re-configured to investigate different evaluation scenarios.
(4)
where ν is the ratio of the time required to transmit w packets to the measured rtt round-trip. In Eq. (4), estimated bandwidth γ varies with the bandwidth utilization of the m-SCTP stream
(5)
Figure 3. Illustrative simulation topology.