Communication Networks

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

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

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

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

UNIT IV -- TRANSPORT LAYER

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

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

Communication Networks

Reliable Data Transfer

Answers to Sample Questions on Transport Layer

The Transmission Control Protocol (TCP)

COM-208: Computer Networks - Homework 3

The Transport Layer Reliability

Lecture 7: Flow Control"

Lecture 7: Sliding Windows. CSE 123: Computer Networks Geoff Voelker (guest lecture)

Transport Layer Protocols TCP

Question 1 (6 points) Compare circuit-switching and packet-switching networks based on the following criteria:

The flow of data must not be allowed to overwhelm the receiver

Preview Test: HW3. Test Information Description Due:Nov. 3

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2

The Transport Layer: TCP & Reliable Data Transfer

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

file:///c:/users/hpguo/dropbox/website/teaching/fall 2017/CS4470/H...

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

NWEN 243. Networked Applications. Layer 4 TCP and UDP

Fall 2012: FCM 708 Bridge Foundation I

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

Problem 7. Problem 8. Problem 9

CS457 Transport Protocols. CS 457 Fall 2014

Solution to Question 1: ``Quickies'' (25 points, 15 minutes)

CSE 461 Module 10. Introduction to the Transport Layer

c. If the sum contains a zero, the receiver knows there has been an error.

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

Data Link Control Protocols

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2

ECE697AA Lecture 3. Today s lecture

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

TCP : Fundamentals of Computer Networks Bill Nace

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

Lecture 5. Transport Layer. Transport Layer 1-1

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

ERROR AND FLOW CONTROL. Lecture: 10 Instructor Mazhar Hussain

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste

Reliable Transport : Fundamentals of Computer Networks Bill Nace

Computer Communication Networks Midterm Review

Different Layers Lecture 20

Principles of Reliable Data Transfer

Exercises TCP/IP Networking With Solutions

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

The Transport Layer Multiplexing, Error Detection, & UDP

ELEN Network Fundamentals Lecture 15

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

Chapter 3 Review Questions

TCP over wireless links

Chapter 3: Transport Layer

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

Transport Layer Marcos Vieira

ITS323: Introduction to Data Communications

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

CSC 401 Data and Computer Communications Networks

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

User Datagram Protocol (UDP):

CPE 448/548 Exam #1 (100 pts) February 14, Name Class: 448

EE 122: Transport Protocols: UDP and TCP

Department of Computer and IT Engineering University of Kurdistan. Transport Layer. By: Dr. Alireza Abdollahpouri

Lecture 3: The Transport Layer: UDP and TCP

Lecture 3 The Transport Control Protocol (TCP) Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Announcements. IP Forwarding & Transport Protocols. Goals of Today s Lecture. Are 32-bit Addresses Enough? Summary of IP Addressing.

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

OSI Transport Layer. objectives

CS4700/CS5700 Fundamentals of Computer Networks

Chapter 3 Transport Layer

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

Introduction to TCP/IP networking

Question Points Score total 100

Homework 1. Question 1 - Layering. CSCI 1680 Computer Networks Fonseca

Page 1. Goals for Today" Placing Network Functionality" Basic Observation" CS162 Operating Systems and Systems Programming Lecture 15

Lecture 8. TCP/IP Transport Layer (2)

ETSF05/ETSF10 Internet Protocols Transport Layer Protocols

10.1 REVIEW QUESTIONS

Applied Networks & Security

CCNA Exploration Network Fundamentals. Chapter 04 OSI Transport Layer

Lecture - 14 Transport Layer IV (Reliability)

Lecture 7: Flow & Media Access Control"

PROBLEMSAND EXERCISES

Networking Technologies and Applications

Name Student ID Department/Year. Midterm Examination. Introduction to Computer Networks Class#: 901 E31110 Fall 2006

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

Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

Lecture 9: Transpor Layer Overview and UDP

Different Layers Lecture 21

TCP reliable data transfer. Chapter 3 outline. TCP sender events: TCP sender (simplified) TCP: retransmission scenarios. TCP: retransmission scenarios

