Course: CISC 856: TCP/IP and Upper Layer Protocols

Slides:



Advertisements
Similar presentations
PR-SCTP (Partially Reliable) Ethan M Giordano CISC865 TCP/IP & Upper Layer Protocols University of Delaware November 22, 2005 Some slides/graphics courtesy.
Advertisements

Introduction 1 Lecture 13 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
1 SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. DATA Chunk Flag Bits.
Camarillo / Schulzrinne / Kantola November 26th, 2001 SIP over SCTP performance analysis
Transmission Control Protocol (TCP)
SCTP Tutorial Randall Stewart
Transport Layer3-1 TCP. Transport Layer3-2 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r full duplex data: m bi-directional data flow in same connection.
Data Communications and Computer Networks Chapter 3 CS 3830 Lecture 16 Omar Meqdadi Department of Computer Science and Software Engineering University.
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.
Reliable Transport Protocols Should Forbid Reneging Nasif Ekiz Paul D. Amer, Professor Preethi Natarajan Ertugrul Yilmaz Jon Leighton Abu Rahman sponsored.
Madhusudhan Shyamlal CISC 856 Computer & Information Sciences Thanks to Dr.Paul Amer Nasif Ekiz Ertugrul Yilmaz.
1 TCP CSE May TCP Services Flow control Connection establishment and termination Congestion control 2.
UNIT 07 Process – to – Process Delivery: UDP,TCP and SCTP
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
Introduction to Transport Layer. Transport Layer: Motivation A B R1 R2 r Recall that NL is responsible for forwarding a packet from one HOST to another.
Stream Control Transmission Protocol 網路前瞻技術實驗室 陳旻槿.
1 Summer Report Reporter : Yi-Cheng Lin Data: 2008/09/02.
WXES2106 Network Technology Semester /2005 Chapter 8 Intermediate TCP CCNA2: Module 10.
Process-to-Process Delivery:
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.
Chapter 16 Stream Control Transmission Protocol (SCTP)
6.1. Transport Control Protocol (TCP) It is the most widely used transport protocol in the world. Provides reliable end to end connection between two hosts.
Computer & Information Sciences University of Delaware
2: Transport Layer 21 Transport Layer 2. 2: Transport Layer 22 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r full duplex data: m bi-directional data.
University of the Western Cape Chapter 12: The Transport Layer.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
SELECTIVE ACKNOWLEDGEMENT (SACK) DUPLICATE SELECTIVE ACKNOWLEDGMENT
SCTP: Stream Control Transfer Protocol Naveen Kumar Department of Computer and Information Sciences *Some slides have been taken from Prof. Amer.
23.1 Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1.0 SIGTRAN protocol. Objectives SIGTRAN application in R4 network SIGTRAN protocol structure and message introduction SIGTRAN signaling flow Upon completion.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
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)
Internet Networking recitation #11
Stream Control Transmission Protocol
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009.
Transport Layer: Sliding Window Reliability
CS/EE 145A Reliable Transmission over Unreliable Channel II Netlab.caltech.edu/course.
4343 X2 – The Transport Layer Tanenbaum Ch.6.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 16 Stream Control Transmission.
1 Computer Communication & Networks Lecture 23 & 24 Transport Layer: UDP and TCP Waleed Ejaz
Transport Layer3-1 Transport Layer If you are going through Hell Keep going.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
December SCTP Extension: Unreliable Streams Qiaobing Xie Motorola, Inc.
SCTP (Stream Control Transmission Protocol) Chanmin Park ( 박 찬 민 ) CARES lab.
Ch23 Ameera Almasoud 1 Based on Data Communications and Networking, 4th Edition. by Behrouz A. Forouzan, McGraw-Hill Companies, Inc., 2007.
Chapter 3 Transport Layer
Master’s Project Presentation
Chapter 3 outline 3.1 Transport-layer services
DMET 602: Networks and Media Lab
Fast Retransmit For sliding windows flow control we waited for a timer to expire before beginning retransmission of a packet TCP uses an additional mechanism.
Internet Networking recitation #9
Introduction to Networks
Chapter 16 Stream Control Transmission Protocol (SCTP)
Process-to-Process Delivery, TCP and UDP protocols
PART 5 Transport Layer Computer Networks.
Introduction of Transport Protocols
NR-SACKs (Non-Renegable Selective Acknowledgments )‏
Stream Control Transmission Protocol (SCTP)
CS4470 Computer Networking Protocols
TCP Sliding Windows, Flow Control, and Congestion Control
Internet Networking recitation #10
Introduction to Computer Networks
TCP Sliding Windows, Flow Control, and Congestion Control
Computer network HW2 -Retransmission + Congest control
Transport Layer 9/22/2019.
TCP Sliding Windows, Flow Control, and Congestion Control
Presentation transcript:

