Previous Page TOC Next Page


5

The Network of Networks

This chapter is a brief dip into the network pool. There are literally hundreds of books available that detail how networks work. This chapter, however, gives you an overview of how networks function, and how the Internet moves millions of bits of information around the world every hour of every day. Previous chapters explained how the networks that make up the Internet networked together with the aid of TCP/IP protocols. The networks that make up the Internet, themselves, use a variety of techniques and protocols to make links within their own networks. This chapter is about how these networks work.

Keep in mind that the Internet is actually a constantly metamorphosing collection of many different kinds of networks. Internet traffic races down telephone lines, flashes from a mountaintop to a high tower on the plains using microwave relays, bounces off geosynchronous communications satellites orbiting the Earth 22,000 miles away, enters a laser beam stuck in one end of a fiber-optic cable, comes out the other end, zips around an Ethernet cable strung from one point to another in your office, and speeds through a converter straight to your computer. Bang!

A Network Is_

Of course, nothing with computer networks is quite as simple and straightforward as you might hope. The first concept to adopt is that of layering. Every network has several layers of functionality. Accepting the risk of insulting your intelligence, I'll describe how these layers work by using a very primitive two-node network.

You have two tin cans and a length of string. Poke a hole in the bottom of each can, feed one end of the string through each hole, and tie a knot in each end. If you and a friend (each holding a can) move apart until the string is taut between the cans, you create the first layer in the network: the physical layer. When either of you speaks into a can, the sound waves are transformed into mechanical vibrations in the bottom of the can (the diaphragm) and then are transmitted down the length of string to the other can where they are converted back into sound waves by the bottom of the second can (now a speaker).

If you pull the string tight and both begin to talk at once, you create what's known in the network trade as a data collision. In other words, if everybody talks and nobody listens, people don't communicate. Therefore, you have to build your first communications protocol layer: an agreement between you and your friend that before you speak, you will listen.

Having agreed how to start, you listen, hear nothing, and then begin speaking into your node (can). Your friend listens and then hears you start to speak. But, taking great exception to something you say, he begins to respond without waiting for you to stop speaking. Another data collision occurs. How do you solve this? You create another protocol layer that says, "When I am done talking, I will say 'over,' just like in the movies."

These are the two aspects of any network: physical and metaphysical. The physical aspect concerns the actual transmission medium. If it's a wire, how quickly can you change voltages on the wire, and what are the minimum and maximum voltage levels? The metaphysical aspect is represented by various protocol layers in which network software running on machine A understands what machine B is trying to say.

Networks vary widely in the physical aspect. A network can be as simple as two PCs connected by their serial ports and an RS-232 cable, or multiple PCs sharing a printer by way of an infrared beam bounced off the ceiling. Some networks rely on a pair of wires twisted around each other, and others use coaxial shielded cable or fiber-optic cable.

Network Media

Using wire to transmit signals has been the norm since the days of the telegraph. A single pair of wires strung between poles can carry a low-quality telephone conversation for some distance. Wires such as these, however, have a couple problems: electro-mechanical interference (EMI) and crosstalk. A magnetic field can create an electrical current—noise (EMI)—in the line, generated, for example, by a lightning storm or an electric motor. If a network uses two lines—one to carry one conversation and another to carry a different conversation—and the wires are in close physical proximity, crosstalk occurs. The magnetic field created by one wire causes noise in the other wire.

Several methods have been tried to overcome these two deficiencies. The first is to twist the wires together in pairs, called, obviously enough, twisted pairs. Twisted pairs have been used for years by the telephone company and have the bandwidth (see the "Bandwidth Determines Quantity of Data" sidebar) to handle several simultaneous telephone conversations.


BANDWIDTH DETERMINES QUANTITY OF DATA

Any communications medium can be discussed in terms of bandwidth: the range of frequencies that can be passed from one end of the medium to the other.

For example, in the early days of public telephone systems, bandwidth was very limited. Each conversation required a pair of telephone wires, and only one conversation could occur at a time. People who lived in rural America most likely shared a party line with their neighbors. When someone called, people listened to the number of rings to determine who was being called.

