CSE 461 Module 10. Introduction to the Transport Layer

Similar documents
CSE/EE 461. Sliding Windows and ARQ. Last Time. This Time. We finished up the Network layer Internetworks (IP) Routing (DV/RIP, LS/OSPF)

CSE 461 The Transport Layer

Chapter 5 End-to-End Protocols

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

Transport Layer Protocols TCP

UDP, TCP, IP multicast

Transport Layer (TCP/UDP)

CSEP 561 Connections. David Wetherall

CSE 461 Connections. David Wetherall

CSEP 561 Connections. David Wetherall

CS 4390 Computer Networks. Transport Services and Protocols

Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

The Transmission Control Protocol (TCP)

Reliable Byte-Stream (TCP)

User Datagram Protocol

Lecture 2: Layering & End-to-End

Different Layers Lecture 20

ETSF10 Internet Protocols Transport Layer Protocols

TSIN02 - Internetworking

Announcements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

TSIN02 - Internetworking

Network Protocols. Sarah Diesburg Operating Systems CS 3430

Applied Networks & Security

Some slides courtesy David Wetherall. Communications Software. Lecture 4: Connections and Flow Control. CSE 123b. Spring 2003.

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

TCP/IP-2. Transmission control protocol:

xkcd.com End To End Protocols End to End Protocols This section is about Process to Process communications.

UNIT IV -- TRANSPORT LAYER

Introduction to Protocols

Introduction to Networking. Operating Systems In Depth XXVII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved.

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

TSIN02 - Internetworking

Internetworking Models The OSI Reference Model

INTRODUCTORY COMPUTER

Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM 4021: Networks Discussion. Chapter 5 - Part 2

No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

TCP/IP. Chapter 5: Transport Layer TCP/IP Protocols

Internet and Intranet Protocols and Applications

Different Layers Lecture 21

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

CS 455: INTRODUCTION TO DISTRIBUTED SYSTEMS [NETWORKING] Frequently asked questions from the previous class surveys

UNIT IV TRANSPORT LAYER

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

Application. Transport. Network. Link. Physical

Communication Networks

EITF25 Internet Techniques and Applications L7: Internet. Stefan Höst

Application Service Models

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

Transport Layer Review

User Datagram Protocol (UDP):

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

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

Transport Layer Marcos Vieira

CS-461 Internetworking. Dr. Mohamed Aboutabl

Networking Technologies and Applications

Concept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space that is provided.

CMPE 80N: Introduction to Networking and the Internet

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 11, 2018

CCNA R&S: Introduction to Networks. Chapter 7: The Transport Layer

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

Communication Networks

Discussion: Messaging

CS4700/CS5700 Fundamentals of Computer Networks

Information Network 1 TCP 1/2

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

Data Transport over IP Networks

UDP and TCP. Introduction. So far we have studied some data link layer protocols such as PPP which are responsible for getting data

CSCI-131 Networking: the End-to-End Layer. Rodrigo Fonseca March 12 th, 2013

TSIN02 - Internetworking

CSCI Computer Networks

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

End-to-End Protocols. Transport Protocols. User Datagram Protocol (UDP) Application Layer Expectations

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1

ECE 650 Systems Programming & Engineering. Spring 2018

Introduction to Networks and the Internet

TCP over wireless links

Information Network 1 TCP 1/2. Youki Kadobayashi NAIST

Lecture 2 Communication services The Trasport Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

05 Transmission Control Protocol (TCP)

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

What is a Network? TCP / IP. The ISO OSI Model. Protocols. The TCP/IP Protocol Suite. The TCP/IP Protocol Suite. Computer network.

COMPUTER NETWORKS CS CS 55201

Bandwidth Allocation & TCP

COMPUTER NETWORKS CS CS 55201

Computer Networking. Reliable Transport. Reliable Transport. Principles of reliable data transfer. Reliable data transfer. Elements of Procedure

OSI Transport Layer. objectives

Good Ideas So Far Computer Networking. Outline. Sequence Numbers (reminder) TCP flow control. Congestion sources and collapse

Lecture 15 Networking Fundamentals. Today s Plan

QUIZ: Longest Matching Prefix

CN1047 INTRODUCTION TO COMPUTER NETWORKING CHAPTER 6 OSI MODEL TRANSPORT LAYER

End-to-End Protocols. End-to-End Protocols

Computer Networks. Sándor Laki ELTE-Ericsson Communication Networks Laboratory

