design of sctp-scf - ijcsnspaper.ijcsns.org/07_book/200804/20080411.pdf · sctp (stream control...

7
IJCSNS International Journal of Computer Science and Network Security, VOL.8 No.4, April 2008 74 Manuscript received April 5, 2008 Manuscript revised April 20, 2008 Design of SCTP-SCF Doo-Won Seo 1 , Hyuncheol Kim 2 1 Dept. of Computer Information, Daeduk College, Deajon, Korea 2 Dept. of Computer Science, Namseoul Univ., Cheonan, Korea Summary SCTP (Stream Control Transmission Protocol) is a general-purpose transport protocol for IP network data communications. This paper examines methods of guaranteeing multi-streaming management and fairness among streams within SCTP associations. We investigated an important aspect of fairness adjustment between streams of SCTP, the underlying congestion control mechanism. In this paper, we propose that separated congestion control with a fairness compensation module is more efficient than the standard SCTP. Proposed SCTP-SCF overcomes existing problems in the traditional SCTP when a multi-streaming feature is used. Key words: SCTP, Fairness, Multi-streaming, Congestion control 1. Introduction Stream Control Transmission Protocol (SCTP) is a general-purpose transport protocol for IP network data communications that resembles Transmission Control Protocol (TCP) and User Datagram Protocol (UDP). The Internet Engineering Task Force (IETF) published it as RFC2960 [1]. The main purpose of SCTP is providing reliable end-to-end message transportation services over IP-based networks. The network community has paid a lot of attention, regarding both research and development, to SCTP because of its beneficial features such as multi- streaming and multi-homing in many institutes and universities [2][3][4][5]. Multi-streaming with only one congestion control can not settle the HOL blocking problem. To settle the problem clearly, it is needed to separate congestion control on each stream. However, a new problem will be generated in that fairness will not be guaranteed. It seems to be a worthwhile subject to settle the fairness problem. It will be a great help in upgrading the total throughput over networks. Unfairness supports unfair service to the applications. When the status of fairness is not so good, it could generate a situation where several packets are accidently unable to transfer. At this time, the average throughput of SCTP is degraded. This paper examines methods of guaranteeing multi- streaming management and fairness among streams within a SCTP association. For this research of multi- streaming fairness, congestion control, which is based on the loss and Round Trip Time (RTT) was used to adaptively modify the SCTP congestion control window. This paper presents a revised, improved congestion control scheme such as SCTP-SCF that includes SCTP multi-streaming to solve performance problems at high speed and evaluates the method’s performance. The performance of the proposed scheme is evaluated using an OPNET simulator. 2. Related Works The basic service offered by SCTP is the reliable transfer of user messages between peer SCTP users. It performs this service within the context of an association between two SCTP endpoints. SCTP is connection-oriented in nature, but the SCTP association is a broader concept than the TCP connection [1]. This section summarizes some of the key features that provide to the ULP (Upper layer protocol). Fig. 1 SCTP multi-homing concept 2.1 SCTP Multi-Streaming The SCTP transfer protocol has a function in which one SCTP association has multiple streams. Multi-streaming allows for multiple streams on an association to send data. A SSN (Streaming Sequence Number) is allocated to each stream in SCTP so that the order of the streams could be maintained to manage the data being transferred thereby providing secure data transfers.

Upload: others

Post on 16-Mar-2020

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Design of SCTP-SCF - IJCSNSpaper.ijcsns.org/07_book/200804/20080411.pdf · SCTP (Stream Control Transmission Protocol) is a general-purpose transport protocol for IP network data

IJCSNS International Journal of Computer Science and Network Security, VOL.8 No.4, April 2008

74

Manuscript received April 5, 2008

Manuscript revised April 20, 2008

Design of SCTP-SCF

Doo-Won Seo1, Hyuncheol Kim2

1 Dept. of Computer Information, Daeduk College, Deajon, Korea

2 Dept. of Computer Science, Namseoul Univ., Cheonan, Korea Summary SCTP (Stream Control Transmission Protocol) is a general-purpose transport protocol for IP network data communications. This paper examines methods of guaranteeing multi-streaming management and fairness among streams within SCTP associations. We investigated an important aspect of fairness adjustment between streams of SCTP, the underlying congestion control mechanism. In this paper, we propose that separated congestion control with a fairness compensation module is more efficient than the standard SCTP. Proposed SCTP-SCF overcomes existing problems in the traditional SCTP when a multi-streaming feature is used.

Key words: SCTP, Fairness, Multi-streaming, Congestion control

1. Introduction

Stream Control Transmission Protocol (SCTP) is a general-purpose transport protocol for IP network data communications that resembles Transmission Control Protocol (TCP) and User Datagram Protocol (UDP). The Internet Engineering Task Force (IETF) published it as RFC2960 [1]. The main purpose of SCTP is providing reliable end-to-end message transportation services over IP-based networks. The network community has paid a lot of attention, regarding both research and development, to SCTP because of its beneficial features such as multi-streaming and multi-homing in many institutes and universities [2][3][4][5].

Multi-streaming with only one congestion control can not settle the HOL blocking problem. To settle the problem clearly, it is needed to separate congestion control on each stream. However, a new problem will be generated in that fairness will not be guaranteed. It seems to be a worthwhile subject to settle the fairness problem. It will be a great help in upgrading the total throughput over networks.

Unfairness supports unfair service to the applications. When the status of fairness is not so good, it could generate a situation where several packets are accidently unable to transfer. At this time, the average throughput of SCTP is degraded.

This paper examines methods of guaranteeing multi-streaming management and fairness among streams within a SCTP association. For this research of multi-streaming fairness, congestion control, which is based on the loss and Round Trip Time (RTT) was used to adaptively modify the SCTP congestion control window.

This paper presents a revised, improved congestion control scheme such as SCTP-SCF that includes SCTP multi-streaming to solve performance problems at high speed and evaluates the method’s performance. The performance of the proposed scheme is evaluated using an OPNET simulator.

2. Related Works

The basic service offered by SCTP is the reliable transfer of user messages between peer SCTP users. It performs this service within the context of an association between two SCTP endpoints. SCTP is connection-oriented in nature, but the SCTP association is a broader concept than the TCP connection [1]. This section summarizes some of the key features that provide to the ULP (Upper layer protocol).

Fig. 1 SCTP multi-homing concept

2.1 SCTP Multi-Streaming

The SCTP transfer protocol has a function in which one SCTP association has multiple streams. Multi-streaming allows for multiple streams on an association to send data. A SSN (Streaming Sequence Number) is allocated to each stream in SCTP so that the order of the streams could be maintained to manage the data being transferred thereby providing secure data transfers.

Page 2: Design of SCTP-SCF - IJCSNSpaper.ijcsns.org/07_book/200804/20080411.pdf · SCTP (Stream Control Transmission Protocol) is a general-purpose transport protocol for IP network data

IJCSNS International Journal of Computer Science and Network Security, VOL.8 No.4, April 2008

75

As for the single-stream TCP, in the case where packets of a data that was transferred to the stream is lost, the Head of Line blocking occurs. The data cannot be transported to an application when waiting for the lost packet to be retransferred.

Fortunately, SCTP supports the multi-streaming function in which even if the data transfer in one stream encounters the packet loss of a data, the transfer process in other streams are not affected and therefore able to continue transferring data to an application. Fig. 1 shows the SCTP multi-streaming concept [6][7].

Therefore, SCTP's strength is in its multi-streaming ability that makes the data transfer faster. In addition, SCTP contains a U flag that can select the data chunk to be ordered or unordered. If a data transfer does not to be ordered, the U flag can simply be set to one for unordered data transfer. The receiving end of the terminal that identifies the U flag can reduce the waiting time because it does not need to wait to receive the packets in order or to receive any lost data. Therefore, using the ordered, unordered function of the data chunk in association with the multi-streaming ability can bring a significant increase in the performance.

2.2 SCTP Multi-Homing

An SCTP endpoint is considered multi-homed if there are more than one transport addresses that can be used as a destination address to reach that endpoint. Moreover, the ULP of an endpoint shall select one of the multiple destination addresses of a multi-homed peer endpoint as the primary path. By default, an endpoint should always transmit to the primary path, unless the SCTP user explicitly specifies the destination transport address to use. Fig. 2 shows the SCTP multi-streaming concept [6][7].

3. SCTP-SCF

3.1 Motivation

If we make a typical request to an HTTP server to download a web page when surfing the Internet, normally we will receive several different files, containing text, graphics, or sound. In figure 2 the left side represents the source, which sends three small files upon the request of the client, and the right side is the destination. In figure 2, we see what happens when the three files are sent using a single TCP connection: as the first datagram is lost, even though the second and third files arrived entirely at the client they cannot be delivered to the upper user.

Source Destination

Text

SoundGraph

S1G1T1S2G2T2

G1T1S2G2T2

TCP User

Buffered

Fig. 2 A single TCP connection

Usually, the client opens several different TCP connections, one independent connection per file, and closes each one once the file is completely transferred. This is shown in figure 3. However, we still suffer from the delay involved in opening and closing the TCP connections, and what is worse, we are wasting resources by having several TCP connections open at the same time between the same two endpoints, as servers have a limitation in the number of open TCP connections they can have at the same time. Apart from saving resources and avoiding delay by establishing these TCP connections, all the streams belong to the same association [8].

Source

Text

SoundGraphS1

G1

T1

S2

G2

T2 S2

TCP User

BufferedDestination

TCP Connection 1

TCP Connection 2

TCP Connection 3 Delivered Delivered

G1G2

T1T2

TCP User

TCP User

Fig. 3 Multiple TCP connections

Using multi-streaming, data transmitted with a single SCTP association may be divided into multiple streams as shown figure 4. The delivery sequence of these streams is independently handled. Within each stream, it is also possible to independently set the ordered or unordered delivery. Packet loss in one stream has no effect on the remaining streams, which assists them in avoiding the well-known TCP HOL blocking problem. When using the multi-streaming feature, the in-sequence delivery of the transmitted data may only be guaranteed within each stream, not the whole association. At the same time, a transport is performed within a single association, so all of the streams are under a common flow and congestion control mechanism [9].

Source

Text

SoundGraph

S1

G1

T1

S2

G2

T2

Stream 1

BufferedDestination

Stream 1

Stream 2

Stream 3 Delivered Delivered

G1G2

T1T2

SCTP User

Stream 3Stream 2

SCTPAssociation

S2

Fig. 4 A single SCTP association with 3 streams

Page 3: Design of SCTP-SCF - IJCSNSpaper.ijcsns.org/07_book/200804/20080411.pdf · SCTP (Stream Control Transmission Protocol) is a general-purpose transport protocol for IP network data

IJCSNS International Journal of Computer Science and Network Security, VOL.8 No.4, April 2008

76

The current network end users want to request various types of data from an application. The application must provide a way to transmit multiple data types in parallel, and must effectively respond to periods of insufficient bandwidth. SCTP streams are independent, so research is under way to support their adaptation to specific application requirements. However, no another previous work has suggested an algorithm to guarantee fairness of a stream competing with other stream with SCTP. Therefore, the work presented in this paper differs from previous works in that it guarantees fairness among streams. In this paper, a new congestion control called SCTP-SCF is proposed to settle this problem as shown figure 5.

Source

Text

SoundGraphS1

G1

T1

S2

G2

T2

Stream 1

Buffered->DeliveredDestination

Stream 1

Stream 2

Stream 3 DeliveredDelivered

G1G2

T1T2

SCTP User

Stream 3Stream 2

SCTPAssociation

S2

S1S2

Fig. 5 A single SCTP-SCF association with 3 streams

Since congestion and flow control are respectively done for each path and association, a stream congestion control is performed per application. Thus, when single loss occurs for a particular stream, SCTP suffers cwnd reductions per path and halves the whole stream values each time. Consequently, the current specification of SCTP’s congestion control does not ensure precise congestion control for each stream when there is a single loss or multiple losses within a certain stream [10].

Multi-streaming with only one congestion control can not settle the HOL blocking problem. To settle the problem clearly, it is needed to separate congestion control on each stream. However, a new problem will be generated in that fairness will not be guaranteed. It seems to be a worthwhile subject to settle the fairness problem. It will be a great help in upgrading the total throughput over networks.

Unfairness supports unfair service to the applications. When the status of fairness is not so good, it could generate a situation where several packets are accidently unable to transfer. At this time, the average throughput of SCTP is degraded.

3.2 Standard SCTP Module

The Figure 6 shows the standard SCTP module, which consists of association management module, global congestion control, and queue management modules.

AssociationManagement

Module

Send

Queue

Management

Module

Receive

Queue

Management

Module

GlobalCongestionController

IP

SCTP

ULP API

Fig. 6 Standard SCTP's functional modules

◦ Stream queue management: The endpoint must manage the operation and resources for every stream. For outbound streams, the endpoint will have to assign stream sequence numbers for every outgoing message. For inbound streams, the endpoint will have to monitor the continuity of stream sequence numbers of the arriving messages and undertake message reordering when needed.

◦ Global congestion controller: The end point must check whether a congestion problem exists in the network. If it finds that network congestion is happening, the endpoint will have to adjust its sending operation to help mitigate the network congestion.

Figure 7 shows the layered operation of standard SCTP.

Application

DataType 3

DataType 2

stream1

DataType 1

stream3

stream2

Packet 2 :

Stream 1,2

Packet 3 :

Stream 2,3

Packet 1 :

Stream 1

IP

SCTP

One AssociationOne Congestion Control

Fig. 7 The layered operation of standard SCTP

Page 4: Design of SCTP-SCF - IJCSNSpaper.ijcsns.org/07_book/200804/20080411.pdf · SCTP (Stream Control Transmission Protocol) is a general-purpose transport protocol for IP network data

IJCSNS International Journal of Computer Science and Network Security, VOL.8 No.4, April 2008

77

3.3 SCTP-SC

Proposed SCTP using Separated Congestion controller (SCTP-SC) is an SCTP using separated congestion control. Since congestion and flow control are respectively done for each path and association, a stream congestion control is performed per application. Thus, when a single loss occurs for a particular stream, SCTP suffers cwnd reductions per path and halves the whole stream values each time. SCTP-SC will settle this problem.

Figure 8 shows the SCTP-SC module. The SCTP-SC module is made up of association management modele, per stream congestion controller, queue management module, and windows update scheme. The per stream congestion controller and windows update scheme operate on each stream.

AssociationManagement

Module

Send

Queue

Management

Module

Receive

Queue

Management

Module

per StreamCongestion

Controller

per Stream

CongestionController

w indow supdate scheme

w indow supdate scheme

IP

SCTP-SC

ULPAPI

Fig. 8 SCTP-SC's functional modules

Figure 9 shows the layered operation of SCTP-SC

Application

DataType 3

DataType 2

stream1

DataType 1

stream3

stream2

Packet 2 :

Stream 2

Packet 3 :

Stream 3

Packet 1 :

Stream 1

IP

SCTP

Each ConnectionEach Congestion Control

Fig. 9 The layered operation of SCTP-SC

3.4 SCTP-SCF

In this section, we propose an algorithm to improve the SCTP fairness based on the fairness guarantee scheme and the window adaptation scheme.

SCTP using Separated Congestion controller with Fairness guarantee module (SCTP-SCF) use separated congestion control with a fairness guarantee module. SCTP-SC increases the total throughput but makes a new problem that generates unfairness. SCTP-SCF controls the congestion window based on its own information and information from another stream. SCTP-SCF is more efficient than the original SCTP. By applying a separated congestion control module, SCTP-SCF created and can be used for various applications. SCTP-SCF overcomes existing problems in the standard SCTP when the multi-streaming feature is used.

Unfairness supports unfair service to applications. When the status of fairness is not very good, a situation can be generated where several packets are unable to transfer accidently. At such a time, the average throughput of SCTP is degraded. Table 1 shows a comparison of SCTP at collision.

Page 5: Design of SCTP-SCF - IJCSNSpaper.ijcsns.org/07_book/200804/20080411.pdf · SCTP (Stream Control Transmission Protocol) is a general-purpose transport protocol for IP network data

IJCSNS International Journal of Computer Science and Network Security, VOL.8 No.4, April 2008

78

Table 1 Comparison of SCTP at collision

Standard SCTP

SCTP-SC SCTP-SCF

Throughput decrease all streams

-decrease special stream -slow restoration from pseudo collision

fast restoration from pseudo collision

Fairness no meaning could not guarantee fairness

guarantee fairness

Figure 10 shows the SCTP-SCF module. The SCTP-SC module is made up of an association management module, per stream congestion controller, queue management module, windows update scheme, and fairness guarantee module. The fairness guarantee module uses congestion control for aggregates where flows have the same end-to-end path. The architecture’s core is the fairness guarantee module, which coordinates path information to guarantee correct congestion behavior and permits applications to readily adapt to network congestion. To react more effectively with high BDP networks, the window adjustment algorithm needs to be fairer than it has been. It is worthwhile to attempt a fairer approach depending on the information the estimated extra data gives. Layered operation of SCTP-SCF is same as that of SCTP-SC.

AssociationManagement

Module

Send

Queue

Management

Module

Receive

Queue

Management

Module

FairnessGuarantee

Moduleper StreamCongestionController

per StreamCongestionController

w indow s

update scheme

w indow supdate scheme

IP

SCTP-SCF

ULP API

Fig. 10 SCTP-SCF's functional modules

We introduce four zones, OverLoadZone (OLZ), LoadZone(LZ), Base Zone(BZ), and Idle Zone(IZ), as shown in figure 11.

if ( (α + RanF) < Diff )

OLZ

else if ((α < Diff) && ( Diff < (α + RanF)))

LZ

else if (((α ‒ RanF) < Diff) && ( Diff < α ))

BZ

else if ( Diff < (α ‒ RanF))

IZ

◦Expected = cwnd / BaseRTT

◦Actual =cwnd / RTT

◦ Diff = Expected – Actual

◦ RanF: Range Factor of α

Fig. 11 Classification of zone

where α is extra buffer counts that are occupied by the

connection in the network. The OLZ is a zone where overload traffic is repeatedly

in a collision status. At OLZ, SCTP-SCF can increase the congestion window size based on its own cwnd, cwnds from other streams, and a compensation factor such as equation (3.1).

÷÷÷÷

ø

ö

çççç

è

æ

´+=

å=

n

i

iCwnd

nCwndnCwndnCwnd

0

][

][][][ m (3.1)

where n is the number of stream, μ is compensation

factor. If the effect of μ is rapid, compensation factorμ is exchanged to μ/n. (3.1) is changed to (3.2)

÷÷÷÷

ø

ö

çççç

è

æ

´+=

å=

n

i

iCwnd

nCwndnnCwndnCwnd

0

][

]'[)/(]'[]'[ m (3.2)