However, as twisted pairs came into use, available bandwidth went well beyond the 3,500 Hz needed for one conversation. This enabled the creation of multiplexed telephone lines. A fairly narrow range of frequencies (300 to 3,500 Hz) is required to carry voice signals. Several of these relatively low-frequency voice signals can be used to modulate one higher, carrier frequency. (In other words, the voice signals are added to, or incorporated within, the higher "carrier" frequency in a manner similar to what radio stations do with a radio frequency carrier and voice frequencies.) The process of combining several voice signals into one is called multiplexing. Suppose that a twisted-pair cable has a bandwidth of 1,000 Hz to 18,000 Hz, as shown in Figure 5.1.

You could then broadcast four carrier frequencies at 3, 7, 11, and 15 KHz, and modulate them with the audio frequencies. This creates four voice channels over a single pair of wires. Filters at the receiving end separate the signals.

Twisted pairs can actually handle upwards of 100 voice channels.


FIGURE 5.1. Multiplexing signals on a single line.

Another method (better than twisted pairs) of overcoming EMI and crosstalk is to place one wire inside the other, separated by an insulator—the coaxial cable. Coaxial cable can handle a bandwidth several orders of magnitude greater than twisted-pair wires: nearly 10,000 analog voice channels and superior rejection of EMI and crosstalk.

The bandwidth champion, however, is fiber-optic cabling. Because of its nearly complete immunity to outside interference, and a bandwidth of several gigahertz, fiber-optic cabling can carry a tremendous amount of data. Fiber-optic cables contain one or more very thin glass rods (the thickness of a human hair) with the useful characteristic of being able to conduct a light shown into one end to the other end of the cable, with very little loss. Laser light is modulated to carry the signals at rates above 140 million bits per second (bps). Compare this to the upper limit of 28,800 bps transmission speeds available from currently popular modems used over normal phone lines (the fiber optics are about a thousand times faster).

Network Topologies

Connecting one computer with another computer is a straightforward task; when several computers are linked, however, there are a number of different ways they can be connected—and each method has advantages and disadvantages. Figure 5.2 shows several network topologies in use throughout the Internet.


FIGURE 5.2. Computers are connected to networks in a variety of ways.

The star, hierarchical, and loop arrangements are all point-to-point topologies. In this kind of topology, each computer can communicate with its nearest neighbors, but depends on those neighbors to relay data or commands to other computers on the network. The star topology is an extreme example of this configuration because every computer on the network must communicate with the central computer. The other extreme in point-to-point topologies is when all computers are connected to all other computers in a fully connected network.

The bus, ring, and satellite configurations are broadcast topologies. The fundamental concept behind this topology is that a message is placed on the bus, in the ring, or broadcast from a satellite. The message contains the name of the intended receiving computer node. All computers listen constantly; when a message addressed to a specific computer arrives, the message is captured and stored. Only one node can broadcast a message at a time. There are two very popular broadcast topologies in use today: the bus-based Ethernet, and the ring-based Token Ring network.

Ethernet

Ethernet is a popular bus-based broadcast topology that gained wide acceptance in the 1980s. Ethernet can transfer data at up to 10 million bps. A four-node Ethernet network is shown in Figure 5.3.


FIGURE 5.3. The Ethernet is a popular bus-based topology.

The network starts with a single cable (which may be coaxial, twisted pairs, or fiber optic). Each computer that taps into the cable must use a transceiver; the computer connects to the transceiver. Transceivers may be circuit boards that plug into a computer's motherboard; other types of transceivers may be connected to the computer's serial or parallel port.

When the message is composed, the sending computer must "listen" to the network (through the transceiver) to see whether any other computer is sending a message at the moment. If not, the sending computer can begin transmitting the message onto the bus. If other traffic is on the bus, the computer must wait before trying again. Finally, while transmitting the message, the computer also simultaneously listens to the bus to see whether the message the bus is carrying is the same as the one it is broadcasting. If not, another computer has begun transmission at almost the same time, and a collision is occurring. When that happens, both computers stop transmitting and wait a random amount of time before trying again. This procedure of listening, and then sending while listening, is called carrier sense multiple access with collision detection (CSMA/CD). When a transceiver loads a message onto the bus, it creates a carrier signal, which all the other transceivers listen for.

Token Ring

Another broadcast topology in wide use is the Token Ring network. Unlike the loop, which requires each computer in the loop to load every message into itself before passing the message on or keeping it, the ring requires that each computer be attached to a repeater, as shown in Figure 5.4. Although Token Ring networks appear to be self contained and isolated from the rest of the Internet world, one computer in the ring is usually assigned the task of serving as the gateway computer. The gateway is responsible for converting incoming, external traffic into a form acceptable to the Token Ring. Likewise, outbound traffic is converted to the appropriate communications protocol.


