7.1 Network Principles

A network is an entity designed to allow data sharing between devices by connecting them to a shared medium. This shared medium is known as the data link . In addition to this shared medium, there are defined rules for how the common medium is shared, in much the same way that roommates in an apartment have rules on who can take what from the refrigerator. This set of rules is called a media access control , or MAC. In addition, the devices on a network must have some unique identifier associated with them, so that they will not receive data not intended for them. This data is encapsulated within a sort of "binary envelope" called a frame , which specifies the destination and source address (the equivalent of a return address). The format of these addresses depends on the MAC protocol being used. Ethernet, the most common data link, shares a common format with Token Ring and FDDI. Ethernet relies upon a 48-bit number designed so that every network device on the planet is uniquely identifiable. The number, which is called the MAC address , hardware address , data link address , or physical address , serves the purpose of unique identification. [1]

[1] Although some network devices allow this value to be reconfigured, the point is that they are identifiers unique within a network.

As networks expand, additional components begin to be necessary. Each of these devices addresses a different problem of network growth. Foremost amongst these are repeaters , which address issues of signal degradation, and bridges and routers , which approach problems of scalability. Switches approach both problems.

As data is transmitted through any physical medium, the signal degrades. The degradation is worsened by distance. A repeater serves to regenerate the " noisy " signal into a new, clean copy; its name originates from this repeating of network traffic. Here, I use the term hub to refer to a type of repeater that has many ports; any traffic being sent on one port is repeated on all the other ports (note that "hub" can mean many other things: it can be a network center, a network closet, a point where many networks come together, etc.).

As networks become more crowded, congestion -- too many people trying to talk at once -- becomes an issue. One solution to this problem is to break one large network into several parts , which are then interconnected by a device called a bridge . Fundamentally, a bridge works by listening to all the traffic it can, and then building a bridging table that tells it which hosts live on which networks based on whom it sees sending data on its inputs. The bridge uses the table to pass traffic between its inputs as necessary to get the traffic to its destination (therefore, it won't pass traffic when the destination is on the same input as the receiver). This is known as a transparent bridge; there are many other sorts of bridges, however, and a full discussion of them is beyond the scope of this text.

Unfortunately, bridges do not allow indefinite scalability. Some frames cannot be localized into a single network; these broadcast frames must be delivered to all hosts on the network. As the number of hosts in a purely bridged network grows, broadcast traffic will eventually cause the network to be congested .

In order to solve this problem of scalability, at some point it becomes necessary to create populations of networks within a larger network, more properly known as an internetwork. Defining these boundaries is the province of the router , which has been known by many different names . In the pre-Internet days of ARPANET, routers were known as internet message processors (IMPs). More recently, they have been called gateways [2] and intermediate systems . A router serves to send information along a specific path between two networks: with modern routers, this often involves choosing the best path between several available options. The mechanism that a router uses to select the best route, as well as how to share information with other routers in the internetwork, is called a routing protocol . Because routers exist only to deliver data to a specific destination network, they typically do not pay attention to other nonrouter devices. When a router sees that a piece of incoming information is destined for its network, it acts like a host on that network and uses the data link identifier of the destination host to deliver the data. A router may route packets even when the target is not on a network directly connected to it by passing it to another router that is closer to the destination host.

[2] This is another example of sloppy word usage. A gateway is technically a system that translates protocols (e.g., LocalTalk to IP); a router doesn't do that. A gateway can be a router, but a router can't be a gateway.

On most networks, the majority of traffic is from one host to another ( unicast ) rather than broadcast. It is not necessary for the other hosts to see that data, since the frame is not addressed to them. In addition, repeaters in a workgroup environment have security issues; consider a case with three systems all connected to a hub. One machine, alice , opens a telnet session to another machine, bob . In a repeated network, the third data link leading to the third machine, spy , contains all the traffic between alice and bob . Most network interfaces can be put into promiscuous mode , where they listen to every packet on the medium, not just those addressed to themselves . While this is invaluable for debugging network problems, it also means that spy can read the contents of all traffic between alice and bob . A switch serves like a repeater in that it regenerates signals, but effectively creates "virtual networks" between hosts. Therefore, any traffic originating on one port is sent only to the destination port. This makes exploiting the security problem described more difficult, since spy can no longer directly see the traffic between alice and bob . [3] It also provides a potentially large performance improvement, since rather than every host sharing a 10 Mb/s medium, each host now has, effectively, a dedicated 10 Mb/s medium.

[3] However, for diagnostic reasons, most switches can be configured so all traffic from all interfaces is repeated to one port. For this reason, if the security of the switch is compromised, the switched network is still vulnerable to this sort of attack. There are also many other attacks that don't involve compromising the switch.

There are two types of switches: store-and-forward and cut-through . A store-and-forward switch buffers the entire inbound frame into memory, and then routes it to the appropriate destination, whereas a cut-through switch uses a "hot potato" approach. In the past, cut-through switches were favored because of the high cost of buffer memory. One advantage of cut-through switches is that they provide very little change in latency between packets, whereas a store-and-forward switch can have variable latency. Store-and-forward switches handle collisions gracefully (see Section 7.3.1.8 later in this chapter), whereas cut-through switches have serious problems handling collisions. Most modern switches use store-and-forward, while cut-through techniques have found a niche in some microprocessor scalable interconnects.

One of the classic texts on internetworking is Radia Perlman's Interconnections: Bridges and Routers , published by Addison-Wesley.

7.1.1 The OSI Model

Just like the levels of transformation described in our overview of computer architecture (see Chapter 1), there is an analogous formal description for network architectures. This is called the OSI model and consists of seven layers :

Physical layer

Describes the physical characteristics of the medium. This includes four specific categories: electrical/optical protocols, which describe the characteristics of the signals on the wire; mechanical protocols, which define the types of connectors used or the diameter of wire; functional protocols, which describe what specific signals mean (for example, what a specific pin encodes); and procedural protocols, which explain how something is done (for example, how much voltage is considered a binary digit).

Data link layer

Defines the protocols that control the behavior of the physical layer -- for instance, how devices are identified and how data is framed. An example of a data link protocol would be Ethernet.

Network layer

Describes how data is routed between logical paths. It also encompasses such details as how addresses are formatted.

Transport layer

Specifies the protocols that control the network layer, in much the same way that the data link protocols control the physical layer. Transport layer protocols control the traffic on a logical link, which is the end-to-end connection of devices that encompasses a series of data links.

Session layer, presentation layer, and application layer

Combine to describe how the user applications use the network.

In this chapter, we will approach networking from the ground up. That is, we'll start at the very lowest level of the OSI model -- the physical network -- and work upwards to the software that relies on the network infrastructure.



System Performance Tuning2002
System Performance Tuning2002
ISBN: N/A
EAN: N/A
Year: 2004
Pages: 97

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net