Stream Control Transmission Protocol Partial Reliability Extension (PR-SCTP) Course: CISC 856: TCP/IP and Upper Layer Protocols Presented by Nasif Ekiz Computer & Information Sciences University of Delaware Thanks to Prof. Paul Amer, Ethan M Giordano

Outline Motivation Introduction Partially Reliable Service Negotiation between end-points Sender side implementation Receiver side implementation Examples Questions

Motivation TCP (Reliable) UDP (Unreliable) PR-SCTP (Partially Reliable)

Motivation

Introduction PR-SCTP is an extension to the Stream Control Transmission Protocol (SCTP) that allows an SCTP endpoint to signal its peer to move the cumulative ACK point forward. RFC 3758 Implemented Technology: FreeBSD Linux Solaris

Reliability Comparison of Transport Layer Protocols Reliable Partially Reliable Unreliable TCP, SCTP* PR-SCTP UDP No loss Controlled loss Loss is possible In order/unordered* data delivery In order/unordered data delivery Unordered data delivery No duplicates Duplicates are possible Data integrity Data integrity (optional) Flow control No flow control Congestion control No congestion control

Partial Reliability Extension is achieved through two new elements: A parameter (Forward-TSN-Supported) in the INIT/INIT-ACK indicates whether the endpoint supports the extension. A chunk type (FORWARD TSN) indicates the receiver should move its cumulative ACK point forward.

Negotiation of Partial Reliability INIT with Forward-TSN-Supported parameter INIT–ACK with Forward-TSN-Supported parameter COOKIE–ECHO COOKIE–ACK data

Forward-TSN-Supported Parameter in INIT chunk Common fields of INIT chunk Chunk Type 0x01 (1) Flags = 0 Length = 0x18 (24) Initiation Tag Receiver Window Outbound Streams Maximum Inbound Streams Initial Transmission Sequence Number (TSN) Parameter type 0xC000 (49152) Parameter Length = 0x0004 (4) Optional Forward-TSN-Supported parameter

Definition of “abandoned” chunk A PR-SCTP data sender MAY determine that a particular data chunk SHOULD NOT be transmitted or retransmitted further. Such a data chunk is referred as “abandoned”. When a data chunk is “abandoned”: The sender MUST treat the data chunk as ACK’ed and no longer outstanding. The sender MUST NOT advance the cwnd based on the “abandoned” data chunk.

Generating a Forward TSN The data sender maintains a variable called “Advanced Peer Ack Point”. Data sender MUST process the SACK When a SACK is received: If (adv.peer.ack.point < SACKCumAckPoint) adv.peer.ack.point = SACKCumAckPoint; Try to further advance adv.peer.ack.point When a data chunk is marked “abandoned” Try to advance adv.peer.ack.point If adv.peer.ack.point > SACKCumAckPoint Data sender MUST send data receiver a Forward TSN chunk containing the latest value of adv.peer.ack.point.

Advancing adv.peer.ack.point with SACK information A SACK with cum. ack. = 102 arrives Sender’s Out Queue TSN Status … 102 103 abandoned 104 105 106 acked adv.peer.ack.pnt  acked adv.peer.ack.pnt  adv.peer.ack.pnt  A Forward TSN with New Cum. TSN = 104 is sent!

