1 Summer Report Reporter : Yi-Cheng Lin Data: 2008/09/02
2 Outline What is SCTP [rfc 2960] Reference paper : Performance of SCTP for IPTV Applications Ongoing work
3 What is SCTP Introduction Packets States Data Multihoming Streams
4 What is SCTP : Introduction Introduction SCTP is a reliable transport protocol operating on top of a potentially unreliable connectionless packet service such as IP. It offers acknowledged error-free non-duplicated transfer of datagrams (messages). Detection of data corruption, loss of data and duplication of data is achieved by using checksums and sequence numbers.
5 Applicability: SCTP can be used as the transport protocol for applications where monitoring and detection of loss of session is required. Diagram showing the concept of SCTP association. What is SCTP :Introduction SCTP User Application SCTP Transport Service IP Network Service Network transportSCTP Node A SCTP Node B One or more IP address appearances Naturally at the same layer as TCP or UDP services
6 What is SCTP :Introduction The SCTP decisive difference to TCP is : –Multihoming – the concept of several streams within a connection (association ) –TCP a stream is referred to as a sequence of bytes, an SCTP stream represents a sequence of messages (and these may be very short or long)
7 What is SCTP :Packets Packets SCTP Packets –SCTP packet forms the payload of an IP packet –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.
8 What is SCTP :Packets
9 The common header The common header consists of 12 bytes. –Source Port –Destination Port –Checksum: SCTP packet is protected by a 32 bit checksum, robust than the 16 bit checksum of TCP and UDP –verification tag : 32 bit value, association specific, and exchanged between the endpoints at association startup. So there are two tag values used in one association.
10 What is SCTP :Packets Chunk Chunk type field – used to distinguish data chunks and different types of control chunks Flags A chunk length field –because chunks have a variable length. The value field – contains the actual payload of the chunk.
11
12 What is SCTP :States States This section describes the states that an instance of the SCTP protocol enters while an association is established, and when it is taken down again. The initialization of an association is completed on both sides after the exchange of four messages.
13
14
15 What is SCTP :Data Data SCTP Data Transmission –General concepts SCTP distinguishes different streams of messages within one SCTP association. This enables a delivery scheme where only the sequence of messages needs to be maintained per stream (partial in-sequence delivery) which reduces unnecessary head-of-line blocking between independent streams of messages.
16 What is SCTP :Data SCTP Data Transmission –Flow control SCTP uses an end-to-end window based flow and congestion control mechanism similar to the one that is well known from TCP. The receiver of data may control the rate at which the sender is sending by specifying an octet-based window size (the so-called Receiver Window), and returning this value along with all SACK chunks. The sender itself keeps a variable known as Congestion Window (short: CWND) that controls the maximum number of outstanding bytes
17 What is SCTP :Multihoming Multihoming –An essential property of SCTP is its support of multi-homed nodes. i.e. nodes which can be reached under several IP addresses. Advantage: travels on physically different paths if different destination IP address are used, associations become tolerant against physical network failures.
18 What is SCTP :Streams Streams SCTP distinguishes different streams of messages within one SCTP association. SCTP provides a mechanism for bypassing the sequenced delivery service. Flow control and congestion control in SCTP have been designed in a way which assures that SCTP traffic behaves in the network in the same way as TCP traffic does. Transport Sequence Number (TSN): Detection of loss and duplication of data chunks. Selective Acknowledgement (SACK) : retransmitted
19 Reference paper : Performance of SCTP for IPTV Applications Sang Tae Kim, Seok Joo Koh, Yong Jin Kim Advanced Communication Technology, The 9th International Conference on (ICACT.2007)
20 Reference paper : Performance of SCTP for IPTV Applications Outline Introduction Features of SCTP for IPTV Applications Design of IPTV over SCTP Performance Analysis Conclusions
21 Introduction There have been some studies on the performance of the SCTP until now. –(1) congestion control, –(2) multihoming, –(3) multistreaming, –(4) out-of-order service, –(5) partial reliability extension, –(6) application in the wireless/mobile environment, –(7) SCTP over satellite networks [4]. we note some works on the multi-streaming and partial-reliable extension for IPTV applications.
22 Features of SCTP for IPTV Applications we describe the new features of SCTP that can be considered to support real- time IPTV applications. –PR-SCTP –Multi-streaming PR-SCTP
23 Features of SCTP for IPTV Applications Multi-streaming
24 Design of IPTV over SCTP In this section, we briefly give an overview of our implementation of IPTV over SCTP.
25 Performance Analysis Experimental Environment –The bit-rate of multimedia data is a constant value (i.e., CBR traffic). –The data rate is usually grater than the bit- rate R. –The message size of each SCTP DATA chunk is a constant value of 1024 bytes.
26 Performance Analysis Linux kernel and lksctp-tools [9], sctplib and socketapi [10]. well-known GNU C/C++ compiler and GNU make NISTNET 3.Oa [14] is used to emulate network environment. Wireshark network protocol analyzer [15], similar to the well-known Ethereal, is used to capture the traffic in the transmission.
27 Performance Analysis Test Scenarios –i. We compare the transfer completion time of TCP, UDP, SCTP and PR-SCTP for different loss rate. –ii. We compare the transfer-to-reception ratio of PR-SCTP and UDP for different loss rate. –iii. We compare the transfer completion time of PR-SCTP for different loss rate and different stream numbers. –iv. We compare the transfer completion time of TCP and SCTP using three streams for different loss rate. –v. We compare the channel switching delay of TCP and SCTP. Using MPEG-TS movie file with the size of 2Mbytes, which is transmitted over the bandwidth of 1024 kbps.
28
29
30 Ongoing work Install NISTNET emulation tool. Install sctplib and socketapi in Unbuntu. Write a simple SCTP echo client-server and SCTP daytime client-server program. Learning how to use SCTP API to implement SCTP multihoming feature. Learning how to transmits the media data using SCTP characteristic.