CCNA 1 Chapter 7 v5.0 Exam Answers 2013

TDTS06: Computer Networks

EE 122: IP Forwarding and Transport Protocols

CMPE 80N: Introduction to Networking and the Internet

TCP: Flow and Error Control

Lecture 11. Transport Layer (cont d) Transport Layer 1

User Datagram Protocol

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

Transcription:

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 top of a best-effort delivery network. However, some applications still use an unreliable transport protocol. a) What are the characteristics of best-effort and of reliable transport? Best-effort delivery: There is no guarantee for packets to arrive in the correct order, correctly (bit corruption) or even arrive at all. Reliable transport: It provides all the above guarantees by making use of sequence numbers, checksums and acknowledgements. b) What could be advantages of using an unreliable transport protocol? Better performance/less overhead since you don t have to wait for ACKs to arrive; Lightweight implementation; As no connection setup is required (e.g., TCP threeway handshake), you can immediately start sending.

c) What type of applications are suitable to use unreliable transport protocols? Applications for which it is more important to have live data than to have complete data. In voice/video-calls, for example, lost packets lead to lower quality, but delayed packets lead to distorted conversations. d) As we will later see, the User Datagram Protocol (UDP) only provides unreliable transport. Assume you are forced to use a network which only supports UDP as a transport protocol. You must transmit an important document which eventually should be correctly transmitted. Do you see a way to implement some of the reliable transport mechanisms despite using UDP? Yes, the reliable transport mechanisms could be implemented by the application/in the application layer.

Negative Acknowledgments In the lecture, we have mainly looked at transport protocols using (positive) Acknowledgments (ACKs). However, we could also use so called Negative Acknowledgments (NAKs or NACKs). In this case, the receiver is sending a NAK for every packet that it did not receive. To detect lost packets, the receiver looks at the sequence numbers of all the received packets and sends NAKs for every missing sequence number. After receiving a NAK, the sender will retransmit the corresponding packet. a) Assuming a network with nearly no packet loss, what could be the main advantage of using NAKs? The number of NAKs will be much smaller than the number of ACKs in a normal case. Less packets in the network could have a positive influence on the delay, bandwidth,... b) Assume now that the receiver will immediately send a NAK as soon as it detects a gap in the received packet numbers. E.g. for the following packet number sequence [4, 5, 7] the receiver would immediately send a NAK for packet 6. Can you see a problem with this implementation? How could you (partially) mitigate the problem? Reordered packets will immediately trigger a NAK. The receiver could e.g. wait for a certain amount of time before sending the NAK. c) So far, NAKs look like a good alternative to (positive) ACKs. Nonetheless, TCP the currently most-widely used transport protocol is not using NAKs. There has to be a problem. Assume that the sender is transmitting 5 packets (with sequence number to 5). Find at least two sequences of packet or NAK losses such that the sender wrongly assumes that the 5 packets were correctly received. [, 2, 3] correctly received. Packet 4 and 5 were lost. [, 2, 3, 5] correctly received. The NAK for packet 4 was lost.

Fairness A B C 2 7 Gbps 2.5 Gbps 4 3 5 Gbps 8 Gbps 2 Gbps 5 6 7 A network with shared links and 7 flows. D E Consider the network on the left consisting of 5 nodes (A to E). Each link has a maximal bandwidth indicated in red. 7 flows ( to 7) are using the network at the same time. You can assume that they have to send a lot of traffic and will use whatever bandwidth they will get. Apply the max-min fair allocation algorithm discussed in the lecture to find a fair bandwidth allocation for each flow. You can use the table below. In the top row, indicate which link is the current bottleneck. The other rows contain the corresponding bandwidth distribution for each flow. Bottleneck link Flow A - B - C Flow 2 B - C Flow 3 B - C - D - E Flow 4 B - C - D Flow 5 B - D Flow 6 A - B - D Flow 7 B - D - E D-E C-D B-C A-B B-D.5 2.25.5 2.25.5.5 2.25 2.75 4.25.5 2.25 2.75

