We are starting a new topic, networking. In preparation read Chapter 7, section A from S&K book draft.
Read Metcalfe and Boggs, "Ethernet: distributed packet switching for local computer networks". An interesting sidenote: The paper describing Ethernet is "old": 1976. In fact, it is so old that it describes the experimental Ethernet, which ran at 3 MB/second, rather than increasingly standard 100 MB/second. If you already know a lot about the current Ethernet, you may notice a number of interesting differences as you read the paper.
Ethernet's scheme for packet routing requires a degree of cooperation among the stations to share the ether fairly. Discuss how an uncooperative machine can reduce the efficiency of Ethernet to virtually zero.
Read pages 1 through 14 of RFC 791. The Internet protocols are defined by a series of numbered Request for Comments (RFCs). RFC791 defines IP. Other RFCs specify other protocols (such as TCP and UDP) and implementation strategies. Most of the RFC are on the web (see RFCs). You can find RFC 791 there too.
The second part of todays assignment is different from previous assignments, in that you actually get to play with real networking tools! For this part of the assignment, you need do the following exercises and hand in your results during the class.
Measuring Round Trip Times With PingThe ping utility is one of the more useful utilities for testing a network. The ping utility works by sending a short message of type echo-request to a host using a network protocol called ICMP, the Internet Control Message Protocol. A host that supports ICMP (and most do) and receives an echo-request message simply replies by sending a short ICMP message of type echo-response back to the originating host.
For more information, look at the man page on ping and the specifications for ICMP, located in RFC 792. The Internet protocols are defined by a series of numbered Request for Comments (RFCs). RFC792 defines ICMP. Other RFCs specify other protocols (such as TCP and UDP) and implementation strategies. Most of the RFC are on the web (see RFCs). You can find RFC 792 there too.
To get to the man page on ping, type
% man pingExercises
Please record your answers to the two exercises below on a sheet of paper and turn it in in class. Please also include the amount of time that the assignment took to complete.
In this exercise, you will use the ping utility to send echo requests to a number of different hosts. To use the ping command on COSI machines, simply type the letters
pingon the command line. A list of possible options will appear.You may use any other form of the ping utility so long as it sends ICMP echo-request packets and can report the number of echo-response packets and the round trip time per packet. If you do use a non-COSI workstation, please make sure you use
pingfrom some machine connected to the Brandeis network. Please also note that the TAs cannot guarantee tech support if you do not use a COSI workstation.On the COSI Berry Patch workstations, the ping utility is located in
/etc/ping. On the SGI workstations, the ping utility is located in/usr/etc/ping. If you use the ping from a Sun workstation, you may have to use the-soption to get it to display the results that you want. Typemachtypeto determine the type of machine you are using. If you have any more questions, see the man pages for more details on how to use ping.Exercise #1
a) For the following hosts, send 20 packets, each with a length of 56 data bytes. Indicate what percent of the packets resulted in a successful response. For the packets from which you received a response, write down the minimum, average, and maximum round trip times in milliseconds. Note that ping reports these times to you if you tell it how many packets to send on the command line.
The list of hosts are:
www.cs.brandeis.edu www.whitehouse.gov www.stanford.edu www.kyoto-u.ac.jp (Kyoto University)Note: You may find that the packet responses are 64 bytes instead of 56 bytes. Look at RFC 792 to find out the reason.
b) For 56-byte packets, what can you say about the differences in the minimum round-trip times for pings of www.cs.brandeis.edu, www.whitehouse.gov, www.stanford.edu, and www.kyoto-u.ac.jp? What reason can you give to explain why these differences occur?
c) For same hosts listed above, send 20 packets that have lengths of 512 data bytes and 1024 data bytes. Write down the minimum, average, and maximum round trip times in milliseconds.
d) When comparing 56-byte packets, 512-byte packets, and 1024-byte packets, what can you say about the difference in minimum round-trip times to the same host?
Exercise #2
a) For the following hosts, send 20 packets that have a length of 56 data bytes. Indicate what percent of the packets resulted in a successful response. For the packets that you received a response, write down the minimum, average, and maximum round trip times in milliseconds.
The list of hosts:
www.cs.technion.ac.il (Technion, Prof. Shrira's's alma mater) www.pku.edu.cn (Peking University) isaac.taelgar.org www.microsoft.comb) For some of the hosts, you may not have gotten responses for all the packets you sent. Can you think of a few reasons as to why you might have not gotten a response?
Read Saltzer, Reed and Clark, "End-to-End Arguments in System Design" (Reading #10). Your reading report will address the following question.
A file transfer done using the EFTP protocol described in the Ethernet paper will encounter two error-checking mechanisms. The first is a CRC calculated on the data for purposes of catching errors in the Ether (i.e., errors that occur in transit), and is performed in the Ethernet hardware. The second is another checksum provided as a backup to the (hardware) CRC, as well as for catching errors that occur at the host or destination (but still within the network layer). This check is done as part of the EFTP protocol. Note that the second checksum does not have to be computed, though some value must always be sent. What is the use of these error-checking mechanisms on the basis of the End-to-End argument. Consider the usefulness of each individual checksum as well as the combination of the two. Do you need both checksums?
System aphorism of the week
A complex system that
works is invariably found to have evolved from a simple system that
works. (J. Gall, Systemantics)
CS146a, Assignment 5, issued 9/29/07