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

Similar documents
Answers to Sample Questions on Transport Layer

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

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

UNIT IV -- TRANSPORT LAYER

The Transmission Control Protocol (TCP)

Midterm Review. EECS 489 Computer Networks Z. Morley Mao Monday Feb 19, 2007

The Transport Layer: TCP & Reliable Data Transfer

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

Review problems (for no credit): Transport and Network Layer

Computer Networking Introduction

Introduction to the Transport Layer

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Different Layers Lecture 20

Outline. CS5984 Mobile Computing

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

Chapter 3: Transport Layer Part A

Problem 7. Problem 8. Problem 9

a. (4pts) What general information is contained in a LSR-PDU update that A might send?

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

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

PLEASE READ CAREFULLY BEFORE YOU START

PLEASE READ CAREFULLY BEFORE YOU START

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

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

User Datagram Protocol (UDP):

Communication Networks

No, the bogus packet will fail the integrity check (which uses a shared MAC key).!

Exercises TCP/IP Networking With Solutions

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

Communication Networks

CSE/EE 461 Lecture 16 TCP Congestion Control. TCP Congestion Control

Lecture 5. Transport Layer. Transport Layer 1-1

CS 349/449 Internet Protocols Final Exam Winter /15/2003. Name: Course:

Bandwidth Allocation & TCP

MIDTERM EXAMINATION #2 OPERATING SYSTEM CONCEPTS U N I V E R S I T Y O F W I N D S O R S C H O O L O F C O M P U T E R S C I E N C E

Chapter 3 Review Questions

Lecture 3: The Transport Layer: UDP and TCP

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

Transport Layer PREPARED BY AHMED ABDEL-RAOUF

Student ID: CS457: Computer Networking Date: 3/20/2007 Name:

CSCI Topics: Internet Programming Fall 2008

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

CS164 Final Exam Winter 2013

COSC4377. Useful Linux Tool: screen

Lecture 9: Transpor Layer Overview and UDP

ECE 610: Homework 4 Problems are taken from Kurose and Ross.

II. Principles of Computer Communications Network and Transport Layer

COMPUTER NETWORK. Homework #3. Due Date: May 22, 2017 in class

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

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

Computer Network 2015 Mid-Term Exam.

COMP/ELEC 429/556 Introduction to Computer Networks

CSE 473 Introduction to Computer Networks. Midterm Exam Review

TSIN02 - Internetworking

Development of reliable protocol Sliding window protocols. C = channel capacity in bps I = interrupt/service time + propagation delay

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

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

Computer Communication Networks Midterm Review

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

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

Chapter III: Transport Layer

CSCD 330 Network Programming Winter 2015

Chapter 3 Transport Layer

TCP OVER AD HOC NETWORK

Computer Networks. Homework #4: No Grading

CS457 Transport Protocols. CS 457 Fall 2014

Transport Protocols and TCP: Review

CSCE 463/612 Networks and Distributed Processing Spring 2018

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

Applied Networks & Security

===================================================================== Exercises =====================================================================

Congestion Control 3/16/09

Application. Transport. Network. Link. Physical

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

ECE697AA Lecture 3. Today s lecture

CSCD 330 Network Programming

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

Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

Computer Networks and Data Systems

CCNA 1 Chapter 7 v5.0 Exam Answers 2013

Chapter 3 Transport Layer

Question Points Score total 100

TDTS06: Computer Networks

Chapter 24. Transport-Layer Protocols

CSE 4213: Computer Networks II

CC451 Computer Networks

UNIVERSITY OF TORONTO FACULTY OF APPLIED SCIENCE AND ENGINEERING

CMPE150 Midterm Solutions

Fall 2012: FCM 708 Bridge Foundation I

Reliable Transport I: Concepts and TCP Protocol

TSIN02 - Internetworking

Multiple unconnected networks

TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581

CS321: Computer Networks Congestion Control in TCP

c) With the selective repeat protocol, it is possible for the sender to receive an ACK for a packet that falls outside of its current window.

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

Different Layers Lecture 21

Department of Computer Science and Engineering. Final Examination. Instructor: N. Vlajic Date: April 15, 2011

Final Exam for ECE374 05/03/12 Solution!!

PLEASE READ CAREFULLY BEFORE YOU START

Transcription:

Solution to Question : ``Quickies'' (25 points, 5 minutes) What is meant by the term statistical multiplexing? Answer: In statistical multiplexing, data from multiple users (senders) is sent over a link. If bandwidth is not used by one user, it is then free to be used by other users. Thus, senders share the link bandwidth, with no user having all of the link bandwidth allocated to it What are two key differences between a datagram network and a virtual-circuit network? Answer: In a VC network, routers have state for each VC that passes through the router; a datagram network is stateless. In a VC network, the network-layer packet carries a VC id rather than a source/destination address. In a VC network, all traffic between a given source/destination pair follows the same path; in a datagram network, different packets can take a different route. Consider an http client that wants to retrieve a WWW document at a given URL. The IP address of the http server is initially unknown. The WWW object at the URL has one embedded GIF image that resides at the same server as the original object. What transport and application layer protocols besides http are needed in this scenario? Answer: DNS is needed to determine the 32-bit IP address of the server. TCP is used to carry the HTTP request; UDP is used to transport the DNS messages. Suppose that the time needed to contact and receive a reply from any server (for any protocol) is RTT. How many RTT s are needed from when the user first enters the URL until the complete document is displayed? Assume that non-persistent http is used. Consider the delays of all protocols in your answer, not just those of http. Answer: one RTT to do DNS, one RTT set up st TCP connection to WWW server; one RTT to get object, one object to set up 2 nd TCP connection to WWW server, one RTT to get GIF image How are ports numbers used by TCP and/or UDP in demultiplexing incoming segments? Answer: the receiver looks at the sender IP address, the sender port number and the receiver port number to determine which socket the arriving message should be demultiplexed to. Which protocol Go-Back-N or Selective-Repeat - makes more efficient use of network bandwidth? Why? Answer: Selective repeat makes more efficient use of network bandwidth since it only retransmits those messages lost at the receiver (or prematurely timed out). In go-back- N, the sender retransmits the first lost (or prematurely timed out) message as well as all following messages (without regard to whether or not they have been received).