FIGURE 5.4. A Token Ring network uses repeaters to continue sending messages around the ring until they are read by the receiving computer.

The Token Ring, developed by IBM, has an interesting way of letting each node on the ring tell when the ring is available to broadcast a message. An electronic token is created and placed on the ring by one of the computers (usually, a single computer node has the responsibility of creating and issuing the token). This token (which is really a packet containing a fixed data word) loops around the ring, passing through each repeater. If no node issues a message, the token continues its circuitous route. However, when a computer node does transmit a message, the token is captured by that computer's repeater, modified, and sent back out onto the ring. This newly modified token passes around the ring, but is not recognized by any of the other repeaters; therefore, it indicates to them that the ring is busy and cannot be used.

The sending computer prepares a message with a destination address and places the message on the ring. As the packet passes through all the other repeaters in the ring, each repeater reads the packet header to see whether the message is addressed to its node. If the message is not addressed to its node, the repeater passes the message to the next repeater in the ring. If the message is addressed to its node, that repeater sends a copy of the message to its node and passes the message on around the ring. When the message makes a complete circuit around the ring to the originator, the originator reinstates the token, indicating that it is done with the ring. The ring then becomes available to any other node.

As with Ethernet, there is no built-in way for the sender of a message to verify that it was received, beyond the fact that the packet made a complete circuit around the ring; if the receiver was listening, the receiver should have captured the message. Passing an acknowledgment message around the ring is the responsibility of the next higher protocol level.

Network Protocols

Mentioned in the preceding sections were different protocol "layers" used in network communications. The specifics of each layer, and the number of layers, varies from type to type. The protocol architecture provided in the following example is typical of many networks.

The International Standards Organization (ISO) has developed an architecture that defines seven layers of network protocol (used by many network developers) as a base definition. These seven layers are shown in Figure 5.5. Keep in mind that protocol layers are, fundamentally, agreements between computers about how to communicate with one another. They are the "rules of the road."


FIGURE 5.5. The ISO's seven layers of protocol.

The advantage of layering communication protocols is two-fold:

  1. New versions or updates can be written for each layer without affecting the layer before or after. For example, improvements to the Network layer should not require any changes to the Data Link layer, and any improvements made at this level ripple upward so that higher levels benefit without having to be modified.


  2. Two computers on the network need to use only the layers appropriate for the task they are doing.


Each layer in a protocol system such as this uses the previous layer or layers to take action.

The first layer is the Physical layer. This is the definition of how 1s and 0s are passed over the network medium, what control signals are used, and the mechanical properties of the network itself (cable size, connector, and so on). In fact, this is the only layer in which actual communications occur. All the other layers exist as software within the computer that directs and modifies the behavior of the Physical layer.

The following chart briefly describes each of the remaining layers.

Layer


Description


Data Link

This layer provides the low-level error detection and correction functions of the network. For example, if a packet is corrupted during transmission, the Data Link layer is responsible for retransmitting the packet.

Network

This layer is responsible for routing packets across the network. If you want to e-mail a large file to another site, for example, the Network protocol layer divides your file into packets, addresses the packets, and sends them out over the network.

Transport

This is an intermediate layer that higher layers use to communicate with the network. This layer hides all the gruesome details necessary to actually make a connection between two computers.

Session

This layer manages the current connection, or session, between two computers. Keep in mind that in packet-switched networks, your computer does not have a full-time connection to a remote computer (even though it may seem so). Your commands to the remote computer are broken into packets and transmitted to the remote machine where they are reassembled and responded to. The Session layer keeps communications flowing until you're done. This layer also validates users that log on your computer through the Internet.

Presentation

The Presentation layer does all the necessary conversion to make sure that both computers are speaking the same language. For example, you may be logged on a Digital Equipment Corporation workstation that uses the ASCII representation for text. If you want to send text to a friend who works with an older IBM mainframe, you have two choices: you can convert the file to an EBCDIC representation and then send the file, or you can let your friend's computer's Presentation layer take care of the conversion for you. Presentation layers also can be used to automatically encode and decode data for transport over the Net.

Application

