Networking Question
CSCI304
Computer Networks
Project 3
Simulation of Ping and Traceroute
The objective of this project is to hone your skills in:
1. Socket Programming
2. Network Simulation
4. Unreliable Data transmission
Part 1: Ping
Your job is to simulate the functionality of the network tool “ping”.
Hints:
1. Figure 1 shows a sample output of a ping command.
2. Refer to Useful Program Examples on Canvas for Socket Programming.
3. Recall that ping runs over UDP.
4. To simulate the unreliable nature of UDP, you may want to have the server randomly choose not to reply to the client.
5. To simulate the variable RTT, the server can wait for a random period before sending a reply.
6. The client sends a number of requests (4 in Figure 1)
7. The client decides a timeout value.
8. The client calculates and prints RTT if server responds or print “request timed out” if not.
9. The client calculates some statistics, number of packets sent, received, and lost, percentage of loss, and the minimum, maximum and average RTT, as shown in Figure1.
Figure 1: Sample run for ping
Extra credit:
Implement one of the ping options as shown in Figure 2.
Figure 2: Ping options
Part2:
Your job is to simulate the functionality of the network tool “tracert”. Refer to Figure 3 for an example.
Figure 3: Sample run for tracert
Part3:
Create a GUI for the networking tools in Part1 and Part2.
What to turn in:
1. Your source code.
2. Screenshots showing the functionality of your implementation.
3. Repeat 1 and 2 for each part of this project.