Introduction

In this project, I created a reliable file transfer server using python. This file transfer service is based on UDP and implements many TCP features to make it robust to random package loss. A customized TCP-like protocol is designed and implemented in this server. The system structure within the server shows as follows:

Figure 1. Server Structure Diagram

Figure 1. Server Structure Diagram

Features

Protocol Designs

To ensure reliable transmission, a TPC-like protocol is implemented. This protocol has the following features:

Packet Format

The packet format shows as follows:

Sheet 1. Packet Layout

Sheet 1. Packet Layout