An emulator with a CLI in which a customized reliable transmission protocol based on Sliding Window is implemented. The emulator supports a maximum of 256 senders and receivers. Each sender is capable of handling multiple messages toward multiple receivers, and each receiver is capable of handling multiple sender's messages simultaneously.

image

Stack

C, Multi-threading

Associated with

CSE 123 - Computer Networks

Highlights

  • Developed an emulator with CLI for customized reliable transmission protocol based on Sliding Window.
  • Supported a maximum of 256 senders and receivers, with each sender and receiver capable of handling multiple messages.
  • Implemented selective retransmission, cumulative ACK, and a two-way handshake process.
  • Created a reliable command parser to handle multiple command inputs simultaneously.
  • Designed a frame header with a maximum frame size of 64 bytes.
  • Successfully passed tests with corruption rates of up to 60%.

Demo

(Note: VPN is needed for the video if you are accessing from China)

© 2023 Yong Liang | Powered by