CC-SCTP: Chunk Checksum of SCTP for Enhancement of ...protocol.knu.ac.kr/pub/2007-tr.pdf · SCTP...

10
I. INTRODUCTION The Stream Control Transmission Protocol (SCTP) is a new reliable transport layer protocol [1]. Differently from TCP, the SCTP provides the unique features of multi-streaming and multi-homing [2]. The SCTP multi- homing allows two endpoints to establish an association using more than two IP addresses. This multi-homing feature can be used for an SCTP endpoint to improve the efficiency of the data transmissions by performing the switchover to the redundant path in the event of a failure of the primary path without interrupting data transfer. On the other hand, the SCTP is designed based on the window-based error and congestion control [3], as done in TCP. In SCTP, the corruption of a packet is regarded as a loss of the packet, which induces the retransmission request of the packet and the decrease of the congestion window at the sender side. This tends to result in the degradation of SCTP throughput performance, in particular, in the wireless networks with a high bit error (corruption) rate. The works in [4] reveal that the SCTP suffers the '' instability'' problem (a large throughput oscillation in the short-term period) in the wireless multi- hop networks. It is noted that an SCTP packet carries only one checksum in its common header. On reception of an SCTP packet, if the checksum field indicates a corruption, the entire packet will be discarded. However, an SCTP packet may contain one or more data chunks in the packet. Accordingly, a failure of the checksum in the common header does not mean the universal corruption of all the data chunks contained in the packet. That is, even in the corruption case for a data packet, a certain data chunk contained in the packet may be still delivered to the upper- layer application successfully. Moreover, a corruption is different from the loss (or congestion). Therefore, we may avoid adjustment of the congestion window (cwnd) in the corruption case, if we can determine that it is a corruption. Several works have been done to improve the SCTP throughput performance over lossy environments. The work in [5] introduces a MAC-Error-Warning (MEW) method with a new MAC packet type. The MEW method 690 Stream Control Transmission Protocol (SCTP) uses the 32-bit checksum in the common header, by which a corrupted SCTP packet will be regarded as a lost packet and then discarded. This may result in degradation of throughput performance in wireless network environments. This paper proposes a new chunk checksum scheme for SCTP, called CC-SCTP, in which each data chunk contains its own checksum fields. The proposed chunk checksum scheme is introduced with the following three purposes: 1) to distinguish the chunk corruption from the chunk loss; 2) to avoid unnecessary halving the congestion window (cwnd) in the case of chunk corruption; 3) to avoid critical timeouts caused by chunk corruption. Simulation results using the ns-2 simulator show that the proposed CC-SCTP scheme could improve the SCTP throughput in the wireless network environments with a high bit error rate. Keywords: SCTP, Chunk Checksum, Wireless Networks, Throughput Lin Cui, Seok Joo Koh: Kyungpook National University CC-SCTP: Chunk Checksum of SCTP for Enhancement of Throughput in Wireless Network Environments Lin Cui · Seok Joo Koh

Transcript of CC-SCTP: Chunk Checksum of SCTP for Enhancement of ...protocol.knu.ac.kr/pub/2007-tr.pdf · SCTP...

Page 1: CC-SCTP: Chunk Checksum of SCTP for Enhancement of ...protocol.knu.ac.kr/pub/2007-tr.pdf · SCTP packet, if the checksum ... Checksum), which is purposed to extend the format of the

I. INTRODUCTION

The Stream Control Transmission Protocol (SCTP) is

a new reliable transport layer protocol [1]. Differently

from TCP, the SCTP provides the unique features of

multi-streaming and multi-homing [2]. The SCTP multi-

homing allows two endpoints to establish an association

using more than two IP addresses. This multi-homing

feature can be used for an SCTP endpoint to improve the

efficiency of the data transmissions by performing the

switchover to the redundant path in the event of a failure

of the primary path without interrupting data transfer.

On the other hand, the SCTP is designed based on the

window-based error and congestion control [3], as done in

TCP. In SCTP, the corruption of a packet is regarded as a

loss of the packet, which induces the retransmission

request of the packet and the decrease of the congestion

window at the sender side. This tends to result in the

degradation of SCTP throughput performance, in

particular, in the wireless networks with a high bit error

(corruption) rate. The works in [4] reveal that the SCTP

suffers the ''instability'' problem (a large throughput

oscillation in the short-term period) in the wireless multi-

