Вы находитесь на странице: 1из 11

Performance Evaluation of SCTP in wireless networks

Nelson A. Vicua Z.
Universit dAvignon Avignon, France

nvicuna@etd.univ-avignon.fr

ABSTRACT
SCTP, like TCP, is a transport protocol for sending data from one point to another over the Internet. The propose of this project is to investigate the performance of SCTP, measured in terms of throughput, delay and packet loss, making a comparison with the values obtained for TCP. We analyze the performance for two experimental scenarios: 1. FTP transmission with dierent number of clients in wireless networks at stable state (no packet loss). 2. FTP transmission with a xed number of clients with dierent rates of packet loss in wireless networks. The performance is measure for wired network as well as IEEE 802.11, UMTS and WiMAX wireless networks.

Keywords
Protocols, Performance, SCTP, TCP, throughput, delay, packet loss, NS-2

1.

INTRODUCTION

In recent years, wireless networks are gaining considerable popularity. The wireless networks allow their users to access information and resources in real time without having to be physically connected to a particular place. The wireless network is mobile and eliminates the need for cables and provides exibility by adding new applications to the network, and most importantly increases productivity and eciency in companies where it is installed. A user in a wireless network can transmit and receive voice, data and video in buildings, between buildings or on university campuses and even metropolitan areas. But not only can be used in businesses, its extension to public environments in metropolitan areas, as an access to the Internet or to cover areas of high density of users (hot spots); just as the third generation networks (3G), wireless network is seen as the application most interest over the coming years. The new possibilities oered by wireless networks are: to allow easy incorporation of new users to the network, providing a low cost alternative to cable systems, plus the ability to access any database or any application located in the network. The breakthrough of wireless technologies is facilitating access to the Internet from various environments using PDAs, cell phones, laptops, etc. As an example of this new market, mobile phones are equipped with interfaces 802.11 able to connect to wired networks through access routers. Most of the variants TCP oer good benets in wired networks, based on the assumption that most of the losses were due 1

to the congestion. However, in a wireless network, packet losses are mainly due to high rates of losses caused by bit poor conditions spread. Additionally, wireless networks have certain characteristics such as high latency, high packet loss and bandwidth variable posed conicts of the abilities of most of the variants of the TCP protocol. Under these circumstances, the networks react by generating a ow of heavy trac and erratic resulting in an inecient use of available bandwidth. It is therefore necessary to establish and dene new transport protocols suitable for wireless environments. In section 2, we can see others features of wireless networks. The goal of this project is to analyze the performance of Stream Control Transmission Protocol (SCTP) in a wireless environment using Network Simulator or NS-2. NS-2 is a network simulator that allow the study of the performance of dierent protocols. SCTP is a reliable, message-oriented data transport protocol that supports multiple streams within a single transport layer connection, an association in SCTP terminology, and hosts with multiple network interfaces (multihomed hosts)[16]. These properties make SCTP more suitable for applications requiring additional performance and reliability. More features of SCTP and NS-2 will be described in sections 3, 4 and 5.

2. WIRELESS NETWORKS
Wireless networks are a system of wireless data communication exible widely used as an alternative to wired networks or as an extension of them. It uses radio frequency technology that allows greater mobility for users to minimize wired connections. The wireless networks gaining importance in many elds, which transmits real-time information to a central terminal. They are also very popular to share Internet access among multiple computers. Wireless networks oer several advantages over wired networks: Mobility: allows transmit real-time information anywhere to anyone. This means a greater chance of service. Ease and speed of deployment: Many areas are dicult to wire for traditional wired Local Area Networks (LANs). Older buildings are often a problem; running cable through the walls of an older stone building to which the blueprints have been lost can be a challenge. In many places, historic preservation laws make it dicult to carry out new LAN installations in older buildings. Even in modern facilities, contract-

ing for cable installation can be expensive and timeconsuming. Flexibility: Can go where cable can not overcome more obstacles, reaching traverse walls. So, it is useful in areas where cabling is not possible or is very expensive. Wireless networks exist in such number and variety as to be dicult to categorize and compare. Some wireless networks run over wireless voice networks, such as mobile telephone networks, like Universal Mobile Telecommunications System (UMTS), Cellular Digital Packet Data (CPDP), High Speed Circuit Switched Data (HSCSD), Packet Data Cellular (PDC-P), and General Packet Radio Service (GPRS). Other wireless networks run on their own physical layer networks, utilizing anything from antennas built into handheld devices to large antennas mounted on towers, like 802.11 and Worldwide Interoperability for Microwave Access (WiMAX). A few wireless networks are intended only to connect small devices over short distances, like Bluetooth. In the following sections, we give a little explanation of the most commonly used wireless networks :

2.2 UMTS
Universal Mobile Telecommunications System (UMTS) is 3G wireless technology that utilizes a Wideband Code Division Multiple Access (WCDMA). Starting with channel bandwidths of 5 MHz it oers data rates up to 2 Mbps. UMTS support several leading telecommunications operators and manufacturers and has attempted to create an opportunity to build a market for highly customized and userfriendly mobile access to the information society. The intention of UMTS is to create and extend the capability of todays mobile, cordless and other satellite technologies by providing more data capability, capacity, and an increased and greater range of services. For this, UMTS will use new spectrum and new radio network congurations while using the Global System for Mobile communication (GSM) core infrastructure[4]. To dierentiate UMTS from competing network technologies, UMTS is sometimes marketed as 3GSM, emphasizing the combination of the 3G nature of the technology and the GSM standard which it was designed to succeed. The technology is optimized to allow state of the art, very highspeed multimedia services such videoconferencing, full motion video, and Internet access.

