11.2 Combining Computer Networks

The telephone system evolved over many decades. It could take years of planning and coordination each time they attempted to interconnect two or more existing networks. Matters could be even worse when connecting networks that developed in different countries or on different continents. The separate networks often used different wiring techniques or voltages or signals to make and route calls. They had to develop a coordinated way to handle the differences before a call from one system could be completed in another. The earliest techniques involved switchboards handled manually by human operators. As automatic call routing evolved, switchboards and operators were replaced with automatic routing equipment.

Incompatabilities between early computer systems often made it difficult to share data. Early computer systems suffered from the same problem. Different computers had different byte and character sizes; some used sets of 64 characters (6 bits), 128 characters (7 bits), and even 256 characters (8 bits). These evolved from different character sets. One mainframe computer used two different character sets on the same system at the same time: one for batch processing and another for online timesharing terminals.

Many computer vendors developed networking products and technologies in the 1960s and 1970s, including IBM, Honeywell, and Digital Equipment Corporation (DEC). These networks rarely worked with equipment from competing vendors. Thus, each network was relatively small or limited in scope. It was difficult to achieve the benefits of a generally available network like today’s internet.

In the late 1960s, the U.S. military, through its Advanced Research Projects Agency (ARPA), developed the ARPANET, an experimental packet-switched computer network. (In later years, the word “Defense” was added to the agency’s name, yielding today’s acronym DARPA.) The ARPANET connected numerous defense research organizations at universities, military bases, and private companies. The ARPANET was carefully designed so that the network protocols worked seamlessly across a broad range of computing equipment.

Traversing Computer Networks

Users occasionally needed to use one network to reach another. In the 1970s, this often required a personal user account at a computer system that resided on each network. For example, Bob’s Uncle Frank worked on a local network at Honeywell Corporation in Minnesota and needed to connect to a remote computer in England. First, he connected his computer to the corporate Multics system and logged in. Given the right permissions, Frank could then use the ARPANET to connect to University College, London (UCL). If he could log in there, he then could open another connection to reach his destination at another site on the U.K. research network.

Such connections were extremely fragile. Interruptions at any gateway host (Multics or UCL) would close the entire connection, as could disruptions on the associated networks. These problems led to the development of modern internet technology. In fact, an early internet demonstration transmitted packets from a vehicle crossing the Golden Gate Bridge in California to a terminal in the Royal Radar Establishment on the U.K. network.

The Internet Emerges

Modern internet technology evolved from research on the ARPANET and the research networks attached to it. As it was, most computers that connected to two or more networks served as gateways for users who needed to reach a destination on another network. The goal of internet research was to route the packets automatically between the networks without intermediate logins.

In a sense, this was like a public highway system. Every town and city had built roads for its citizens. A challenge in the early 20th century was to connect towns and cities together to support reliable automobile travel. In the mid-1920s, state highway officials in the United States coordinated the development of the “U.S. highway system,” consisting of numbered roads with well-marked routes. This provided drivers with reliable roads to follow between states and across the country. To become “part of the system,” one’s driveway or street simply had to reach any other street that reached a U.S. highway.

The same is true for the modern internet. If a local network uses internet protocols and it connects to any network attached to the internet, then it may send traffic to other internet hosts.

The internet was “commercialized” in the early 1990s. Because it started as a research project under U.S. government sponsorship, private companies weren’t allowed to use it to explicitly advertise or sell products or to offer services that relied on an internet connection. Meanwhile, internet email had become very popular in many circles, and many computer vendors distributed technical data through the internet. This was enough to justify internet connections for many organizations. In the United States, the telephone system was a regulated monopoly, which occasionally prevented established telephone companies from offering internet services. The growing interest in the internet spawned the first ISPs. In the early 1990s, the government privatized the remains of its research network and let the internet go commercial.

11.2.1 Hopping Between Networks

We often build a LAN around Layer 2 nodes, called switches and hubs. To connect LANs or other integrated networks together, we use Layer 3 routers to move packets between the networks. A router is traditionally called a gateway, and many vendors still sell “gateway” products.

