CS 3251 - Computer Networks I

Written HW Assignment 3 -
Assigned: October 21, 2006
Due: Friday, October 27, 2006 -- 11:59pm


Submission Instructions Please submit your HW solutions by EMAIL to TA at bpetit@cc.gatech.edu. Make sure to include [CS3251] in subject line.

Late Policy: You have a total of 3-days for a late budget which you may use for any assignment in a minimum of day increments.


  • Question 1

    Problem 1 in text (page 287).

  • Question 2

    A stop and wait ARQ protocol operates on a 10Mbps channel (each way). Data packets are 10,000 bits each, acknowledgement packets are 100 bits each (including he aders) and propagation delays are 50 millisecond each way.

    i) Assuming that processing delays are negligible what is the utilization of channel from the data transmitter to the data receiver. NOte: Utilization is the percentage of time the sender's transmitted is busy.
    ii) Repeat with data rate at 10Kbps

  • Question 3

    A user is forced by a server to use a stop and wait ARQ protocol on a relatively fast link. He invents a technique to speed things up which he dubs "optimistic acking". With this scheme the receiver (the user) continuously sends acknowledgements (alternating between ack 0 and ack 1) without waiting for data to be received.

    i) Using a picture similar to the ones we have been drawing in class to show the operation of ARQ protocols, show the operation of the ARQ protocol under "optimistic acking". Does this speed up the transfer of the data from the server?
    ii) What is the danger (to the user) in using optimistic acking?

  • Question 4

    RFC 793 describes a Transport Layer API as an illustration of how Transport Layer services may be invoked and accessed. Compare and contrast this API with the BSD Sockets API. Try to map the RFC 793 API calls to those in BSD Sockets. Does the RFC's API give you access to services not available through sockets? What about the other way round?