Title: NS Simulator Studying For Stream Control Transmission Protocol
1NS Simulator Studying ForStream Control
Transmission Protocol
- CSCI8211 Project Presentation
- Ke Zhang
- Computer Science Engineering
- University of Minnesota
2Outline
- Myself
- Motivation for this project
- Background
- My work
- Results
- Conclusions Future Work
- References
3Who am I?
- Working as a full-time Programmer _at_ Silicon
Graphics, Inc (SGI, famous for its graphics
technology and IRIX OS) - Currently, pursuing master degree of MICS program
_at_ Computer Science Engineering Department of U
of Minnesota - First time coming to University campus
- Planning to graduate Fall, 2003
4Motivation 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. Dont allow save! - Give it up due to technical difficulties
5Motivation for developing SCTP
- Transportation of telephony signaling messages
over IP networks rigid timing and reliability
requirements (Driven by moving from PSTNpublic
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
6What is SCTP?
- An end-to-end, connection-oriented transport
protocol that transports data in independent
sequenced streams - The 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).
7SCTP Features
- End-to-end reliable transportation service over
IP networks - Support 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 boundaries
- Unordered 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.
8Feature 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
9SCTP Packets
- Each SCTP packet contains 1 or more Chunks
- Each Chunk has a common header type, flags,
length - Example Chunk types DATA, SACK, INIT
10SCTP Packets Another view
32 bits
Source Port
Dest. Port
SCTP
Verification Tag
Common
Header
Checksum
Type
Flags
Length
Chunk 1 Control/Data
Data Segment 1
MTU
Resv.U,B,E
Type
Length
n
TSN
Chunk Data Chunk
Stream Sequence n
Stream Identifier S
Payload Protocol Identifier
User Data (seq n of Stream S)
11SCTP Packet details
- The 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
12SCTP Basic terms
- SCTP 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.34200
13Responsibility of STCP Endpoints
SCTP user application
Stream sequence delivery
Association startup and shutdown
Message fragmentation
Acknowledgement Congestion control
Message bundling
Packet validation
Path Management
IP Network
14SCTP 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 world
Receiver
15Multiple stream feature of SCTP
- SCTP 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)
- 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
16Multihoming
- SCTP can support multiple IP addresses in an
association - Requires multiple Network Interface Cards
- Peer need to select primary transport address
17Flow 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)
18NS-2 Simulations
- Why choosing NS-2?
- NS-2 is a popular tool for network simulation
study - SCTP is available for NS-2
- Features of SCTP module for NS-2
- Establishment of association
- Multi-homed SCTP endpoints
- Ordered and Unordered Delivery
- SCTP Slow-start and Congestion Control
- Endpoint and Path Failure Detection
19Problems in NS2 Installation and Simulation
- Need install cygwin first (www.cygwin.com) on my
laptop - Only ns2 versions for window-based cygwin env are
ns-2.1b.9a and ns-2.26 - Installation packet _at_ 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 _at_ 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
20Fairness between TCP and SCTP
- Simulation setting
- TCP
- packet size 1000 bytes window_ 20
- SCTP
- Data Chunk Size 1448 bytes MTU 1500 bytes
outstream_number 1 - Simulation time 6.0 seconds
- 60 samples
- Metrics Total number of packets received by
TCP/SCTP receiver
21Multihoming 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
second - Expected result
- The association should not be tear down between
two SCTP nodes - the normal data transfer should not be
interrupted.
SCTP Sender
SCTP Receiver
22(No Transcript)
23(No Transcript)
24Multihoming 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
25Alternate path for SCTP
Shared Bottleneck link
26TCP
SCTP
No data transfer during network failure 10, 15
During the network failure, SCTP using alternate
path to continually delivering data
27Conclusion and Future Work
- SCTPs 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
28References
- 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/ind
ex.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 WisconsinMadison, 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-ess
en.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
29 30Quiz
- The 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 link
- An association
- A collaboration
- An affiliation
31- 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
32Thank You!