R E A D I N G S
The Fundamentals: Packet Switching
The Internet, of course, is simply a network of
computers. That is, all computers on the net are able to communicate
with each other. Fundamental to this ability is the concept of "packet
switching."
Packet switching is simply the technique of utilizing
a shared communications link (i.e., a wire) by slicing the information
to be communicated into small pieces, transmitting the small pieces,
and reassembling the pieces at the other end of the transmission.
That is, if the information one wanted to communicate was the phrase
"HELLO THERE," packet switching would involve splitting the phrase
into two packets: "HELLO" and "THERE",
perhaps. The two packets would then be transmitted (and travel)
across the net independently. When both arrived at their destination,
the packets would be reassembled, and "HELLO THERE" would appear.
For example, say that we want to send the
message "HELLO THERE" from location A to location
B:
|
Initial Message
|
Split into Packets
|
Attach Routing Information
|
Travel
|
Reassembly
|
Message Displayed
|
|
"HELLO THERE"
|
< #1 | HELLO >
< #2 | THERE >
|
< destination = B | #1 | HELLO >
< destination = B | #2 | THERE >
|
. . .
|
< #1 | HELLO >
< #2 | THERE >
|
"HELLO THERE"
|
Figure 1.
In contrast to packet switching is the older method
of "circuit switching," used most widely for telephones. In circuit
switching, a complete connection between the two devices (phones,
computers, etc.) is established for the duration of the call. Sometimes
this is done physically (think of the old-fashioned telephone operator
physically plugging in wires to a connection board). Nowadays, of
course, this is all done with electronics and software, but the
concept is the same.
Sending our "HELLO THERE"
message from A to B:
|
Initial Message
|
Establish Circuit
|
Send Message
|
Display Message
|
|
"HELLO THERE"
|
/ / / location A >>> location B /
/ /
|
. . .
|
"HELLO THERE"
|
Figure 2.
A big advantage of packet switching is that it allows
for much greater sharing of connection resources. Allowing millions
of packets to flow over a given communications link turns out to
be a more efficient use of the bandwidth (i.e., the amount
of connection available) than dedicating a complete circuit to every
connection.
Another advantage is that packet switching is more
"scalable" -- it allows for faster growth of connection traffic.
In packet switching, as the links get busy -- as too many packets
crowd into the available bandwidth -- the packets slow down, but
they don't (in theory) stop altogether. In contrast, circuit switching
typically allows only a finite number of connections; after that
limit is reached, you get a busy signal. This difference has a number
of implications:
David
S. Isenberg, The Dawn of the Stupid Network, ACM Networker 2.1,
February/March 1998.
A First Look at Internet Standards:
TCP/IP Explained
In the Internet networking context, each packet
includes (usually in what is called a "header") the destination
address, among other items. This allows each packet to effectively
stand alone as it travels across the 'net.
The addressing system of the 'net is specified
by the TCP/IP protocol. TCP/IP is a set of standard operating procedures
that allow all the computers hooked to the net to communicate with
each other. In fact, TCP/IP is two separate protocols: the TCP ("terminal
connection protocol"), which generally specifies the transportation
scheme, and the IP ("Internet protocol") which sets forth the way
packets are created and addressed.
Under TCP/IP, each device hooked to the network
has a unique "IP address" - a series of four numbers, each ranging
from 0 to 256. In a complete IP address, the numbers are separated
by "dots": for example, my office computer has an IP address of
130.91.144.105.
When I want to communicate (via TCP/IP) with another
computer, I send packets to that computer. Each packet I send includes
the destination address (and my source address, in case packets
get lost or damaged in transit) and will be "routed" across the
network.
The IP address, then, is the street address of
Cyberspace, the basic location descriptor of the Internet. It is
what allows surety that the communications sent to a particular
computer will be received by the destination device. All devices
on the Internet must use the IP address system to be recognized
by the rest of the Internet - without recognition, the device does
not actually "exist" on the Internet. This "enforcement" of the
IP address standard is not upheld by government decree, but rather
by the "force" of coordination and the desire for network interoperability.
Putting It All Together: Layers &
Protocols
It is useful to think of computer networking as a series of "layers"
-- with the interaction with the user at the "top" and
the actual physical hardware at the bottom. In a greatly simplified
manner, we might depict this as:
|
the user
|
|
Application Layer
|
Web Browsing (http)
File Transfer (ftp)
Email (smtp)
. . .
|
|
Network Layer
|
TCP/IP
|
|
Hardware/Physical Layer
|
semiconductors and wires
|
Figure 3.
The applications are the computer software programs we're used
to interacting with. Many of these have their own standard operating
procedures (or protocols), which allow programs from different providers
to work together. For example, essentially all Internet email programs
use the SMTP protocol. Other applications (such as Napster and others)
use specific protocols more closely associated with the program
itself.
The network layer (TCP/IP) allows the applications to access data
communication and transportation functions in a standard way. For
example, when you send an email, your email program (e.g. Netscape
Messenger, Eudora, Outlook Express) formats your message using the
SMTP protocol -- so it can be read and understood by any email application.
Yet to communicate that message across the 'net, the network layer
uses the TCP/IP protocol to make, address, and transmit packets
containing the SMTP data. These packets, of course, travel through
the physical layer (in the form of electrical signals, typically).
Networking I: Routing the Packets
Up to this point, we've glossed over the way that
packets are transmitted from computer to computer. That is, we've
viewed the system as follows:

Figure 4.
The reality is more complex. Specialized computers,
called "routers," perform the task of directing packets
to their proper destination.

Figure 5.
Routers might be thought of as sort of electronic
traffic cops -- they tell the packets where to go and send them
on their way. That is, each packet includes a destination address:
a description of where the packet is supposed to go, expressed as
an IP address. A router contains information about the direction
the packet must travel to get to various addresses. Using that information,
the router retransmits the packet in the appropriate direction --
usually to another router.
Think of routing this way: say you wanted to travel
from Philadelphia to Los Angeles. You show up at the Philadelphia
Airport and announce that you want to go to Los Angeles. The Airport
staff tells you that the quickest way to get to Los Angeles is through
Chicago. So you go to Chicago, announcing upon your arrival that
you want to go to Los Angeles; the staff there directs you to a
plane to San Francisco. Once in San Francisco, you are put on a
plane for Los Angeles.
While this might seem like an inefficient way to
get from here to there, this is how a packet gets routed across
the 'net. Each router contains information about the "routing" required
to send a packet to other locations on the 'net. Packets flow through
a router at very high speed, each being directed to what the router's
information tells it is the best/fastest way to travel to the packet's
destination.
One benefit of Internet routing is that it can
be changed quickly. That is, the router information tables can be
updated instantly, redirecting packet flow away from an area of
network congestion, or damage, etc. Continuing our plane travel
analogy, imagine that you arrived at the Philadelphia Airport and
were directed to Dallas instead of Chicago, because of bad weather
in Chicago.
Each stop a packet experiences in its travels is
called a "hop." Various software programs, called "traceroutes,"
allow users to view and analyze the hops. For example, here are
results of traceroutes from my office computer in the law school
to a couple of web servers across the Internet
|
Penn Law School >>> Stanford University
|
Penn Law School >>> London School
of Economics
|
|
Find route from: 130.91.144.105
to: www.stanford.edu (171.64.14.238)
1 lawschool-gw.upenn.edu. (130.91.144.1 ): 0ms
2 external-gw-fe2.upenn.edu. (165.123.217.1 ): 0ms
3 local.upenn.magpi.net. (198.32.42.249 ): 1ms
4 remote.abilene.magpi.net. (198.32.42.134 ): 4ms
5 nycm-wash.abilene.ucaid.edu. (198.32.8.46 ): 8ms
6 clev-nycm.abilene.ucaid.edu. (198.32.8.29 ): 20ms
7 ipls-clev.abilene.ucaid.edu. (198.32.8.25 ): 26ms
8 kscy-ipls.abilene.ucaid.edu. (198.32.8.5 ): 35ms
9 dnvr-kscy.abilene.ucaid.edu. (198.32.8.13 ): 46ms
10 snva-dnvr.abilene.ucaid.edu. (198.32.8.1 ): 71ms
11 198.32.249.161 (198.32.249.161 ): 71ms
12 stan--sunv.pos.calren2.net. (198.32.249.74 ): 72ms
13 i2-gateway.stanford.edu. (171.64.1.214 ): 72ms
14 core3-gateway.stanford.edu. (171.64.1.222 ): 72ms
15 core6-gateway.stanford.edu. (171.64.3.97 ): 73ms
16 leland-gateway.stanford.edu. (171.64.1.230 ): 74ms
17 www4.stanford.edu. (171.64.14.238 ): 74ms
|
Find route from: 130.91.144.105
to: www.lse.ac.uk (158.143.192.210)
1 lawschool-gw.upenn.edu. (130.91.144.1 ): 1ms
2 external-gw-fe.upenn.edu. (165.123.237.1 ): 1ms
3 local.upenn.magpi.net. (198.32.42.249 ): 0ms
4 remote.abilene.magpi.net. (198.32.42.134 ): 4ms
5 nycm-wash.abilene.ucaid.edu. (198.32.8.46 ): 8ms
6 ny-pop.ja.net. (193.62.157.209 ): 8ms
7 us-gw2.ja.net. (193.62.157.17 ): 75ms
8 london-bar1.ja.net. (128.86.1.43 ): 76ms
9 ulcc-gsr.lmn.net.uk. (146.97.40.34 ): 76ms
10 atmr-ulcc.lmn.net.uk. (194.83.100.202 ): 75ms
11 lse.lmn.net.uk. (194.83.101.198 ): 85ms
12 cat1-rsfc.lse.ac.uk. (158.143.220.141): 84ms
13 www.lse.ac.uk. (158.143.192.210): 79ms |
Some explanation of what you're seeing:
- Each line represents a "hop" for the packet
-- i.e., the passage through a router. Here, my trip to Stanford
took 17 hops.
- Each router has a unique address (and name).
The first entry on each line (after the number) is the URL (uniform
resource locator, using the domain names system) for the router.
The second entry, in parentheses, is the IP address of the router.
- The numbers following the IP addresses
(i.e., 13ms) represent the length of time it took for the packet
to reach the given router. For example, it took 74ms to reach
the www4.stanford.edu machine.
Note that routers are often named suggestively of their locations.
For example, in the above example, it appears that my packet to
Stanford went through Cleveland, OH (hops 6-7), Indianapolis, IA
(hops 7-8), Kansas City, MO (hops 8-9), Denver (hops 9-10), before
getting to the Stanford systems. (Note also that all the routers
ending in "ucaid.edu" are on the famed "Internet 2" system - more
about this below.)
Where do you think the packets to the London School of Economics
went?
Next, try this yourself. Using the link below, you can run a traceroute
from all over the world to your computer. Run a few traceroutes,
and try to guess where the packets are going:
TraceRt.org,
Multiple Traceroute Service
[ select a location to trace to, and click the "trace"
button ]
Networking II: Understanding the There
There
The "Internet," then is a network of networks -- the
vast interconnection of routers and computers. For example,
the Penn network looks something like this:

Figure 7.
But by looking more broadly, we can see that interconnecting all
these networks results in something like this:
Figure 8.
The image above is a simplified representation of
the "network of networks" that is the Internet Note that
all connections are not equal: for speed and efficiency, certain
links offer higher speed and capacity over long distances. At the
top end of this range is what is called the "backbone"
-- very high speed, high-capacity, long-distance connections. Think
of these as interstate highways. (Except, of course, these highways
are privately owned, by major telecommunications companies, such
as Sprint, AT&T, and Worldcom.)
For example, this is the backbone map for the Abilene
network, which is developed by the Internet2 project (and is the
way that our packets to Stanford traveled earlier):

Figure 9.
Within a particular region, the "Tier 1"
providers (again, typically private companies) offer shorter high-speed
links (these are the blue lines in Figure 4 above). These links
provide the connection between the major backbones and the Internet
Service Providers (ISPs), Universities, and large Corporations -
which provide the interface between the users and the Internet The
University of Pennsylvania uses the Magpi network (a partnership
between Penn and others) and as a Tier 1 provider:

Figure 9.
So if we return to the traceroute shown in Figure
6, we can see that the packet from the law school traveled across
several different "networks" to reach Stanford -- starting
with the Penn network (Figure 7), then the Magpi network (Figure
9), and across the country on the Abilene network (Figure 8) --
even before reaching the various networks serving Stanford. Consider
whether this layer-upon-layer networking structure might have legal
or business implications.
Finally, we'll add one (small) additional bit of
complexity. You might have noticed that the depiction of the Internet
in Figure 8 is not particularly "distributed" - with a
single point of interconnection in the center of the diagram. In
point of fact, there is no such "single point" of interconnection
on the Internet This is because the various providers (at all levels,
but especially the backbone level) interconnect with each other
broadly, allowing traffic to travel on each others' networks --
called "peering." When you factor in peering and duplication
(i.e., multiple providers), the Internet is better depicted as:

Figure 10.
These peering arrangements are not always simple
and uncontested, as the following short article explains.
Denise
Pappalardo, When private peering arrangements go bad, Network
World, June 11, 2001.
Networking III: Understanding the Network
Now that we've considered the basics, we turn to
a couple more advanced topics.
Geography and the Network
Many people suggest that geography -- that is, realspace
geography -- doesn't matter on the Internet. Yet a deeper look finds
that geographic location is both ascertainable and important on
the Internet As you review the following, consider the legal, societal,
or business implications of the rise of geography online.
For example, the "NetGeo" service offers
a database linking geographic data with IP addresses. For example,
the entry for my office IP address (130.91.144.105) returns the
following record:
TARGET: 130.91.144.105 NAME: UPENN-SUBNET
CITY: PHILADELPHIA STATE: PENNSYLVANIA COUNTRY: US LAT: 39.96
LONG: -75.20
Cooperative Association for Internet Data Analysis (caida), NetGeo
Service
[exercise - find the location of yahoo.com ]
Also, consider the implications of the increasing
popularity of services that push data to the "edges" of
the Internet, such as Akamai:
Akamai,
Overview of EdgeSuite Technology (2001).
[
Shockwave
(free download)]
Are All Packets Created Equal?
Thus far, we've assumed that all packets that travel
on the Internet are treated equally. In fact, this is close to the
reality today. Yet many suggest that this is an inefficient use
of network resources, and that Internet network should incorporate
differentiation between packets -- typically called Quality of Service
(QoS) systems.
Internet2,
Overview of QoS (2001). [
Shockwave
(free download)]
Furthermore, there are a number of new technologies
that provide real-time analysis and processing on TCP/IP packets
themselves:
Packeteer,
Packetshaper Overview (2001).
[ review the technology -- consider what it does ]
N O T E S & Q U E S
T I O N S
1. The Virtues of End-to-End. What David
Isenberg calls the "stupid network" (i.e., the decentralized
nature of packet switching and TCP/IP technology) is often referred
to as "end-to-end" network design. Conceptually, such
a design pushes the "intelligence" -- the complexity,
the decisionmaking, the actual applications -- out to the ends
of the network connection, while the middle is as simple and straightforward
as possible. Take the world wide web for example: all the "action"
takes place at either the user's end (the browser application)
or on the server end (the web server application); the network
itself simply moves the packets from place to place. What are
the advantages and disadvantages of this approach? Think in terms
of speed, complexity, ability to grow. Now consider the non-technical
implications of such a policy choice: does an end-to-end design
make it harder or easier to fashion legal frameworks for the Internet/eCommerce?
Should that matter?
The rise of Akamai, Quality of Service (QoS) and
traffic management (i.e., Packeteer) applications demonstrates
that many in the industry see an increasing need for intelligence
in the network. Why would an eCommerce player move towards a more
intelligent network? Are the arguments only technological in nature,
or is there a legal or policy component as well?
Finally, as the Internet and eCommerce matures,
is there reason to think that end-to-end has outlived its usefulness?
2. Who Runs the Internet? One common misperception
is that the Internet is akin to the public highway system -- a
sort of public facility, open to all. The reality is that, formally,
at least, the Internet is very much a private business enterprise,
with hundreds of providers at various levels, most with profit
as the motive. How do the various "owners" of the Internet
get paid?
Also consider who has "leverage" in
the Internet network. Is there a company or group of companies
that has a large influence upon the traffic flows across the Internet?
Is this something to think about in terms of eCommerce legal frameworks?