In this project, a reliable transport protocol over the UDP protocol has been implemented. This reliable transport protocol is called My Transport Protocol (MTP). MTP implements features listing below:
- A threeway handshake for the connection establishment.
- MTP Sender maintains a single-timer for timeout operation.
- MTP Sender implements the simplified TCP sender and fast retransmit.
- MTP Sender is able to deal with different maximum segment size (MSS).
- The maximum number of un-acknowledged bytes that the MTP Sender can have is Maximum Window size (MWS).
- MTP Sender implement a Packet Loss (PLD) Module.
- MTP Sender uses a constant timeout.
- MTP Receiver receives the data packet, and acknowledge it immediately.
- Both MTP Sender and Receiver print a log file while the file transmission process.