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

Similar documents
Chapter 5 End-to-End Protocols

COMPUTER NETWORKS CS CS 55201

COMPUTER NETWORKS CS CS 55201

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

User Datagram Protocol

Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

UNIT IV -- TRANSPORT LAYER

ECE 650 Systems Programming & Engineering. Spring 2018

Different Layers Lecture 20

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

Lecture 08: The Transport Layer (Part 2) The Transport Layer Protocol (TCP) Dr. Anis Koubaa

Transport Protocols. CSCI 363 Computer Networks Department of Computer Science

Problem. Chapter Outline. Chapter Goal. End-to-end Protocols. End-to-end Protocols. Chapter 5. End-to-End Protocols

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

Transport Layer: outline

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

Networking Technologies and Applications

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

Application Service Models

EE 122: Transport Protocols. Kevin Lai October 16, 2002

The Transmission Control Protocol (TCP)

Fundamentals of Computer Networks ECE 478/578. Transport Layer. End- to- End Protocols 4/16/13. Spring Application. Application.

Lecture 3: The Transport Layer: UDP and TCP

TCP : Fundamentals of Computer Networks Bill Nace

ECE697AA Lecture 3. Today s lecture

User Datagram Protocol (UDP):

CSE 4213: Computer Networks II

CS Lecture 1 Review of Basic Protocols

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

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

CSE 461 Module 10. Introduction to the Transport Layer

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

CS4700/CS5700 Fundamentals of Computer Networks

Reliable Byte-Stream (TCP)

Applied Networks & Security

Transport Layer: Outline

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

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

TSIN02 - Internetworking

COMP 431 Internet Services & Protocols. Transport Layer Protocols & Services Outline. The Transport Layer Reliable data delivery & flow control in TCP

05 Transmission Control Protocol (TCP)

The Transport Layer: TCP & Reliable Data Transfer

Transport Layer. <protocol, local-addr,local-port,foreign-addr,foreign-port> ϒ Client uses ephemeral ports /10 Joseph Cordina 2005

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

EEC-682/782 Computer Networks I

Internet transport protocols

Guide To TCP/IP, Second Edition UDP Header Source Port Number (16 bits) IP HEADER Protocol Field = 17 Destination Port Number (16 bit) 15 16

TSIN02 - Internetworking

TSIN02 - Internetworking

CSC 4900 Computer Networks: TCP

TSIN02 - Internetworking

Transport Protocols & TCP TCP

6. The Transport Layer and protocols

Introduction to Networks and the Internet

Chapter 7. The Transport Layer

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control

CSCD 330 Network Programming

RSC Part III: Transport Layer 3. TCP

Internet and Intranet Protocols and Applications

CSCI Topics: Internet Programming Fall 2008

CS457 Transport Protocols. CS 457 Fall 2014

CSE/EE 461 Lecture 12 TCP. A brief Internet history...

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

Transport Layer (TCP/UDP)

CSCI-GA Operating Systems. Networking. Hubertus Franke

Outline. TCP: Overview RFCs: 793, 1122, 1323, 2018, Development of reliable protocol Sliding window protocols

Transmission Control Protocol (TCP)

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections

11/24/2009. Fundamentals of Computer Networks ECE 478/578. Flow Control in TCP

UDP, TCP, IP multicast

TCP and Congestion Control (Day 1) Yoshifumi Nishida Sony Computer Science Labs, Inc. Today's Lecture

Connection-oriented (virtual circuit) Reliable Transfer Buffered Transfer Unstructured Stream Full Duplex Point-to-point Connection End-to-end service

Sequence Number. Acknowledgment Number. Data

7. TCP 최양희서울대학교컴퓨터공학부

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2. Goals for Todayʼs Lecture. Role of Transport Layer

ITS323: Introduction to Data Communications

COMP/ELEC 429/556 Introduction to Computer Networks

Lecture 20 Overview. Last Lecture. This Lecture. Next Lecture. Transport Control Protocol (1) Transport Control Protocol (2) Source: chapters 23, 24

Transport Layer Marcos Vieira

Outline. TCP: Overview RFCs: 793, 1122, 1323, 2018, steam: r Development of reliable protocol r Sliding window protocols

UNIT V. Computer Networks [10MCA32] 1

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

NETWORK PROGRAMMING. Instructor: Junaid Tariq, Lecturer, Department of Computer Science

Mobile Transport Layer Lesson 02 TCP Data Stream and Data Delivery

CSCI-1680 Transport Layer I Rodrigo Fonseca

Transport Layer Protocols. Internet Transport Layer. Agenda. TCP Fundamentals

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

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

Chapter 3 Transport Layer

CSCI-1680 Transport Layer I Rodrigo Fonseca

TCP. 1 Administrivia. Tom Kelliher, CS 325. Apr. 2, Announcements. Assignment. Read From Last Time

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

Chapter 24. Transport-Layer Protocols

TCP/IP-2. Transmission control protocol:

The Transport Layer Reliable data delivery & flow control in TCP. Transport Layer Protocols & Services Outline

Computer Networking Introduction

CSCD 330 Network Programming Winter 2015

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

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2

Transcription:

xkcd.com 1 2 COS 460 & 540 End to End Protocols 3 This section is about Process to Process communications. or the how applications can talk to each other. 5- (UDP-TCP).key - November 9, 2017

