There is an error on page 102 of the ``Weeks 5 and 6'' Noters. When an ACK with sequence number seq arrives at the source, the source_hacked value can be either (seq - 1) or seq . (seq - 1) is the ``prefered'' and ``usual'' value. But seq can also happen. Excercise: give an example of how it can occur that on arrival of an ACK we find that source_hacked = seq. What should we do when that happens? I did not make this error on purpose. But now that I made it, it is a good example to show that protocols need ``proof of correctness''. On page 104 I have it right in my notes, but I was unclear in class. At the destination, if a frame arrives with seq == dest_hacked, the dest MUST send ACK(seq). Why? Excercise. Hint: What happens if the dest receives frame(seq) (for the first time), sends ACK(seq), but the ACK is lost? Combine these two items: If the source receives ACK(seq) with seq == source_hacked, it MUST NOT send frame(seq + 1). If the destination receives Frame(seq) with seq == dest_hacked, it MUST send ACK(seq). Call this the (dest yes, source no) combination. Show that all other three combinations (dest yes, source yes) ; (dest no, source no) ; (dest no, source yes) eventually will lead to ``bad things''. (Anything that CAN happen eventually WILL happen). This question is likely to be asked on the next quiz.