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

Slides:



Advertisements
Similar presentations
Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
Advertisements

SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.
Camarillo / Schulzrinne / Kantola November 26th, 2001 SIP over SCTP performance analysis
Prentice HallHigh Performance TCP/IP Networking, Hassan-Jain Chapter 2 TCP/IP Fundamentals.
Transmission Control Protocol (TCP)
IS333, Ch. 26: TCP Victor Norman Calvin College 1.
1 Chapter 3 TCP and IP. Chapter 3 TCP and IP 2 Introduction Transmission Control Protocol (TCP) Transmission Control Protocol (TCP) User Datagram Protocol.
Stream Control Transmission Protocol (SCTP)
TCP/IP Protocol Suite 1 Chapter 13 Upon completion you will be able to: Stream Control Transmission Protocol Be able to name and understand the services.
TCP/IP Protocol Suite 1 Chapter 13 Upon completion you will be able to: Stream Control Transmission Protocol Be able to name and understand the services.
Stream Control Transmission Protocol Special thanks to Dr. Paul Amer Presented by – Viren Mahajan November 20, 2007.
Computer Communication Digital Communication in the Modern World Transport Layer Multiplexing, UDP
Stream Control Transmission Protocol 網路前瞻技術實驗室 陳旻槿.
William Stallings Data and Computer Communications 7 th Edition (Selected slides used for lectures at Bina Nusantara University) Transport Layer.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
1 Summer Report Reporter : Yi-Cheng Lin Data: 2008/09/02.
IP-UDP-RTP Computer Networking (In Chap 3, 4, 7) 건국대학교 인터넷미디어공학부 임 창 훈.
Gursharan Singh Tatla Transport Layer 16-May
What Can IP Do? Deliver datagrams to hosts – The IP address in a datagram header identify a host IP treats a computer as an endpoint of communication Best.
Process-to-Process Delivery:
Chapter 16 Stream Control Transmission Protocol (SCTP)
TRANSPORT LAYER T.Najah Al-Subaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET331.
1 Chapter Internetworking Part 4 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
1 Transport Layer Computer Networks. 2 Where are we?
Signaling & Network Control Dr. Eng. Amr T. Abdel-Hamid NETW 704 Winter 2006 Intelligent Networks.
Review: –What is AS? –What is the routing algorithm in BGP? –How does it work? –Where is “policy” reflected in BGP (policy based routing)? –Give examples.
Presentation on Osi & TCP/IP MODEL
Adaptive Failover Mechanism Motivation End-to-end connectivity can suffer during net failures Internet path outage detection and recovery is slow (shown.
1 Chapter 1 OSI Architecture The OSI 7-layer Model OSI – Open Systems Interconnection.
Introduction to Networks CS587x Lecture 1 Department of Computer Science Iowa State University.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 All.
ECE453 – Introduction to Computer Networks Lecture 14 – Transport Layer (I)
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 2.5 Internetworking Chapter 25 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
Transport Layer: UDP, TCP
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Chapter 3 Transport Layer
1 Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
SCTP: Stream Control Transfer Protocol Naveen Kumar Department of Computer and Information Sciences *Some slides have been taken from Prof. Amer.
Fall 2005 By: H. Veisi Computer networks course Olum-fonoon Babol Chapter 6 The Transport Layer.
1 Introduction to Computer Networks University of ilam Dr. Mozafar Bag-Mohammadi Transport Layer.
1 TCP: Reliable Transport Service. 2 Transmission Control Protocol (TCP) Major transport protocol used in Internet Heavily used Completely reliable transfer.
CSE679: Computer Network Review r Review of the uncounted quiz r Computer network review.
4.1.4 multi-homing.
Transport Layer 3-1 Chapter 3 Outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP.
1.0 SIGTRAN protocol. Objectives SIGTRAN application in R4 network SIGTRAN protocol structure and message introduction SIGTRAN signaling flow Upon completion.
S305 – Network Infrastructure Chapter 5 Network and Transport Layers.
Computer Networks23-1 PART 5 Transport Layer. Computer Networks23-2 Position of Transport Layer Responsible for the delivery of a message from one process.
STREAM CONTROL TRANSMISSION PROTOCOL (SCTP)
SCTP: A new networking protocol for super-computing Mohammed Atiquzzaman Shaojian Fu Department of Computer Science University of Oklahoma.
Teacher:Quincy Wu Presented by: Ying-Neng Hseih
Stream Control Transmission Protocol
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 16 Stream Control Transmission.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
2: Transport Layer 11 Transport Layer 1. 2: Transport Layer 12 Part 2: Transport Layer Chapter goals: r understand principles behind transport layer services:
SCTP (Stream Control Transmission Protocol) Chanmin Park ( 박 찬 민 ) CARES lab.
1 Chapter 24 Internetworking Part 4 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
Ch23 Ameera Almasoud 1 Based on Data Communications and Networking, 4th Edition. by Behrouz A. Forouzan, McGraw-Hill Companies, Inc., 2007.
Introduction to Networks
Chapter 3 outline 3.1 Transport-layer services
Chapter 16 Stream Control Transmission Protocol (SCTP)
Transport Layer.
Process-to-Process Delivery, TCP and UDP protocols
PART 5 Transport Layer Computer Networks.
SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic
Introduction to Networks
Transport Layer Unit 5.
SCTP Team 2: Alexia Allaway Johnson Nguyen Nnamdi Nwajagu Scott Seo
Stream Control Transmission Protocol (SCTP)
Process-to-Process Delivery:
Process-to-Process Delivery: UDP, TCP
Presentation transcript:

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? Working as a full-time Silicon Graphics, Inc (SGI, famous for its graphics technology and IRIX OS) Currently, pursuing master degree of MICS Computer Science & Engineering Department of U of Minnesota First time coming to University campus Planning to graduate Fall, 2003

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

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

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

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.

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

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

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)

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

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 = [ , : 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 = {[ , : 100] :[ :200]}

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

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 csci hello 3U world Receiver

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

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

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)

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

Problems in NS2 Installation and Simulation Need install cygwin first ( on my laptopwww.cygwin.com Only ns2 versions for window-based cygwin env are ns-2.1b.9a and ns Installation cygwin.shtmlhttp:// 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  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

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

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

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

Alternate path for SCTP Shared Bottleneck link

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

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

References SCTP RFC: Randall Stewart and Qiaobing Xie, Stream Control Transmission Protocol (SCTP): A Reference, Publisher: Addison-Wesley NS2 internet site: NS2 SCTP patch internet site: 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 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: SCTP Web site: SCTP for Beginners: 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,

?

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

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

Thank You!