CS 158A                        Introduction to Computer Networks                       Dr. M. Moh, Spring 2008

 

Project 1 – Experimenting with Simple Network Management Tools –

ping, traceout, and Wireshark (formerly Ethereal)

 

(Last Update: 2/5/2008)

 

For best results, please use either Firefox or Netscape (instead of IE) to view this page.

 

1. Project Description

(A)  (25%) Use the ping utility to determine reach-ability of several computers

Procedures:

i.                     Determine how to run the ping program on your computer.

ii.                   Find a manual page that lists and explains the flags and arguments to the ping program.

iii.                  Ping the localhost; ping should report that the destination is alive.

iv.                 Choose a well-known site such as www.cisco.com and use ping to determine if the site is reachable.

v.                   Ping a domain name of a computer in another country. Try several other sites. What is the largest round-trip time you can find?

vi.                 Find an option that allows ping to send probe packets repeatedly and ping a remote site (in another continent) 10 times. Report (a) the number of packets lost as a percentage of total packets sent, and (b) the maximum, minimum, and average value of the round-trip time.

vii.                Do (vi) on different times of the day and/or different days of the week and obtain at least 2 different answers.

Output (To turn in):

a.       Print-out of the commands and outputs of (iii), (iv), and (v).

b.       Print-out of the command and results of (vi) and (vii).

.

(B)  (25%) Use the traceroute in Unix/Linux (or tracert in Windows) to find the sequence of routers through which a message is routed.

Procedures:

1.       Choose one or more well-known sites and find the path from your site to that site.

2.       Repeat (i) for one or more international sites.

3.       Redo (ii) to identify the “bottleneck link” (the link that has the longest delay) for a site on another continent.

4.       Do (iii) on different times of the day and/or different days of the week and obtain at least 2 answers with significant difference (in delay value or in bottleneck link).

5.       Use traceroute to a well-known host name and measure the effective throughput for one of the point-to-point links in the path (hint: use bing).

Output (To turn in):

Print-out of the commands and outputs of (i), (ii), (iii), (iv), and (v).

 

(C)  (50%) Download Wireshark, a packet capture tool, from the Internet and run it on your local computer

Procedures:

i.                     Go to Web site www.wireshark.org, which offers a shareware version of a packet capture and analysis program that works over Ethernet, and download a copy onto your computer.

ii.                   Run the Wireshark application to capture 100 packets, and save the results in a file.

iii.                  Allow Wireshark to run for a while (say sometime between 5 and 30 minutes), and collect statistics. Determine the percentage of the packets on your network that are broadcast packets.

iv.                 Allow Wireshark to run for a while (say sometime between 5 and 30 minutes), and make a list of all packet types that Wireshark finds on your network.

v.                   TCP Analysis: Allow Wireshark to run for a while (say sometime between 1 to 2 hours - make sure that there is TCP traffic); identify and list any and all of the TCP problems, such as Zero Window, Window is Full, Keep-Alive, Window Update, Previous Segment Lost, Retransmissions/Fast Retransmissions, and Duplicate ACKs.

Output (To turn in):

Print-out of the results of (ii), (iii), (iv), and (v)

Note:

In some earlier semesters some students have problem using Ethereal over a dial-up line on a Windows XP system. They solved it by using Ethereal to capture packets over wireless connections.
 
(D)  (10% Extra Credit) Learn the syntax of a Linux shell script language. Write a program in the script language that will show a menu as below, allow users to input a choice, and perform the particular function accordingly.
 
Main Menu
-------------------------------------
[1] Show Today’s date/time
[2] Show files in current directory
[3] Show calendar
[4] Start editor to write letters
[5] Show traffic on the connected network
[6] Show current routing table on the Linux system
[7] Show the ip address of the computer
[8] Display Linux tasks
[9] Exit/Stop
=======================

(i)                  Turn in the hard copy of the script

(ii)                Do a demo (see the Deadlines section)

 

2.      References

a.        Textbook, Chapters 1, 2, and 4.

b.        D. Comer, Computer Networks and Internets with Internet Applications, 4th ed. Prentice Hall, 2003.

c.        http://www.wireshark.org

 

 

3.       Deadlines

a.        Project Distribution: Tue 2/5

b.        1st Draft (60%): Tue 2/19. Submit a draft report for Parts (A) and (B). For each part, include (i) project description, in your own words, including a detailed explanation of the protocol stack used in, and what you learnt about, the command, (ii) the required outputs, and (iii) list of references (including books, websites, manuals, etc.)

c.        Final Report (40%): Tue 2/26.  Submit a final report for Parts (C) [and (D) for extra credit). For each part, include (i) project description, in your own words, including a detailed explanation the protocol stack used in, and what you learnt about, the command or the utility, (ii) the required outputs, and (iii) list of references (including books, websites, manuals, etc.).

d.        Demo for Part D: Tue 2/26