a.p.a.p. = 0 tsn = 1 Receiver Buffer tsn = 2 tsn = 3 c.a. = 1 1 1 tsn = 4 tsn = 5 c.a. = 2 1 2 1 2 tsn = 6 tsn = 7 c.a. = 2 6 1 2 a.p.a.p. = 1 c.a. = 2 6 1 2 7 a.p.a.p. = 2 a.p.a.p. = 2 a.p.a.p. = 2 tsn = 3 tsn = 4 tsn = 5 c.a. = 3 6 1 2 3 7 6 1 2 3 7 a.p.a.p. = 3 fwd tsn = 3 a.p.a.p. = 4 fwd tsn = 4 c.a. = 3 6 1 2 3 7 a.p.a.p. = 5 fwd tsn = 5 c.a. = 4 4 6 1 2 3 7 c.a. = 7 4 5 6 1 2 3 7 4 5 6 1 2 3 7 a.p.a.p. = Advanced Peer Ack Point c.a. = Cumulative ACK

Forward Cumulative TSN chunk format Generated only by data sender Chunk Type 0xC0 (192) Flags 0x00 (0) Length = Variable New Cumulative TSN Stream-1 Streams Sequence-1 … Stream-N Streams Sequence-N

Forward Cumulative TSN chunk construction For each “abandoned” TSN, if chunk has valid stream and sequence number (ordered delivery), the data sender MUST include those numbers. Each stream SHOULD be reported once. If a Forward TSN is sent, the data sender MUST assure that at least one T3-rtx timer is running.

Generating a FORWARD TSN Example A SACK with cum. ack. = 102 arrives Sender’s Out Queue TSN STR SSN Status … 102 1 54 103 55 abandoned 104 2 32 105 56 106 33 Chunk Type 0xC0 (192) Flags 0x00 (0) Length = Variable New Cumulative TSN = 105 1 56 2 32 adv.peer.ack.pnt  acked adv.peer.ack.pnt  adv.peer.ack.pnt  adv.peer.ack.pnt 

Receiver Side Implementation of PR-SCTP When a FORWARD TSN chunk arrives, receiver MUST update its cumulative TSN point Try to further advance cumulative TSN point Process FORWARD TSN chunk using stream and stream sequence numbers

Advancing Cumulative TSN Point A FORWARD TSN with new cum. tsn = 103 arrives Receiver’s In Queue TSN Status … 102 received 103 missing 104 105 106 107 cum.TSN.pnt  cum.TSN.pnt  cum.TSN.pnt  cum.TSN.pnt  The new Cum. TSN point = 105!

Stream Reorder Queues Stream 1 1 3 1 1 1 3 Stream 2 2 7 2 7 2 2 a.p.a.p. = 0 tsn = 1 str = 1 seq = 1 tsn = 2 str = 2 seq = 1 tsn = 3 str = 1 seq = 2 c.a. = 1 tsn = 4 str = 3 seq = 1 c.a. = 2 tsn = 5 str = 3 seq = 2 tsn = 6 str = 3 seq = 3 Stream Reorder Queues tsn = 7 str = 2 seq = 2 c.a. = 2 a.p.a.p. = 1 c.a. = 2 Stream 1 a.p.a.p. = 2 1 3 1 1 1 3 Stream 2 a.p.a.p. = 2 a.p.a.p. = 2 2 7 2 7 2 2 tsn = 3 str = 1 seq = 2 Stream 3 tsn = 4 str = 3 seq = 1 tsn = 5 str = 3 seq = 2 c.a. = 3 4 6 4 5 6 6 4 5 6 a.p.a.p. = 3 fwd tsn = 3 str = 1 seq = 2 a.p.a.p. = 4 fwd tsn = 4 str = 3 seq = 1, str = 1 seq = 2 c.a. = 3 a.p.a.p. = 5 fwd tsn = 5 str = 3 seq = 2, str = 1 seq = 2 c.a. = 4 c.a. = 7

Special Cases A FORWARD TSN is lost! A SACK for a FORWARD TSN is lost! SACK’s from the receiver will generate FORWARD-TSN’s If T3-rtx timer expires, a new FORWARD TSN will be generated A SACK for a FORWARD TSN is lost! New SACKs from the receiver can inform data sender that the FORWARD TSN is received

Special Cases A FORWARD TSN with new cum ack <= cum TSN pnt arrives at data receiver Out of date Send a SACK ( may indicate prev. SACK is lost!) A FORWARD TSN updates the cum TSN point and a TSN that was skipped (abandoned) arrives Drop the data chunk Report the data chunk in SACK as duplicate

QUESTIONS? THANK YOU!