Requirements 4 Guarantee Delivery Deliver in order Deliver at most one copy Any size Flow control & Synchronization The Network May... 5 Drop messages Reorder messages Limit message size Delay messages Deliver duplicate copies 6 The network provides a best-effort service This layer needs to provide high level services 5- (UDP-TCP).key - November 9, 2017

7 Simple Demultiplexer (UDP) Reliable Stream (TCP) Remote Procedure Call (RPC) Real-time Applications (RTP) Performance User Datagram Protocol (UDP) 8 - port is indirect addressing of process. Process id could be used but is not ubiquitous. Thin layer over Network Layer (unreliable, best-effort service) Simple demultiplexing; Adds Process Address or port Checksum (packet correctness) UDP 9 5- (UDP-TCP).key - November 9, 2017

Ports 16 bit port number = 64,536 ports Unique to a host (IP address) for example: 192.168.1.2:80 well-known ports 22, 25, 80,... <1,024 usually requires administrator 10 - Well known port may be used just for initial connection; then move to another port for communications. - A port mapper service may also be used UDP Demultiplexing 11 Socket Pairs 12 Every datagram has a unique pairing source ip address source port destination ip address destination port 5- (UDP-TCP).key - November 9, 2017

13 Simple Demultiplexer (UDP) Reliable Stream (TCP) Remote Procedure Call (RPC) Real-time Applications (RTP) Performance Reliable Byte Stream 14 Provide a reliable, in-order, at most once delivery mechanism with flow control and synchronization.... sounds easy right? Transmission Control Protocol (TCP) 15 Byte-oriented Connection-oriented Reliable, guaranteed delivery In-order delivery full-duplex channel 5- (UDP-TCP).key - November 9, 2017

End-To-End Issues 16 Logical connections over the great unknown network No single path, each packet is routed individually. Solve by using Sliding Window Protocol with connection setup and teardown End-To-End Issues 17 Round Trip Time (RTT) varies widely even over short-lived connections Solve by using adaptive retransmission End-To-End Issues 18 Packets are likely to get delivered out of order TTL removes packets from the network Old packets suddenly show up later Solve using Sliding Window w/sequence numbers 5- (UDP-TCP).key - November 9, 2017

End-To-End Issues 19 Bandwidth at endpoints and links between them may be vastly different Solve by using a flow control mechanism End-To-End Issues 20 The Sender may be able to generate large amounts of data Intermediate links can become congested Solve using congestion control mechanisms Segmentation 21 TCP may be a byte-stream protocol......but the network is packet based. 5- (UDP-TCP).key - November 9, 2017

TCP Segment Format 22 TCP is byte-oriented buffers bytes for transmission send when full or flushed Send bytes in segments Acknowledgments and windows TCP Segment Format 23 TCP Flow 24 5- (UDP-TCP).key - November 9, 2017

TCP Segment 25 Two way communication SequenceNum = first byte in segment Acknowledgement = next seq. expected AdvertisedWindow = buffer size left Connection Establishment 26 Three Way Handshake TCP Lifecycle 27 5- (UDP-TCP).key - November 9, 2017

TCP Sliding Window 28 TCP Flow Control 29 Advertised Window LastByteRcvd - LastByteRead <= MaxBuff = MaxB - ((NextByte - 1) - LastBytRead) Advertised Window = 0 Sender pings with 1 byte segments Triggering Transmission 30 When segment is full (MSS = MTU) push operation Timeout expires 5- (UDP-TCP).key - November 9, 2017

Record Boundaries 31 How would we send a set of database records? <name, address, phone,...>, <...>,... UDP = 1 record per datagram Record Boundaries 32 In TCP we could... Urgent data flag push operation Encode special characters, recall ETX? Encode the dataset, e.g. XML 33 Simple Demultiplexer (UDP) Reliable Stream (TCP) Remote Procedure Call (RPC) Real-time Applications (RTP) Performance 5- (UDP-TCP).key - November 9, 2017

Remote Procedure Call 34 Request/Reply Protocol Different from UDP? Reliable Sequencing Request Reply 35 RPC Stack 36 Client-Side Generates stubs Developer calls stubs Server-Side Generates server Server calls developers routines 5- (UDP-TCP).key - November 9, 2017

RPC Stack 37 Serializing Data 38 byte, word, character string array tree... more complex data structures RPC Questions 39 RPC over UDP or over TCP or over IP? Textual data representation or binary e.g. XML vs XDR 5- (UDP-TCP).key - November 9, 2017

Other RPC-like Protocols Common Object Request Broker (CORBA) Distributed Component Object Module (DCOM) Remote Method Invocation (RMI) Simple Object Access Protocol (SOAP) 40 41 Simple Demultiplexer (UDP) Reliable Stream (TCP) Remote Procedure Call (RPC) Real-time Applications (RTP) Performance Real-Time Applications 42 Encodings (mp3, aac, etc..) Timing of data at receiver Synchronization Packet loss Frame boundaries 5- (UDP-TCP).key - November 9, 2017

Real-Time Applications 43 TCP Has it s own reliable transmission Does not know the data UDP Does very little, works well 44 Simple Demultiplexer (UDP) Reliable Stream (TCP) Remote Procedure Call (RPC) Real-time Applications (RTP) Performance 45 Simple Demultiplexer (UDP) Reliable Stream (TCP) Remote Procedure Call (RPC) Real-time Applications (RTP) Performance 5- (UDP-TCP).key - November 9, 2017

46 End 5- (UDP-TCP).key - November 9, 2017