Discussion: Messaging

Similar documents
The Transport Layer is Dead Long Live the Transport Layer! Michael Welzl Net Group, University of Rome Tor Vergata

The Transport Layer is Dead Long Live the Transport Layer! Michael Welzl University of Oslo / University of Rome Tor Vergata

Outline. History Introduction Packets Association/ Termination Data Transmission concepts Multihoming Streams

Our pre-taps work on transport services Michael Welzl

TCP/IP Protocol Suite 1

CSE 461 Module 10. Introduction to the Transport Layer

Video Streaming with the Stream Control Transmission Protocol (SCTP)

An SCTP-Protocol Data Unit with several chunks

Computer Network Programming

UNIT IV -- TRANSPORT LAYER

TSIN02 - Internetworking

CN1047 INTRODUCTION TO COMPUTER NETWORKING CHAPTER 6 OSI MODEL TRANSPORT LAYER

Transport Services Internet Transport's Last Chance? Michael Welzl

Minion: An All-Terrain Packet Packhorse to Jump-Start Stalled Internet Transports

CSC 4900 Computer Networks: TCP

Transport Layer. The transport layer is responsible for the delivery of a message from one process to another. RSManiaol

Transport Layer (TCP/UDP)

Stream Control Transmission Protocol

Network Protocols. Sarah Diesburg Operating Systems CS 3430

Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

Transport Layer Marcos Vieira

UNIT IV TRANSPORT LAYER

Reliability and Availability in Stream Control Transport Protocol (SCTP)

TSIN02 - Internetworking

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP

Mobile Transport Layer Lesson 10 Timeout Freezing, Selective Retransmission, Transaction Oriented TCP and Explicit Notification Methods

Transport Layer Review

Chapter 24. Transport-Layer Protocols

Transport Layer Protocols TCP

NT1210 Introduction to Networking. Unit 10

Randall Stewart, Cisco Systems Phill Conrad, University of Delaware

Fall 2012: FCM 708 Bridge Foundation I

Different Layers Lecture 20

Computer Networks and Data Systems

Stream Control Transmission Protocol (SCTP)

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1

MULTIHOMING AND MULTISTREAM PROTOCOL IN COMPUTER NETWORKS

ITS323: Introduction to Data Communications

Design and Implementation of SCTP-aware DTLS

Connections. Topics. Focus. Presentation Session. Application. Data Link. Transport. Physical. Network

Internet and Intranet Protocols and Applications

Master Course Computer Networks IN2097

A Survey of Recent Developments of TCP. Sally Floyd ACIRI (AT&T Center for Internet Research at ICSI) October 17, 2001

Internet Layers. Physical Layer. Application. Application. Transport. Transport. Network. Network. Network. Network. Link. Link. Link.

CSE 461 The Transport Layer

Transport Protocol (IEX-TP)

Washington State University CptS 455 Sample Final Exam (corrected 12/11/2011 to say open notes) A B C

SCTP: A new networking protocol for super-computing. Mohammed Atiquzzaman Shaojian Fu Department of Computer Science University of Oklahoma.

TCP/IP-2. Transmission control protocol:

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

CSEP 561 Connections. David Wetherall

CS 716: Introduction to communication networks th class; 7 th Oct Instructor: Sridhar Iyer IIT Bombay

Computer Networking Introduction

10 minutes survey (anonymous)

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 9

Chapter 3 outline. 3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management

CMPE 80N: Introduction to Networking and the Internet

Basic Reliable Transport Protocols

SCTP s Reliability and Fault Tolerance

Network Protocols. Transmission Control Protocol (TCP) TDC375 Autumn 2009/10 John Kristoff DePaul University 1

CSC 401 Data and Computer Communications Networks

Different Layers Lecture 21

CSE 461 Connections. David Wetherall

Page 1. Review: Internet Protocol Stack. Transport Layer Services. Design Issue EEC173B/ECS152C. Review: TCP

CSCI-1680 Transport Layer I Rodrigo Fonseca

Chapter III: Transport Layer

32 bits. source port # dest port # sequence number acknowledgement number not used. checksum. Options (variable length)

TSIN02 - Internetworking

UNIT V. Computer Networks [10MCA32] 1

23-3 TCP. Topics discussed in this section: TCP Services TCP Features Segment A TCP Connection Flow Control Error Control 23.22

CSEP 561 Connections. David Wetherall

UDP, TCP, IP multicast

CS 4390 Computer Networks. Pointers to Corresponding Section of Textbook

Transport of (Legacy) Signaling over IP. Summary of course scope

Chapter 5 End-to-End Protocols

Chapter 3 Transport Layer

Chapter 3 Transport Layer

RSC Part III: Transport Layer 3. TCP

QUIZ: Longest Matching Prefix

Reliable Data Transfer

Data Transport over IP Networks

ECE 650 Systems Programming & Engineering. Spring 2018

Transport Over IP. CSCI 690 Michael Hutt New York Institute of Technology

Process-to-Process Delivery:

