(S = sender, R = receiver)
S: sent
R: got
S: blabla
R: What? - Use the checksum to find the illegal of msg and set ACK = 1(acknowledgement) then send back
S: send again, with SEQ = bit changed (sequence number)
R: return
S: blabla
S: No response? Resend
- ACK – Indicates if packet is ACK or not. Valid values (1 or 0)
- SEQ – Sequence number of packet. Valid values (1 or 0)
- DATA – Application Data (8 bytes)
- CHKSUM – MD5 Checksum of packet (32 Bytes)
You will need to create the packet, load it with the necessary values and then send it to the server.
This process will exactly mirror rdt 3.0 as shown in the textbook, so please make sure you follow it carefully!
Please see UDP_Server.py, line 111