NS Simulator Studying For Stream Control Transmission Protocol - PowerPoint PPT Presentation

1 / 32
About This Presentation
Title:

NS Simulator Studying For Stream Control Transmission Protocol

Description:

NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota – PowerPoint PPT presentation

Number of Views:173
Avg rating:3.0/5.0
Slides: 33
Provided by: ufl123
Category:

less

Transcript and Presenter's Notes

Title: NS Simulator Studying For Stream Control Transmission Protocol


1
NS Simulator Studying ForStream Control
Transmission Protocol
  • CSCI8211 Project Presentation
  • Ke Zhang
  • Computer Science Engineering
  • University of Minnesota

2
Outline
  • Myself
  • Motivation for this project
  • Background
  • My work
  • Results
  • Conclusions Future Work
  • References

3
Who 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

4
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. Dont allow save!
  • Give it up due to technical difficulties

5
Motivation 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

6
What 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).

7
SCTP 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.

8
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
9
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

10
SCTP 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)
11
SCTP 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

12
SCTP 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

13
Responsibility 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
14
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 world
Receiver
15
Multiple 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

16
Multihoming
  • SCTP can support multiple IP addresses in an
    association
  • Requires multiple Network Interface Cards
  • Peer need to select primary transport address

17
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)

18
NS-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

19
Problems 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

20
Fairness 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

21
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
    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)
24
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

25
Alternate path for SCTP
Shared Bottleneck link
26
TCP
SCTP
No data transfer during network failure 10, 15
During the network failure, SCTP using alternate
path to continually delivering data
27
Conclusion 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

28
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/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
  • ?

30
Quiz
  • 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

32
Thank You!
Write a Comment
User Comments (0)
About PowerShow.com