Custom reliable data transfer protocol for the final project in Computers and Networking (CS 3251)