hop networks.

It is noted that an SCTP packet carries only one

checksum in its common header. On reception of an

SCTP packet, if the checksum field indicates a corruption,

the entire packet will be discarded. However, an SCTP

packet may contain one or more data chunks in the packet.

Accordingly, a failure of the checksum in the common

header does not mean the universal corruption of all the

data chunks contained in the packet. That is, even in the

corruption case for a data packet, a certain data chunk

contained in the packet may be still delivered to the upper-

layer application successfully. Moreover, a corruption is

different from the loss (or congestion). Therefore, we may

avoid adjustment of the congestion window (cwnd) in the

corruption case, if we can determine that it is a corruption.

Several works have been done to improve the SCTP

throughput performance over lossy environments. The

work in [5] introduces a MAC-Error-Warning (MEW)

method with a new MAC packet type. The MEW method

690

Stream Control Transmission Protocol (SCTP) uses the 32-bit checksum in the common header, by which a

corrupted SCTP packet will be regarded as a lost packet and then discarded. This may result in degradation of

throughput performance in wireless network environments. This paper proposes a new chunk checksum scheme for

SCTP, called CC-SCTP, in which each data chunk contains its own checksum fields. The proposed chunk checksum

scheme is introduced with the following three purposes: 1) to distinguish the chunk corruption from the chunk loss; 2)

to avoid unnecessary halving the congestion window (cwnd) in the case of chunk corruption; 3) to avoid critical

timeouts caused by chunk corruption. Simulation results using the ns-2 simulator show that the proposed CC-SCTP

scheme could improve the SCTP throughput in the wireless network environments with a high bit error rate.

Keywords: SCTP, Chunk Checksum, Wireless Networks, Throughput

Lin Cui, Seok Joo Koh: Kyungpook National University

CC-SCTP: Chunk Checksum of SCTP for Enhancement of

Throughput in Wireless Network Environments

Lin Cui ·Seok Joo Koh

Page 2: CC-SCTP: Chunk Checksum of SCTP for Enhancement of ...protocol.knu.ac.kr/pub/2007-tr.pdf · SCTP packet, if the checksum ... Checksum), which is purposed to extend the format of the

is similar to the Automatic Request (ARQ) mechanism

[6], but a special MAC packet is generated at the MAC

layer before the data chunk is discarded, which contains

some detailed information (including the stream ID and

the sequence number) to notify the upper layer of the

failed transmission. Arriving at the transport layer, the

MEW packet will be analyzed by the SCTP source and all

the useful information will be recovered so as to trigger

fast retransmission of the data without degrading the

congestion window.

The work in [7] utilizes the ECN [8] indications that

will be marked by an ECN-capable router, which is used

to detect the non-congestion packets loss. A packets loss

with no ECN message in the same data window will be

regarded as non-congestion errors, and then a simple loss-

recovery procedure will be executed without applying the

congestion control mechanism.

This paper proposes a data chunk-based checksum

scheme, called CC-SCTP ( 'CC' denotes Chunk

Checksum), which is purposed to extend the format of the

SCTP data chunk by adding a 'header checksum' and 'data

checksum'. The main purpose of the data chunk checksum

is to handle the chunk corruption differently from the

chunk loss for each data chunk, so that the congestion

window is not decreased unnecessarily. In addition, the

CC-SCTP is also purposed to prevent the SCTP

retransmission timer from being expired by corruption.

In the CC-SCTP scheme, if the overall checksum in the

common header fails (i.e., it indicates a corruption of the

SCTP packet), the SCTP receiver will check the integrity of

the header and data portions for each data chunk by

verifying the associated checksum fields. After that, the

successfully received data chunks, if any, will be delivered

to the upper-layer application. On the other hand, for each

corrupted data chunk, the associated SCTP Transmission

Sequence Number (TSN) value will be reported to the

sender via Selective ACK (SACK) chunk so as to request a

retransmission, together with a suitable timestamp value. It

is noted that this corruption-related TSN is used to request a

prompt retransmission to the sender, without either

shrinking the congestion window to half or waiting for the

retransmission timer to expire. In summary, the CC-SCTP

could be used to reduce the unnecessary retransmissions

and to avoid shrinking the congestion window to half as

well as unwanted timeouts caused by corruption.

The rest of this paper is organized as follows. Section

2 briefly reviews the existing related works on SCTP. In