At IZ, cwnd could be decreased based on information

from other streams. as in equation (3.3), (3.4). The LZ is a zone where overload traffic is sometimes in a collision status.

Page 6: Design of SCTP-SCF - IJCSNSpaper.ijcsns.org/07_book/200804/20080411.pdf · SCTP (Stream Control Transmission Protocol) is a general-purpose transport protocol for IP network data

IJCSNS International Journal of Computer Science and Network Security, VOL.8 No.4, April 2008

79

÷÷÷÷

ø

ö

çççç

è

æ

´-=

å=

n

i

iCwnd

nCwndnCwndnCwnd

0

][

][][][ m (3.3)

÷÷÷÷

ø

ö

çççç

è

æ

´-=

å=

n

i

iCwnd

nCwndnnCwndnCwnd

0

][

]'[)/(]'[]'[ m (3.4)

4. Performance Evaluation

3.4 Modeling

This Chapter describes the SCTP module developed for the network simulator OPNET [11]. OPNET is a discrete event simulator developed for network research. Our SCTP implementation is based on RFC 2960, CINT's SCTP module[12], and the University of Delaware's SCTP module [13]. The latter module is in wide use and provides a strong baseline for SCTP functionality.

OPNET is implemented in C with a moduler framework for extensibility. Since we are dealing with a simulation environment, we abstracted some functions of SCTP from all the detailed functions. We also simplify other procedures such as association establishment and association shutdown. The target network configuration of our simulation model is shown in figure 11.