Not all networks are LANs. Early networks like the ARPANET covered nations and continents. We call these wide area networks or WANs. Each WAN may have a distinct link layer protocol. When we use internet technology to connect two networks with separate link layers together, we call each individual network a subnet. The “network” is the combined set of subnets.

Internet routing relies on a simple technical trick and on deploying routers to carry packets between networks. The simple technical trick is to split Layer 2, the link layer, into two parts. The lower part is the regular link layer, with its local media access control (MAC) addresses. The upper part becomes Layer 3, the internet layer protocol (FIGURE 11.2). Because most modern networks use internet protocols at Layer 3, we may call Layer 3 either the network layer or the internet layer.

An illustration depicts the LAN protocol layers and the Internet protocol layers.

FIGURE 11.2 Adding a layer to handle internet routing.

When we add a protocol layer, we also add a packet header. Following the link header, the packet now carries an internet header or IP header. The link header still carries a packet from place to place on the subnet. The IP header contains a separate set of source and destination addresses: the IP addresses.

Packet addressing and routing on the internet relies entirely on IP addresses. Although knowing a MAC address allows us to transmit packets across a LAN, we can’t use that MAC address to locate a host on a distant LAN. The internet uses the IP address to direct the packet to the correct LAN.

When a packet must travel across another network to reach its destination, the link header gets replaced each time it traverses another subnet. The IP header remains largely intact and the remaining packet contents are unchanged.

FIGURE 11.3 illustrates an example. The figure shows separate LANs, presumably in separate suites, connected by a common router. Bob is on LAN 1, which contains hosts with IP addresses 1.1 through 1.4. Henry is on LAN 2 in his own suite, which hosts IP addresses 2.1 through 2.4.

An illustration depicts sending a packet from one LAN to another.

FIGURE 11.3 Sending a packet from one LAN to another.

Bob, on host 1.2, sends packets to Henry on host 2.4. Bob’s computer sees that the IP address is not on LAN 1, so it can’t send the packet directly to the computer. Instead, the computer addresses it to the router by using the router’s MAC address as the packet’s destination.

The packet arrives at the router, which strips off the link header. It looks at the IP header and sees that the destination is on LAN 2. The router is attached to LAN 2, so it can deliver the packet directly to its destination. The router looks up the MAC address for host 2.4; then the router constructs a new link header that delivers the packet to host 2.4, its destination.

SS7 is the “internet protocol” for traditional telecom systems. Because telecom systems rely primarily on circuits, SS7 focuses on establishing end-to-end circuits. Internet routing takes place on a packet-by-packet basis, and SS7 routing takes place on a per-connection basis. SS7 finds a route from the call’s origin to destination and sets aside interoffice trunks to connect the call’s endopints. This is a completely different architecture compared to the layering of packet-switched networks.

Routing Internet Packets

Even though we often focus on routers as the nodes that direct packets around the internet, every computer that handles internet protocols must do some routing. The internet layer of every such protocol stack contains a routing table that chooses a network and/or MAC address for the outgoing packet. Most hosts rely on the Address Resolution Protocol (see Section 11.3.3) to fill in the routing table with addresses on its subnet. Packets destined for other IP addresses go to a default router. This illustrates the basic rule of internet routing:

If you don’t know how to deliver the packet to its destination, send it to a router that might know how to reach its destination.

No single router knows how to reach every host on the internet. Most routers know how to route packets to nearby hosts and where to send the remaining packets. A gateway router for a major site may connect to two or more different WANs. Its routing table directs packets to the best WAN to deliver the packet to its destination.

When a packet travels across other networks to reach the network of its destination, it uses those networks as communications links. It doesn’t care what else might be happening on those networks. It only cares that the link brings it closer to its destination.

Counting Hops

A router leaves everything past the IP header unchanged. It makes exactly one change to the IP header: It subtracts one from the time to live (TTL) field. When first created, the packet’s TTL field is set to a large number, as high as 255. Each time the packet passes through a router, the router decrements the TTL field. If the field reaches zero, the router discards the packet.