Section 3, we describe the proposed CC-SCTP scheme.

Section 4 shows some simulation results for the proposed

scheme using the ns-2 networks simulator. Section 5

CC-SCTP: Chunk Checksum of SCTP for Enhancement of Throughput in Wireless Network Environments 691

Figure 1. Optional parameter in SCTP INIT and INIT-ACK chunks

Page 3: CC-SCTP: Chunk Checksum of SCTP for Enhancement of ...protocol.knu.ac.kr/pub/2007-tr.pdf · SCTP packet, if the checksum ... Checksum), which is purposed to extend the format of the

port numbers and Verification Tag information, the header

checksum in the first data chunk must be responsible for

covering 12-byte packet's common header in addition to

its own 18-byte header portion. With the two checksum

values, the receiver could determine whether or not the

header and data fields are corrupted for each data chunk.

III. Error Recovery Algorithm inCC-SCTP

1. Generation of SACK Chunks by SCTP Receiver

On reception of an SCTP packet, the receiver will first

verify the integrity of the whole SCTP packet by checking

the overall checksum in the common header. In case that

the packet is corrupted, the receiver will then verify the

integrity of each data chunk contained in the packet in turn

by investigating the two additional checksums for each

data chunk.

The procedure of verifying the integrity of a data

chunk is composed of two phases: first checking the

header portion and then checking the data portion. Once

checking the header fails, if it is the first chunk, the

receiver will discard this packet since the common header

may contain some wrong information, whereas if it is not

the first one, the receiver only simply discards this data

chunk and then continues to check the next one. If the

integrity of header portion is verified, the data portion will

be checked then. Failure of the data checksum means that

concludes this paper.

II. PROPOSED SCTP CHUNKCHECKSUM

For compatibility with the standard SCTP, in the

proposed CC-SCTP, the source and the destination will

decide whether or not to use the proposed chunk-based

checksum option in the association by exchanging the

relevant information using the SCTP INIT and INIT-ACK

chunks in the association establishment phase.

Figure 1 shows an example format for the INIT and

INIT-ACK chunks to indicate whether to use the proposed

CC-SCTP scheme (that is, additional checksum fields for

data chunks). In the figure, as an example, the option

parameter '13' is used for the CC-SCTP.

We assume in this paper that the SCTP endpoints

agree to use two additional 16 bits for 1's complement

checksums. In other words, the sender will construct and

transmit each data chunk with the two additional

checksums, as shown in Figure 2.

As shown in the figure, we extend the format of SCTP

data chunk by including two additional checksum fields:

header checksum and data checksum. At the sender side,

the header checksum will be calculated by covering the

first 18-byte header fields of the data chunk (as indicated

with the red lines in the figure), while the data checksum

field will be filled by reflecting the rest portion (as shown

with the green lines in the figure). For ensuring the

integrity of the packet's common header which contains

692 Telecommunications Review·Vol. 17 No. 4·2007. 8

Figure 2. Data chunk with 16-bit checksum in the CC-SCTP

Page 4: CC-SCTP: Chunk Checksum of SCTP for Enhancement of ...protocol.knu.ac.kr/pub/2007-tr.pdf · SCTP packet, if the checksum ... Checksum), which is purposed to extend the format of the

receiver side. It is noted that each corruption event should

be recorded in each subsequent SACK chunk. The detailed

use of this timestamp will be described in the next section.

Figure 4 shows the modified chunk format of SACK

chunk for the proposed CC-SCTP.

2. Retransmission by CC-SCTP Sender

Normally, the SCTP source uses the two different

the receiver has to append/update the associated TSN and

timestamp for the subsequent SACK chunk, while success

of the data check means the receiver needs to deliver the

data chunk to the application. The detailed checksum

procedure is illustrated in Figure 3.

After inspecting the chunk checksums for each data

chunk, the SCTP receiver will construct the subsequent

SACK chunk, including TSNs and timestamps. Herein, the

timestamp indicates when the corruption is detected at the

CC-SCTP: Chunk Checksum of SCTP for Enhancement of Throughput in Wireless Network Environments 693

SCTP data packet

No

No

No

No

Yes

Yes

Yes

Yes

Yes

Process it as normal

Discards this packet

Continue as normal for the data chunk

Appends/Updates the TSN and timestamp for the subsequent SACK chunk

Constructs a SACK chunk and send it immediately

Figure 3. Checksum calculation by a CC-SCTP receiver

