Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "NS Simulator Studying For Stream Control Transmission Protocol CSCI8211 Project Presentation Ke Zhang Computer Science & Engineering University of Minnesota."— Presentation transcript:

1 NS Simulator Studying For Stream 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 @ 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

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. Don’t 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 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

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). IP Network IPv4/IPv6 Application Link Layer UDP TCP SCTP Physical Layer

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 FeatureSCTPTCPUDP State required at endpointsXX Reliable Data TransferXX Multi-homed Host SupportX Multi-Stream SupportX Security against SYN attacksX Unordered Data DeliveryXX Failure detection (Heartbeat)X Message bundlingX Congestion control and avoidanceXX Message boundary conservationXX

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 SCTP Header Port Checksum Verification Tag Chunk 1 Header Chunk 1 Payload Chunk 1 Header Chunk 1 Payload....

10 SCTP Packets – Another view Source Port SCTP Common Header Chunk 1 [Control/Data Chunk [Data Chunk] n TypeFlagsLength 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)

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.34:200]}

13 Responsibility of STCP Endpoints Stream sequence delivery Message fragmentation Acknowledgement & Congestion control Message bundling Packet validation Path Management Association startup and shutdown SCTP user application 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) 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

16 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 B IPA3 IPA2

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 laptopwww.cygwin.com Only 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.shtmlhttp://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/#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 TCP sender/receiver SCTP sender/receiver 1Mpbs DropTail 1Mbps TCP SCTP

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

23

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 TCP sender/receiver SCTP sender/receiver 1Mpbs DropTail TCP SCTP Alternate(backup) path for SCTP

25 Alternate path for SCTP Shared Bottleneck link

26 TCPSCTP 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 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

28 References SCTP RFC: http://www.ietf.org/rfc/rfc2960.txthttp://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.htmlhttp://www.isi.edu/nsnam/ns/index.html NS2 SCTP patch internet site: http://pel.cis.udel.edu/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, 2002SCTP versus TCP: Comparing the Performance of Transport Protocols for Web Traffic 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.htmlhttp://www.sctp.de/sctp.html SCTP Web site: http://www.sctp.org/index.htmlhttp://www.sctp.org/index.html SCTP for Beginners: http://tdrwww.exp-math.uni-essen.de/pages/forschung/sctp_fb/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 OklahomaPerformance of Stream Control Transmission Protocol (SCTP) Chang D., and Grimm J., IBM Linux Technology Center, “An Introduction to SCTP and the LKSCTP Project ”, PowerPoint slidesAn Introduction to SCTP and the LKSCTP Project Nicolas Christin, Build NS-2 on Cygwin, http://www.cs.virginia.edu/~nc2y/ns-cygwin.shtmlhttp://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) A link B) An association C) A collaboration D) 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!


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

Similar presentations


Ads by Google