2.3 WiMAX
Worldwide Interoperability for Microwave Access (WiMAX), is a telecommunications technology aimed at providing wireless data over long distances in a variety of ways, from pointto-point links to full mobile cellular type access. It is based on the IEEE 802.16 standard, which is also called WirelessMAN. The name WiMAX was created by the WiMAX Forum, which was formed in June 2001 to promote conformance and interoperability of the standard. The forum describes WiMAX as a standards-based technology enabling the delivery of last mile wireless broadband access as an alternative to cable and DSL. WiMAX is designed to operate in a typical cell size of 7 to 10 km and can handle distances up to 50 km. WiMAX has the exibility of allocating dierent bandwidth in each radio channel, from very narrow channels of 1.5 MHz to a maximum of 20 MHz and allows a theoretical maximum of 70 Mbps in a 20 MHz channel. We can see below an overview of WiMAX[2]: WiMAX is based on a very exible and robust air interface dened by the IEEE 802.16 group. The WiMAX physical layer is based on orthogonal frequency division multiplexing (OFDM), which is an elegant and eective technique for overcoming multipath distortion. The physical layer supports several advanced techniques for increasing the reliability of the link layer. These techniques include powerful error correction coding, including turbo coding and Low Density Parity Check (LDPC) and antenna arrays. WiMAX supports a number of advanced signal-processing techniques to improve overall system capacity. These techniques include adaptive modulation and coding, spatial multiplexing, and multiuser diversity. WiMAX has a very exible MAC layer that can accommodate a variety of trac types, including voice, 2

2.1 IEEE 802.11


The IEEE 802.11 specication[10] as a standard for wireless LANs was ratied by the Institute of Electrical and Electronics Engineers (IEEE) in the year 1997. This version of 802.11 provides for 1 Mbps and 2 Mbps data rates and a set of fundamental signaling methods and other services. Like all IEEE 802 standards, the 802.11 standards focus on the bottom two levels the ISO model, the physical layer and link layer. Any LAN application, network operating system, protocol, including TCP/IP and Novell NetWare, will run on an 802.11-compliant Wireless LAN as easily as they run over Ethernet. IEEE 802.11 is a wireless LAN (indoor) protocol that was designed to operate in small cells (up to 100 meters) and that in the design phase never was considered as a pointto-multipoint outdoor solution. IEEE 802.11 has a xed channel bandwidth of 20 MHz and can provide a peak data rate of 2.4 bps/Hz, that implies a maximum of 54 Mbps. The original standard of IEEE 802.11[9] that was released in 1997 species Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA) as the media access method, just like Ethernet does. All amendments to IEEE 802.11 are based on the same access method. However, CSMA/CA is a very inecient access method since large amount of the bandwidth is sacriced to ensure a reliable data transmission. This limitation is inherent to all CSMA/CA based technologies. CSMA/CA can avoid the collisions by using a basic polling method known as RTS/CTS in which the sender sends rst a request to send (RTS) and the receiver (usually the Access Point) acknowledge the request by sending a clear to send (CTS) message when channel is ready to use. During transmission between two pieces of equipment, the destination station checks the CRC of the frame and returns an ACK (acknowledgment of delivery) to the transmitter. If the transmitting station does not receive this ACK in time, it assumes that a collision occurred and the frame is retransmitted after receiving a new CTS.

video, and multimedia, and provide strong quality of service (QoS). Robust security functions, such as strong encryption and mutual authentication, are built into the WiMAX standard. WiMAX has several features to enhance mobility-related functions such as seamless handover and low power consumption for portable devices. WiMAX denes a exible all-IP-based network architecture that allows for the exploitation of all the benets of IP. The reference network model calls for the use of IP-based protocols to deliver end-to-end functions, such as QoS, security, and mobility management. WiMAX oers very high spectral eciency, particularly when using higher-order Multiple-input multipleoutput (MIMO) solutions.

Protocol Feature State required at each endpoint Reliable data transfer Congestion control and avoidance Message boundary conservation Path MTU discovery and message fragmentation Message bundling Multi-homed hosts support Multi-stream support Unordered data delivery Security cookie against SYN ood attack Built-in heartbeat (reachability check)

SCTP yes yes yes yes yes yes yes yes yes yes yes

TCP yes yes yes no2 yes2 yes2 no no no no no3

UDP no1 no no yes no no no no yes no no

Table 1: Comparison of SCTP, TCP, and UDP[15]

3.

SCTP

The Stream Control Transmission Protocol (SCTP) is a transport protocol dened in RFC 2960[16]. It was designed by the Signaling Transport (SIGTRAN) group of the Internet Engineering Task Force (IETF). Initially, it was introduced to serve as a reliable signaling and control transport protocol for telecommunications trac running over IP networks via a number of proposed adaptation layers, but has since evolved for more general use to satisfy the needs of applications that require a message-oriented protocol with all the necessary TCP-like mechanisms[5]. SCTP provides sequencing, ow control, reliability and full-duplex data transfer like TCP. In addition, SCTP has unique features including multihoming and multistreaming. Based on these two features, SCTP was originally designed to provide a reliable transport between two end hosts using multiple, independent control of streams. SCTP belongs to the transport layer in the IP architecture, like TCP and UDP, as shown in Figure 1.

Applications

