CIS 427 – COMPUTER NETWORKS

advertisement
CIS 527 – COMPUTER NETWORKS
SOLUTION – HOMEWORK #2
1. Sketch the NRZ, Manchester, and NRZI encoding for the bit stream 0001110101.
Assume that the NRZI signal starts out low.
Solution:
0
0
0
1
1
1
0
1
0
1
0 - Low ; 1 - High
NRZ
Clock
0 - Low to High; 1 - High to Low
Manchester
Make a transition from the current
signal to encode a 1 and stay at
the current signal to encode a 0
NRZI
2. A bit string, 0111101111101111110, needs to be transmitted at the data link layer.
What is the string actually transmitted after bit stuffing?
Solution:
01111011111
0
(data)
(Inserted 0)
011111
(data)
0
(Inserted 0)
10
(data)
When five consecutive 1s have been transmitted from the body of the message,
the sender inserts a 0 (as shown above) before transmitting the next bit.
3. A bit stream 10011101 is transmitted using the standard CRC method. The
generator polynomial is x3+1. Show the actual bit string transmitted. Suppose the
third bit from the left is inverted during transmission. Show that this error is
detected at the receiver’s end.
Solution:
Message M (x) = 10011101 = x7+x4+ x3+ x2+ 1
CRC Polynomial C (x) = x3+ 1 = 1001
Multiply the message with x3 since the divisor polynomial is of degree 3.
 T (x) = x3 (x7+x4+ x3+ x2+ 1) = x10+x7+ x6+ x5+x3  10011101000
Divide 10011101000 by 1001 i.e., divide T (x) by C (x)
1001
1000110
--------------------------------------------| 10011101000  Message
| 1001
----------------1101
1001
--------1000
1001
----------100  Remainder
-----------
Since T (x) minus the remainder would be exactly divisible by C (x), we subtract
the remainder from T (x) as shown below:
Note: The minus operation in polynomial arithmetic is the logical XOR operation.
T (x): 10011101000
Remainder:
100
------------------10011101100  This turns out to be the original message with
------------------the remainder appended to it.
If the third bit form the left is inverted during transmission, the bit stream would
be: 10111101100. Dividing this by 1001 we get:
10101
--------------------------------------------1001 | 10111101100  Message
| 1001
----------------1011
1001
--------1001
1001
-----------0100  Remainder
-----------Since the remainder is 100, which is different form 0, the receiver detects the
error and can ask for retransmission.
4. Draw a timeline diagram (up to frame 7) that for the sliding window algorithm with
SWS=4 frames and RWS=3 frames, when the third frame (frame 2) is lost. The
receiver use cumulative ACKs. Use a timeout interval of about 2 x RTT. Assuming
that the transmit time (insertion delay) of a frame is equal to 0.25 RTT and the
frames can be processed instantaneously if they arrive in order.
On each data frame and ACK frame, you need to indicate the sequence number
(start from 0). In addition, you need to indicate what action is taken by the receiver
when it is received, for example, processed, buffered, and discarded.
Solution:
SWS = 4; RWS = 3; Timeout Interval = 2  RTT; Transmit Time = .25RTT
Frame 0
Frame 1
Frame 2
Processed
1 RTT
pp
ACK 0
Frame 3
Processed
X
ACK 1
Frame 4
Buffered
Frame 5
Buffered
Discarded
Timeout for
Frame 2
Frame 2
ACK 4
Frame 5
ACK 5
5. Suppose that we run the sliding window algorithm with SWS = 5 and RWS = 3, and
no out-of-order arrivals.
Solution:
a) Find the smallest value for MaxSeqNum. No explanation
The smallest working value for MaxSeqNum is 8
It suffices to show that if DATA[8] is in the receive window, then DATA[0]
can no longer arrive at the receiver. We have that DATA[8] in receive
window
the earliest possible receive window is DATA[6]..DATA[8]
ACK[6] has been received
DATA[5] was delivered.
But because SWS=5, all DATA[0]’s sent were sent before DATA[5]
 by the no-out-of-order arrival hypothesis, DATA[0] can no longer arrive.
b) Give an example showing that MaxSeqNum – 1 is not sufficient
We show that if MaxSeqNum=7, then the receiver can be expecting
DATA[7] and an old DATA[0] can still arrive. Because 7 and 0 are
indistinguishable mod MaxSeqNum, the receiver cannot tell which actually
arrived.
1. Sender sends DATA[0]...DATA[4]. All arrive.
2. Receiver sends ACK[4] in response, but it is slow. The receive window is
now DATA[5]..DATA[7].
3. Sender times out and retransmits DATA[0]. The receiver accepts it as
DATA[7].
c) State a general rule for the minimum MaxSeqNum in terms of SWS and
RWS.
From the above discussion we can derive that, MaxSeqNum can be greater
than or equal to the sum of SWS and RWS and cannot be less than the
sum.
MaxSeqNum >= SWS + RWS
6. Ethernet frames must be at least 64 bytes long to ensure the transmitter is still
going in the event of a collision at the far end of the cable. Fast Ethernet has the
same 64 byte minimum frame size but can get bits out 10 times faster. How is it
possible to maintain the same minimum frame size?
Solution:
The 64 byte (512 bit) limit is based on a 2.5km long 10base5 cable. The 512 bits
(equals 51.2 microseconds) is based on twice the end-to-end propagation time
(about 5 microseconds per km) plus time to propagate through repeaters. Fast
Ethernet has shorter cable runs (100m of cable implies about 0.5microseconds or
about 50 bits at 100Mbps).
For Regular Ethernet:
RTT ≤ Size / BW
51.2μsec ≤ Size / 10 Mbps
i.e., 512 bits ≤ Size
For Faster Ethernet:
RTT ≤ Size / BW
5.12μsec ≤ Size / 100 Mbps
i.e., 512 bits ≤ Size
7. Consider a token ring network like FDDI in which a station is allowed to hold the
token for some period of time (the token holding time, or THT). Let RingLatency
denote the time it takes the token to make one complete rotation around the
network when none of the stations have any data to send.
Solution:
a) In terms of THT and RingLatency, express the efficiency of this network when
only a single station is active.
THT / (THT + RingLatency)
b) What setting of THT would be optimal for a network that had only one station
active (with data to send) at a time?
Infinity; we let the station transmit as long as it likes.
c) In the case where N stations are active, given an upper bound on the token
rotation time, or TRT, for the network
TRT ≤ N  THT + RingLatency
Download