The TTL field effectively counts the number of “hops” the packet takes through routers. This helps detect packets caught in a “routing loop.” If a packet gets caught in such a loop, a router with bad information sends the packet back to a router it visited earlier. The packet then is routed again to the router with bad information, which sends it back again.

If a packet is caught in such a loop, its TTL will eventually reach zero, and a router will discard the packet. Often, the router with bad information will correct its routes before the packet’s TTL expires.

11.2.2 Evolution of Internet Security

Internet protocols were intended to make it as easy as possible for people to connect to a single, global research network. They succeeded. The internet was an international network from the moment of its creation. Even though the U.S. military—through DARPA—had funded the internet’s development, they quickly lost control of it as it took on an international scope. Anyone on an internet-connected host computer could send network traffic to any other internet host in any country.

Researchers all over the world wanted to use the internet. In practice, anyone with the money for equipment and a network link could connect to the internet. Anyone with a moderately plausible “network research” activity could apply to the Internet Assigned Numbers Authority (a network researcher named Jon Postel, 1943–1998) and ask for a block of IP addresses and a domain name.

Although this was incredibly convenient for researchers, it also meant that anyone, researcher or not, could use the internet. There has never been a reliable technique to eliminate potential threats from the internet. In this sense, the internet serves as an “information highway.”

Improved U.S. highways in the 1920s and 1930s improved business and personal transportation dramatically, but it also produced a new breed of criminal. Interstate bank robbing was a well-known problem, but the automobile made it much easier to do. Several such robbers were infamous, including Bonnie and Clyde, John Dillinger, and the Karpis gang.

Protecting the ARPANET

The ARPANET pioneered the earliest strategies of internet security, such as they were. The initial defense was to restrict access to people who had a bona fide reason to use it. This seemed simple at the time, because computers usually resided in locked and guarded computer rooms. Access by computer users was through remote, text-oriented terminals.

To connect to the ARPANET, a site needed an “Interface Message Processor” or IMP (FIGURE 11.4). This was a $50,000 minicomputer that ran special routing software to carry messages between host computers and the network of IMPs. The IMPs were built by ARPANET contractor Bolt, Beranek, and Newman (BBN).

A photograph of the Control panel of an ARPANET IMP is shown. The Interface Message Processor control panel is with buttons organized under the sections Power, Sense, Register, and Operation.

FIGURE 11.4 Control panel of an ARPANET IMP (photographed at the Computer History Museum, California).

Courtesy of Dr. Richard Smith.

Each IMP also needed expensive, high-speed, leased lines to connect it to other IMPs in the network. Moreover, a site had to be part of a DOD research program to get permission to connect to the other IMPs. The DOD made the rules for the ARPANET and required every site to exert some control over who could use the network.

Some sites, especially colleges and universities, did very little to restrict ARPANET access. Although the ARPANET seemed obscure and irrelevant to some, others saw its potential for a broad range of communications tasks. Email evolved on the ARPANET, as did the file sharing that underlies today’s World Wide Web.

Email spawned online discussion groups, some that lasted for decades. By allowing broad access, the schools and other sites helped construct a better understanding of what large-scale computer networking could achieve. There was, however, no easy way to use the ARPANET except by having permission to use an ARPANET-connected computer or dial-in port.

Early Internet Attacks

In the internet’s early days, the U.S. government forbade commercial activities on their portion of the internet. For many years, this essentially prevented formal commercial activities, because the ARPANET carried a great deal of internet traffic. The only attacks of any significance were thefts of trade secrets and military secrets.

Such attacks made news in the late 1980s. In Section 4.5, we heard the story of Clifford Stoll, who detected a hacker at Berkeley and tracked him across the internet back to Germany. The hacker was collecting information from U.S. military and government sites and selling it to Soviet agents.

Also hit was DEC, the company that produced the virtual address extension (VAX) computer and its operating system. DEC’s software development computers were on the internet, but employees had to use a two-factor authentication system to reach those systems. An attacker hijacked an authenticated connection and used it to steal the operating system’s source code.