Figure 4. Proposed SACK chunk format

Checksum in commonHeader fails?

Header checksumfails?

Data checksumfails?

First data chunkof this packet? Discards this data chunk

Another data chunk?

Page 5: CC-SCTP: Chunk Checksum of SCTP for Enhancement of ...protocol.knu.ac.kr/pub/2007-tr.pdf · SCTP packet, if the checksum ... Checksum), which is purposed to extend the format of the

IV. NUMERICAL RESULTS

We evaluate the proposed CC-SCTP scheme using the

ns-2 network simulator [9] over a simple test network, in

which two endpoints communicate through either a single

path (single-homing) or two non-overlapping paths (multi-

homing), as shown in Figure 7.

In the figure, the end-to-end paths are in the wired-

cum-wireless manner. Each wired link has the link

bandwidth of 10 Mbps and the transmission delay of

10ms, whereas the wireless link has the bandwidth of 2

Mbps and the transmission delay of 35ms. For each

experiment, we use the file transfer application using

SCTP over the ns-2 simulator.

To emulate the chunk corruption in the wireless

environments, we employ Gilbert model [10], as shown in

Figure 8, and we marked each corrupted packet with a

corruption flag instead of dropping it in the experiments.

In the model, two states of 'good' and 'bad' are

expressed in terms of transition probabilities p and q, and

average 'good' period of t1 seconds and 'bad' period of t2

seconds. If the link is in a 'good' state at present, it will

continue to stay in the 'good' state with probability p, or

transfer to the 'bad' state with a probability 1-p at the next

instance. In the Gilbert model, 'good' state means zero

error probability. Also, if the link is in a 'bad' state at the

current instance, then it will continue to stay in the 'bad'state with probability q, or transfer to the 'good' state with

a probability 1-q at the next instance. When the link is in

the 'bad' state, a SCTP packet experiences a packet

694 Telecommunications Review·Vol. 17 No. 4·2007. 8

recovery schemes for a lost packet: namely timer-based

retransmission and fast retransmission. In the proposed

CC-SCTP scheme, however, the 'corruption' event will be

processed differently from the loss event, since the

corruption itself indicates an explicit retransmission

request.

By seeing the corruption-related TSN and

corresponding timestamp enclosed in SACK chunk, the

SCTP source can easily infer whether the corruption report

is for a new corruption event. If the source determines

that the corruption-related TSN and corresponding

timestamp reports a new corruption event, it will

retransmit the data chunk (i.e., the sender may retransmit

the same data chunk multiple times before retransmission

timer expires if it is corrupted repeatedly.).

Figure 5 shows the procedure of processing a SACK

chunk at the SCTP sender. In the figure, when the SCTP

sender receives a SACK chunk, it first checks whether

there is any corrupted TSNs enclosed in the chunk. If not,

the sender processes it as normal; If yes, it determines

whether it is a report for a new corruption event or not. If

it is a new corruption report, then the sender records the

TSN and timestamp for retransmission. If not, the sender

simply ignores it and continues to check the next

corruption report.

By means of the retransmission strategy, CC-SCTP

can greatly improve the throughput performance of SCTP.

Figure 6 shows an example traced in our CC-SCTP

simulations which may illustrate the proposed

retransmission strategy.

SACK chunk

Continues as normal

Nothing to do for it.

Retransmits corrupted data chunks together

Figure 5. SACK processing by CC-SCTP sender

Records the TSN and timestamp;Forwards the data chunk with the TSN to sending buffer.

Is there anyCorruption TSN?

Is it a new corruptionevent?

Another corrupted TSN?

No

No

No

Yes

Yes

Yes

Page 6: CC-SCTP: Chunk Checksum of SCTP for Enhancement of ...protocol.knu.ac.kr/pub/2007-tr.pdf · SCTP packet, if the checksum ... Checksum), which is purposed to extend the format of the

corruption in the network with the probability β.

Table 1 summarizes the parameter values used for the

CC-SCTP experiments.

For each ns-2 experiment, every packet size is 1500

bytes and only one data chunk is contained. We

performed a file transfer application for 100 seconds and

CC-SCTP: Chunk Checksum of SCTP for Enhancement of Throughput in Wireless Network Environments 695

compare the average throughput (Kbps) of CC-SCTP for

both the single-homing and multi-homing cases under the

following various test scenarios:

