Computer Network Project about TCP simulation by UDP socket programming.
Ubuntu 18.04
make all
make clean
./server
# or
./server "your own ip address"
# i.g. ./server 140.117.178.203
./client "server ip" 21234 "client port" "video#1-4"
# i.g. ./client 127.0.0.1 21234 12345 1 3 4
Create a server and a client. The server and client can both transmit packets and ACKs. The server must be able to handle multiple file requests from the client. The client would randomly request one to four video files at one time.
The client process are increased to four clients at one time.
Channels may have losses. The packet loss error rate is set to have a Poisson distribution with a mean of 10 for simulating the packet loss.
Delayed ACKs are added to senders and receivers.
The basic TCP congestion control. Implement the slow start mechanism and the congestion avoidance mechanism.
The Tahoe TCP congestion control. Implement the fast retransmit machanism.
The Reno TCP congestion control. Implement the Reno TCP with 3 duplicate ACKs.
The SACK option is incorporated into the standard.
Increase the number of clients to 30.