This is the highest layer in the ISO standard and is represented by the programs you use directly.

Network protocols are critical to intermachine communication. Fortunately, most of us don't have to worry about these various layers. Systems developers have done all the worrying for us.

The original Internet protocol, which is still used today, is the set developed by Vinton Cerf and Robert Kahn in 1974: Internet Protocol (IP) and Transmission Control Protocol (TCP), known collectively as TCP/IP.

The TCP/IP protocols have layering similar to the ISO protocols and are, in fact, used more widely throughout the Internet than the ISO protocols. A simplistic view is that the Internet Protocol (IP) takes care of addressing packets, and the Transmission Control Protocol (TCP) takes care of dividing your message into packets—and then relies on IP to mail them. When a message is received, the reverse happens. The IP captures the various packets and feeds them to TCP—which makes sure that they are all there—and then reassembles the packets into a single message.

Routing

Now that you understand how messages are sent from one computer node to another within a network, the next question is, "How can an e-mail message get from your network to a single user on a network across the country?"

You may recall from earlier chapters that the success of the Internet depends a lot on the fact that it is a packet-switched network. Messages between computers are converted to small packets that are rapidly routed to their destinations. Each packet contains destination and source addresses, as well as other information that makes routing possible.

In a simple ring topology, a packet is routed around the ring until it gets back to the sender. The assumption is that the receiver saw the packet with its address on it and copied the packet as it went by. However, not every network is a ring. In fact, the Internet is made up of all the possible types of topologies. There must be a more rational way of getting packets from point A to point B. Consider the mixed network shown in Figure 5.6.


FIGURE 5.6. Mixed network types complicate the delivery of packets.

Suppose that you want to send a message from your computer on a small network in Portland, Oregon, to a friend in Richardson, Texas. What are the options?

The fact is that all these approaches (and even more) have been used in the past. Today, the Internet is so large—consisting of thousands of networks—that keeping track of routing information is difficult. Some years ago, every computer on the Internet was responsible for keeping routing information. Now, computers called routers are used to forward packets in the appropriate direction.

For example, a router in Portland may know that all packets destined for anywhere near Dallas have to go first to Seattle. In Seattle, another router may know that it has two options to route packets to Dallas: by way of San Francisco or by way of Rapid City. The router in Seattle may pick the route with the least traffic at the moment—for example, to Rapid City. In Rapid City, another router knows there are a couple of paths available. Once the packet arrives in the Dallas router, the packet is sent over a local line to your friend's computer in Richardson (or to his or her Internet access provider's computer). This way, no one computer must keep track of all possible destinations. The routers are responsible for making the major moves; the local machines manage to get the packet to its final destination.

Keep in mind that a large message is broken into a number of packets. Not all packets are necessarily sent out over the same route. The route selected depends on traffic loads and what backbones are working at the moment.

Another method of routing is the "nearest neighbor" method, or centralized adaptive routing. A central node within each network knows only about its direct connections to the outside world. For example, in Figure 5.6, Seattle knows about Portland, San Francisco, and Rapid City; Rapid City knows about Seattle, Salt Lake City, and Dallas, but doesn't know about San Francisco.

These are some of the many routing strategies that remain in use today.

Yes, But_

Given that everything you send out on the Internet is divided into chunks called packets and then reassembled at the other end, you may be saying to yourself, "Yes, I can see how that would work for e-mail or sending somebody a file, but that can't be how it works all the time. What about when I'm actually logged on to another computer using Telnet?"

The fact is, all communications over the Internet (and any other packet-switched network) are done in just this way. If you have used Telnet and are logged on to a computer 1,200 miles away, all your commands and all the responses to your commands are being packetized and routed over the Internet. As an Internet user, you may have noticed that the responses from the remote computer slow down occasionally, or there seem to be long, inexplicable pauses. Sometimes that's because some of the packets were routed a different way and took a while to catch up to the rest.

It doesn't matter whether you're a Gopher guru, an FTP fanatic, or love to wax profound on Usenet; all your communications are divided into packets and routed over the Internet.

The Internet Protocols are in an active period of change and development. There are groups considering changes and new protocols such at VRTP (Virtual Reality Transport Protocol), SHTTP (Secure HyperText Transport Protocol), and others. In addition, many new algorithms for compression and for making better use of existing bandwidth are on the horizon.

Previous Page TOC Next Page