Develop a Server that runs HTTP and accepts downloading requests
Use UDP sendto() and recvfrom() to implements TCP's functionalities including reliable transmission, fast recovery and congestion avoidance
Implement OSPF and RIP
Implement random access functionality to simulate what happens at link layer