(No late assignment will be accepted, unless approved by instructor.)
1) [20 points] Kurose & Ross, Chapter 1, Problem 3 (page 66 - 67):
See textbook for the question.
2) [5 points] Peterson & Davie, Chapter 1, Problem 12 (page 62):
How long does it take to transmit x KB over a y-Mbps link? Give your answer as a ratio of x and y.
3) [15 points] Peterson & Davie, Chapter 1, Problem 23, (a) ~ (c) (page 64):
For the following, assume that no data compression id done; this would in practice almost never be the case. Calculate the bandwidth necessary for transmitting in real time:
- (a) Video at a resolution of 640 x 480, 3 bytes/pixel, 30 frames/second.
- (b) 160 x 120 video, 1 byte/pixel, 5 frames/second.
- (c) CD-ROM music, assuming one CD holds 75 minutes' worth and takes 650 MB.
4) [50 points] Use sniffer (ethereal) to monitor network activities.
You are asked to monitor all the packets to and from the testing machine (any Linux machine in 547 PGH, or your own PC with Internet connection).
Part A: HTTP - loading web pages
Use your favorite web browser to load ONE of the following web pages.
Here is the procedure.
- Start your favorite web browser and clear the memory / disk cache.
- Start ethereal wrapper program (wp_ethereal) to capture about 400 packets (increase the number if necessary).
- Load the web page of your choice (type in the address or click on the link).
- Reload the web page, after browser finishes loading the web page. So you will load the web page twice.
Report the following findings.
- The URL of web page that you choose and total number of objects in that web page (including HTML file, and graphics).
- Number of HTTP connections and outgoing port numbers used: There might be more than one packet for one HTTP connection, but it would use the same outgoing port. You can use that to identify which HTTP packets belong to the same HTTP connection. You should report the numbers for first and second loadings of web page.
- Total number of TCP packets for first and second loadings of web page.
- Use "Follow TCP Stream" to view messages exchanged and report which version of HTTP protocol has been used.
You will find instruction to use ethereal helpful.
Part B: FTP - passive FTP
Normal FTP use port 21 and 20 to communicate between client and server. There is another one called passive FTP which is used by most of the web browser. You will monitor the packets used by FTP via ethereal to ONE of the following FTP sites.
You have to visit the FTP site of your choice twice using ftp client and web browser. Here is the procedure.
- Start your favorite web browser.
- Start ethereal wrapper program (WP_ethereal) to capture about 400 packets (increase the number if necessary).
- Open an terminal window on UNIX or DOS prompt. Use ftp (client of FTP) and connect to a FTP site (with user name "ftp" and password "guest@"). After login, do a "dir". and then "bye" to terminate the connection. [For detail instruction about using FTP, do "man ftp" at UNIX prompt.]
- Go to FTP site from the web browser (type in the address or click on the link).
And then report the following.
- Outgoing and incoming port numbers for FTP when using ftp client and web browser.
- Are user name and password sent to server in plaint text or encrypted text? [Hint: see the content of TCP packet.]
- State the reason why there is a need for passive FTP in 3 lines. [Hint: see RFC 1579.]
5) [10 points] WHOIS: domain name registration info:
WHOIS (http://networksolutions.com/cgi-bin/whois/whois) is used to look up records in the registry database for domain names. Find out the name of "administrative contact" (also list name of the company if it's not a person) and first domain server listed from ONE of the following domain names.
Last modified: February 14, 2001.
tihuang at cs . uh . edu