CSCI-1680 Transport Layer I Rodrigo Fonseca

End-to-End Protocols: UDP and TCP. Hui Chen, Ph.D. Dept. of Engineering & Computer Science Virginia State University Petersburg, VA 23806

Peer entities. Protocol Layering. Protocols. Example

Operating Systems and Networks. Network Lecture 8: Transport Layer. Adrian Perrig Network Security Group ETH Zürich

Operating Systems and Networks. Network Lecture 8: Transport Layer. Where we are in the Course. Recall. Transport Layer Services.

infrared Disadvantage: 1. cannot use for long-range communication or outside a building due to sun s rays.

ECE697AA Lecture 3. Today s lecture

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

Transcription:

CSE 461 Module 10 Introduction to the Transport Layer

Last Time We finished up the Network layer Internetworks (IP) Routing (DV/RIP, LS/OSPF, BGP) It was all about routing: how to provide end-to-end delivery of packets. Application Presentation Session Transport Network Data Link Physical M10.2

This Time We begin on the Transport layer Focus Process-to-process communication Fast? Reliable? Impact on the network Congestion control Topics The Transport layer Acknowledgements and retransmissions (ARQ) Sliding windows Application Presentation Session Transport Network Data Link Physical M10.3

The Transport Layer Builds on the services of the Network layer TCP/IP Communication between processes running on hosts Naming/Addressing Stronger guarantees of message delivery make sense This is the first layer that is talking end-to-end M10.4

Internet Transport Protocols UDP Datagram abstraction between processes With error detection 0 16 31 SrcPort DstPort Length Checksum Data TCP Bytestream abstraction between processes With reliability Plus congestion control (later!) M10.5

UDP/IP Properties (User Datagram Protocol) UDP Datagram oriented Lost packets Reordered packets Duplicate packets Limited size packets IP Datagram oriented Lost packets Reordered packets Duplicate packets Limited size packets M10.6

TCP/IP Properties (Transmission Control Protocol) TCP Connection-oriented Reliable byte-stream delivery In-order delivery Single delivery Arbitrarily long messages Synchronization Flow control Congestion control IP Datagram oriented Lost packets Reordered packets Duplicate packets Limited size packets M10.7

TCP Packet Format 16 bit window size gets Cramped with large Bandwidth x delay 16 bits --> 64K BD ethernet: 122KB STS24 (1.2Gb/s): 14.8MB 32 bit sequence number must not wrap around faster than the maximum packet lifetime. (120 seconds) -- 622Mb/s link: 55 seconds M10.8

TCP End-to-End Properties TCP provides a full-duplex connection Each side of a connection can send to the other Connection is a stream Packet boundaries may not be visible to application Sliding window Endpoints exchange window sizes Packets carry sequence numbers Actually, byte counts in the connection stream Performance Reliability (ARQ) M10.9

End-to-end Properties Performance Sliding Window Try to enable sender to put bandwidth x delay product bytes on the wire Reliability Lost packets? Sliding window performs flow control Sliding window performs ARQ (Automatic Repeat Request) Duplicate / out-of-order packets? Sliding window receive (re-order) buffer M10.10

Network Property: Congestion Control TCP also implements congestion control High level goal: keep from over-loading the bottleneck network link Immediate goal: find the fastest transmission rate that doesn t overload the bottleneck Does it make sense to put congestion control in TCP? Could it be in some other layer? Would it make sense to apply it to UDP? Another goal: fairness I m not slowing down, you slow down M10.11

TCP / UDP comparison TCP Reliable Stream oriented Connection UDP Unreliable Packet oriented Connectionless M10.12

TCP / UDP comparison Stream- vs. packet-oriented Visible packet boundaries can act as end of record indicators to application In a stream, if the application wants the notion of records, it must embed them in the data Example: lines in a text file Since TCP doesn t know about app record boundaries, reading records can be cumbersome Each read() operation returns whatever data happens to have arrived in the stream to this point M10.13

TCP / UDP comparison Connection vs. connectionless UDP: flexible (or you don t know who you re talking with ) Incoming data can be from anywhere Outgoing data can go anywhere (Java API provides a connect() interface filters packets before returning them to app) TCP: incoming/outgoing packets are separated into flows Provides a nice programming abstraction for many apps How do I open a connection? How do I close one? How do I know when the other side has stopped listening/sending M10.14