ⓐ for different packet corruption probability (β);

ⓑ for different time period of two states (t1, t2);

Time=3.06 103/cwnd=66060

Sender Receiver

data chunk(TSN=386)

x(corruption)

data chunk (TSN=387)

data chunk (TSN=386)

data chunk (TSN=386)

x (re-corruption)

SACK {Rax

request fo

r TSN=386

}

SACK {Rax

request fo

r TSN=386

with old t

imestamp

3.288781

}

SACK {Rax

request fo

r TSN=386

with rene

wed times

tamp 3.52

2781}

SACK{Rax

request fo

r TSN=386

with old t

imestamp

3.522781

}

Same TSN and same timestamp, no retransmission

Same TSN and same timestamp, no retransmission

Corruption report for TSN=386 disappears

Figure 6. An example packet flow of retransmissions by CC-SCTP

New corruption event with new TSN and new timestamp1stFasr retransmission: Time=3.331069/cwnd=66060

New corruption event and records itwith TSN=386&Timestamp=3.288781

Re-corruption event and updates it withTSN=386&renewed Timestamp=3.522781

TSN hole on 386 data chunk disappears;Removes related record from subsequent SACKs

Re corruption event with old TSN and renewed timestamp2nd Fasr retransmission: Time=3.565126/cwnd=66060

Single-homed:

Host1

Multi-homing:

Host2

wired

wired

10M 10ms

10M 10ms

Figure 7. Simulation topology

wireless

wireless

2M 35ms

2M 35ms

10M 10ms 2M 35ms

Two-state Gilbert Model

Host1 wired wireless Host2

Page 7: CC-SCTP: Chunk Checksum of SCTP for Enhancement of ...protocol.knu.ac.kr/pub/2007-tr.pdf · SCTP packet, if the checksum ... Checksum), which is purposed to extend the format of the

696 Telecommunications Review·Vol. 17 No. 4·2007. 8

ⓒ for the secondary (backup) path with packet corruption

probability (β);

ⓓ for the wired links with packet loss rates.

1. SCTP throughput for different corruption rates

Figure 9 shows the comparison of average throughput

between CC-SCTP and conventional SCTP for 100

seconds with the different corruption rates (β) from 0 to

0.5, given the other parameters as those in Table 1.

From the figure, we can see that the proposed CC-

SCTP schemes provide better throughput over the

conventional SCTP schemes for both the single-homing

and multi-homing cases. In particular, in the existing

SCTP single-homing case, the average throughput of

SCTP degrades drastically, as the corruption rate (β)

increases. On the contrary, the proposed CC-SCTP

scheme give better throughput, with the help of the

proposed chunk checksums and retransmission strategy.

This is because the CC-SCTP can successfully avoid the

adjustment of the congestion window size incurred by

timeouts and fast retransmissions due to corruption. That

is, the performance of the CC-SCTP is not sensitive to the

corruption rate, compared to the standard SCTP.

By comparison of single-homing and multi-homing

SCTP, the multi-homing SCTP provides better

performance than the single-homing case, since the multi-

homing SCTP can use the secondary path for

retransmission of corrupted data chunks. Overall, the

multi-homed CC-SCTP gives the best throughput over all

the test cases.

1-q

1-p

Figure 8. Two-state Gilbert model for Packet Corruption

p Good Bad q

250

200

150

100

50

0

SCTP-single

SCTP-multihoming

CC-SCTP-single

CC-SCTP-multihoming

0.0% 5% 10% 15% 20% 25% 30% 35% 40% 45% 50%

Packet Corruption Rate in Bad State

Average Throughput (KBytes/s)

Figure 9. SCTP throughput for different β values

Average Period

t1=2.5 seconds (variable)

t2=0.5 seconds (variable)

Transition Probability

p=0.9, (1-p)=0.1

(1-q)=0.7, q=0.3

Packet corruption Rate

α=0

β=0.25 (variable)

State

Good

Bad

Table 1. Parameter values used for experimentations

Page 8: CC-SCTP: Chunk Checksum of SCTP for Enhancement of ...protocol.knu.ac.kr/pub/2007-tr.pdf · SCTP packet, if the checksum ... Checksum), which is purposed to extend the format of the

CC-SCTP: Chunk Checksum of SCTP for Enhancement of Throughput in Wireless Network Environments 697

2. SCTP throughput for different time periods

Figure 10 shows the performance of CC-SCTP for