Question 2: Transport Layer Potpourri (2 points, 20 minutes) Suppose the sender and receiver in a pipelined reliable data transfer protocol have a window of size N. Suppose the sequence number of the segment at the base of the window at the receiver is x. What are the possible range of sequence numbers in the sender s window? Justify your answer. Answer: If the receiver window base is x, then it has acked the previous N packets. However, those ACKs may not have been received by the sender. Hence the sender window could still be [x-n+,x]. On the other hand, if all of the ACKs have been received at the sender, then the sender s window would be [x,x+n-]. Hence the range is [x-n+,x+n-]. Suppose that a reliable data transfer protocol such as TCP has an RTT estimate that is far too small. What is the consequence? Now suppose the RTT estimate is far too large. What is the consequence? Answer: if the RTT estimate is far too small, the retransmission timer will be too small and will timeout prematurely resulting in the retransmission of packets that may not be lost. If the RTT estimate is far too large, the retransmission timer will be too large. In this case, the packet will not be transmitted until a long time after it has been lost resulting in long error recovery delays. What is the role of the threshold in TCP congestion control? How does it change over time? Answer: When the TCP window, W, is larger than the threshold, TCP is in congestion avoidance and grows the window slowly (at the rate of /W per packet acknowledged, or equivalently, at the rate of packet per RTT). Note that on packet loss the threshold value is halved. Consider two TCP senders. They are at different sending hosts and go to different destinations, but pass through a common bottleneck link (that is the only bottleneck link on either of their paths). What does is mean to say that TCP provides fair sharing of bandwidth at the bottleneck link? Suppose the RTTs of the two connections are very different. Is TCP fair in this case? Justify your answer. Answer: TCP is fair is that in the long term, each receiver will eventually see the same throughput at that link. As noted in the answer above, the TCP window size grows at a rate that is proportional to the RTT. If the RTT s are different, then the two TCP senders will grow their windows at different rates (even if they start with the same window size).

Question 3: A distributed transaction processing system (26 points, 20 minutes) Consider a distributed transaction processing system of a client and a remote server. The client receives transaction requests from local users. These transaction requests must be communicated to the server, which will execute the transaction request and return the result of the transaction request. (You can think of a transaction as requesting an account balance from the server database, and the response containing the account balance. You can think of the transaction as being read-only that is, executing a transaction will not change the state of the server database). The client and server communicate over a medium that can lose and delay messages; the maximum delay in the medium is not known. The medium will not corrupt or reorder messages. The client should receive requests from local users (via the event callbyuser(request) ) and return results to users (via the event returndatatouser(data) ) in the order in which the requests were generated. The server receives messages from the client via the messagefromclient(clientmsg) event and sends messages to the client via the messagetoclient(servermsg) event, where clientmsg and servermsg are messages (that you define) sent from the client and server, respectively. The client receives messages from the server via the messagefromserver(servermsg) event. Give a FSM description of the client and server. Describe the format of the messages sent from client-to-server and from server-to-client. Your protocol should be minimalist in the sense that it should not contain any functionality that is not strictly needed to meet the above requirements. Answer: the solution to this problem is essentially the stop and protocol. We need a timer because messages can be lost and the maximum delay is not bounded. The client will have the timer and will send copies of the previous request on timeout; the server does not need a time. Since there may be premature timeouts at the client, there will be duplicate messages, and the client will need to use the sequence to make sure that it returns the data to the user only once. A checksum is not needed since messages can not be corrupted. The FSMs are shown on the following page.

messagefromserver(reply,) callbyuser(request) messagetoserver(request,0) messagefromserver(reply,) user req. server rep. 0 timeout messagetoserver(request,0) messagefromserver(reply,) returndatatouser(reply) returndatatouser(reply) server rep. user req. timeout messagetoserver(request,) callbyuser(request) messagetoserver(request,) messagefromclient(request,0) perform operation, generate reply messagetoclient(reply,0) client req messagefromclient(request,) perform operation, generate reply messagetoclient(reply,)

Question : Routing Algorithms (25 points, 5 minutes) Consider the network shown below. Show the operation of Dijkstra s (Link State) algorithm for computing the least cost path from F (the rightmost node in the figure below!) to all destinations. Also, explicitly list the shortest path routes from E to all destinations that are the result of the algorithm s computation. Show the distance table that would be computed by the distance vector algorithm in B. Note: you do not have to run the distance vector algorithm; you should be able to compute the table by inspection. A N A B C D E F infty,f infty infty,f FE infty,f infty 5,E FEB 5,B 7,B 5,E FEBD 5,B 6,D FEBDA 6,D FEBDAC B A C A D A The distance table in B is shown below. via A C E F A 6 6 9 dest C 3 5 0 D 5 9 E 7 8 0 5 F 6 9 3 3 0 E A F A