Application Layer Transport Layer

of data bytes and then instruct SCTP to transport the message to a receiving application. SCTP will not only guarantee the delivery of this data block (message) in its entirety to the receiver; it will also indicate to the receiver both the beginning and end of the data block. This is sometimes also termed conservation of message boundaries. TCP operates very dierently in this regard; it simply treats all the data passed to it from the sending application as a sequence or stream of data bytes. It will deliver all the data bytes to the receiver in the same sequential order as they were passed down from the application. However, there will be no conservation of any data block boundaries by TCP. SCTP is also richer in functionality and more tolerant to network and component failures than TCP[15]. Like TCP, SCTP provides a reliable, full-duplex connection and mechanisms to control network congestion. Unlike both TCP and UDP, however, SCTP oers new delivery options that are particularly desirable for telephony signaling and multimedia applications. Table 1 compares SCTPs services and features with those of TCP and UDP. An SCTP connection, called an association in SCTP context, provides novel services such as multihoming, which allows the end points of a single association to have multiple IP addresses, and multistreaming, which allows for independent delivery among data streams. At the bottom of the
1 With UDP a node can communicate with another node without going through a setup procedure or changing any state information. This is sometimes called connection-less, but in reality each UDP packet has the needed state within it to form a connection so that no ongoing state needs to be maintained at each endpoint. 2 Because TCP treats all the data passed from its upper layer as a formatless stream of data bytes, it does not preserve any message boundaries. However, due to its byte-streambased nature, TCP can automatically resize all the data into new TCP segments suitable for the Path MTU before transmitting them. 3 Most TCP implementations do implement a keep-alive mechanism. This mechanism is very similar to the SCTP heartbeat, with the main dierence being the time interval used. In TCP the keep-alive interval is, by default, set to two hours. The goal of this keep-alive is long-term state cleanup, which is in sharp contrast to SCTPs much more rapid heartbeat, which is used to aid in fast failover.

SCTP IP Ethernet, etc.

Network Layer Link Layer

Figure 1: SCTP in the IP reference model Both SCTP and TCP provide a reliable data transportation service between two communication nodes or endpoints that are connected to each other by an IP-based network. However, the SCTP data transportation service is messageoriented, while the TCPs is byte-oriented. This means that a sending application can construct a message out of a block 3

Figure 2, we can see an architecture that includes two network interfaces per host. Two paths are provided through the independent networks, these two paths would be collected into an association. At the top is a TCP connection. Each host includes a single network interface; a connection is created between a single interface on each of the nodes. Upon establishment, the connection is bound to each interface.
TCP Node A TCP Node B

ID Value 0 1 2 3 4 5 6 7 8 9 10 11 12 13

Ethern

et

Ethern

et

SCTP Node A

802.1

1 802.1

SCTP Node B

Figure 2: An SCTP Association vs. a TCP Connection SCTP also features a four-way handshake, as shown in Figure 3 - as opposed to the three-way handshake in TCP to establish an association, which makes it resistant to blind denial-of-service attack and thus improves overall protocol security.

14 15 to 62 63 64 to 126 127 128 to 190 191 192 to 254 255

Node A
INIT

Node B

Chunk Type Payload Data (DATA) Initiation (INIT) Initiation Acknowledgement (INIT ACK) Selective Acknowledgement (SACK) Heartbeat Request (HEARTBEAT) Heartbeat Acknowledgement (HEARTBEAT ACK) Abort (ABORT) Shutdown (SHUTDOWN) Shutdown Acknowledgement (SHUTDOWN ACK) Operation Error (ERROR) State Cookie (COOKIE ECHO) Cookie Acknowledgement (COOKIE ACK) Reserved for Explicit Congestion Notication Echo (ECNE) Reserved for Congestion Window Reduced (CWR) Shutdown Complete (SHUTDOWN COMPLETE) reserved by IETF IETF-dened Chunk Extensions reserved by IETF IETF-dened Chunk Extensions reserved by IETF IETF-dened Chunk Extensions reserved by IETF IETF-dened Chunk Extensions

Table 2: SCTP Chunk types[15]

INIT

ACK

COOK

IEEC

HO

COOK

IEAC

Association established
Figure 3: SCTP four-way handshake The protocol data units (PDU) of SCTP are called SCTP packets[16]. If SCTP runs over IP, an SCTP packet forms the payload of an IP packet. An SCTP packet is composed of a common header and chunks. Multiple chunks may be multiplexed into one packet up to the Path-MTU size. A chunk may contain either control information or user data. In the Figure 4 is shown the SCTP packet format. Multiple chunks can be bundled into one SCTP packet up to the MTU size, except for the INIT, INIT ACK, and SHUTDOWN COMPLETE chunks. These chunks must not be bundled with any other chunk in a packet. The common header consists of 12 bytes. For the identication of an association, SCTP uses the same port concept as TCP and UDP. For the detection of transmission 4

errors, each SCTP packet is protected by a 32 bit checksum (Adler-32 algorithm), which is more robust than the 16 bit checksum of TCP and UDP. SCTP packets with an invalid checksum are silently discarded. The common header also contains a 32 bit value called verication tag. The verication tag is association specic, and exchanged between the endpoints at association startup. So there are two tag values used in one association. Each chunk begins with a chunk type eld, which is used to distinguish data chunks and dierent types of control chunks, followed by chunk specic ags and a chunk length eld needed because chunks have a variable length. The value eld contains the actual payload of the chunk. So far there are 15 chunks types dened for standard use. They are listed in Table 2.