Page 1. Review: Internet Protocol Stack. Transport Layer Services EEC173B/ECS152C. Review: TCP. Transport Layer: Connectionless Service

CS 3640: Introduction to Networks and Their Applications

Transport Protocols & TCP TCP

CSCI Topics: Internet Programming Fall 2008

ECE697AA Lecture 3. Today s lecture

Square Pegs in a Round Pipe: Wire-Compatible Unordered Delivery In TCP and TLS

CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring Lecture 21: Network Protocols (and 2 Phase Commit)

CSEN 503 Introduction to Communication Networks. Mervat AbuElkheir Hana Medhat Ayman Dayf. ** Slides are attributed to J. F.

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control

Does current Internet Transport work over Wireless? Reviewing the status of IETF work in this area

Suprakash Datta. Office: CSEB 3043 Phone: ext Course page:

Networking Technologies and Applications

Correcting mistakes. TCP: Overview RFCs: 793, 1122, 1323, 2018, TCP seq. # s and ACKs. GBN in action. TCP segment structure

CS519: Computer Networks. Lecture 5, Part 1: Mar 3, 2004 Transport: UDP/TCP demux and flow control / sequencing

Sequence Number. Acknowledgment Number. Data

Position of IP and other network-layer protocols in TCP/IP protocol suite

Transcription:

Discussion: Messaging Michael Welzl TAPS @ IETF 98 Chicago, 28.3.2017 1

From draft-gjessing-taps-minset-04 Transport features that require app knowledge + allow fall-back to TCP Sending Reliably transfer data, with congestion control Reliably transfer a message, with congestion control Unreliably transfer a message Configurable Message Reliability Choice between unordered (potentially faster) or ordered delivery of messages Request not to bundle messages Specifying a key id to be used to authenticate a message Request not to delay the acknowledgement (SACK) of a message Receiving Receive data (with no message delineation) Information about partial message arrival Makes no sense when we don t get messages. 2

Sending messages, receiving a bytestream Can we make this combination work? Be compatible to TCP but still benefit from messages? Alternative not very attractive: always telling an application sorry, you only get a stream here is not much different than saying sorry, use TCP instead Let s minimize # hoops an app developer has to jump through Message-oriented TCP apps already frame their data Unnecessary to repeat this in transport layer Requirement to tell receiver app here is your complete message creates a major limitation and is often unnecessary 3

Application-Framed (AFra-)Bytestream Normal TCP-like bytestream Optional: some additional information provided by sender app Sender app: hands over a stream of bytes, informs transport about frame boundaries and requirements (order, reliability,..) Delimited frames stay intact, in order More relaxed rules possible between frames Delimiters assumed to be known by application Receiver app: receives stream of bytes App-level delimiters turn it into messages TCP = special case: no delimiters used Can talk to normal TCP applications on both sides 4

Unordered message delivery: SCTP Sender app Receiver app App-defined header. Could also be e.g. implicit knowledge about size Inform where frame ends Inform where frame begins Configure: unordered App knows how to identify messages Just a byte stream! Block 3 Block 2 Block 2 Block 3 5

Unordered message delivery: TCP Sender app Receiver app Inform where frame ends Inform where frame begins Configure: unordered TCP just ignores this! App knows how to identify messages Just a byte stream! Block 3 Block 2 Block 2 Block 3 6

Unreliable unordered msg delivery: SCTP Sender app Receiver app Inform where frame ends Inform where frame begins Configure: unreliable, unordered App knows how to identify messages Just a byte stream! Block 3 Block 2 Block 2 Block 3 7

Unreliable unordered msg delivery: TCP Sender app Receiver app Inform where frame ends Inform where frame begins Configure: unreliable, unordered TCP just ignores this! App knows how to identify messages Just a byte stream! Block 3 Block 2 Block 2 Block 3 8

Unreliable message delivery: SCTP, large messages Sender app Receiver app Inform where frame ends Inform where block begins Configure: Unreliable Block 3 Block 2 Packets 9

Unreliable message delivery: SCTP, large messages Sender app Receiver app App knows how to identify messages Just a byte stream! Packets Block 3 Block 2 SCTP 10

Questions, comments? 11

Discussion: Early data transmission Michael Welzl TAPS @ IETF 98 Chicago, 28.3.2017 12

From draft-gjessing-taps-minset-04 Transport features that require app knowledge + allow fall-back to TCP 1. Hand over a message to transfer (possibly multiple times) before connection establishment This is TCP (TFO) 2. Hand over a message to transfer during connection establishment This is SCTP sending data together with Cookie-Echo, or TCP sending data on SYN without TFO no duplication 13

Proposal in draft-gjessing-taps-minset-04 Flow is created before connecting or listening Allows for some early configuration At this stage, deal with early data App can... 1. hand over a message 2. say whether it prefers before (case 1) or during (case 2) establishment 3. query for the maximum amount of data that it can possibly expect to have transmitted before or during connection establishment 14

Questions, comments? 15