Networking Question

profileIamme
attachment_1-2022-04-10T233937.041.docx

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

3. Network analysis tools

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.