Reliable Transport (Exam Style Question) Consider a Go-Back-N sender and receiver directly connected by a 0 Mbps link with a propagation delay of 00 milliseconds. The retransmission timer is set to 3 seconds and the window has a length of 4 segments. Draw a time-sequence diagram (see left) showing the transmission of 0 segments (each segment contains 0 000 bits). An ACK is transmitted as soon as the last bit of the corresponding data segment is received. The size of an ACK is very small, that means they have an negligible transmission delay. a) Draw the time-sequence diagram for the case where there sender 0 receiver are no losses. The acknowledgments always point to the next expected sequence number and not to one of the received segment. This means that, for example, the segment with sequence number 5 is acknowledged with A6. time How long would a transfer take? 0 ms 4 ms 0 2 3 0 ms 20 ms A A3 A4 04 ms 205 ms 4 5 6 7 302 ms 402 ms 404 ms A5 A6 A7 A8 8 9 305 ms 603 ms 604 ms A9 A0 503 ms 504 ms

b) Draw the time-sequence diagram for the case where the 3rd and the last segment are lost once. 0 ms 4 ms 0 2 3 0 ms 20 ms 203 ms 402 ms 403 ms A 4 5 04 ms 302 ms 303 ms 3403 ms 3407 ms 2 3 4 5 3504 ms 3604 ms 3608 ms 3805 ms A3 A4 A5 A6 6 7 8 9 A7 A8 A9 3507 ms 3705 ms 3707 ms 3807 ms 6807 ms 9 6908 ms A0 7008 ms

Reliable Transport 2 (Exam Style Question) On the next page you see the beginning of a communication between two end-points using the Go-Back-N protocol with Selective Repeat. Consider that the sender has infinitively many data segments to send and they are immediately available. We ask you to fill in the missing values in the two tables. Stop if you either reach the bottom of the tables or the sender is no longer able to send new data segments because its buffer is full. Start with the blue row indicated on the left. Note: Please read the entire question carefully! Set-up: Every table row corresponds to one time-slot. The sender and receiver can send one data segment respectively ACK segment in every time-slot; Consider that the Sender buffer contains all the sent but not yet acknowledged segments, while the Out-oforder buffer contains all the messages which has been received... out-of-order; If the sender receives an ACK in one time-slot, it first processes the ACK (e.g. removes segments from the sender buffer) and then sends the data segment for this timeslot. Similarly, the receiver will first analyse the received data segment and then send a corresponding ACK; The link between the sender and receiver is not reliable. The first data segment with a sequence number of 3 and all data segments with a sequence number of 5 are dropped and do not reach the receiver. Sender behavior: The sender uses Selective Repeat after receiving 3 duplicate ACKs. That means as soon as the sender receives an ACK with the same sequence number for the third time, it will retransmit the missing segment in the same time-slot (instead of a new data segment); The sender can store at most 5 unacknowledged segments in its sender buffer. Assumptions: You will not reach the maximal sequence number. overflow; No The timeout value is very long and will not occur; The receiver out-of-order buffer can store an unlimited number of segments.

The acknowledgments always point to the next expected sequence number and not to one of the received segment. This means that, for example, the segment with sequence number 5 is acknowledged with 6. Fill the following table starting from the blue row on the left. GBN - Sender maximal sender buffer size = 5 Sender buffer Data segment to send Received ACK number 0 0 2 2 2 3 3 3 3, 4 4 3, 4, 5 5 3 3, 4, 5, 6 6 3, 4, 5, 6 3 3 5, 6, 7 7 5 5, 6, 7, 8 8 5 5, 6, 7, 8 5 5 5, 6, 7, 8, 9 9 5, 6, 7, 8, 9 5 Drop first data segment 3 and all data segments 5 Received data segment GBN - Receiver ACK number to send Out-of-order buffer 0 2 2 3 4 3 4 4 6 3 4, 6 3 5 6 7 5 6, 7 8 5 6, 7, 8 6, 7, 8 9 5 6, 7, 8, 9