1 / 32

NS Simulator Studying For Stream Control Transmission Protocol

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

irisa
Download Presentation

NS Simulator Studying For Stream Control Transmission Protocol

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  9. SCTP Header • Port • Checksum • Verification Tag Chunk 1 Header Chunk 1 Payload . . Chunk 1 Header Chunk 1 Payload 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 Chunk1 [Control/Data Data Segment 1 MTU Resv.U,B,E Type Length TSN n Chunk [Data Chunk] Stream Identifier S Stream Sequence # n 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 SCTP user application Association startup and shutdown Stream sequence delivery 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 hello 3U world 4 csci8211 Receiver

  15. Stream 0 Sender Receiver Stream N 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. IPB1 IPA1 IP Network IPA2 Host A IPB2 IPA3 Host B 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 @: 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

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

  23. Alternate path for SCTP Shared Bottleneck link

  24. SCTP TCP No data transfer during network failure [10, 15] During the network failure, SCTP using alternate path to continually delivering data

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

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

  27. ?

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

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

  30. Thank You!

More Related