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

Size: px
Start display at page:

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

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 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 information

ECE697AA Lecture 3. Today s lecture

ECE697AA 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 information

UNIT IV -- TRANSPORT LAYER

UNIT 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 information

Internet Applications and the Application Layer Material from Kurose and Ross, Chapter 2: The Application Layer

Internet 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 information

Chapter 3: Transport Layer Part A

Chapter 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 information

Chapter 3: Transport Layer. Chapter 3 Transport Layer. Chapter 3 outline. Transport services and protocols

Chapter 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 information

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

Chapter 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 information

Announcement. 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 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 information

Chapter 3: Transport Layer

Chapter 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 information

TDTS06: Computer Networks

TDTS06: 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 information

Communication Networks

Communication 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 information

NWEN 243. Networked Applications. Layer 4 TCP and UDP

NWEN 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 information

The Transmission Control Protocol (TCP)

The 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 information

Lecture 5. Transport Layer. Transport Layer 1-1

Lecture 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 information

Computer Communication Networks Midterm Review

Computer 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 information

The Transport Layer Multiplexing, Error Detection, & UDP

The 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 information

Lecture 4: CRC & Reliable Transmission. Lecture 4 Overview. Checksum review. CRC toward a better EDC. Reliable Transmission

Lecture 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 information

ECE 650 Systems Programming & Engineering. Spring 2018

ECE 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 information

The Transport Layer: TCP & Reliable Data Transfer

The 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 information

Page 1. Goals for Today" Discussion" Example: Reliable File Transfer" CS162 Operating Systems and Systems Programming Lecture 11

Page 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 information

CSCD 330 Network Programming

CSCD 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 information

Lecture 3: The Transport Layer: UDP and TCP

Lecture 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 information

COSC4377. Useful Linux Tool: screen

COSC4377. 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 information

Question 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: 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 information

CSE 123: Computer Networks Alex C. Snoeren. HW 1 due NOW!

CSE 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 information

User Datagram Protocol

User 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 information

TSIN02 - Internetworking

TSIN02 - 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 information

Introduction to Protocols

Introduction 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 information

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

Computer 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 information

CSC358 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 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 information

CS 640 Introduction to Computer Networks. Role of data link layer. Today s lecture. Lecture16

CS 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 information

CS457 Transport Protocols. CS 457 Fall 2014

CS457 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 information

CS 4390 Computer Networks. Transport Services and Protocols

CS 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 information

CSCD 330 Network Programming Winter 2015

CSCD 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 information

TCP : Fundamentals of Computer Networks Bill Nace

TCP : 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 information

Reliable Data Transfer

Reliable 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 information

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

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 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 information

Lecture 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 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 information

Reliable Transport : Fundamentals of Computer Networks Bill Nace

Reliable 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 information

TSIN02 - Internetworking

TSIN02 - 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 information

Lecture 9: Transpor Layer Overview and UDP

Lecture 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 information

Transport Layer Review

Transport 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 information

Reliable Transport I: Concepts and TCP Protocol

Reliable 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 information

Internet and Intranet Protocols and Applications

Internet 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 information

Connectionless and Connection-Oriented Protocols OSI Layer 4 Common feature: Multiplexing Using. The Transmission Control Protocol (TCP)

Connectionless 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 information

NT1210 Introduction to Networking. Unit 10

NT1210 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 information

Announcements Computer Networking. Outline. Transport Protocols. Transport introduction. Error recovery & flow control. Mid-semester grades

Announcements 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 information

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

Transport 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 information

CCNA 1 Chapter 7 v5.0 Exam Answers 2013

CCNA 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 information

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

Transport 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 information

Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

Transport 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 information

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

Lecture 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 information

Lecture 10: Transpor Layer Principles of Reliable Data Transfer

Lecture 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 information

Principles of Reliable Data Transfer

Principles 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 information

Internet transport-layer protocols. Transport services and protocols. Sending and receiving. Connection-oriented (TCP) Connection-oriented

Internet 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 information

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

CS 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 information

Lecture (11) OSI layer 4 protocols TCP/UDP protocols

Lecture (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 information

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

Suprakash 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 information

Lecture 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. 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 information

Transport 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. 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 information

TCP: Flow and Error Control

TCP: 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 information

COMPUTER NETWORK. Homework #2. Due Date: April 12, 2017 in class

COMPUTER 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 information

TSIN02 - Internetworking

TSIN02 - 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 information

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2

Transport 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 information

TSIN02 - Internetworking

TSIN02 - 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 information

Outline. CS5984 Mobile Computing

Outline. 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 information

Transport 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 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 information

Transport Protocols & TCP TCP

Transport 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 information

ELEN Network Fundamentals Lecture 15

ELEN 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 information

CSCD 330 Network Programming

CSCD 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 information

Fall 2012: FCM 708 Bridge Foundation I

Fall 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 information

CSC 401 Data and Computer Communications Networks

CSC 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 information

UDP, TCP, IP multicast

UDP, 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 information

Reliable Transport I: Concepts and TCP Protocol

Reliable 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 information

Lecture 7: Flow Control"

Lecture 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 information

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

Transport 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 information

CSCI Topics: Internet Programming Fall 2008

CSCI 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 information

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

CS519: 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 information

Transport services and protocols. Chapter 3 outline. Internet transport-layer protocols Chapter 3 outline. Multiplexing/demultiplexing

Transport 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 information

Chapter 3 Transport Layer

Chapter 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 information

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

TCP/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 information

Data Link Control Protocols

Data 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 information

Chapter 3. The Data Link Layer. Wesam A. Hatamleh

Chapter 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 information

Unit 2.

Unit 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 information

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

Transport 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 information

Transport Protocols and TCP: Review

Transport 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 information

User Datagram Protocol (UDP):

User 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 information

CC451 Computer Networks

CC451 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 information

05 Transmission Control Protocol (TCP)

05 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 information

CS4700/CS5700 Fundamentals of Computer Networks

CS4700/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 information

EE 122: IP Forwarding and Transport Protocols

EE 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 information

Chapter 3 Transport Layer

Chapter 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 information

Sirindhorn International Institute of Technology Thammasat University

Sirindhorn 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 information

TCP/IP Networking. Part 4: Network and Transport Layer Protocols

TCP/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 information

ECE 435 Network Engineering Lecture 10

ECE 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 information

Lecture 5: Flow Control. CSE 123: Computer Networks Alex C. Snoeren

Lecture 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 information

The GBN sender must respond to three types of events:

The 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 information

CS 43: Computer Networks. 16: Reliable Data Transfer October 8, 2018

CS 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 information

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2

Transport 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 information

Chapter 24. Transport-Layer Protocols

Chapter 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