different time periods of the two states: good (t1) and bad

(t2). In the figure, given the base value of t1=2.5 second,

the t1 values vary from 10s (4 x t1), 5s, 2.5s, 1.25s,

0.625s. 0.3125s, 0.15625s and 0.078125s, respectively,

whereas given the base value of t2=0.5 second, the t2

values vary from 2s (4 x t2), 1s, 0.5s, 0.25s, 0.125s,

0.0625s, 0.03125s and 0.015625s, respectively.

From the figure, the results show that all the

experiments, other than the proposed CC-SCTP multi-

homing, are sensitive to the time periods of two states (t1

and t2). We can see that a shorter time period gives the

worse performance. In the figure, it is noted that the

proposed single-homed and multi-homed CC-SCTP

outperform both the existing SCTP (single-homing and

multi-homing). This is because the corruption does not

induce the shrink of the congestion window size in the

proposed scheme.

3. SCTP throughput for the secondary pathwith corruption

Figure 11 shows the results of SCTP for the secondary

path with corruption. In this scenario, we assume that the

secondary path of the SCTP could also experience the

250

200

150

100

50

0

4t1 2t1 t1 t1/2 t1/4 t1/8 t1/16 t1/324t2 2t2 t2 t2/2 t2/4 t2/8 t2/16 t2/32

Time periods of two states

Average Throughput (KBytes/s)

Figure 10. SCTP throughput for different time periods of two states

SCTP-single

CC-SCTP-single

SCTP-multihoming

CC-SCTP-multihoming

200

150

100

50

04t1 2t1 t1 t1/2 t1/4 t1/8 t1/16 t1/324t2 2t2 t2 t2/2 t2/4 t2/8 t2/16 t2/32

Time periods of two states

Average Throughput (KBytes/s)

Figure 11. Throughput for the SCTP secondary path with a corruption rate

SCTP-single

CC-SCTP

SCTP-multihoming-dualerror

CC-SCTP-multihoming-daulerror

Page 9: CC-SCTP: Chunk Checksum of SCTP for Enhancement of ...protocol.knu.ac.kr/pub/2007-tr.pdf · SCTP packet, if the checksum ... Checksum), which is purposed to extend the format of the

packet corruption in the network. Note that in the

previous scenarios the secondary path did not have the

corruption rate. Based on the simulation environment of

Section 4.2, we apply the same two-state Gilbert model to

the secondary path of SCTP.

In the figure, we see that the proposed CC-SCTP

schemes still give better throughput than the standard

SCTP for both the single-homing and multi-homing cases.

This implies that the proposed CC-SCTP scheme could

give the performance gain in the networks with a high

corruption rate for the secondary path as well as the

primary path.

4. Throughput of SCTP in the networkswith packet losses

Finally, we compare the throughput of CC-SCTP in

the networks with some packet 'losses' in addition to the

packet corruptions. We apply a uniform error (loss) model

for the primary wired-link to generate the packet losses,

with the packet loss rate ranged from 0 to 0.1.

Figure 12 shows the throughputs of the SCTP in the

networks with the packet loss rates as well as the packet

corruptions.

In the figure, we can see that the proposed CC-SCTP

schemes provide the better throughput than the standard

SCTP for both the single-homing and multi-homing cases,

especially, when the packet loss rate is less than 2% in the

wired link, compared to the standard SCTP.

5. Discussion on additional overhead

Notice that the proposed scheme uses the two

additional checksum options, header checksum (2 bytes)

and data checksum (2 bytes), to the existing SCTP data

chunk format. This means that each data chunk has to

carry the small additional data payload (i.e., 4 bytes for

header and data checksums).

This additional overhead may seem to be unnecessary

in the error-free environments such as a fixed broadband

network. However, it is noted that the two end SCTP hosts

will negotiate whether or not the SCTP association uses

the additional 4-byte options in the association

establishment phase, as described in Section 2. That is,

the proposed scheme will be optionally used only for the

SCTP connection in which the two endpoints want to use.

V. CONCLUSIONS

In this paper, we propose the data chunk-based

checksum scheme, CC-SCTP, which is designed to

enhance the SCTP throughput even in the wireless

network environments with a high bit error (or corruption)

rate. From the simulation results, we can see that the

proposed CC-SCTP scheme provides better throughput

than the standard SCTP for both the single-homing and

multi-homing cases in the networks with a high bit error or

