nstead of having a direct communication between the client and the server, we will add a gateway node in between, which emulates the Internet. In the first project, you can assume the Internet is error-free, so you do not need to consider the error conditions. The gateway node will forward packets without errors. Figrure1.1 shows the view at application layer; figure 1.2 shows the data flow as it travels through the protocol stack. We will use UDP as the underlying carrier.(Later on in project 2, we will again use UDP as the underlying carrier to implement TCP.)The gateway will use the destination IP address and port number to forward the packet.The data packet structure will be changed in the second project to enable the connection-oriented reliable data transfer, but for now, this is enough. In the first project, you can assume there is only a pair of client and server.In addition, you will need to modify the gataway.c to make it create error conditions. Error conditions include packet loss, data corruption, packet delay, out-of-order delivery etc. In this project, you only need to fight against one error condition: packet loss. Use a random number generator to make the gateway node randomly drop packets.

Release Status
Curently in development: 1.0 Alpha

Version 1.0 Alpha Progress

0%
0%

There is a total of completed unit for this project. There is unit expected for this major version.

Features