Source(2 Stream)

\

Destination

\

Fig. 11 Logical representation of a target network

3.4 Simulation Result

We constructed two scenarios. The first scenario is for SCTP-SC, and the second scenario is for SCTP-SCF at the OLZ. In each scenario, we used the SCTP stream0 process model and SCTP stream1 process model in order to use a multi-streaming function. Traffic losses were generated only on stream 0.

Jain's fairness index function is used to justify the fairness of TCP schemes. Jain fairness index function is used to justify the fairness of SCTP schemes.

From figure 12, it can be seen that SCTP-SCF performs better than SCTP-SC. SCTP-SCF outperforms SCTP-SC because SCTP-SCF finds the peer stream's measurement and increases cwnd. Measurement data of a packet loss, a timeout and cwnd are considered.

Fig. 12 Jain's fairness index

5. Conclusion

Congestion and flow control at SCTP are executed once for each path and association, respectively. Contrarily, congestion control is executed for each application. Therefore, when a certain stream has a single loss, SCTP undergoes reductions in cwnd size for each path, and the whole-stream values are halved in value every time. Consequently, the current specification of SCTP’s congestion control does not make certain that congestion control is accurate for every stream when a single loss or multiple losses occur within a particular stream.

Multi-streaming with only one congestion control cannot settle the HOL blocking problem. To settle the problem clearly, a separate congestion control on each stream is needed. However, a new problem will be generated in that fairness will not be guaranteed. It seems to be a worthwhile subject to settle the fairness problem.

