CSCI304
Computer Networks
Project 3
Simulation of Ping and Traceroute
The objective of this project is to hone your skills in:
- Socket Programming
- Network Simulation
- Network analysis tools
- Unreliable Data transmission
Part 1: Ping
Your job is to simulate the functionality of the network tool “ping”.
Hints:
- Figure 1 shows a sample output of a ping command.
- Refer to Useful Program Examples on Canvas for Socket Programming.
- Recall that ping runs over UDP.
- To simulate the unreliable nature of UDP, you may want to have the server randomly choose not to reply to the client.
- To simulate the variable RTT, the server can wait for a random period before sending a reply.
- The client sends a number of requests (4 in Figure 1)
- The client decides a timeout value.
- The client calculates and prints RTT if server responds or print “request timed out” if not.
- 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:
- Your source code.
- Screenshots showing the functionality of your implementation.
- Repeat 1 and 2 for each part of this project.
Networking Question
