No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6
|
|
- Alexandra Pearson
- 5 years ago
- Views:
Transcription
1 Announcements No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Copyright c UMaine School of Computing and Information S 1 / 33
2 COS 140: Foundations of C S Transport-Layer Fall 2017 This lecture draws heavily from Kurose & Ross (2008): C Networks: A Top-Down Approach Copyright c UMaine School of Computing and Information S 2 / 33
3 Transport layer Ports & sockets Types Recall: Protocol is a description of a pattern of interaction between agents Most common: TCP/IP Copyright c UMaine School of Computing and Information S 3 / 33
4 Review: Layered protocols Transport layer Ports & sockets Types Recall: Layered network stack Copyright c UMaine School of Computing and Information S 4 / 33
5 Review: Layered protocols Transport layer Ports & sockets Types Recall: Layered network stack Application: network applications (e.g., Web clients/servers), application protocols (e.g., HTTP) Copyright c UMaine School of Computing and Information S 4 / 33
6 Review: Layered protocols Transport layer Ports & sockets Types Recall: Layered network stack Application: network applications (e.g., Web clients/servers), application protocols (e.g., HTTP) Transport: Delivery of application messages between applications: error correction, reliable transport (some protocols), etc. Copyright c UMaine School of Computing and Information S 4 / 33
7 Review: Layered protocols Transport layer Ports & sockets Types Recall: Layered network stack Application: network applications (e.g., Web clients/servers), application protocols (e.g., HTTP) Transport: Delivery of application messages between applications: error correction, reliable transport (some protocols), etc. Network: Delivery of transport-layer messages: routing, etc. Copyright c UMaine School of Computing and Information S 4 / 33
8 Review: Layered protocols Transport layer Ports & sockets Types Recall: Layered network stack Application: network applications (e.g., Web clients/servers), application protocols (e.g., HTTP) Transport: Delivery of application messages between applications: error correction, reliable transport (some protocols), etc. Network: Delivery of transport-layer messages: routing, etc. Data link: Delivery of network-layer messages e.g., forwarding to next router/host (e.g., Ethernet, WiFi, link layers on routers) Copyright c UMaine School of Computing and Information S 4 / 33
9 Review: Layered protocols Transport layer Ports & sockets Types Recall: Layered network stack Application: network applications (e.g., Web clients/servers), application protocols (e.g., HTTP) Transport: Delivery of application messages between applications: error correction, reliable transport (some protocols), etc. Network: Delivery of transport-layer messages: routing, etc. Data link: Delivery of network-layer messages e.g., forwarding to next router/host (e.g., Ethernet, WiFi, link layers on routers) Physical: Moving the bits (Ethernet has variants for different media) Copyright c UMaine School of Computing and Information S 4 / 33
10 Layered protocols Transport layer Ports & sockets Types As message goes from top bottom: Broken into pieces Each piece has its own header added at each level Copyright c UMaine School of Computing and Information S 5 / 33
11 Transport layer Transport layer Ports & sockets Types Responsible for delivery of application-layer messages between processes Interacts with: application and network layers Divides/encapsulates application messages as segments Possibly: Error correction Reliable delivery Congestion control Connectionless (e.g., UDP) versus connection-oriented (e.g., TCP) Copyright c UMaine School of Computing and Information S 6 / 33
12 Ports and sockets Transport layer Ports & sockets Types Network stack manages set of ports on host: Interface of host to outside world Logical, numbered connection points Some are well-known ports (e.g., (25), Web (80)) Some are usable by processes on the fly Sockets: virtual connections between a process and the transport layer (and thus to a port) Each application process talks to (e.g.) TCP via a socket Can have multiple sockets attached to a port E.g.: Web server Transport layer: multiplexing/demultiplexing of sockets ports Copyright c UMaine School of Computing and Information S 7 / 33
13 Ports and sockets Transport layer Ports & sockets Types Copyright c UMaine School of Computing and Information S 8 / 33
14 Connection-oriented and connectionless protocols Transport layer Ports & sockets Types Connectionless protocols: E.g., User Datagram Protocol (UDP) Send segments ( datagrams ) between application layers No notion of a continuous connection think US Mail Maybe some error checking embedded No error correcting Not reliable Copyright c UMaine School of Computing and Information S 9 / 33
15 Connection-oriented and connectionless protocols Transport layer Ports & sockets Types Connectionless protocols: E.g., User Datagram Protocol (UDP) Send segments ( datagrams ) between application layers No notion of a continuous connection think US Mail Maybe some error checking embedded No error correcting Not reliable Connection-oriented protocols: E.g., Transmission Control Protocol (TCP) Connection: a virtual pipeline between applications Think phone, but no real connection Reliable transport protocols Copyright c UMaine School of Computing and Information S 9 / 33
16 Very simple Possibly segment application data Possibly add error-checking code (e.g., CRC) Just pass along to network layer Copyright c UMaine School of Computing and Information S 10 / 33
17 Reliable transport protocols Using a reliable channel Bit errors Bit error protocol Lossy channels Lossy protocol Pipelining Recovery in pipelining More complex Have to deal with: bitwise errors lost segments out-of-order segments Can conceptualize as state machines We ll look at increasingly-complex variants Copyright c UMaine School of Computing and Information S 11 / 33
18 Using a reliable channel Using a reliable channel Bit errors Bit error protocol Lossy channels Lossy protocol Pipelining Recovery in pipelining Simplest Sender: Wait Request from application layer Create packet (segment) Send packet Receiver: Wait Receive packet Extract data Deliver to application Copyright c UMaine School of Computing and Information S 12 / 33
19 Using a channel with bit errors Using a reliable channel Bit errors Bit error protocol Lossy channels Lossy protocol Pipelining Recovery in pipelining Problem: Few channels are reliable Simple problem: errors in some bits Detect this with: parity, cyclic redundancy checks (CRC) The question is: what to do when detected? Copyright c UMaine School of Computing and Information S 13 / 33
20 Using a channel with bit errors Using a reliable channel Bit errors Bit error protocol Lossy channels Lossy protocol Pipelining Recovery in pipelining For this, need additional messages: ACK: to acknowledge correct receipt NAK: negative acknowledgment Recipient checks the packet, sends the appropriate message in reply Problem: ACKs and NAKs can be garbled, too! Copyright c UMaine School of Computing and Information S 14 / 33
21 A protocol for handling bit errors Using a reliable channel Bit errors Bit error protocol Lossy channels Lossy protocol Pipelining Recovery in pipelining Sender: Wait for request "send" request Create segment Send segment Wait for ACK/NAK Receive NAK Send segment again Receive ACK Copyright c UMaine School of Computing and Information S 15 / 33
22 A protocol for handling bit errors Using a reliable channel Bit errors Bit error protocol Lossy channels Lossy protocol Pipelining Recovery in pipelining Recipient: Corrupt segment Create NAK segment Send segment Wait for message Good segment Extract data Deliver data Create ACK segment Send segment Copyright c UMaine School of Computing and Information S 16 / 33
23 A protocol for handling bit errors Using a reliable channel Bit errors Bit error protocol Lossy channels Lossy protocol Pipelining Recovery in pipelining Recipient: Corrupt segment Create NAK segment Send segment Wait for message Good segment Extract data Deliver data Create ACK segment Send segment Any problems with this? Copyright c UMaine School of Computing and Information S 16 / 33
24 A protocol for handling bit errors Using a reliable channel Bit errors Bit error protocol Lossy channels Lossy protocol Pipelining Recovery in pipelining Recipient: Corrupt segment Create NAK segment Send segment Wait for message Good segment Extract data Deliver data Create ACK segment Send segment Any problems with this? Yes! What about errors in ACK/NAK? Copyright c UMaine School of Computing and Information S 16 / 33
25 A better protocol for handling bit errors Using a reliable channel Bit errors Bit error protocol Lossy channels Lossy protocol Pipelining Recovery in pipelining Have the sender number its segments Receiver can then determine if the packet received is a retransmission ACK/NAK don t need to say what they re ACK ing (or not) since no messages are lost, garbled or okay, the last ACK/NAK was for its last message For this simple protocol, we only need two sequence numbers, 0 and 1 (a bit) only one packet being dealt with at a time. Copyright c UMaine School of Computing and Information S 17 / 33
26 A better protocol for handling bit errors Sender: "send" request Create segment, #0 Send segment Using a reliable channel Bit errors Bit error protocol Lossy channels Lossy protocol Pipelining Recovery in pipelining Receive ACK Wait for request (0) Wait for ACK/NAK (1) Wait for ACK/NAK (0) Wait for request (1) Receive NAK or corrupt segment Send segment again Receive ACK Receive NAK or corrupt segment Send segment "send" request Create segment, #1 Send segment Copyright c UMaine School of Computing and Information S 18 / 33
27 A better protocol for handling bit errors Using a reliable channel Bit errors Bit error protocol Lossy channels Lossy protocol Pipelining Recovery in pipelining Recipient: Receive corrupt packet Create NAK, send Receive segment, #1 Create ACK, send Wait for segment Receive segment, #0 Extract data, deliver Create ACK, send Wait for segment Receive segment, #1 Extract data, deliver Create ACK, send Receive corrupt packet Create NAK, send Receieve segment, #0 Create ACK, send Copyright c UMaine School of Computing and Information S 19 / 33
28 Using a lossy channel Using a reliable channel Bit errors Bit error protocol Lossy channels Lossy protocol Pipelining Recovery in pipelining Even harder: What if the channel can lose some messages? ACKs and NAKs could also be lost or garbled. Need timers, now if haven t received an ACK after some time, retransmit How to choose the time? Copyright c UMaine School of Computing and Information S 20 / 33
29 Using a lossy channel Using a reliable channel Bit errors Bit error protocol Lossy channels Lossy protocol Pipelining Recovery in pipelining Even harder: What if the channel can lose some messages? ACKs and NAKs could also be lost or garbled. Need timers, now if haven t received an ACK after some time, retransmit How to choose the time? At least round trip delay + some Copyright c UMaine School of Computing and Information S 20 / 33
30 Protocol for lossy channels Using a reliable channel Bit errors Bit error protocol Lossy channels Lossy protocol Pipelining Recovery in pipelining Sender: Receive segment Receive ACK Stop timer Timeout Resend segment Start timer Wait for request (0) Wait for ACK (1) "send" request Create segment, #0 Send segment Start timer Wait for ACK (0) Wait for request (1) Receive corrupt segment or ACK(1) Timeout Resend segment Start timer Receive ACK(0) Stop timer Receive segment Receive corrupt segment or ACK(0) "send" request Create segment, #1 Send segment Start timer Copyright c UMaine School of Computing and Information S 21 / 33
31 Pipelining Using a reliable channel Bit errors Bit error protocol Lossy channels Lossy protocol Pipelining Recovery in pipelining Problem: reliable, but inefficient Suppose it takes 5 ms for message to propagate from sender to receiver, or vice versa a 1 Gbps channel, and time to actually put the message on the channel is negligible Time to send, say, a 1 KB message: Send message: 5 ms Send ACK: 5 ms Total 10 ms/message Transfer rate = 1 KB/10 ms = only 100 KB/s! Copyright c UMaine School of Computing and Information S 22 / 33
32 Pipelining Using a reliable channel Bit errors Bit error protocol Lossy channels Lossy protocol Pipelining Recovery in pipelining Better idea: don t wait for ACK before sending other messages Now can havenmessages in the pipe at once. How many, potentially? Copyright c UMaine School of Computing and Information S 23 / 33
33 Pipelining Using a reliable channel Bit errors Bit error protocol Lossy channels Lossy protocol Pipelining Recovery in pipelining Better idea: don t wait for ACK before sending other messages Now can havenmessages in the pipe at once. How many, potentially? If 1 Gbps channel, 1 KB messages, then a message takes 8Kb 1Gb/s = s = 2 17 s 7.6µs Copyright c UMaine School of Computing and Information S 23 / 33
34 Pipelining Using a reliable channel Bit errors Bit error protocol Lossy channels Lossy protocol Pipelining Recovery in pipelining Better idea: don t wait for ACK before sending other messages Now can havenmessages in the pipe at once. How many, potentially? If 1 Gbps channel, 1 KB messages, then a message takes So there can be 5ms 7.6µs In practice, have (far) fewer: 8Kb 1Gb/s = s = 2 17 s 7.6µs 658 messages in the pipe at once Window: what can be sent before an ACK received Receive an ACK: slide window, can transmit more Copyright c UMaine School of Computing and Information S 23 / 33
35 Recovery in pipelining Using a reliable channel Bit errors Bit error protocol Lossy channels Lossy protocol Pipelining Recovery in pipelining In send-and-wait protocols, pretty clear what you re ACKing What about pipelined protocols? Have to mark ACK with what is being acknowledged What to do when one is missing/corrupt? Copyright c UMaine School of Computing and Information S 24 / 33
36 Recovery in pipelining Using a reliable channel Bit errors Bit error protocol Lossy channels Lossy protocol Pipelining Recovery in pipelining In send-and-wait protocols, pretty clear what you re ACKing What about pipelined protocols? Have to mark ACK with what is being acknowledged What to do when one is missing/corrupt? Go-Back-N: When missing one (corrupt or timeout), repeat it and all others after it Copyright c UMaine School of Computing and Information S 24 / 33
37 Recovery in pipelining Using a reliable channel Bit errors Bit error protocol Lossy channels Lossy protocol Pipelining Recovery in pipelining In send-and-wait protocols, pretty clear what you re ACKing What about pipelined protocols? Have to mark ACK with what is being acknowledged What to do when one is missing/corrupt? Go-Back-N: When missing one (corrupt or timeout), repeat it and all others after it Selective repeat: Just repeat the one missing Copyright c UMaine School of Computing and Information S 24 / 33
38 Recovery in pipelining Using a reliable channel Bit errors Bit error protocol Lossy channels Lossy protocol Pipelining Recovery in pipelining In send-and-wait protocols, pretty clear what you re ACKing What about pipelined protocols? Have to mark ACK with what is being acknowledged What to do when one is missing/corrupt? Go-Back-N: When missing one (corrupt or timeout), repeat it and all others after it Selective repeat: Just repeat the one missing GBN simpler, not as efficient Copyright c UMaine School of Computing and Information S 24 / 33
39 Connection-oriented, reliable data transport protocol Can handle bit errors, lossy channels Full-duplex Segments Sequence numbers Connection initiation Copyright c UMaine School of Computing and Information S 25 / 33
40 TCP segment structure Segments Sequence numbers Connection initiation Header + data Source port number, destination port number Sequence number ACK number Checksum Header length field, flags, options, some other stuff Copyright c UMaine School of Computing and Information S 26 / 33
41 Sequence numbers Segments Sequence numbers Connection initiation Each half of the conversation is considered an ordered sequence of bytes Sequence number of a segment is the byte number of the first byte in the segment not the segment number! ACK number: The next byte expected from the sender These are cumulative acknowledgments Copyright c UMaine School of Computing and Information S 27 / 33
42 Connection initiation: three-way handshake Segments Sequence numbers Connection initiation First: Client sends a special segment ( SYN segment ) to request connection No application data contained SYN bit in header = 1 Random sequence number Second: Server sets up its side of the connection and sends message 2 ( SYNACK segment ) Allocates buffers, variables Response segment: no application data SYN = 1, ACK = client sequence number + 1, random sequence number Copyright c UMaine School of Computing and Information S 28 / 33
43 Connection initiation: three-way handshake Segments Sequence numbers Connection initiation Third: Client sets up its side, sends another message Allocates client-side buffers, variables Segment has SYN = 0, server s sequence number +1 as ACK Can carry application data (payload) Copyright c UMaine School of Computing and Information S 29 / 33
44 Handling problems Corrupt segment received (bitwise error) Segments Sequence numbers Connection initiation Copyright c UMaine School of Computing and Information S 30 / 33
45 Handling problems Corrupt segment received (bitwise error) don t ACK Segments Sequence numbers Connection initiation Copyright c UMaine School of Computing and Information S 30 / 33
46 Handling problems Corrupt segment received (bitwise error) don t ACK Receive duplicate segment Segments Sequence numbers Connection initiation Copyright c UMaine School of Computing and Information S 30 / 33
47 Handling problems Corrupt segment received (bitwise error) don t ACK Receive duplicate segment Why? Lost ACK Segments Sequence numbers Connection initiation Copyright c UMaine School of Computing and Information S 30 / 33
48 Handling problems Segments Sequence numbers Connection initiation Corrupt segment received (bitwise error) don t ACK Receive duplicate segment Why? Lost ACK Just discard data, re-ack Copyright c UMaine School of Computing and Information S 30 / 33
49 Handling problems Segments Sequence numbers Connection initiation Corrupt segment received (bitwise error) don t ACK Receive duplicate segment Why? Lost ACK Just discard data, re-ack Timeout Copyright c UMaine School of Computing and Information S 30 / 33
50 Handling problems Segments Sequence numbers Connection initiation Corrupt segment received (bitwise error) don t ACK Receive duplicate segment Why? Lost ACK Just discard data, re-ack Timeout Why? Lost segment Copyright c UMaine School of Computing and Information S 30 / 33
51 Handling problems Segments Sequence numbers Connection initiation Corrupt segment received (bitwise error) don t ACK Receive duplicate segment Why? Lost ACK Just discard data, re-ack Timeout Why? Lost segment Single timer for all messages to reduce overhead Copyright c UMaine School of Computing and Information S 30 / 33
52 Handling problems Segments Sequence numbers Connection initiation Corrupt segment received (bitwise error) don t ACK Receive duplicate segment Why? Lost ACK Just discard data, re-ack Timeout Why? Lost segment Single timer for all messages to reduce overhead Retransmit segment Copyright c UMaine School of Computing and Information S 30 / 33
53 Handling problems ACK received for segment after one it s expecting an ACK for Segments Sequence numbers Connection initiation Copyright c UMaine School of Computing and Information S 31 / 33
54 Handling problems Segments Sequence numbers Connection initiation ACK received for segment after one it s expecting an ACK for Not really a problem Cumulative acknowledgment, so previous segments received, too Copyright c UMaine School of Computing and Information S 31 / 33
55 Handling problems Segment received out of order Segments Sequence numbers Connection initiation Copyright c UMaine School of Computing and Information S 32 / 33
56 Handling problems Segment received out of order One reason: a segment was lost Segments Sequence numbers Connection initiation Copyright c UMaine School of Computing and Information S 32 / 33
57 Handling problems Segments Sequence numbers Connection initiation Segment received out of order One reason: a segment was lost For this, send ACK, but with next byte expected being the missing segment Copyright c UMaine School of Computing and Information S 32 / 33
58 Handling problems Segments Sequence numbers Connection initiation Segment received out of order One reason: a segment was lost For this, send ACK, but with next byte expected being the missing segment Another reason: segment tied up in network Copyright c UMaine School of Computing and Information S 32 / 33
59 Handling problems Segments Sequence numbers Connection initiation Segment received out of order One reason: a segment was lost For this, send ACK, but with next byte expected being the missing segment Another reason: segment tied up in network For this, ACK with next real byte expected, necessarily one right after this one Copyright c UMaine School of Computing and Information S 32 / 33
60 Other transport layer topics How to choose timeouts Flow control Congestion control When to use UDP vs TCP Copyright c UMaine School of Computing and Information S 33 / 33
Announcements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6
Announcements No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Copyright c 2002 2017 UMaine Computer Science Department 1 / 33 1 COS 140: Foundations
More informationECE697AA Lecture 3. Today s lecture
ECE697AA Lecture 3 Transport Layer: TCP and UDP Tilman Wolf Department of Electrical and Computer Engineering 09/09/08 Today s lecture Transport layer User datagram protocol (UDP) Reliable data transfer
More informationUNIT IV -- TRANSPORT LAYER
UNIT IV -- TRANSPORT LAYER TABLE OF CONTENTS 4.1. Transport layer. 02 4.2. Reliable delivery service. 03 4.3. Congestion control. 05 4.4. Connection establishment.. 07 4.5. Flow control 09 4.6. Transmission
More informationInternet Applications and the Application Layer Material from Kurose and Ross, Chapter 2: The Application Layer
Midterm Study Sheet Below is a list of topics that will be covered on the midterm exam. Some topics may have summaries to clarify the coverage of the topic during the lecture. Disclaimer: the list may
More informationChapter 3: Transport Layer Part A
Chapter 3: Transport Layer Part A Course on Computer Communication and Networks, CTH/GU The slides are adaptation of the slides made available by the authors of the course s main textbook 3: Transport
More informationChapter 3: Transport Layer. Chapter 3 Transport Layer. Chapter 3 outline. Transport services and protocols
Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete
More informationChapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1
Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 23-1 PROCESS-TO-PROCESS DELIVERY 23.2 The transport
More informationAnnouncement. Homework 1 due last night, how is that? Will discuss some problems in the lecture next week
Announcement Homework 1 due last night, how is that? Will discuss some problems in the lecture next week Should have completed at least part II of project 1 Homework 2 will be out next week Review of Previous
More informationChapter 3: Transport Layer
Chapter 3: Transport Layer Chapter goals: understand principles behind transport layer services: multiplexing/demultiplex ing reliable data transfer flow control congestion control instantiation and implementation
More informationTDTS06: Computer Networks
TDTS06: Computer Networks Instructor: Niklas Carlsson Email: niklas.carlsson@liu.se Notes derived from Computer Networking: A Top Down Approach, by Jim Kurose and Keith Ross, Addison-Wesley. The slides
More informationCommunication Networks
Communication Networks Prof. Laurent Vanbever Exercises week 4 Reliable Transport Reliable versus Unreliable Transport In the lecture, you have learned how a reliable transport protocol can be built on
More informationNWEN 243. Networked Applications. Layer 4 TCP and UDP
NWEN 243 Networked Applications Layer 4 TCP and UDP 1 About the second lecturer Aaron Chen Office: AM405 Phone: 463 5114 Email: aaron.chen@ecs.vuw.ac.nz Transport layer and application layer protocols
More informationThe Transmission Control Protocol (TCP)
The Transmission Control Protocol (TCP) Application Services (Telnet, FTP, e-mail, WWW) Reliable Stream Transport (TCP) Unreliable Transport Service (UDP) Connectionless Packet Delivery Service (IP) Goals
More informationLecture 5. Transport Layer. Transport Layer 1-1
Lecture 5 Transport Layer Transport Layer 1-1 Agenda The Transport Layer (TL) Introduction to TL Protocols and Services Connectionless and Connection-oriented Processes in TL Unreliable Data Transfer User
More informationComputer Communication Networks Midterm Review
Computer Communication Networks Midterm Review ICEN/ICSI 416 Fall 2018 Prof. Aveek Dutta 1 Instructions The exam is closed book, notes, computers, phones. You can use calculator, but not one from your
More informationThe Transport Layer Multiplexing, Error Detection, & UDP
CPSC 852 Internetworking The Transport Layer Multiplexing, Error Detection, & UDP Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu http://www.cs.clemson.edu/~mweigle/courses/cpsc852
More informationLecture 4: CRC & Reliable Transmission. Lecture 4 Overview. Checksum review. CRC toward a better EDC. Reliable Transmission
1 Lecture 4: CRC & Reliable Transmission CSE 123: Computer Networks Chris Kanich Quiz 1: Tuesday July 5th Lecture 4: CRC & Reliable Transmission Lecture 4 Overview CRC toward a better EDC Reliable Transmission
More informationECE 650 Systems Programming & Engineering. Spring 2018
ECE 650 Systems Programming & Engineering Spring 2018 Networking Transport Layer Tyler Bletsch Duke University Slides are adapted from Brian Rogers (Duke) TCP/IP Model 2 Transport Layer Problem solved:
More informationThe Transport Layer: TCP & Reliable Data Transfer
The Transport Layer: TCP & Reliable Data Transfer Smith College, CSC 249 February 15, 2018 1 Chapter 3: Transport Layer q TCP Transport layer services: v Multiplexing/demultiplexing v Connection management
More informationPage 1. Goals for Today" Discussion" Example: Reliable File Transfer" CS162 Operating Systems and Systems Programming Lecture 11
Goals for Today" CS162 Operating Systems and Systems Programming Lecture 11 Reliability, Transport Protocols" Finish e2e argument & fate sharing Transport: TCP/UDP Reliability Flow control October 5, 2011
More informationCSCD 330 Network Programming
CSCD 330 Network Programming Lecture 9 Transport Layer Spring 2018 Reading: Begin Chapter 3 Some Material in these slides from J.F Kurose and K.W. Ross All material copyright 1996-2007 1 Outline Overview
More informationLecture 3: The Transport Layer: UDP and TCP
Lecture 3: The Transport Layer: UDP and TCP Prof. Shervin Shirmohammadi SITE, University of Ottawa Prof. Shervin Shirmohammadi CEG 4395 3-1 The Transport Layer Provides efficient and robust end-to-end
More informationCOSC4377. Useful Linux Tool: screen
Lecture 10 Useful Linux Tool: screen Alternative to having multiple ssh/putty screens, you can have multiple virtual screens within the same session. To open a screen session: ~$ screen To suspend the
More informationQuestion 1 (6 points) Compare circuit-switching and packet-switching networks based on the following criteria:
Question 1 (6 points) Compare circuit-switching and packet-switching networks based on the following criteria: (a) Reserving network resources ahead of data being sent: (2pts) In circuit-switching networks,
More informationCSE 123: Computer Networks Alex C. Snoeren. HW 1 due NOW!
CSE 123: Computer Networks Alex C. Snoeren HW 1 due NOW! Automatic Repeat Request (ARQ) Acknowledgements (ACKs) and timeouts Stop-and-Wait Sliding Window Forward Error Correction 2 Link layer is lossy
More informationUser Datagram Protocol
Topics Transport Layer TCP s three-way handshake TCP s connection termination sequence TCP s TIME_WAIT state TCP and UDP buffering by the socket layer 2 Introduction UDP is a simple, unreliable datagram
More informationTSIN02 - Internetworking
TSIN02 - Internetworking Literature: Lecture 4: Transport Layer Forouzan: ch 11-12 Transport layer responsibilities UDP TCP 2004 Image Coding Group, Linköpings Universitet 2 Transport layer in OSI model
More informationIntroduction to Protocols
Chapter 6 Introduction to Protocols 1 Chapter 6 Introduction to Protocols What is a Network Protocol? A protocol is a set of rules that governs the communications between computers on a network. These
More informationComputer Networking. Reliable Transport. Reliable Transport. Principles of reliable data transfer. Reliable data transfer. Elements of Procedure
Computer Networking Reliable Transport Prof. Andrzej Duda duda@imag.fr Reliable Transport Reliable data transfer Data are received ordered and error-free Elements of procedure usually means the set of
More informationCSC358 Week 4. Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright J.F Kurose and K.W. Ross, All Rights Reserved
CSC358 Week 4 Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright 1996-2016 J.F Kurose and K.W. Ross, All Rights Reserved Logistics Assignment 1 due this Friday Office hour on Feb
More informationCS 640 Introduction to Computer Networks. Role of data link layer. Today s lecture. Lecture16
Introduction to Computer Networks Lecture16 Role of data link layer Service offered by layer 1: a stream of bits Service to layer 3: sending & receiving frames To achieve this layer 2 does Framing Error
More informationCS457 Transport Protocols. CS 457 Fall 2014
CS457 Transport Protocols CS 457 Fall 2014 Topics Principles underlying transport-layer services Demultiplexing Detecting corruption Reliable delivery Flow control Transport-layer protocols User Datagram
More informationCS 4390 Computer Networks. Transport Services and Protocols
CS 4390 Computer Networks UT D data Session 07 Transport Layer Overview and UDP Adapted from Computer Networking a Top-Down Approach 1996-2012 by J.F Kurose and K.W. Ross, All Rights Reserved Transport
More informationCSCD 330 Network Programming Winter 2015
CSCD 330 Network Programming Winter 2015 Lecture 11a Transport Layer Reading: Chapter 3 Some Material in these slides from J.F Kurose and K.W. Ross All material copyright 1996-2007 1 Chapter 3 Sections
More informationTCP : Fundamentals of Computer Networks Bill Nace
TCP 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross Administrivia Lab #1 due now! Reminder: Paper Review
More informationReliable Data Transfer
Reliable Data Transfer Kai Shen Reliable Data Transfer What is reliable data transfer? guaranteed arrival no error in order delivery Why is it difficult? unreliable underlying communication channel, which
More informationGuide To TCP/IP, Second Edition UDP Header Source Port Number (16 bits) IP HEADER Protocol Field = 17 Destination Port Number (16 bit) 15 16
Guide To TCP/IP, Second Edition Chapter 5 Transport Layer TCP/IP Protocols Objectives Understand the key features and functions of the User Datagram Protocol (UDP) Explain the mechanisms that drive segmentation,
More informationLecture 3 The Transport Control Protocol (TCP) Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it
Lecture 3 The Transport Control Protocol (TCP) Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it TCP segment structure URG: urgent data (generally not used) ACK: ACK # valid PSH: push
More informationReliable Transport : Fundamentals of Computer Networks Bill Nace
Reliable Transport 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross Administration Stuff is due HW #1
More informationTSIN02 - Internetworking
Lecture 4: Transport Layer Literature: Forouzan: ch 11-12 2004 Image Coding Group, Linköpings Universitet Lecture 4: Outline Transport layer responsibilities UDP TCP 2 Transport layer in OSI model Figure
More informationLecture 9: Transpor Layer Overview and UDP
Lecture 9: Transpor Layer Overview and UDP COMP 332, Spring 2018 Victoria Manfredi Acknowledgements: materials adapted from Computer Networking: A Top Down Approach 7 th edition: 1996-2016, J.F Kurose
More informationTransport Layer Review
Transport Layer Review Mahalingam Mississippi State University, MS October 1, 2014 Transport Layer Functions Distinguish between different application instances through port numbers Make it easy for applications
More informationReliable Transport I: Concepts and TCP Protocol
Reliable Transport I: Concepts and TCP Protocol Brad Karp UCL Computer Science CS 3035/GZ01 29 th October 2013 Part I: Transport Concepts Layering context Transport goals Transport mechanisms 2 Context:
More informationInternet and Intranet Protocols and Applications
Internet and Intranet Protocols and Applications Lecture 1b: The Transport Layer in the Internet January 17, 2006 Arthur Goldberg Computer Science Department New York University artg@cs.nyu.edu 01/17/06
More informationConnectionless and Connection-Oriented Protocols OSI Layer 4 Common feature: Multiplexing Using. The Transmission Control Protocol (TCP)
Lecture (07) OSI layer 4 protocols TCP/UDP protocols By: Dr. Ahmed ElShafee ١ Dr. Ahmed ElShafee, ACU Fall2014, Computer Networks II Introduction Most data-link protocols notice errors then discard frames
More informationNT1210 Introduction to Networking. Unit 10
NT1210 Introduction to Networking Unit 10 Chapter 10, TCP/IP Transport Objectives Identify the major needs and stakeholders for computer networks and network applications. Compare and contrast the OSI
More informationAnnouncements Computer Networking. Outline. Transport Protocols. Transport introduction. Error recovery & flow control. Mid-semester grades
Announcements 15-441 Computer Networking Lecture 16 Transport Protocols Mid-semester grades Based on project1 + midterm + HW1 + HW2 42.5% of class If you got a D+,D, D- or F! must meet with Dave or me
More informationTransport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP
Transport layer Review principles: Reliable data transfer Flow control Congestion control Instantiation in the Internet UDP TCP 1 UDP: User Datagram Protocol [RFC 768] No frills, bare bones Internet transport
More informationCCNA 1 Chapter 7 v5.0 Exam Answers 2013
CCNA 1 Chapter 7 v5.0 Exam Answers 2013 1 A PC is downloading a large file from a server. The TCP window is 1000 bytes. The server is sending the file using 100-byte segments. How many segments will the
More informationTransport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control
Transport layer Review principles: Reliable data transfer Flow control Congestion control Instantiation in the Internet UDP TCP 1 UDP: User Datagram Protocol [RFC 768] No frills, bare bones Internet transport
More informationTransport Layer. Gursharan Singh Tatla. Upendra Sharma. 1
Transport Layer Gursharan Singh Tatla mailme@gursharansingh.in Upendra Sharma 1 Introduction The transport layer is the fourth layer from the bottom in the OSI reference model. It is responsible for message
More informationLecture 08: The Transport Layer (Part 2) The Transport Layer Protocol (TCP) Dr. Anis Koubaa
NET 331 Computer Networks Lecture 08: The Transport Layer (Part 2) The Transport Layer Protocol (TCP) Dr. Anis Koubaa Reformatted slides from textbook Computer Networking a top-down appraoch, Fifth Edition
More informationLecture 10: Transpor Layer Principles of Reliable Data Transfer
Lecture 10: Transpor Layer Principles of Reliable Data Transfer COMP 332, Spring 2018 Victoria Manfredi Acknowledgements: materials adapted from Computer Networking: A Top Down Approach 7 th edition: 1996-2016,
More informationPrinciples of Reliable Data Transfer
Principles of Reliable Data Transfer 1 Reliable Delivery Making sure that the packets sent by the sender are correctly and reliably received by the receiver amid network errors, i.e., corrupted/lost packets
More informationInternet transport-layer protocols. Transport services and protocols. Sending and receiving. Connection-oriented (TCP) Connection-oriented
Transport services and protocols Internet -layer protocols logical communication between processes protocols run in end systems send side: breaks app messages into segments, passes to layer rcv side: reassembles
More informationCS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP
CS 5520/ECE 5590NA: Network Architecture I Spring 2008 Lecture 13: UDP and TCP Most recent lectures discussed mechanisms to make better use of the IP address space, Internet control messages, and layering
More informationLecture (11) OSI layer 4 protocols TCP/UDP protocols
Lecture (11) OSI layer 4 protocols TCP/UDP protocols Dr. Ahmed M. ElShafee ١ Agenda Introduction Typical Features of OSI Layer 4 Connectionless and Connection Oriented Protocols OSI Layer 4 Common feature:
More informationSuprakash Datta. Office: CSEB 3043 Phone: ext Course page:
CSE 3214: Computer Networks Protocols and Applications Suprakash Datta datta@cse.yorku.ca Office: CSEB 3043 Phone: 416-736-2100 ext 77875 Course page: http://www.cse.yorku.ca/course/3214 These slides are
More informationLecture 20 Overview. Last Lecture. This Lecture. Next Lecture. Transport Control Protocol (1) Transport Control Protocol (2) Source: chapters 23, 24
Lecture 20 Overview Last Lecture Transport Control Protocol (1) This Lecture Transport Control Protocol (2) Source: chapters 23, 24 Next Lecture Internet Applications Source: chapter 26 COSC244 & TELE202
More informationTransport Protocols Reading: Sections 2.5, 5.1, and 5.2. Goals for Todayʼs Lecture. Role of Transport Layer
Transport Protocols Reading: Sections 2.5, 5.1, and 5.2 CS 375: Computer Networks Thomas C. Bressoud 1 Goals for Todayʼs Lecture Principles underlying transport-layer services (De)multiplexing Detecting
More informationTCP: Flow and Error Control
1 TCP: Flow and Error Control Required reading: Kurose 3.5.3, 3.5.4, 3.5.5 CSE 4213, Fall 2006 Instructor: N. Vlajic TCP Stream Delivery 2 TCP Stream Delivery unlike UDP, TCP is a stream-oriented protocol
More informationCOMPUTER NETWORK. Homework #2. Due Date: April 12, 2017 in class
Computer Network Homework#2 COMPUTER NETWORK Homework #2 Due Date: April 12, 2017 in class Question 1 Suppose a process in Host C has a UDP socket with port number 6789. Suppose both Host A and Host B
More informationTSIN02 - Internetworking
Lecture 4: Transport Layer Literature: Forouzan: ch 11-12 2004 Image Coding Group, Linköpings Universitet Lecture 4: Outline Transport layer responsibilities UDP TCP 2 Transport layer in OSI model Figure
More informationTransport Protocols Reading: Sections 2.5, 5.1, and 5.2
Transport Protocols Reading: Sections 2.5, 5.1, and 5.2 CE443 - Fall 1390 Acknowledgments: Lecture slides are from Computer networks course thought by Jennifer Rexford at Princeton University. When slides
More informationTSIN02 - Internetworking
Lecture 4: Outline Literature: Lecture 4: Transport Layer Forouzan: ch 11-12 RFC? Transport layer introduction UDP TCP 2004 Image Coding Group, Linköpings Universitet 2 The Transport Layer Transport layer
More informationOutline. CS5984 Mobile Computing
CS5984 Mobile Computing Dr. Ayman Abdel-Hamid Computer Science Department Virginia Tech Outline Review Transmission Control Protocol (TCP) Based on Behrouz Forouzan, Data Communications and Networking,
More informationTransport Over IP. CSCI 690 Michael Hutt New York Institute of Technology
Transport Over IP CSCI 690 Michael Hutt New York Institute of Technology Transport Over IP What is a transport protocol? Choosing to use a transport protocol Ports and Addresses Datagrams UDP What is a
More informationTransport Protocols & TCP TCP
Transport Protocols & TCP CSE 3213 Fall 2007 13 November 2007 1 TCP Services Flow control Connection establishment and termination Congestion control 2 1 TCP Services Transmission Control Protocol (RFC
More informationELEN Network Fundamentals Lecture 15
ELEN 4017 Network Fundamentals Lecture 15 Purpose of lecture Chapter 3: Transport Layer Reliable data transfer Developing a reliable protocol Reliability implies: No data is corrupted (flipped bits) Data
More informationCSCD 330 Network Programming
CSCD 330 Network Programming Lecture 10 Transport Layer Continued Spring 2018 Reading: Chapter 3 Some Material in these slides from J.F Kurose and K.W. Ross All material copyright 1996-2007 1 Last Time.
More informationFall 2012: FCM 708 Bridge Foundation I
Fall 2012: FCM 708 Bridge Foundation I Prof. Shamik Sengupta Instructor s Website: http://jjcweb.jjay.cuny.edu/ssengupta/ Blackboard Website: https://bbhosted.cuny.edu/ Intro to Computer Networking Transport
More informationCSC 401 Data and Computer Communications Networks
CSC 401 Data and Computer Communications Networks Transport Layer Connection Oriented Transport: TCP Sec 3.5 Prof. Lina Battestilli Fall 2017 Transport Layer Chapter 3 Outline 3.1 Transport-layer Services
More informationUDP, TCP, IP multicast
UDP, TCP, IP multicast Dan Williams In this lecture UDP (user datagram protocol) Unreliable, packet-based TCP (transmission control protocol) Reliable, connection oriented, stream-based IP multicast Process-to-Process
More informationReliable Transport I: Concepts and TCP Protocol
Reliable Transport I: Concepts and TCP Protocol Stefano Vissicchio UCL Computer Science COMP0023 Today Transport Concepts Layering context Transport goals Transport mechanisms and design choices TCP Protocol
More informationLecture 7: Flow Control"
Lecture 7: Flow Control" CSE 123: Computer Networks Alex C. Snoeren No class Monday! Lecture 7 Overview" Flow control Go-back-N Sliding window 2 Stop-and-Wait Performance" Lousy performance if xmit 1 pkt
More informationTransport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections
Application / Transport Interface Application requests service from transport layer Transport Layer Application Layer Prepare Transport service requirements Data for transport Local endpoint node address
More informationCSCI Topics: Internet Programming Fall 2008
CSCI 491-01 Topics: Internet Programming Fall 2008 Transport Layer Derek Leonard Hendrix College October 15, 2008 Original slides copyright 1996-2007 J.F Kurose and K.W. Ross 1 Chapter 3: Roadmap 3.1 Transport-layer
More informationCS519: Computer Networks. Lecture 5, Part 1: Mar 3, 2004 Transport: UDP/TCP demux and flow control / sequencing
: Computer Networks Lecture 5, Part 1: Mar 3, 2004 Transport: UDP/TCP demux and flow control / sequencing Recall our protocol layers... ... and our protocol graph IP gets the packet to the host Really
More informationTransport services and protocols. Chapter 3 outline. Internet transport-layer protocols Chapter 3 outline. Multiplexing/demultiplexing
Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless : UDP 3.4 Principles of reliable data transfer 3.5 Connection-oriented : TCP segment structure reliable
More informationChapter 3 Transport Layer
Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete
More informationTCP/IP. Chapter 5: Transport Layer TCP/IP Protocols
TCP/IP Chapter 5: Transport Layer TCP/IP Protocols 1 Objectives Understand the key features and functions of the User Datagram Protocol Explain the mechanisms that drive segmentation, reassembly, and retransmission
More informationData Link Control Protocols
Protocols : Introduction to Data Communications Sirindhorn International Institute of Technology Thammasat University Prepared by Steven Gordon on 23 May 2012 Y12S1L07, Steve/Courses/2012/s1/its323/lectures/datalink.tex,
More informationChapter 3. The Data Link Layer. Wesam A. Hatamleh
Chapter 3 The Data Link Layer The Data Link Layer Data Link Layer Design Issues Error Detection and Correction Elementary Data Link Protocols Sliding Window Protocols Example Data Link Protocols The Data
More informationUnit 2.
Unit 2 Unit 2 Topics Covered: 1. PROCESS-TO-PROCESS DELIVERY 1. Client-Server 2. Addressing 2. IANA Ranges 3. Socket Addresses 4. Multiplexing and Demultiplexing 5. Connectionless Versus Connection-Oriented
More informationTransport Layer. The transport layer is responsible for the delivery of a message from one process to another. RSManiaol
Transport Layer Transport Layer The transport layer is responsible for the delivery of a message from one process to another Types of Data Deliveries Client/Server Paradigm An application program on the
More informationTransport Protocols and TCP: Review
Transport Protocols and TCP: Review CSE 6590 Fall 2010 Department of Computer Science & Engineering York University 1 19 September 2010 1 Connection Establishment and Termination 2 2 1 Connection Establishment
More informationUser Datagram Protocol (UDP):
SFWR 4C03: Computer Networks and Computer Security Feb 2-5 2004 Lecturer: Kartik Krishnan Lectures 13-15 User Datagram Protocol (UDP): UDP is a connectionless transport layer protocol: each output operation
More informationCC451 Computer Networks
CC451 Computer Networks Lecture 5 Transport Layer Transport Layer 3-1 Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students,
More information05 Transmission Control Protocol (TCP)
SE 4C03 Winter 2003 05 Transmission Control Protocol (TCP) Instructor: W. M. Farmer Revised: 06 February 2003 1 Interprocess Communication Problem: How can a process on one host access a service provided
More informationCS4700/CS5700 Fundamentals of Computer Networks
CS4700/CS5700 Fundamentals of Computer Networks Lecture 14: TCP Slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang Alan Mislove amislove at ccs.neu.edu Northeastern
More informationEE 122: IP Forwarding and Transport Protocols
EE 1: IP Forwarding and Transport Protocols Ion Stoica (and Brighten Godfrey) TAs: Lucian Popa, David Zats and Ganesh Ananthanarayanan http://inst.eecs.berkeley.edu/~ee1/ (Materials with thanks to Vern
More informationChapter 3 Transport Layer
Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete
More informationSirindhorn International Institute of Technology Thammasat University
Name.............................. ID............... Section...... Seat No...... Thammasat University Final Exam: Semester, 205 Course Title: Introduction to Data Communications Instructor: Steven Gordon
More informationTCP/IP Networking. Part 4: Network and Transport Layer Protocols
TCP/IP Networking Part 4: Network and Transport Layer Protocols Orientation Application Application protocol Application TCP TCP protocol TCP IP IP protocol IP IP protocol IP IP protocol IP Network Access
More informationECE 435 Network Engineering Lecture 10
ECE 435 Network Engineering Lecture 10 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 28 September 2017 Announcements HW#4 was due HW#5 will be posted. midterm/fall break You
More informationLecture 5: Flow Control. CSE 123: Computer Networks Alex C. Snoeren
Lecture 5: Flow Control CSE 123: Computer Networks Alex C. Snoeren Pipelined Transmission Sender Receiver Sender Receiver Ignored! Keep multiple packets in flight Allows sender to make efficient use of
More informationThe GBN sender must respond to three types of events:
Go-Back-N (GBN) In a Go-Back-N (GBN) protocol, the sender is allowed to transmit several packets (when available) without waiting for an acknowledgment, but is constrained to have no more than some maximum
More informationCS 43: Computer Networks. 16: Reliable Data Transfer October 8, 2018
CS 43: Computer Networks 16: Reliable Data Transfer October 8, 2018 Reading Quiz Lecture 16 - Slide 2 Last class We are at the transport-layer protocol! provide services to the application layer interact
More informationTransport Protocols Reading: Sections 2.5, 5.1, and 5.2
Transport Protocols Reading: Sections 2.5, 5.1, and 5.2 COS 461: Computer Networks Spring 2006 (MW 1:30-2:50 in Friend 109) Jennifer Rexford Teaching Assistant: Mike Wawrzoniak http://www.cs.princeton.edu/courses/archive/spring06/cos461/
More informationChapter 24. Transport-Layer Protocols
Chapter 24. Transport-Layer Protocols 23.1 Introduction 23.2 User Datagram Protocol 23.3 Transmission Control Protocol 23.4 SCTP Computer Networks 24-1 Position of Transport-Layer Protocols UDP is an unreliable
More information