3.1 SCTP Congestion Control


The congestion control algorithms used by SCTP are based on TCP Congestion Control described in RFC 2581[1]. The algorithms dened in RFC 2581 are adapted for use in SCTP. SCTP congestion control is always applied to the entire association, and not to individual streams. The advanced congestion control mechanism of SCTP consists of slow start, congestion avoidance and fast retransmit algorithms. The endpoints maintain three variables receiver advertised (rwnd), congestion window (cwnd) and slow start threshold (ssthresh) to regulate data transmission rate. SCTP requires an additional control variable partial bytes acked(pba) that is used during congestion avoidance to facilitate cwnd adjustment[13].

32 bits Source Port Number Destination Port Number Common Header

Verification Tag Checksum Chunk Type Chunk Flag Chunk Value Chunk Length

Chunk 1

Chunk Type

Chunk Flag Chunk Value

Chunk Length Chunk n

Figure 4: Packet format of SCTP SCTP assigns a Transmission Sequence Number (TSN) to each user data fragment or unfragmented message. The TSN is independent of any Stream Sequence Number assigned at the stream level. The receiving end acknowledges all TSNs received, even if there are gaps in the sequence. In this way, reliable delivery is kept functionally separate from sequenced stream delivery. Each Gap Ack Block acknowledges a subsequence of TSNs received following a break in the sequence of received TSNs. By denition, all TSNs acknowledged by Gap Ack Blocks are greater than the value of the Cumulative TSN Ack. The acknowledgement and congestion avoidance function is responsible for packet retransmission when timely acknowledgement has not been received. To palliate the eects of a single packet drop another algorithm called fast retransmit is used. The heart of the algorithm is to already retransmit a DATA chunk when the SACKs show that several other DATA chunks sent later than that DATA chunk have already arrived to the destination, while the DATA chunk is still unacknowledged. In this way we can avoid the time-out of the retransmission timer. In TCP, a data segment is fast retransmitted upon the arrival of 3 duplicate ACKs (4 consecutive ACKs with the same Acknowledgement Number)[1]. Due to the use of Delayed ACKs (only used when there are no gaps in the incoming data), a data segment is fast retransmitted when the data receiver has gotten 3 or 4 later segments. This algorithm was dened for TCP before the use of its option for selective acknowledgement was widely deployed. So, in SCTP, due to its compulsory use of Gap Ack Blocks, the algorithm is slightly dierent: if a TSN is not acknowledged in 4 consecutive received SACKs while any other newer TSN is acknowledged in any Gap Ack Block of those 4 SACKs, the TSN must be retransmitted. Moreover, both cwnd and ssthresh variables are set to one half of the value of cwnd in the moment of the fast retransmission.

3.1.1 Slow-start
Beginning data transmission into a network with unknown conditions or after a suciently long idle period requires SCTP to probe the network to determine the available capacity. The slow-start algorithm is used for this purpose at the beginning of a transfer, or after repairing loss detected by the retransmission timer, to probe the network to determine the available capacity, so the idea is that the cwnd is initially xed to at most twice the value of the MTU of the address. However, usually the network is able to carry much more than that quantity without major eorts. So, during the slow-start phase, when a SACK chunk is received, the value of cwnd is increased by the total size of the acknowledged DATA chunks (limiting this increase to one MTU worth of bytes if more data has been acknowledged). The result is that cwnd increases exponentially, doubling every RTT. The complete rules are a little bit more complicated, and can be check in section 7.2.1 of [13].

3.1.4 Fast Recovery


The fourth algorithm used for congestion control is called fast recovery, also dened in [1] and used right after a fast retransmission. TCP without the Selective Acknowledgement option can not inform the data sender about anything else but the last data segment received in order. As a fast retransmission is originated due to the acknowledgements generated by data received out of order, even if the data is doing it to the receiver, there is no possibility of sending anything else but a duplicate acknowledgement. In the typical case, the data sender receives several duplicate acknowledgements and suddenly, when the retransmitted data reaches the destination, an acknowledgement segment with a big advance in the Acknowledgement Number is received. As this is the expected behavior, we can anticipate it already increasing the cwnd when the duplicate acknowledgements are still arriving, and this is basically the fast recovery algorithm. SCTP, however, does not need that algorithm due to its use of Gap Ack Blocks, so the problem is elegantly solved. 5

3.1.2 Congestion Avoidance


When cwnd reaches the value of ssthresh, SCTP changes its behavior to the congestion avoidance algorithm. In this phase, the cwnd is increased by at most one MTU per RTT, so it grows linearly. Again, the complete rules are written in section 7.2.2 of [13].

3.1.3 Fast Retransmit

3.1.5 SCTP Differences from TCP Congestion Control