Page 7: Design of SCTP-SCF - IJCSNSpaper.ijcsns.org/07_book/200804/20080411.pdf · SCTP (Stream Control Transmission Protocol) is a general-purpose transport protocol for IP network data

IJCSNS International Journal of Computer Science and Network Security, VOL.8 No.4, April 2008

80

as it will be a great help in upgrading the total throughput over networks. Unfairness supports unfair service to applications. When the fairness status is not so good, it could generate a situation where several packets are accidently unable to transfer. At this time, the average throughput of SCTP is degraded.

We investigated an important aspect of fairness adjustment between streams of SCTP, the underlying congestion control mechanism. To improve SCTP's performance and to guarantee fairness in a new approach that refers to another stream's information such as cwnd and RTT, we introduce a fairness guarantee module.

Proposed SCTP-SCF overcomes existing problems in the traditional SCTP when multi-streaming feature is used. The network simulator OPNET was used to run the performance evaluation. Through simulation, our algorithms show an improvement over standard SCTP.

References

[1] 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, October 2000.

[2] Eum-Mi Park, “A study of SCTP Streaming Scheme for Effective Bandwidth Aggregation”, Thesis for the Degree of Master, Korean University, June 2005.

[3] Kang-Min Jung, “A Efficient Video Transmission Scheme Using Predictive SCTP”, Thesis for the Degree of Master, Korean University, December 2005.

