Skip to content

This is an implementation of a reliable data transfer protocol, which is similar to TCP. Specifically, it builds up to implementing a fully functioning GBN protocol.

Notifications You must be signed in to change notification settings

oslfmt/rdtprotocol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Building a Reliable Data Transfer protocol

Here we implement a simple reliable data transfer protocol, which is similar to how TCP implements its reliable data transfer. We start by implementing a stop-and-wait, alternating-bit protocol. Then, we extend this to a simple Go-Back-N (GBN) protocol, where the sender can now pipeline multiple packets into the network.

Alternating-Bit Protocol

  1. Implementing over a reliable data channel (no loss or bit errors)
  2. A protocol that can handle bit errors
  3. A protocol that handles bit errors & packet loss
  4. Using duplicate ACKs as feedback (get rid of NAKs)

Go-Back-N Protocol

[TODO]

The network here is a simulated network. Boilerplate and simulation code, as well as the problem itself, is on the open web and provided by Kurose & Ross. Adapted from Kurose & Ross

About

This is an implementation of a reliable data transfer protocol, which is similar to TCP. Specifically, it builds up to implementing a fully functioning GBN protocol.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages