![Page 1: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/1.jpg)
NS Simulator Studying ForStream Control Transmission Protocol
CSCI8211 Project Presentation
Ke Zhang
Computer Science & Engineering
University of Minnesota
![Page 2: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/2.jpg)
Outline
Myself
Motivation for this project
Background
My work
Results
Conclusions & Future Work
References
![Page 3: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/3.jpg)
Who am I?
Working as a full-time Programmer @ Silicon Graphics, Inc (SGI, famous for its graphics technology and IRIX OS)
Currently, pursuing master degree of MICS program @ Computer Science & Engineering Department of U of Minnesota
First time coming to University campus
Planning to graduate Fall, 2003
![Page 4: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/4.jpg)
Motivation for Steaming video/audio Technology
I am directly benefit from this technology; taking every class by streaming video offered by Unite program of U of M
Original topic: Security issue for streaming video/audio for RealNetwork technology Case study: Only allow users view the stream
video/audio. Don’t allow save! Give it up due to technical difficulties
![Page 5: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/5.jpg)
Motivation for developing SCTP
Transportation of telephony signaling messages over IP networks: rigid timing and reliability requirements (Driven by moving from PSTN[public switched telephone network or Plain Old Telephone Service] to packet based Internet for telecommunication connection)
Problems for TCP and UDP TCP
Byte-Stream Oriented Provides strict ordering of information, which causes Head of Line Blocking(HOL)
problem No built-in support for multi-homed IP hosts Vulnerable for SYN flooding attacks
UDP Unreliable data transfer No congestion/flow control (application must handle it by itself)
Solution: need a new Transport Layer Protocol SCTP
![Page 6: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/6.jpg)
What is SCTP?An end-to-end, connection-oriented transport protocol that transports data in independent sequenced streamsThe Signaling Transport (SIGTRAN) group of the Internet Engineering Task Force (IETF) defines SCTP standards in RFC 2960 (October 2000)
Transport layer protocol which operates on top of an unreliable connectionless network layer such as IP.
SCTP could be implemented in network systems and applications that deliver voice/data and support quality real-time services (e.g., streaming video and multimedia).
IPNetwork
IPv4/IPv6
Application
Link Layer
UDP TCP SCTP
Physical Layer
![Page 7: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/7.jpg)
SCTP FeaturesEnd-to-end reliable transportation service over IP networksSupport multiple streams: Multiple streams per assocation solves HOL blocking problem and enables partial ordering.
Support for multi-homed hosts Multiple IP addresses per host More tolerant to network failures
Message-oriented: conserves message boundariesUnordered delivery: SCTP can deliver message as ordered or unordered. Congestion Control: SCTP congestion control is similar to TCP. Enables seamless introduction of SCTP into IP networks
SCTP is rate adaptive similar to TCP. AIMD (Additive Increase/Multiplicative Decrease) algorithm with
slow start, congestion avoidance, fast retransmit and fast recovery. SCTP uses delayed SACKs and duplicate SACKs.
![Page 8: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/8.jpg)
Feature Comparison
Feature SCTP TCP UDP
State required at endpoints X X
Reliable Data Transfer X X
Multi-homed Host Support X
Multi-Stream Support X
Security against SYN attacks X
Unordered Data Delivery X X
Failure detection (Heartbeat) X
Message bundling X
Congestion control and avoidance X X
Message boundary conservation X X
![Page 9: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/9.jpg)
SCTP Packets
Each SCTP packet contains 1 or more “Chunks”
Each Chunk has a common header: type, flags, length
Example Chunk types: DATA, SACK, INIT
SCTP HeaderPortChecksumVerification Tag
Chunk 1 HeaderChunk 1 Payload
Chunk 1 HeaderChunk 1 Payload
.
.
![Page 10: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/10.jpg)
SCTP Packets – Another view
Source Port
SCTPCommonHeader
Chunk 1[Control/Data
Chunk[Data Chunk]
n
Type Flags Length
32 bits
MTU
Verification Tag
Checksum
Data Segment 1
Type Resv.U,B,E Length
TSN
Dest. Port
Stream Sequence # nStream Identifier S
Payload Protocol Identifier
User Data (seq n of Stream S)
![Page 11: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/11.jpg)
SCTP Packet detailsThe common headers includes: The source port address The destination port address The verification tag The checksum of the entire packet
The chunk fields includes: The chunk-type field: identifies the type of chunk being
transmitted (Currently, 16 different types of chunks : 1 DATA chunk + 15 control chunks)
The chunk flag: specifies whether bits will be used in the association
The chunk length: determines the size of the entire chunk in bytes
The chunk data: includes the actual data payload of the chunk
![Page 12: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/12.jpg)
SCTP Basic termsSCTP Endpoint: is the logical end of the SCTP transport protocol.
Multi-homed SCTP Endpoint: a list of SCTP transport addresses on the machine that share a single SCTP port. E.g. endpoint A = [123.23.45.5, 137.38.84.4: 100]
SCTP Association: Similar to TCP connection. An association between two SCTP end points allows the transfer
of both application data and control data Association begins with an “initiation” and is maintained until all
data has been successfully transmitted and received. Once all data is successfully received, the association is gracefully terminated through a “shutdown”
Denotes by a pair of two SCTP endpoints. E.g. association = {[123.23.45.5, 137.38.84.4: 100] :[35.43.121.34:200]}
![Page 13: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/13.jpg)
Responsibility of STCP Endpoints
Stream sequence delivery
Message fragmentation
Acknowledgement & Congestion control
Message bundling
Packet validation
Path Management
Association
startup
and
shu
tdow
n
SCTP user application
IP Network
![Page 14: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/14.jpg)
SCTP Unordered Messages
Any message may be marked as “Unordered”.
Unordered message 3 will not wait for lost message 1 in this case
Unordered Message avoid Head of Line Blocking
problem.
4
csci8211
4
hello
3U
worldReceiver
![Page 15: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/15.jpg)
Multiple stream feature of SCTPSCTP stream: represents a sequence of messages SCTP accomplishes multistreaming by creating independence between Data transmission (uses Transport Sequence Number) Data delivery ( uses Stream Sequence Number)
Stream 0
Stream N
Sender Receiver
In the normal case, each message is delivered to the receiver in its order of transmission within the stream
A message may also be specified by the sending application as unordered
![Page 16: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/16.jpg)
Multihoming
SCTP can support multiple IP addresses in an association
Requires multiple Network Interface Cards
Peer need to select primary transport address
IP Network
Host A
IPA1
IPB2
IPB1
Host BIPA3
IPA2
![Page 17: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/17.jpg)
Flow Control & Congestion Control
SCTP uses an end-to-end window based flow and congestion control (similar to TCP)
AIMD algorithm with Slow Start and Congestion Avoidance, fast retransmit and fast recovery
SCTP uses selective Acknowledgement (SACK)
![Page 18: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/18.jpg)
NS-2 Simulations
Why choosing NS-2?NS-2 is a popular tool for network simulation
studySCTP is available for NS-2
Features of SCTP module for NS-2Establishment of associationMulti-homed SCTP endpointsOrdered and Unordered DeliverySCTP Slow-start and Congestion ControlEndpoint and Path Failure Detection
![Page 19: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/19.jpg)
Problems in NS2 Installation and Simulation
Need install cygwin first (www.cygwin.com) on my laptopOnly ns2 versions for window-based cygwin env are ns-2.1b.9a and ns-2.26 Installation packet @: http://www.cs.virginia.edu/~nc2y/ns-cygwin.
shtml Installed latest ns-2.26 on my laptop SCTP patch for ns-2 is contributed by a group at the University of
Delware. Installation packet @: http://pel.cis.udel.edu/# Only works for ns-2.1b8 version
My strategy: Install ns-2.1b8 on my laptop first Apply SCTP patch to ns-2.1b8 to get the list of all files that are touched by
SCTP packet Go through the whole patch file for SCTP and applies the changes to each
files for ns-2.26 installation on my laptop Compile ns-2.26
![Page 20: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/20.jpg)
Fairness between TCP and SCTPSimulation setting:TCP:
packet size = 1000 bytes; window_ = 20
SCTP: Data Chunk Size = 1448 bytes; MTU = 1500 bytes; outstream_number = 1
Simulation time: 6.0 seconds60 samplesMetrics: Total number of packets received by TCP/SCTP receiver
TCP sender/receiver
SCTP sender/receiver
1Mpbs DropTail
1Mbps
1Mbps
1Mbps
1Mbps
TCP
SCTP
![Page 21: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/21.jpg)
Multihoming study
Case 1: Change the primary address in the middle of an association SCTP Chunk size = 1448 bytes; MTU =1500; one HEARTBEAT is shared for all destination.Both nodes have two network interfaces. 20 second simulation; switching happens at 15 secondExpected result: The association should not be tear down between two SCTP nodes the normal data transfer should not be interrupted.
SCTP Sender SCTP Receiver
![Page 22: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/22.jpg)
![Page 23: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/23.jpg)
![Page 24: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/24.jpg)
Multihoming study Case 2: SCTP vs. TCP for the network path failure
SCTP host and TCP host share the same bottleneck network link SCTP
SCTP Chunk size = 1448 bytes; MTU =1500; each destination has its own HEARTBEAT. Both nodes have two network interfaces.
One TCP Agent and TCP Sink Agent 20 second simulation; network failure between [10, 15] Expected result:
Continually delivering data for SCTP no data transfer using TCP during the network failure
TCP sender/receiver
SCTP sender/receiver
1Mpbs DropTail
TCP
SCTP
Alternate(backup) path for SCTP
![Page 25: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/25.jpg)
Alternate path for SCTP
Shared Bottleneck link
![Page 26: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/26.jpg)
TCPSCTP
No data transfer during network failure [10, 15]
During the network failure, SCTP using alternate path to continually delivering data
![Page 27: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/27.jpg)
Conclusion and Future Work
SCTP’s multi-homing feature
Learned a lot from this project
In the future:Study the flow control and congestion control
mechanism of SCTP Investigate user-space SCTP reference
implementation
![Page 28: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/28.jpg)
References •SCTP RFC: http://www.ietf.org/rfc/rfc2960.txt
•Randall Stewart and Qiaobing Xie, Stream Control Transmission Protocol (SCTP): A Reference, Publisher: Addison-Wesley•NS2 internet site: http://www.isi.edu/nsnam/ns/index.html•NS2 SCTP patch internet site: http://pel.cis.udel.edu/•A.Jungmaier, M.Schopp, et al. - Performance Evaluation of the Stream Control transmission Protocol - Proceedings of the IEEE Conference on High Performance Switching and Routing, June 2000.•Rajesh Rajamani, S. Kumar, et al., “SCTP versus TCP: Comparing the Performance of Transport Protocols for Web Traffic”, Computer Sciences Department, University of Wisconsin=Madison, May 13, 2002•A.Jungmaier, M.Schopp, et al – SCTP – A multi-link end-to-end protocol for IP-Based Networks – International Journal of Electronics and Communications-2001•SCTP in Battlefield networks - Phillip T. Conrad, Gerard J. Heinz - Computer and Information Science Department, Temple University, Philadelphia•SCTP Web site: http://www.sctp.de/sctp.html•SCTP Web site: http://www.sctp.org/index.html•SCTP for Beginners: http://tdrwww.exp-math.uni-essen.de/pages/forschung/sctp_fb/•Atifquzzaman, M., “Performance of Stream Control Transmission Protocol (SCTP)”, PowerPoint slides, School of Computer Science, University of Oklahoma•Chang D., and Grimm J., IBM Linux Technology Center, “An Introduction to SCTP and the LKSCTP Project ”, PowerPoint slides •Nicolas Christin, Build NS-2 on Cygwin, http://www.cs.virginia.edu/~nc2y/ns-cygwin.shtml
![Page 29: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/29.jpg)
?
![Page 30: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/30.jpg)
QuizThe Signaling Transport group of IETF defines SCTP standards in _______
A) RFC 2890
B) RFC 2780
C) RFC 2960
D) RFC 2360
In SCTP, data is transmitted only when a connection is established by creating a relationship, which is referred to as _______
A) A link
B) An association
C) A collaboration
D) An affiliation
![Page 31: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/31.jpg)
SCTP closely monitors the transmission paths to the peer endpoint using _____ chunks that test the connectivity of each path.
A) INIT
B) SACK
C) HEARTBEAT
D) Shutdown
The ______ feature enables SCTP endpoints to support multiple addresses.
A) Chunk bundling
B) multi-streaming
C) address management
D) multi-homing
![Page 32: NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649e4e5503460f94b4458b/html5/thumbnails/32.jpg)
Thank You!