corruption rates. In particular, the proposed CC-SCTP

schemes give the better performance gain in the multi-

homing case.

It is noted that the performance gain of the proposed

CC-SCTP scheme comes from the following features: 1)

the proposed scheme can distinguish the chunk corruption

from the chunk loss by using the additional data chunk

checksums; 2) hence, the CC-SCTP scheme can avoid

698 Telecommunications Review·Vol. 17 No. 4·2007. 8

250

200

150

100

50

0

SCTP-single

SCTP-multihoming

CC-SCTP-singleCC-SCTP-multihoming

0% 0.5% 1% 2% 3% 4% 5% 10%

Packet Corruption Rate in Bad State

Average Throughput (KBytes/s)

Figure 12. Throughput of SCTP with different packet loss rates

Page 10: CC-SCTP: Chunk Checksum of SCTP for Enhancement of ...protocol.knu.ac.kr/pub/2007-tr.pdf · SCTP packet, if the checksum ... Checksum), which is purposed to extend the format of the

unnecessary deflation of the congestion window in the

case of packet corruption; 3) in particular, the CC-SCTP

scheme could exploit a robust retransmission strategy to

avoid the timeouts caused by corruption.

AcknowledgementsThe authors give special thanks to the referees for their

valuable comments and suggestions. This research was

supported by the MIC of Korea, under the ITRC support

program supervised by the IITA (IITA-2006-C1090-0603-

0026).

[References][1] R. Stewart, et al., Stream Control Transmission

Protocol, IETF RFC 2960, Oct. 2000.[2] A. Caro, et al, ''Retransmission Policies with Transport

Layer Multihoming,'' Proceeding of the ICON 2003 Conference, 2003, pp. 255-260.

[3] M. Allman, et al., TCP Congestion Control, IETF RFC 2581, Apr. 1999.

[4] G. Ye, et al., ''SCTP Congestion Control Performancein Wireless Multi-hop Networks,'' Proceeding of the

MILCOM 2002 Conference, Oct. 2002, pp. 934-939.[5] D. Wang, et al., "A Mac-Error-Warning Method for

SCTP Congestion Control over High BER Wireless Network," Proceeding of the International Conference on Wireless Communications, Networking and Mobile Computing, Sep. 2005, pp. 513 - 516.

[6] S. Lin, et al., ''Automatic-repeat-request Error Control Schemes,'' IEEE Communications Magazine, Vol. 22, Dec. 1984, pp. 5-17.

[7] G. Ye, et al., "Improving Stream Control Transmission Protocol Performance Over Lossy Links", IEEE Journal on Selected Areas in Communications, Vol., Issue 4, May 2004, pp. 727-736.

[8] K. Ramakrishnan, et al., The Addition of Explicit Congestion Notification (ECN) to IP, IETF RFC 3168, Sep. 2001.

[9] Network Simulator (ns-2), Available from http://www.isi.edu/nsnam/ns/.

[10] E. N. Gilbert, ''Capacity of a burst-noise channel,''Bell Systems Technical Journal, Vol. 39, Sep. 1960, pp. 1253-1265.

CC-SCTP: Chunk Checksum of SCTP for Enhancement of Throughput in Wireless Network Environments 699

Lin Cui

He received B.S. degree in Electronics Enineering from

Tianjin University, China, and M.S. degree in Computer

Engineering from KyungHee Unicersity, Korea, in 1989

and 2005, respectively. He is currently pursuing his Ph.D

degree in Computer Science from Kyungpook National

University, Korea. His research interests include Transport

Layer Protocols, Advanced Transfer Technologies for the

Next Generation Network, Mobile Communication and

Convergence of Heterogeneous Networks.

E-mail: [email protected]

Seok Joo Koh

He received B.S. and M.S. degrees in Management

Science from KAIST in 1992 and 1994 respectively. He

also received Ph.D. degree in Industrial Engineering from

KAIST in 1998. In 1998, he joined Protocol Engineering

Center in ETRI. Since 2004, he is now with the School of

Electronic Engineering and Computer Science in

Kyungpook National University. He has actively

participated in the standardization in ITU-T SG13, SG17,

SG19 and ISO/IEC JTC1 as an editor. His current research

interests include the mobility management, SCTP, and IP

multicasting.

E-mail: [email protected]

Tel +82-53-950-7356

Fax:+82-53-950-6369