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

NS Simulator Studying For Stream Control Transmission Protocol

  • Upload
    irisa

  • View
    58

  • Download
    1

Embed Size (px)

DESCRIPTION

NS Simulator Studying For Stream Control Transmission Protocol. CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota. Outline. Myself Motivation for this project Background My work Results Conclusions & Future Work References. Who am I?. - PowerPoint PPT Presentation

Citation preview

Page 1: NS Simulator Studying For Stream Control Transmission Protocol

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

Outline

Myself

Motivation for this project

Background

My work

Results

Conclusions & Future Work

References

Page 3: NS Simulator Studying For Stream Control Transmission Protocol

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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
Page 23: NS Simulator Studying For Stream Control Transmission Protocol
Page 24: NS Simulator Studying For Stream Control Transmission Protocol

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

Alternate path for SCTP

Shared Bottleneck link

Page 26: NS Simulator Studying For Stream Control Transmission Protocol

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

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

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

?

Page 30: NS Simulator Studying For Stream Control Transmission Protocol

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

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

Thank You!