==========

a) Consider the parity bit protocol with the p’s, q’s, and the additional r bit. What is the hamming distance of this protocol? Briefly explain why

b) Assume we have a CRC protocol that satisfies all the desirable properties that we described in the slides. What is the hamming distance of this protocol? Briefly explain why.

c) For both a) and b), can these protocols be used for error correction, and if so, how many bits can they correct? (i.e., can they perform x-bit correction, and if so, what is

==========

a) Assume G = 100101, and M = 10110011. What check bits are sent by the sender?

b) Argue that if G has at least three terms (e.g. G = 1011 or G = 1110 or G = 1001100), then it can catch all errors E of the form x^i + x^(i-1) (i.e., two consecutive bits).

========

a) Assume that packet size is 1KB, the round-trip-time is 25ms, and the bandwidth of the channel is 1200KB/s. What is the throughput of stop-and-wait?

b) What is the minimum number of logical channels in the concurrent-logical channels protocol that are needed to ensure we maximize the throughput

c) What if instead of using the number of logical channels you gave in b), we use twice that number. What will happen to the throughput? Briefly argue why.

=======

Assume we have the cumulative acknowledgment protocol with unbounded sequence numbers. Assume the channel can lose and reorder messages (but not duplicate). Furthermore, assume that the SWS = 1, and that the timeout of the sender is accurate,. i.e., the last action of the sender is replaced by

when timeout frame#ch.sender.receiver = 0 and ack#ch.receiver.sender = 0 and LAR < LFS then

send frame(LAR+1) to receiver.

Under these conditions, is the sequence number in the acknowledgment really necessary? Briefly argue why yes or why no.