And, of course, there was the Morris worm. (See Section 2.3.) The worm was not intended to bring down the internet, but it managed to do so. To prevent a recurrence of the worm and to reduce risks of information theft, sites developed tools and techniques to protect themselves.

Early Internet Defenses

On January 1, 1983, the ARPANET protocols all were replaced with internet protocols. At that point, any host connected anywhere on the internet could open a connection directly to any other host on the internet. Colleges and universities without military contracts quickly hooked up, and so did many companies in the computing and networking industries.

Access to the internet is governed by Transitive Trust: If someone provides you with a connection that carries internet packets, you can use it to communicate with everyone else on the internet. In fact, once you have that connection you can actually offer internet connections to others. Internet routers kept long routing lists that directed packets between any two hosts.

As the internet grew, sites could no longer assume that the network was filled with benign researchers. The internet population was growing so large and varied that someone was going to prove untrustworthy in some sense.

Before the Morris worm incident, sites concerned about security relied on host-based login authentication. Many people thought of the network links themselves as analogous to public streets and trails: We use them but we are cautious; we don’t leave valuables unattended, and we keep our doors locked.

Following the well-publicized internet security incidents in the late 1980s, many sites sought more sophisticated protection. One approach was to scan the packets themselves for indications of bad intent. Early Ethernet users on the Alto network experimented with packet filtering as a way to manage network traffic. Accetta and Rashid at Carnegie-Mellon University developed the “enet” package for Unix, which filtered inbound packets by looking at individual fields. This was the genesis of modern firewalling technology. We examine firewall filtering in Section 14.4.

11.2.3 Internet Structure

Following the internet’s commercialization, almost anyone could—and did—become an ISP. In the United States, antitrust laws prevented some telephone companies from becoming ISPs, but other network service companies entered the business, and so did many small-scale operators. In fact, high school students could start an ISP in their basement with a small bank of low-cost dial-in modems. Internet routing helped ensure that any packet could reach any host if any route existed.

The engineering elements of the internet are the province of the Internet Engineering Task Force (IETF), a largely volunteer organization. The IETF coordinates its engineering standards through an open development process. Initially, the developments focused on decentralized solutions that worked well in the original, research-oriented internet. As internet growth exploded in the mid-1990s, decentralized routing bred enormous routing tables in the major ISPs.

Autonomous Systems

Large routing tables pose a serious problem. On the one hand, the large tables allow maximum flexibility when connecting new networks. On the other hand, it takes time to search a large routing table, and this slows down packet delivery. To solve this problem, the internet moved to a more hierarchical organization built around autonomous systems (ASes).

Each AS is essentially an ISP that handles routing between its networking customers. Often these are large telecommunications (telecom) vendors, though ASes may be private or government organizations with large enterprise networks. Originally, the internet consisted of hosts and networks. Now it consists of hosts, networks, and ASes. FIGURE 11.5 illustrates this change.

An illustration depicts old and new internet routing structures.

FIGURE 11.5 Old and new internet routing structures.

Each AS provides connections between networks and is responsible for routing between those networks. In other words, each AS handles two types of routing:

  1. Interior routing—route packets between networks within the AS

  2. Exterior routing—route packets from a network within the AS to a network on another AS

Private networks within an AS are responsible for their own interior routing. The AS likewise performs its own interior routing between its own routers. The AS generally provides dedicated network links between its own routers in order to pass traffic between its customers.

Exterior routing relies on border routers. These routers connect one AS to another. To route a packet from one AS to another, a router inside the AS forwards the packet to the appropriate border router, which forwards it to the appropriate AS. If the ASes aren’t directly connected, the border router sends it to an AS that can deliver the packet.

Internet routing mechanisms are designed to detect and recover from routing errors. However, a really large error can seriously disrupt internet traffic. The AS structure tries to reduce such risks by sharing routes among a limited number of other routers. Although routers within a private network may trust one another, the AS routers do not generally accept routing information from the private networks. Border routers only trust traffic from other, connected border routers.

