CS
61C Machine Structures
University of California,
Berkeley
Dept. of Electrical Engineering
and Computer Sciences
Lab 10 |
Fall 1999
Due before the start of your discussion section
|
OBJECTIVE
The purpose of this lab is to give you an idea of how the Internet is
connected together and what the typical delays are as a message (packet)
goes from source to destination. You will start by familiarizing yourself
with two network measurement tools - ping and traceroute (both of these
were initially written in Berkeley!). You will then use these tools to:
-
partially map the topology of the campus network, and
-
to understand the different physical mediums of transmission of signals
and the fundamental limits involved in the design of a computer network.
Prelab
Read the man pages for ping and traceroute. (So there's nothing to turn in)
Also read the entire lab before coming to lab section.
Part 0: Using tools
Part 0 a - PING
Ping is a program that sends an echo request packet
once a second to a target computer. Upon receiving the echo request
packet (also called a ping packet), the target computer returns the packet
to the sender . Ping displays information about the packet sent and how
long it took to receive the packet . This length of time is called the
round trip time (RTT )and is representative of network latency.
First ssh to another instructional machine (other than quasar.cs or
pulsar.cs). Then, try to Ping the computer you've ssh'd to. To do this
run:
/usr/sbin/ping -s <local computer name>
Replace <local
computer name> with the name of the computer you've connected to. For example, if I were on arapaho,
I'd use:
/usr/sbin/ping -s arapaho.cs.berkeley.edu
Ping will continue sending packets until interrupted
. To stop ping, press Control-C . Ping will provide a summary including
the number of packets sent , received,and average round trip time (RTT).In
the previous example , the results would have been displayed as:
PING arapaho.cs.berkeley.edu:64 byte packets
64 bytes from 128.32.42.83:icmp_seq= 0. time=1.
ms
64 bytes from 128.32.42.83:icmp_seq= 1. time=0.
ms
64 bytes from 128.32.42.83:icmp_seq= 2. time=0.
ms
64 bytes from 128.32.42.83:icmp_seq= 3. time=0.
ms
64 bytes from 128.32.42.83:icmp_seq= 4. time=0.
ms
64 bytes from 128.32.42.83:icmp_seq= 5. time=0.
ms
64 bytes from 128.32.42.83:icmp_seq= 6. time=0.
ms
64 bytes from 128.32.42.83:icmp_seq= 7. time=0.
ms
64 bytes from 128.32.42.83:icmp_seq= 8. time=0.
ms
64 bytes from 128.32.42.83:icmp_seq= 9. time=0.
ms
64 bytes from 128.32.42.83:icmp_seq= 10.time=0.
ms
64 bytes from 128.32.42.83:icmp_seq= 11.time=5.
ms
64 bytes from 128.32.42.83:icmp_seq= 12.time=0.
ms
64 bytes from 128.32.42.83:icmp_seq= 13.time=0.
ms
64 bytes from 128.32.42.83:icmp_seq= 14.time=0.
ms
arapaho.cs.berkeley.edu PING Statistics--15 packets
transmitted,15 packets received,0% packetloss round-trip(ms) min/avg/max
= 0/0/50.
For more details about the various command line
options, read the man pages.
Practice:
Try pinging various sites and see what round
trip times you get. Try some sites
-
within the department (example cuzco.cs.berkeley.edu)
-
within the campus (example mechatro2.me.berkeley.edu)
-
within the US (example www.ee.vt.edu)
-
outside the US (example www.cs.iitm.ernet.in)
Is there a significant difference between the average
ping times to these different sites?
(A good question here would be: "What is a
"significant difference"- after all everything here seems to be measured
in milliseconds!". For now, you can approach the above question by
just looking at the ratios of the ping times to different sites. So a factor
of two or more between ping times would be a significant difference)
PART 0 b - TRACEROUTE
Typically, on a local area network (LAN) every machine can directly contact
every other machine. A larger network, like the Internet is composed
of many smaller networks, and it would be impossible for every machine
to know how to reach every other machine. In order to connect two
networks together, we could dedicate a computer (called a gateway) to routing
traffic from one network to another. Suppose that a computer on the network
A wanted to send a packet to a computer on the network B. Rather
than storing the routing information for the network B, the computer onthe
network A would simply forward the packet to the gateway, and the gateway
would forward it to its destination. Traceroute is
a program that displays the routers between your computer and a destination
computer. It also displays the RTTs from each router to the
local computer. Read the man pages for more information on the command.
Practice:
Use traceroute on the above sites and see how
the route varies. The third and fourth sites are outside UC Berkeley. How
many hops do you think it takes to get out of the UC Berkeley Campus ?
PART 1 - Mapping the Campus Network:
The method we will adopt to try and build a partial map of the campus network
is to traceroute to various machines and analyze those routes to understand
the campus network. It is quite difficult to deduce a full topology of
the network just from one starting point, since your network maps
will always end up being trees. However, at this point you are logged into quasar.cs and another
instructional machine, which will prevent a tree from being formed.
This part of the lab has to be done from the instructional accounts.
For this part of the lab, "local machine" means quasar.cs AND the machine you've ssh'd to. This means
you'll be doing the steps for this part TWICE: once from quasar.cs, and another time from some other
instructional machine. This is so you don't get a tree topology.
-
Open a shell on a local machine, and find the routes to intructional machines
to the left and to the right of you.
-
Find the routes from the linstructional machines to the following machines
in Soda
-
cuzco.cs.berkeley.edu
-
sparky.cs.berkeley.edu
-
goth.cs.berkeley.edu
-
jake.cs.berkeley.edu
-
ninja.cs.berkeley.edu
-
bmrc.berkeley.edu
-
Find the routes from the instructional machines to the following machines
in Cory:
-
www.eecs.berkeley.edu
-
po.eecs.berkeley.edu
-
Now, login to one of the machines in Cory (try either po.eecs.berkeley.edu
or cory.eecs.berkeley.edu), and trace the route to your local machine
in the lab. Also, find the routes from cory (or po) to the machines in Soda
listed above.
Now, let's find the routes from the instructional machines to different machines within Berkeley. Run traceroute to the following machines:
- Servers for different departments within the College of Engineering
- www.me.berkeley.edu
- www.ce.berkeley.edu
- www.ieor.berkeley.edu
-
The different schools
- haas.berkeley.edu
- www.cchem.berkeley.edu
- www-gse.berkeley.edu
- www.cnr.berkeley.edu
- The ResHalls (www.reshall.berkeley.edu) and the
I-House (ihouse.berkeley.edu)
Now given all the data you have accumulated, try to come
up with the approximate topology of the campus-network.
Question 1a:
Consider the routes from the local instructional machine to po.eecs.berkeley.edu
and from po.eecs.berkeley.edu to your machine. How do they differ? To
what networks does the instructional gateway (128.32.42.1) route packets
directly, i.e. without an additional hop? What does that tell you
about gateways?
Question 1b:
What is address of the network that routes packets between the various
departments and schools on campus?
PART 2 - "Networks are getting faster all the time (??) "
In this part you will learn what the statement "Networks
are getting faster all the time" actually means. You will also learn about
fundamental limits (based on the physical laws of the universe) which Computer
Science cannot overcome, and which every computer scientist should understand
while designing systems.
Using traceroute from any instructional machine -
Find the route and the RTT to the following sites.
The first two are in Argentina and the third is in Australia.
www.uba.ar
www.frba.utn.edu.ar
http://dove.net.au
Australia is much further away from here than
Argentina. Why are the RTTs so much smaller for the Australian machine than
the Argentinian ones? To answer this question, notice the pattern in the
RTT for the various transit machines to the
sites in Argentina. Do you notice a sudden jump
in the value? Can you guess the reason for this?
So now lets get back to the initial point of this
excercise,(Networks are faster??) and lets relate it to this story (it
is claimed to be a real one):
A manager of a leading company owning a significant
portion of the physical networks making up the Internet Backbone announced
that the next generation networks were going to have ping times from CA
to the UK of 6ms. The technical employees (read Dilbert&co) tried to
explain to him that this is impossible. He countered,"But aren't networks
getting faster all the time?".
Question 2a
Assume you are one of the employees of the above
mentioned company. And let your TA be the manager. As part of your email
to him/her containing the answers to this week's lab, explain what "faster
networks" really mean, and how even a network with infinite bandwidth,
cannot achieve the ping times that he/she desires. Here is some useful
information which will help you formulate your answer:
Diameter of the Earth: 12,800 KM
Velocity of Light : 300,000 KMs/sec
Time Difference between CA and UK = 7 hrs
Question 2b
Also, use the following numerical example to
explain to your TA the above concept:
If the average ping time from A to B is 10 ms.
Assuming infinite bandwidth, what is the time taken to transfer:
1) 100 GB from A to B
2) 1 Byte from A to B
REQUIREMENTS:
-
E-submit the topology you have deduced and the answers to the questions in Part 1
and 2(Questions 1a, 1b, 2a and 2b) by the beginning of your disc section.
-
Send your answers in a single file called lab10.txt.
-
Make sure your login (& partners if any) appears in the file.