Gap Ack Blocks in the SCTP SACK carry the same semantic meaning as the TCP SACK[12]. TCP considers the information carried in the SACK as advisory information only. SCTP considers the information carried in the Gap Ack Blocks in the SACK chunk as advisory. In SCTP, any DATA chunk that has been acknowledged by SACK, including DATA that arrived at the receiving end out of order, is not considered fully delivered until the Cumulative TSN Ack Point passes the TSN of the DATA chunk (i.e., the DATA chunk has been acknowledged by the Cumulative TSN Ack eld in the SACK). Consequently, the value of cwnd controls the amount of outstanding data, rather than (as in the case of non-SACK TCP) the upper bound between the highest acknowledged sequence number and the latest DATA chunk that can be sent within the congestion window. SCTP SACK leads to dierent implementations of Fast Retransmit and Fast Recovery than non-SACK TCP. The major dierences of SCTP congestion control algorithm and TCP congest control algorithm are: 1. cwnd, the initial congestion window, is suggested to be 2 M T U in SCTP, which is usually one MTU in TCP. 2. In SCTP, the increase of the cwnd is controlled by the number of acknowledged bytes; while in TCP, it is controlled by the number of new acknowledgement received. 3. In SCTP, it is required to be in slow start phase when ssthresh, the slow start threshold, is equal to the cwnd. It is optional in TCP to be either in the slow start phase or in the congestion avoidance phase when the ssthresh is equal to the cwnd. 4. In SCTP, fast restransmition is triggered by the fourth missing report of a chunk. This implies that at least 5 M T U of the received side window is required to trigger fast retransmission; while in TCP, the minimum receiver side window for fast restransmission is 4 M T U (three duplicate ACK triggers fast restransmission) 5. SCTP has no explicit fast recovery algorithm that is used in TCP. In SCTP the parameter M axBurst is used after the fast retransmissions to avoid ooding the network. M axBurst limits the number of SCTP packets that may be sent after processing the SACK, which acknowledges the data chunk that has been fast retransmitted.

has a list of transport addresses that share the same port number. The SCTP sender selects a primary destination address and transmits all data chunks through this address and rest addresses are considered as alternate destination addresses. This built-in support for multihomed endpoints allows high availability applications to perform switch over to an alternate destination address without interrupting the data transfer during link failure situation.

3.3 SCTP Multistreaming


The multistreaming feature separates and transmits user data on multiple SCTP streams. These streams are capable of independent and sequenced delivery. If message loss occurs in one stream, other streams are unaected, that way, SCTP eliminates unnecessary blocking. A stream in TCP is a sequence of bytes that arms to strict in sequence delivery. The negative eect of this in sequence delivery is that the bypass among streams is not permissible. But in SCTP, the stream can be bypassed upon prioritization.

4. SCTP IN WIRELESS NETWORKS


There has been work done in the last few years in evaluating the performance of many aspects of SCTP[7]. For example, study of the coexistence of SCTP and TCP in the Internet has shown that SCTP trac has the same impact on the congestion control decision of TCP connections as normal TCP trac[11]. Research by Caro and Amer in [3] on SCTP multistreaming in reducing the latency of streaming multimedia in high-loss environments shows that multistreaming results in slower degradation in network throughput as the loss rate increases. Moreover, user satisfaction is increased with the improved multimedia quality provided by this feature. In the wireless networking area, the performance of SCTP in mobile networks [6] and wireless multihop networks [17] has been studied. The performance of SCTP in Mobile IP (MIP) was investigated by Fu et al. [6] using NS-2 simulations, and it was shown that the support of a large number of SCTP SACK blocks result in better performance than TCPReno and TCP-SACK. In [17] Ye et al. have shown that the throughput of an SCTP association degrades when the number of hops between the sender and receiver increases, mainly due to the hidden node and exposed node problems. SCTP is based on congestion control and retransmission schemas similar to those of TCP. SCTP and TCP are both designed with wireline environments in mind; they assume all losses are caused by congestion, RTT changes slowly and gradually. Wireless mobile networks encounter higher bit error rates (BERs) and more frequent delay spikes [8] than wireline networks. This will cause SCTP to back o unnecessarily and result in poor throughput. However, Jiyang and Hui in [18] have shown that SCTP multihoming schema can provide better throughput performance and more robustness in the wireless multi-access scenario, based on the Linux kernel experimentation.

3.2 SCTP Multihoming


TCP involves one source and one destination IP address during the connection. It means that even if the TCP sender or receiver contains more than one physical address with multiple IP address, only one of these IP addresses per end will be utilized. On the other hand an SCTP association supports multi-homed hosts. In this fault tolerant approach, when one path fails, another interface can be used for data delivery without interruption. Multihoming allows two end points to setup an association with multiple addresses for each end point. During association initialization, each end point lists its IP addresses as well as its port number. Hence, the SCTP sender or receiver 6

5. NS-2
Network Simulator or NS-2 is a free software simulator that is very suitable for the protocol simulation. NS-2 is a discrete-time simulator whose development began in 1989 with the development of REAL Network Simulator. Probably one of the main reasons for its success is the fact that

the distribution has General Public License (GPL) condition that drives the free development of the same. Initially, NS-2 was designed for xed networks, however, the group Monarch CMU developed an extension to the network analysis wireless which include the main proposals of ad hoc networks and Wireless Local Area Networks (WLAN).

Application

Sending packet

Receiving packet

5.1 NS-2 SCTP Module