An incident in 1997 illustrates the risks of sharing routes too broadly. An AS border router in Florida received an extremely large routing update from one of its internal customers. The update was incorrect; it appeared to provide a direct connection to all networks on the internet via this Florida network.

The border router processed the update and forwarded it to a border router operated by Sprint, another AS. The Sprint border router distributed the information to other ASes, which then routed large amounts of traffic to Florida. Because the routing update was large, it propagated slowly and continued to affect internet traffic for several hours.

Routing Security

Although the 1997 routing incident was accidental, it illustrates the lack of sophistication in internet routing security. The principal security measures restrict the propagation of routing information except among routers that operate as peers.

For example, routers within a private network may exchange routes with one another, but the AS router does not accept routes from the private network. This was one of the mistakes that led to the Florida incident: The Florida AS should not have accepted the routing update from the private network. The problem was made severe by the size and content of the routing update.

A separate peer-to-peer relationship exists between routers within an AS. This allows the AS to establish routes between its customers and its border routers using its own links. Border routers between ASes also share a trust relationship: Each AS must trust the other’s border router.

The relationships between AS routers and border routers reflects Transitive Trust between the highest-level routers on the internet. This is not generally a security problem because all ASes are assumed to share the common objective of routing packets efficiently. Incorrect routes constantly arise by accident. Other routers soon detect the error and establish corrections.

International Rerouting

These trust relationships, combined with the internet’s international nature, mean that packets aren’t aware of international boundaries. If a nation contains several well-connected ASes, then traffic from other nations may often be routed through one or more of those ASes.

In April of 2010, China Telecom’s border routers briefly distributed routes that redirected 15 percent of the world’s internet destinations through China’s routers. Like the Florida incident, the rerouting occurred when the AS published routing information it received from an internal network.

China Telecom and the Chinese government asserted that the incident was accidental. However, the incident was noted in a U.S. government report on the security risks of U.S.–China economic and trade relations. The report discussed several ways in which China might exploit redirected internet traffic. The report also noted that the rerouting caused a relatively small change in internet traffic patterns compared to other incidents known to be accidental.

Another incident similar to these occurred in late 2004. An AS in Turkey accidentally rerouted all internet traffic to itself. This made parts of the internet unreachable for several hours while the errors were corrected.

Internet experts do not see a simple and effective way of preventing future incidents, whether accidental or not. Such cases usually occur when incorrect routing information from a private network is propagated by an AS. In general, ASes avoid this through careful configuration of border routers. However, there are thousands of border routers, making occasional errors inevitable.

Starting an ISP

In the internet’s early days, it was easy to join. Typical networks were educational or research institutions with technical talent but limited resources. A site could simply connect its router to another site’s router, and packets would flow. This was why the internet grew so quickly in its early days.

Almost anyone could become an ISP. This was aided by the fact that U.S. legal restrictions made it difficult for regulated telephone companies to provide internet service. It opened up the field to entrepreneurs and businesses of all sizes.

This also opened the internet to abuse by early ISPs. In one case, a bookseller started an ISP that he marketed to other booksellers. Because he was responsible for routing all of their packets and email, he had access to many of their transactions. He used his position to spy on his customers and outbid them for books he wanted.

This behavior was possible because the threat agent actually operated the routers and network links that carried the network traffic. The threat also operated the email server, giving him access to customer email messages. It is possible, though harder, to eavesdrop on email and other traffic without operating the network.

Today it is much harder to start an ISP. One major problem is the shortage of internet addresses. Following Postel’s death in 1998, blocks of internet addresses were assigned to registrars who doled out addresses to regional ISPs. Because the registrars have assigned all address blocks to ISPs, no free blocks remain. Given that ISPs must assign addresses to customers, a new ISP must acquire a block of addresses from an existing ISP in order to offer services. A new ISP also must fit into the modern routing discipline, either as an AS itself or as a set of networks within another.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset