Solution of Home Work 7
 
1) There are two computers, called S (Source) and D (Destination). 
They are connected by a 20 km long link (full duplex, used only 
between S and D). The link has a data rate of 100 Mbit/sec and the 
speed of the signal on the link is (2/3)*c .
 
Practically speaking, we have only 1500 Byte dataframes from S to D, 
and only 50 Byte ACKframes from D to S. This includes headers, 
trailers, ``wrappers'', etc. D acknowledges every dataframe it 
receives as soon as the whole frame is in.
 
If S and D use a ``Sliding Window'' protocol, what window size (in 
frames) would you recommend? WHY?
(The ``why'' is much more important than the actual answer, so 
try to be simultanously concise and very clear!)

 

 

Answer:

 

Serialization delay of a data frame is:

 

                 1500 * 8

            ------------------  = .12msec

             100, 000, 000

 

Propagation delay is:        20

                                    ------------------  = .1msec

                                    (2/3)*3,00,000

 

Serialization delay of an ACK frame is:     400

                                                                 --------------- = .004msec

                                                                100,000,000

 

At time t, when S starts sending a data frame, the tail of the frame leaves S at (t + .12) msec. The same frame arrives at D after the time (t + .12 + .1) msec.

 

Assume an ACK is generated in D at the same time it receives a data frame. Then the ACK will leave D at the time, (t + .12 + .1 + .004) msec.

 

So, the ACK for the data frame will arrive at S after (t + .12 + .1 + .004 + .1) msec, which is (t + 0.324) msec.

 

So, S needs to have data frames to send at t, (t + .12) and (t + .324). So, the window size must be 3 to prevent the bandwidth from remaining unused.

 

2) In a bit-oriented protocol, we use the flag  01111110 , to 
indicate beginning and end of a frame.
(I usually would write this as  0111 1110 , for readability).
 
A. Bitstuff the following pattern:
   01001111111001111100110011110
                    ^                ^
                    |                  |
 
 The answer is:
 
               0100111110110011111000110011110
 
B. ``Unstuff'' the following pattern:
   0110111110111110110011111001010
                     -           -                  -
 
Answer is:
 
               0110111111111111001111101010
 
C. What is your reaction if asked to unstuff the following pattern?
   01001111110010
 
 Answer:
 
The pattern 0111 1110 is a flag used to indicate the beginning and end of a message. If it is received in the destination, it will be assumed as a flag and will not be unstuffed.
 
D. What is your reaction if asked to unstuff the following pattern?
   010011111110010
 
Answer:
 
Unstuffing this pattern might result in an error as it was not bit stuffed. It might also be a special protocol between source and destination.