The SCTP module for NS-2 has been contributed by a group at the University of Delaware and is now part of ns2.29. Currently, it supports the features in the following sections of RFC 2960[16] (with draft-ietf-tsvwg-sctpimpguide04.txt[14]): Section 5.1 Normal Establishment of an Association (rudimentary handshake) Section 6.1 Transmission of DATA Chunks Section 6.2 Acknowledgement of Reception of DATA Chunks Section 6.3 Management Retransmission Timer Section 6.4 Multi-homed SCTP Endpoints Section 6.5 Stream Identier and Stream Sequence Number Section 6.6 Ordered and Unordered Delivery Section 6.7 Report Gaps in Received DATA TSNs Section 7.2 SCTP Slow-Start and Congestion Avoidance Section 8.1 Endpoint Failure Detection Section 8.2 Path Failure Detection Section 8.3 Path Heartbeat (without upper layer control) The SCTP module has NS-2 upper layer API support (but many features are still lacking). It supports all legacy NS2 applications, but they obviously arent able to exploit all SCTPs features. The Figure 5 describes the structure of an association in NS-2. The SCTP functional instance is mainly composed of two modules, SCTP sending part, which is implemented by Agent/SCTP, and SCTP receiving part implemented by other Agent/SCTP. Above the sending module is the application that use the service provided by SCTP According to the SCTP packet received, the Agent/SCTP generates a SACK chunk to notify the sender about the receiving results. Also, the SACK chunk is encapsulated in a SCTP packet and send it back. The Agent/SCTP in the sending module receives SACK and determines SCTP sending action. According to the SACK, the Agent/SCTP sender calculate the congestion control parameters and adjust cwnd that is used as sending window in SCTP. When the sending module nds one or more chunks that are not acknowledged, it will use a retransmitting policy to send those chunks. 4. WiMAX Two topologies have been used for the implementation of the schemas proposed. An initial topology for the wired network (Figure 6) and another for wireless networks (Figure 7).
Receiving SACK Sending SACK

Timeout processing
Agent/SCTP Agent/SCTP

SCTP sending

SCTP receiving

Figure 5: SCTP structure in NS-2

6.1 Schemas
4 dierent schemas were used to evaluate the performance of SCTP. 1. A Wired schema, is proposed as reference. Both TCP an SCTP were designed for wired networks. We want to know the behavior of both protocols in this schema. 2. 802.11 3. UMTS

6.1.1 Wired schema


We used the topology shown in Figure 6 to simulate a wired network. This topology supports n clients or n TCP connections or SCTP associations simultaneously. N 0(1)N 0(n) are source nodes, and N 1(0)-N 1(m) are the destination nodes. The link between node n0 and n1 is the bottleneck link with a bandwith of 1Mbps, and all trac goes through this link. The client and the servers networks act as a local area netowork. All the connections or associations have the same RT T of 24ms. The path M T U is 1500 bytes and for the SCTP associations we assume that each SCTP data chunk has the same size of 1468 bytes. The number of SCTP associations or TCP connections are divided between the number of destinations nodes. The parameters used for the wired networks simulation are the following: Application: File Transfer Protocol (FTP) Simulation Time: 300 seconds Client Data Rate: 100Mbps

6.

PERFORMANCE EVALUATION AND ANALYSIS

In this section, we use the NS-2 simulator to illustrate the performance of SCTP in wireless networks. 7

Application: File Transfer Protocol (FTP) Simulation Time: 300 seconds


N0(1)
100Mbps

N1(1)
100Mbps

Client Data Rate 802.11: 11Mbps


N1(2)

100Mbps

bottleneck
1Mbps

100Mbps

N0(2) n0
100Mbps

n1
100Mbps

UMTS: 2Mbps Frequency 802.11: 2.4GHz

N0(n)

N1(m)

UMTS: 2.175GHz Dimension of the wireless topology 802.11: 500mtsx500mts

Figure 6: Wired Schema

6.1.2 Wireless schemas (802.11, UMTS and WiMAX)


We used the topology shown in Figure 7 to simulate the wireless network. Like the previous topology, it supports n TCP connections or SCTP associations simultaneously. N 0(1)-N 0(n) are source nodes, and N 1(0)-N 1(m) are the destination nodes. BS node, is the base station to which node clients are associated. The link between node BS and n1 is the bottleneck link with a bandwith of 1Mbps, and all trac goes through this link. The path M T U is 1500 bytes and for the SCTP associations we assume that each SCTP data chunk has the same size of 1468 bytes. The number of SCTP associations or TCP connections are divided between the number of destinations nodes.

UMTS: 500mtsx500mts WiMAX: 1100mtsx1100mts

6.2 Measure variables


6.2.1 Throughput
We measure the average of data per second per client that is delivered over the bottleneck.

6.2.2 Delay
We measure the average of time that a packet of data takes from the origin, N 0(x), to the destination, N 1(x).

6.2.3 Packet loss


Packet loss due to network congestion. Packets may be dropped in the bottleneck when the packet queue is full due to congestion. We measure the rate of packets dropped in the bottleneck.

N0(1)
100Mbps

N1(1)

bottleneck

N0(2) BS

100Mbps

6.3 Experimental scenario


N1(2)

1Mbps

n1
100Mbps

We analyze the performance for two experimental scenarios: 1. FTP transmission with dierent number of clients in wireless networks stable state (no packet loss), and

N0(n) N1(m)

2. FTP transmission with a xed number of clients with dierent rates of packet loss in wireless networks.

Figure 7: Wireless Schema Depending on the type of wireless networks, BS and the client nodes are congured to provide the physical environment adapted to 802.11, UMTS or WiMAX1 . The parameters used for the wireless networks simulation are the following: Routing protocol: NO Ad-Hoc Routing Agent (NOAH). NOAH is a wireless routing agent that (in contrast to DSDV, DSR, ...) only supports direct communication between wireless nodes or between base stations. This allows to simulate scenarios where multi-hop wireless routing is undesired. NOAH does not send any routing related packets. For WiMAX implementation in NS-2, we used the version developed by the National Institute of Standards and Technology (NIST). 8
1

6.3.1 Number of clients


