T H E    U N I V E R S I T Y    O F   P E N N S Y L V A N I A    L A W    S C H O O L
E L E C T R O N I C   C O M M E R C E :   V E R S I O N  2.0

Congratulations to the Fall 2001 class for an excellent semester. eCommerce will return next year.

 

Technology for the Digital Lawyer II:
The Architecture of the Internet
[ Thursday, September 6, 2001]

 

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:

 

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


Figure 6.

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:

 

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.

 

Networking III: Understanding the Network

Now that we've considered the basics, we turn to a couple more advanced topics.

Geography and the Network

TARGET: 130.91.144.105 NAME: UPENN-SUBNET CITY: PHILADELPHIA STATE: PENNSYLVANIA COUNTRY: US LAT: 39.96 LONG: -75.20

Are All Packets Created Equal?

 

 

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?




[ pageprints ]

C O P Y R I G H T   ©   2001   R.   P O L K   W A G N E R.