[4] Guanhua Ye, “Congestion Control for SCTP in Wireless Ad-Hoc Networks”, Ph.D. dissertation, the City University of New York, 2004.

[5] Zhengliang Yi, “Analytical Modeling of SCTP and Load Balancing SCTP”, Ph.D. dissertation, the City University of New York, 2005.

[6] S. Ladha, and P. Amer, ''Improving multiple file transfers using SCTP multistreaming'', 23rd IEEE and Comm Conf (IPCCC), Apr. 2003, pp. 13-22.

[7] Tasneem Yunus Kanpurwala, ''SCTP multi-streaming: Study of transmission of partially reliable and reliable data using dynamic stream priorities'', The Degree of MASTER of SCIENCE, Oklahoma State University, 2006.

[8] Iván Arias Rodríguez, “Stream Control Transmission Protocol The design of a new reliable transport protocol for IP networks”, Helsinki University of Technology, February, 2002.

[9] Alberto Dainotti, Salvatore Loreto, Antonio Pescap ,́ and Giorgio Ventre, “SCTP performance evaluation over heterogeneous networks”, Published online 3 in Wiley InterScience, April 2007, pp. 1207–1218.

[10] Seok-Hoon Choi, A SCTP Traffic Control Scheduler for Effective Multi-streaming Management, Thesis for the Degree of Master, Korea University, December 2005

[11] "OPNET Module", www.opnet.com.

[12] Ahmed Abd El Al, http://ees2cy.engr.ccny.cuny.edu/wwwa/web/aabdelal/.

[13] A.Caro, J. Iyengar. ns-2 SCTP module, http://pel.cis.udel.edu.