For this scenario, we have performed NS2 simulations changed the number of clients at 1, 5, 10, 25, 50 and 100, for the four schemas proposed (wired network, IEEE 802.11, UMTS and WiMAX), measuring the throughput, delay and packet loss to observe the performance of both TCP and SCTP protocols. In Figure 8 we can see the loss rate in the bottleneck for the dierent schemas. We can see the similarity between the graphs. This is because both protocols used basically the same congestion control algorithms. The congestion control algorithms used by SCTP are based on TCP Congestion Control. However, there are slight dierences due to particular elements in the implementation of SCTP Congestion Control algorithms. For the particular case of wired networks, SCTP handles congestion more eectively than TCP. We can see a reduction in the loss rate for SCTP regarding TCP, and as the

Wired Network 0.3 0.25 0.2 Loos rate Loos rate 0.15 0.1 0.05 0 0 10 20 30 40 50 60 Number of clients UMTS 0.3 0.25 0.2 Loos rate Loos rate 0.15 0.1 0.05 0 0 10 20 30 40 50 60 Number of clients 70 80 90 100 sctp tcp 0.3 0.25 0.2 70 80 90 100 sctp tcp 0.3 0.25 0.2

802.11 sctp tcp 0.75 0.7 0.65 Seconds 0.6 0.55 0.5 0.45 0.4 0 10 20 30 40 50 60 Number of clients WiMAX sctp tcp 0.75 0.7 0.65 Seconds 0.6 0.55 0.5 0.45 0.4 0 10 20 30 40 50 60 Number of clients 70 80 90 100 0 10 20 30 70 80 90 100 0 10 20 30

Wired Network sctp tcp 0.75 0.7 0.65 Seconds 0.6 0.55 0.5 0.45 0.4 40 50 60 Number of clients UMTS sctp tcp 0.75 0.7 0.65 Seconds 0.6 0.55 0.5 0.45 0.4 40 50 60 Number of clients 70 80 90 100 0 10 20 30 70 80 90 100 0 10 20 30

802.11 sctp tcp

0.15 0.1 0.05 0

40 50 60 Number of clients WiMAX

70

80

90

100

sctp tcp

0.15 0.1 0.05 0

40 50 60 Number of clients

70

80

90

100

Figure 8: Numbers of Clients vs. Loss Rate number of clients increases the handling of the congestion control in SCTP is better than TCP. On the contrary, in the case of wireless networks TCP Control Congestion is better, the loss rate is always below for the three schemas studied. One thing that should be emphasized, is that the SCTP control congestion is quite stable. It can be seen that the loss rate of SCTP is practically the same in the 4 schemas. Another variable observed is the average throughput per client. In the Figure 9 it is shown for the four schemas. The throughput per client is practically the same in all schemas with a small improvement in SCTP for wireless networks.
Wired Network 1000 sctp tcp 1000 802.11 sctp tcp

Figure 10: Numbers of Clients vs. delay per client

6.3.2 Link Error


Conditions of radiofrequency also have some impact on the behavior of TCP or SCTP in wireless networks. In areas with low signal quality, interference or high load conditions, the performance of the network signicantly worse for the subscriber. As a result, data speeds often get only a fraction of the available bandwidth. For this scenario, we have performed NS2 simulations with 50 clients, changed the probability of link error in client side at 0.0, 0.05, 0.10, 0.25 and 0.50, for three schemas proposed (wired network, IEEE 802.11 and UMTS), measuring the throughput, delay and packet loss to observe the performance of both TCP and SCTP protocols. Although it does not make much sense to introduce errors on the links of wired networks, we wanted to implement the error for the rst schema, only with the idea to compare it with the analysis of wireless schemas. In Figure 11 we can see the loss rate in the bottleneck according to the error in the link to the client.

Kbps

100

Kbps 0 10 20 30 40 50 60 Number of clients UMTS 70 80 90 100

100

10

10 0 10 20 30 40 50 60 Number of clients WiMAX sctp tcp 1000 sctp tcp 70 80 90 100

Wired Network 0.25 1000 sctp tcp 0.25

802.11 sctp tcp

0.2

0.2

Loss rate

Kbps

100

Kbps

100

0.1

Loss rate

0.15

0.15

0.1

0.05

0.05

10 0 10 20 30 40 50 60 Number of clients 70 80 90 100

10 0 10 20 30 40 50 60 Number of clients 70 80 90 100

0 0 10 20 % Error UMTS 0.25 30 40 50

0 0 10 20 % Error 30 40 50

sctp tcp

Loss rate

Figure 9: Numbers of Clients vs. Throughput per client A noticeable improvement is observed by SCTP in the time that takes a packet to go from the origin to its destination, namely the delay. It can be seen in the Figure 10, as the delay in SCTP is lower than TCP in all cases. For the wireless schemas, the delay grows when we increase the number of clients up 25. From 25, the delay remains practically constant. With SCTP, sending packets will be carried out more quickly, with dierences between 30 and 75ms, approximately, in comparison with TCP. IEEE 802.11 and UMTS have lower dierences, but in WiMAX the dierence between the SCTP and TCP delay is higher, albeit with a similar behavior that IEEE 802.11 and UMTS. 9

0.2

0.15

0.1

0.05

0 0 10 20 % Error 30 40 50

Figure 11: Link Error vs. Loss For these cases has been involved two types of losses. The generated by the congestion at the bottleneck and those generated by the conditions of the links of the clients. As in the previous scenario, loss rate in SCTP is lower for the wired schema and higher for the wireless schema with regard to TCP. On the other hand, there is congestion on the basis

that the error is located above 10% in UMTS and 25% in IEEE 802.11. Losses generated by the congestion in the wired schema are very few when the error of the link exceed 25%. UMTS appears to be more sensitive to lost by errors in the link, as shown in Figure 12, where more than 10% of errors on the link, throughput decreases dramatically. It can be seen as in the cases above, the similar behavior of TCP and SCTP. Both TCP and SCTP take the loss as an indication of congestion, decreases the throughput in an inappropriate manner.
Wired Network 30 25 20 Kbps 15 10 5 0 0 10 20 % Error UMTS 30 25 20 Kbps 15 10 5 0 0 10 20 % Error 30 40 50 sctp tcp 30 40 50 Kbps sctp tcp 30 25 20 15 10 5 0 0 10 20 % Error 30 40 50 802.11 sctp tcp

control congestion. However, in the presence of congestion, SCTP has better performance than TCP.

8. REFERENCES
[1] M. Allman, V. Paxson, and W. Stevens. TCP Congestion Control. RFC 2581 (Proposed Standard), Apr. 1999. Updated by RFC 3390. [2] J. Andrews, A. Ghosh, and R. Muhamed. Fundamentals of WiMAX: understanding broadband wireless networking. Prentice Hall, 2007. [3] A. Caro Jr and P. Amer. Improving Multimedia Performance over Lossy Networks via SCTP, 2000. [4] J. Castro. The UMTS Network and Radio Access Technology: Air Interface Techniques for Future Mobile Systems. John Wiley and Sons, 2001. [5] L. Coene. Stream Control Transmission Protocol Applicability Statement. RFC 3257 (Informational), Apr. 2002. [6] S. Fu and M. Atiquzzaman. Improving End-to-End Throughput of Mobile IP using SCTP. In Wksp. High Perf Switching and Routing, pages 171176, Torino, Italy, June 2003. [7] S. Fu and M. Atiquzzaman. SCTP: State of the Art in Research, Products, and Technical Challenge. IEEE Communications Magazine, 42(4):6476, April 2004. [8] S. Fu, M. Atiquzzaman, and W. Ivancic. Eect of Delay Spike on SCTP, TCP Reno, and Eifel in a Wireless Mobile Environment. In Proceedings of ICCCN2002, pages 575578, Miami, Florida, Octobre 2002. [9] IEEE-SA Standards Board. IEEE Std 802.11-1997 Information Technology- telecommunications And Information exchange Between Systems-Local And Metropolitan Area Networks-specic Requirements-part 11: Wireless Lan Medium Access Control (MAC) And Physical Layer (PHY) Specications, 1997. [10] IEEE-SA Standards Board. ANSI/IEEE Std 802.11 Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specications, 1999. [11] A. Jungmaier, M. Schopp, and M. T uxen. Performance Evaluation of the Stream Control Transmission Protocol. In Proceedings of the IEEE Conference on High Performance Switching and Routing, pages 141148, Heidelberg, Germany, June 2000. [12] M. Mathis, J. Mahdavi, S. Floyd, and A. Romanow. TCP Selective Acknowledgment Options. RFC 2018 (Proposed Standard), Oct. 1996. [13] R. Stewart. Stream Control Transmission Protocol. RFC 4960 (Proposed Standard), Sept. 2007. [14] R. Stewart, L. Ong, I. Arias-Rodriguez, and K. Poon. SCTP Implementors Guide. Internet Draft, Internet Engineering Task Force, January 2002. [15] R. Stewart and Q. Xie. Stream Control Transmission Protocol (SCTP): A Reference Guide. Addison-Wesley Professional, 2002. [16] R. Stewart, Q. Xie, K. Morneault, C. Sharp, H. Schwarzbauer, T. Taylor, I. Rytina, M. Kalla, L. Zhang, and V. Paxson. Stream Control Transmission Protocol. RFC 2960 (Proposed 10

Figure 12: Link Error vs. Throughput per client Figure 13 shown how the delay decreases considerably. The reason is due to the errors caused by the poor state of the links, basically the congestion at the bottleneck does not exist, decreasing the time that packets takes to reach their destination.
Wired Network 0.7 0.6 0.5 Seconds 0.4 0.3 0.2 0.1 0 0 10 20 % Error UMTS 0.7 0.6 0.5 Seconds 0.4 0.3 0.2 0.1 0 0 10 20 % Error 30 40 50 sctp tcp 30 40 50 Seconds sctp tcp 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 10 20 % Error 30 40 50 802.11 sctp tcp

Figure 13: Link Error vs. delay per client We see the same behavior between SCTP and TCP, but in this case, the delay in TCP is lower than in SCTP.

7.

CONCLUSIONS

We have seen how SCTP and TCP behaves in very similar ways in wireless networks. It is natural the similarity of their behaviors because both are based on the same algorithms of

Standard), Oct. 2000. Obsoleted by RFC 4960, updated by RFC 3309. [17] G. Ye, T. Saadawi, and M. Lee. SCTP Congestion Control Performance in Wireless Multi-hop Networks. In MILCOM 2002, pages 934939, Anaheim, California, Octuber 2002. [18] J. Yuehui and H. H. Dajiang. Experimental Performance Studies of SCTP in Wireless Access Networks. In Proceedings of ICCT2003, pages 392395, Beijing, China, April 2003.

11

Вам также может понравиться