Google
 

Friday, January 25, 2008

The Internet Layer

Addressing and Delivering

The Network Access Layer," a computer communicates with the network through a network interface device such as a network adapter card. The network interface device has a unique physical address and is designed to receive data sent to that physical address. This physical address is burned into the card when it is manufactured. A device such as an ethernet card does not know any of the details of the upper protocol layers. It does not know its IP address or whether an incoming frame is being sent to Telnet or FTP. It just listens to incoming frames, waits for a frame addressed to its own physical address, and passes that frame up the stack.

This physical addressing scheme works very well on an individual LAN segment. A network that consists of only a few computers on an uninterrupted medium can function with nothing more than physical addresses. Data can pass directly from network adapter to network adapter using the low-level protocols associated with the Network Access layer. (The non-routable NetBEUI protocol is a holdover from this simpler era in networking.)

Unfortunately, on a routed network, it is not possible to deliver data by physical address. The discovery procedures required for delivering by physical address do not work across a router interface. Even if they did work, delivery by physical address would be cumbersome because the permanent physical address built into a network card does not allow you to impose a logical structure on the address space.

TCP/IP therefore makes the physical address invisible and instead organizes the network around a logical, hierarchical addressing scheme. This logical addressing scheme is maintained by the IP protocol at the Internet layer. The logical address is called the IP address. Another Internet layer protocol called Address Resolution Protocol (ARP) assembles a table that maps IP addresses to physical addresses. This ARP table is the link between the IP address and the physical address burned into the network adapter card.

On a routed network , the TCP/IP software uses the following strategy for sending data on the network:

  1. If the destination address is on the same network segment as the source computer, the source computer sends the packet directly to the destination. The IP address is resolved to a physical address using ARP, and the data is directed to the destination network adapter.

  2. If the destination address is on a different segment from the source computer, the following process begins:

    1. The datagram is directed to a gateway. A gateway is a device on the local network segment that is capable of forwarding a datagram to other network segments. The gateway address is resolved to a physical address using ARP, and the data is sent to the gateway's network adapter.

    2. The datagram is routed through the gateway to a higher-level network segment where the process is repeated. If the destination address is on the new segment, the data is delivered to its destination. If not, the datagram is sent to another gateway.

    3. The datagram passes through the chain of gateways to the destination segment, where the destination IP address is mapped to a physical address using ARP and the data is directed to the destination network adapter.

k uaTo deliver data on a complex routed network, the Internet layer protocols must therefore be able to

  • Identify any computer on the network.

  • Provide a means for determining when a message must be sent through the gateway.

  • Provide a hardware-independent means of identifying the destination network segment so that the datagram will pass efficiently through the routers to the correct segment.

  • Provide a means for converting the logical IP address of the destination computer to a physical address so that the data can be delivered to the network adapter of the destination computer.

In this hour you'll learn about the important IP addressing system, and you'll learn how TCP/IP delivers datagrams on a complex network using the Internet layer's IP and ARP. You'll also learn about the Internet layer's ICMP protocol, which provides error detection and troubleshooting.

Wednesday, January 23, 2008

LAN Technologies

Ethernet

Ethernet and its newer sibling Fast Ethernet are the LAN technologies most commonly used today. Ethernet has become popular because of its modest price; Ethernet cable is inexpensive and easily installed. Ethernet network adapters and Ethernet hardware components are also relatively inexpensive.

On ethernet networks, all computers share a common transmission medium. Ethernet uses an access method called Carrier Sense Multiple Access with Collision Detect (CSMA/CD) for determining when a computer is free to transmit data on to the access medium. Using CSMA/CD, all computers monitor the transmission medium and wait until the line is available before transmitting. If two computers try to transmit at the same time, a collision occurs. The computers then stop, wait for a random time interval, and attempt to transmit again.

CSMA/CD can be compared to the protocol followed by a room full of polite people. Someone who wants to speak first listens to determine whether anybody else is currently speaking (this is the Carrier Sense). If two people start speaking at the same moment, both people will detect the problem, stop speaking, and wait before speaking again (this is Collision Detect).

Traditional ethernet works well under light-to-moderate use but suffers from high collision rates under heavy use. Some of the newer ethernet variants, which might include intelligent hubs or switches, support higher traffic levels. You'll learn more about hubs and switches in Hour 9, "Network Hardware."

Ethernet is capable of using a variety of media. Ethernet networks typically operate at baseband speeds of either 10Mbps or 100Mbps. 1000Mbps (Gigabit) Ethernet systems are now available and might soon be common. Table 3.1 lists terms used to identify cabling media, speeds, and maximum distances. Wireless ethernet is also becoming popular. 10BASE-2 and 10BASE-5 coaxial ethernet networks were once very common. network. Note that the computers are attached to a single cable that acts as the shared transmission medium. In recent years, hub-based ethernet variants such as 10BASE-T (see have become vastly more popular. On a 10BASE-T network, the computers are attached to a central hub. 10BASE-2 and 10BASE-T might appear to be dissimilar, but internally they are both still ethernet.



Table 3.1. Ethernet Media Technology

Technology Name

Media Type

Operating Speed

Maximum Distance

10BASE-2

Thin coax

10 megabits

185 meters

10BASE-5

Thick coax

10 megabits

500 meters

10BASE-T

CAT3 or CAT5 UTP

10 megabits

100 meters

10BASE-F

Fiber optic

10 megabits

2,000 meters

100BASE-TX

CAT 5 UTP or STP

100 megabits

100 meters

100BASE-FX

Fiber optic

100 megabits

2,000 meters

The versatile ethernet architecture even lends itself to wireless networking. Wireless ethernet is becoming increasingly popular, and will become even more popular in the coming years as network hardware evolves to accommodate the wireless revolution. You might wonder how an architecture that is so focused on specifying the type, length, and configuration of its cable could get by with no cable at all. When you think about it, though, the broadcast nature of ethernet communication is quite compatible with the roving, free-flowing wireless paradigm.

Token Ring

Token ring technology uses a completely different concept for allowing network adapters to transmit data on the media. This access method is known as token passing.

Under the token passing access method, the computers on the LAN are connected so that data is passed around the network in a logical ring . The token ring configuration calls for the computers to be wired to a central hub called a MAU or MSAU. , but the MSAU is wired so that the data passes from one computer to the next in a circular motion. The computers pass a packet of data called a token around the network. Only the computer that holds the token can transmit a message on to the ring.


Token ring is technically more sophisticated than ethernet, and it includes a number of built-in diagnosis and correction mechanisms that can help troubleshoot network problems. Also, because data is transmitted in a more orderly fashion, token ring does not suffer as badly under heavy data traffic. Almost everything about token ring is more expensive than ethernet by comparison—the cable, the network adapter cards, and the other components as well.

Token ring typically operates at either 4Mbps or 16Mbps. It is also available at 100Mbps.

Token ring has declined in popularity in recent years, although the ring topology that evolved around Token Ring has found its way into other high-end technologies such as FDDI, which you'll learn about in the next section.

FDDI

Fiber Distributed Data Interface (FDDI) is an expensive LAN technology that employs a pair of fiber-optic rings. One ring is considered primary and the second ring is there to replace the primary ring in the event of a breakdown. FDDI uses a token passing access method similar to token ring.

Like token ring, FDDI also has error-detection and correction capabilities. In a normally operating FDDI ring, the token passes by each machine every so often. If the token is not seen within the maximum amount of time that it takes to circulate the largest ring, it indicates a problem has occurred such as a broken cable.

Fiber-optic cable such as the cable used with FDDI can support very large volumes of data over large distances.

Anatomy of a Frame

The Network Access layer software accepts a datagram from the Internet layer and converts that data to a form that is consistent with the specifications of the physical network Because many forms of physical networks exist, there are many formats for data at the Network Access layer, and it would not be easy or useful to describe all these formats in detail.

As an example of what happens to the data at the Network Access layer, consider the case of ethernet, the most common of the LAN architectures. When the ethernet software receives a datagram from the Internet layer, it performs the following steps:
  1. Breaks IP layer data into smaller chunks, if necessary, which will be sent in the data field of the ethernet frames. The total size of the ethernet frame must be between 64 bytes and 1,518 bytes (not including the preamble).

  2. Packages the chunks of data into frames. Each frame includes data as well as other information that the network adapters on the ethernet need to process the frame. An IEEE 802.3 ethernet frame includes the following:

    Preamble: A sequence of bits used to mark the beginning of the frame (8 bytes, the last of which is the 1-byte Start Frame Delimiter).

    Recipient address: The 6-byte (48-bit) physical address of the network adapter that is to receive the frame.

    Source address: The 6-byte (48-bit) physical address of the network adapter that is sending the frame.

    Length: A 2-byte (16-bit) field indicating the size of the data field.

    Data: The data that is transmitted with the frame.

    Frame Check Sequence (FCS): A 4-byte (32-bit) checksum value for the frame. The FCS is a common means of verifying data transmissions. The sending computer calculates a Cyclical Redundancy Check (CRC) value for the frame and encodes the CRC value in the frame. The receiving computer then recalculates the CRC and checks the FCS field to see whether the values match. If the values don't match, some data was lost or changed during transmission, in which case the frame is retransmitted.

  3. Passes the data frame to lower-level components corresponding to OSI's physical layer, which will convert the frame into a bitstream and send it over the transmission medium.

The other network adapters on the ethernet receive the frame and check the destination address. If the destination address matches the address of the network adapter, the adapter software processes the incoming frame and passes the data to higher layers of the protocol stack.

Network Architecture

In practice, local area networks are not really thought of in terms of protocol layers but by what is called LAN architecture or network architecture. (Sometimes a network architecture is referred to as a LAN type or a LAN topology.) A network architecture, such as ethernet, provides a bundle of specifications governing media access, physical addressing, and the interaction of the computers with the transmission medium. When you decide on a network architecture, you are in effect deciding on a design for the Network Access layer.

A network architecture is a design for the physical network and a collection of specifications defining communications on that physical network. The communication details are dependent on the physical details, so the specifications usually come together as a complete package. These specifications include considerations such as the following:

  • Access method— An access method is a set of rules defining how the computers will share the transmission medium. To avoid data collisions, computers must follow these rules when they transmit data.

  • Data frame format— The IP-level datagram from the Internet layer is encapsulated in a data frame with a predefined format. The data enclosed in the header must supply the information necessary to deliver data on the physical network. You'll learn more about data frames later in this hour.

  • Cabling type— The type of cable used for a network has an effect on certain other design parameters, such as the electrical properties of the bitstream transmitted by the adapter.

  • Cabling rules— The protocols, cable type, and electrical properties of the transmission have an effect on the maximum and minimum lengths for the cable and for the cable connector specifications.

Details such as cable type and connector type are not the direct responsibility of the Network Access layer, but to design the software components of the Network Access layer, developers must assume a specific set of characteristics for the physical network. Thus, the network access software must come with a specific hardware design.

Friday, January 18, 2008

The Network Access Layer


What You'll Learn r:

  • Physical addresses

  • Ethernet frames

  • LAN technologies

At the base of the TCP/IP protocol stack is the Network Access layer, the collection of services and specifications that provide and manage access to the network hardware. In this hour you'll learn about the duties of the Network Access layer and how the Network Access layer relates to the OSI model. This hour also looks at some common physical network technologies you'll find in the Network Access layer.

At the completion of this hour, you'll be able to

  • Explain the Network Access layer

  • Discuss how TCP/IP's Network Access layer relates to the OSI networking model

  • Explain a network architecture

  • List the contents of an ethernet frame

  • Identify the methods that ethernet, token ring, and FDDI use for controlling access to the transmission medium




The Network Access layer is the most mysterious and least uniform of TCP/IP's layers. The Network Access layer manages all the services and functions necessary to prepare the data for the physical network. These responsibilities include

  • Interfacing with the computer's network adapter.

  • Coordinating the data transmission with the conventions of the appropriate access method. You'll learn more about access methods later in this hour.

  • Formatting the data into a unit called a frame and converting that frame into the stream of electric or analog pulses that passes across the transmission medium.

  • Checking for errors in incoming frames.

  • Adding error-checking information to outgoing frames so that the receiving computer can check the frame for errors.

  • Acknowledging receipt of data frames and resending frames if acknowledgment is not received.

Of course, any formatting tasks performed on an outgoing frame must occur in reverse when the frame reaches its destination and is received by the computer to which it is addressed.

The Network Access layer defines the procedures for interfacing with the network hardware and accessing the transmission medium. Below the surface of TCP/IP's Network Access layer, you'll find an intricate interplay of hardware, software, and transmission-medium specifications. Unfortunately, at least for the purposes of a concise description, there are many different types of physical networks that all have their own conventions, and any one of these physical networks can form the basis for the Network Access layer. You'll learn about these physical network types later in this hour. A few examples include

  • Ethernet

  • Token ring

  • FDDI

  • PPP (Point-to-Point Protocol, through a modem)

  • Wireless networks

data packages

The important thing to remember about the TCP/IP protocol stack is that each layer plays a role in the overall communication process. Each layer invokes services that are necessary for that layer to perform its role. As an outgoing transmission passes down through the stack, each layer includes a bundle of relevant information called a header along with the actual data. The little data package containing the header and the data then becomes the data that is repackaged at the next lower level with the next lower layer's header.

The data packet looks different at each layer, and at each layer it goes by a different name. The names for the data packages created at each layer are as follows:

  • The data package created at the Application layer is called a message.

  • The data package created at the Transport layer, which encapsulates the Application layer message, is called a segment if it comes from the Transport layer's TCP protocol. If the data package comes from the Transport layer's UDP protocol, it is called a datagram.

  • The data package at the Internet layer, which encapsulates the Transport layer segment, is called a datagram.

Thursday, January 17, 2008

TCP/IP and the OSI Model



The networking industry has a standard seven-layer model for network protocol architecture called the Open Systems Interconnection (OSI) model. The OSI model represents an effort by ISO, an international standards organization, to standardize the design of network protocol systems to promote interconnectivity and open access to protocol standards for software developers.

TCP/IP was already on the path of development when the OSI standard architecture appeared and, strictly speaking, TCP/IP does not conform to the OSI model. However, the two models did have similar goals, and there was enough interaction among the designers of these standards that they emerged with a certain compatibility. The OSI model has been very influential in the growth and development of protocol implementations, and it is quite common to see the OSI terminology applied to TCP/IP. the relationship between the four-layer TCP/IP standard and the seven-layer OSI model. Note that the OSI model divides the duties of the Application layer into three layers: Application, Presentation, and Session. OSI splits the activities of the Network Interface layer into a Data Link layer and a Physical layer. This increased subdivision adds some complexity, but it also adds flexibility for developers by targeting the protocol layers to more specific services.

Figure 2.2. The seven-layer OSI model.


The seven layers of the OSI model are as follows:

  • Physical layer— Converts the data into the stream of electric or analog pulses that will actually cross the transmission medium and oversees the transmission of the data.

  • Data Link layer— Provides an interface with the network adapter; maintains logical links for the subnet.

  • Network layer— Supports logical addressing and routing.

  • Transport layer— Provides error control and flow control for the internetwork.

  • Session layer— Establishes sessions between communicating applications on the communicating computers.

  • Presentation layer— Translates data to standard format; manages encryption and data compression.

  • Application layer— Provides a network interface for applications; supports network applications for file transfer, communications, and so forth.


Notice that the OSI and TCP/IP models are most similar at the important Transport and Internet (called Network in OSI) layers. These layers include the most identifiable and distinguishing components of the protocol system, and it is no coincidence that protocol systems are sometimes named for their Transport and Network layer protocols. As you'll learn later in this book, the TCP/IP protocol suite is named for TCP, a Transport layer protocol, and IP, an Internet/Network layer protocol.

The TCP/IP Protocol System



Before looking at the elements of TCP/IP, it is best to begin with a brief review of the responsibilities of a protocol system.

A protocol system such as TCP/IP must be responsible for the following tasks:

  • Dividing messages into manageable chunks of data that will pass efficiently through the transmission medium.

  • Interfacing with the network adapter hardware.

  • Addressing: The sending computer must be capable of targeting data to a receiving computer. The receiving computer must be capable of recognizing a message that it is supposed to receive.

  • Routing data to the subnet of the destination computer, even if the source subnet and the destination subnet are dissimilar physical networks.

  • Performing error control, flow control, and acknowledgment: For reliable communication, the sending and receiving computers must be able to identify and correct faulty transmissions and control the flow of data.

  • Accepting data from an application and passing it to the network.

  • Receiving data from the network and passing it to an application.

To accomplish the preceding tasks, the creators of TCP/IP settled on a modular design. The TCP/IP protocol system is divided into separate components that theoretically function independently from one another. Each component is responsible for a piece of the communication process.

The advantage of this modular design is that it lets vendors easily adapt the protocol software to specific hardware and operating systems. For instance, the Network Access layer (as you'll learn in Hour 3, "The Network Access Layer") includes functions relating to a specific LAN architecture, such as token ring or ethernet. Because of TCP/IP's modular design, a vendor such as Microsoft does not have to build a completely different software package for token ring TCP/IP (as opposed to ethernet TCP/IP) networks. The upper layers are not affected; only the Network Access layer must change.

The TCP/IP protocol system is subdivided into layered components, each of which performs specific duties (see Figure 2.1). This model, or stack, comes from the early days of TCP/IP, and it is sometimes called the TCP/IP model. The official TCP/IP protocol layers and their functions are described in the following list.


Compare the functions in the list with the responsibilities listed earlier in this section, and you'll see how the responsibilities of the protocol system are distributed among the layers.

By the Way

The four-layer model shown in Figure 2.1 is a common model for describing TCP/IP networking, but it isn't the only model. The ARPAnet model, for instance, as described in RFC 871, describes three layers: the Network Interface layer, the Host-to-Host layer, and the Process-Level/Applications layer. Other descriptions of TCP/IP call for a five-layer model, with Physical and Data Link layers in place of the Network Access layer (to match OSI). Still other models might exclude either the Network Access or the Application layer, which are less uniform and harder to define than the intermediate layers.

The names of the layers also vary. The ARPAnet layer names still appear in some discussions of TCP/IP, and the Internet layer is sometimes called the Internetwork layer or the Network layer.

This book uses the four-layer model, with names shown in Figure 2.1.


  • Network Access layer— Provides an interface with the physical network. Formats the data for the transmission medium and addresses data for the subnet based on physical hardware addresses. Provides error control for data delivered on the physical network.

  • Internet layer— Provides logical, hardware-independent addressing so that data can pass among subnets with different physical architectures. Provides routing to reduce traffic and support delivery across the internetwork. (The term internetwork refers to an interconnected, greater network of LANs, such as what you find in a large company or on the Internet.) Relates physical addresses (used at the Network Access layer) to logical addresses.

  • Transport layer— Provides flow control, error control, and acknowledgment services for the internetwork. Serves as an interface for network applications.

  • Application layer— Provides applications for network troubleshooting, file transfer, remote control, and Internet activities. Also supports the network Application Programming Interfaces (APIs) that enable programs written for a particular operating environment to access the network.

Part II, "The TCP/IP Protocol System," provides more detailed descriptions of the activities at each of these TCP/IP protocol layers.

When the TCP/IP protocol software prepares a piece of data for transmission across the network, each layer on the sending machine adds a layer of information to the data that will be relevant to the corresponding layer on the receiving machine. For instance, the Internet layer of the computer sending the data adds a header with some information that is significant to the Internet layer of the computer receiving the message. This process is sometimes referred to as encapsulation. At the receiving end these headers are removed as the data is passed up the protocol stack.

By the Way

The term layer is used throughout the computer industry for protocol component levels such as the ones shown in Figure 2.1. Header information is applied in layers to the data as it passes through the components of the protocol stack. (You'll learn more about this later in this hour.) When it comes to the components themselves, however, the term layer is somewhat metaphorical.

Diagrams such as Figure 2.1 are meant to show that the data passes across a series of interfaces. As long as the interfaces are maintained, the processes within one component are not affected by the processes in other components. If you turned Figure 2.1 sideways, it would look more like an assembly line, and this is also a useful analogy for the relationship of the protocol components. The data stops at each point in the line and, as long as it arrives at each point as specified, the components can operate independently.

Standards Organizations and RFCs


Several organizations have been instrumental in the development of TCP/IP and the Internet. Another way in which TCP/IP reveals its military roots is in the quantity and obscurity of its acronyms. Still, a few organizations in the past and present of TCP/IP deserve mention, as follows:

  • Internet Advisory Board (IAB)— The governing board that sets policy for the Internet and sees to the further development of TCP/IP standards.

  • Internet Engineering Task Force (IETF)— The branch of the IAB that studies and rules on engineering issues. The IETF is divided into workgroups that study particular aspects of TCP/IP and the Internet, such as applications, routing, network management, and so forth.

  • Internet Research Task Force (IRTF)— The branch of the IAB that sponsors long-range research.

  • Internet Corporation for Assigned Names and Numbers (ICANN)— An organization established in 1998 that coordinates the assignment of Internet domain names, IP addresses, and globally unique protocol parameters such as port numbers (www.icann.com).

  • InterNIC— The Internet information service. InterNIC keeps a list of ICANN-accredited registration organizations that can assign domain names. Contact InterNIC through the World Wide Web at http://internic.net.

Most of the official documentation on TCP/IP is available through a series of Requests for Comment (RFCs). The library of RFCs includes Internet standards and reports from workgroups. IETF official specifications are published as RFCs. Many RFCs are intended to illuminate some aspect of TCP/IP or the Internet. Anyone can submit an RFC for review. You can either send a proposed RFC to the IETF or you can submit it directly to the RFC editor via email at rfc-editor@rfc-editor.org.

The RFCs provide essential technical background for anyone wanting a deeper understanding of TCP/IP. The list includes several technical papers on protocols, utilities, and services, as well as a few TCP/IP-related poems and Shakespeare takeoffs that, sadly, do not match the clarity and economy of TCP/IP.

Wednesday, January 16, 2008

TCP/IP Features


TCP/IP includes many important features that you'll learn about in this book. In particular, pay close attention to the way the TCP/IP protocol suite addresses the following problems:

  • Logical addressing

  • Routing

  • Name service

  • Error control and flow control

  • Application support

These issues are at the heart of TCP/IP. The following sections introduce these important features. You'll learn more about these features later in this book.

Logical Addressing

A network adapter has a unique and permanent physical address. The physical address is a number that was given to the card at the factory. On a local area network, low-lying hardware-conscious protocols deliver data across the physical network using the adapter's physical address. There are many network types, and each has a different way of delivering data. On a basic ethernet network, for example, a computer sends messages directly onto the transmission medium. The network adapter of each computer listens to every transmission on the local network to determine whether a message is addressed to its own physical address.

By the Way

As you'll learn in Hour 9, "Network Hardware," today's ethernet networks are a bit more complicated than the idealized scenario of a computer sending messages directly onto the transmission line. Ethernet networks sometimes contain hardware devices such as switches and hubs to manage the signal.


On large networks, of course, every network adapter can't listen to every message. (Imagine your computer listening to every piece of data sent over the Internet.) As the transmission medium becomes more populated with computers, a physical addressing scheme cannot function efficiently. Network administrators often segment networks using devices such as routers to reduce network traffic. On routed networks, administrators need a way to subdivide the network into smaller subnetworks (called subnets) and impose a hierarchical design so that a message can travel efficiently to its destination. TCP/IP provides this subnetting capability through logical addressing. A logical address is an address configured through the network software. In TCP/IP, a computer's logical address is called an IP address. As you'll learn in Hour 4, "The Internet Layer," and Hour 5, "Subnetting," an IP address can include

  • A network ID number identifying a network

  • A subnet ID number identifying a subnet on the network

  • A host ID number identifying the computer on the subnet

The IP addressing system also lets the network administrator impose a sensible numbering scheme on the network so that the progression of addresses reflects the internal organization of the network.

The Development of TCP/IP


Present-day TCP/IP networking represents the synthesis of two developments that began in the 1970s and have subsequently revolutionized the world of computing:

  • The Internet

  • The local area network

The Internet

TCP/IP's design is a result of its historical role as the protocol system for what was to become the Internet. The Internet, like so many other high-tech developments, grew from research originally performed by the United States Department of Defense. In the late 1960s, Defense Department officials began to notice that the military was accumulating a large and diverse collection of computers. Some of those computers weren't networked, and others were grouped in small, closed networks with incompatible proprietary protocols.

Proprietary, in this case, means that the technology is controlled by a private entity (such as a corporation). That entity might not have any interest in divulging enough information about the protocol so that users can use it to connect to other (rival) network protocols.

Defense officials began to wonder if it would be possible for these disparate computers to share information. Accustomed as they were to considerations of security, the Defense Department reasoned that, if such a network were possible, it would likely become a target for military attack. One of the primary requirements of this new network, therefore, was that it must be decentralized. Critical services must not be concentrated in a few vulnerable failure points. Because every failure point is vulnerable in the age of the missile, they wanted a network with no failure points at all—where a bomb could land on any part of the infrastructure without bringing down the whole network. These visionary soldiers created a network that became known as ARPAnet, named for the Defense Department's Advanced Research Projects Agency (ARPA). The protocol system that supported this interconnectable, decentralized network was the beginning of what we now know as TCP/IP.

A few years later, when the National Science Foundation wanted to build a network to connect research institutions, it adopted ARPAnet's protocol system and began to build what we know as the Internet. As you'll learn later in this book, the original decentralized vision of ARPAnet survives to this day in the design of the TCP/IP protocol system and is a big part of the success of TCP/IP and the Internet.

Two important features of TCP/IP that provide for this decentralized environment are as follows:

  • End node verification— The two computers that are actually communicating—called the end nodes because they are at each end of the chain passing the message—are responsible for acknowledging and verifying the transmission. All computers basically operate as equals, and there is no central scheme for overseeing communications.

  • Dynamic routing— Nodes are connected through multiple paths, and the routers choose a path for the data based on present conditions. You'll learn more about routing and router paths in later hours.

The Local Area Network (LAN)

As the Internet began to emerge around universities and research institutions, another network concept, the local area network (LAN) was also taking form. LANs developed along with the computer industry and were a response to the need for offices to share computer resources.

Early LAN protocols did not provide Internet access and were designed around proprietary protocol systems. Many did not support routing of any kind. Eventually, some companies began to want a protocol that would connect their incompatible, noncontiguous LANs, and they looked to TCP/IP. As the Internet became more popular, LAN users began to clamor for Internet access, and a variety of solutions began to emerge for getting LAN users connected. Specialized gateways provided the protocol translation necessary for these local networks to reach the Internet. Gradually, LAN software vendors began to provide more complete support for TCP/IP. Recent versions of NetWare, Mac OS, and Windows have continued to expand the role of TCP/IP on local networks. TCP/IP grew up around Unix, and all Unix variants are fluent in TCP/IP. The recent popularity of Unix-based systems such as Linux, BSD, Solaris, and Apple OS X has increased the dominance of TCP/IP in the networking world.

Tuesday, January 15, 2008

network

network is a collection of computers or computer-like devices that can communicate across a common transmission medium, as shown in Figure 1.1.

Figure 1.1. A typical local network.

graphics/01fig01.gif

In a network, requests and data from one computer pass across the transmission medium (which might be a network cable or a phone line) to another computer. In Figure 1.1, computer A must be able to send a message or request to computer B. Computer B must be able to understand computer A's message and respond to it by sending a message back to computer A.

A computer interacts with the world through one or more applications that perform specific tasks and manage input and output. If that computer is part of a network, some of those applications must be capable of communicating with applications on other network computers. A network protocol is a system of common rules that helps define the complex process of transferring data. The data travels from an application on one computer, through the computer's network hardware, across the transmission medium to the correct destination, and up through the destination computer's network hardware to a receiving application (see Figure 1.2).

Figure 1.2. The role of a network protocol suite.

graphics/01fig02.gif

The protocols of TCP/IP define the network communication process and, more importantly, define how a unit of data should look and what information it should contain so that a receiving computer can interpret the message correctly. TCP/IP and its related protocols form a complete system defining how data should be processed, transmitted, and received on a TCP/IP network. A system of related protocols, such as the TCP/IP protocols, is called a protocol suite.

The actual act of formatting and processing TCP/IP transmissions is performed by a software component known as the vendor's implementation of TCP/IP. For instance, Microsoft TCP/IP is a software component that enables Windows computers to process TCP/IP-formatted data and thus to participate in a TCP/IP network. As you read this book, be aware of the following distinction:

  • A TCP/IP standard is a system of rules defining communication on TCP/IP networks.

  • A TCP/IP implementation is a software component that performs the functions that enable a computer to participate in a TCP/IP network.

The purpose of the TCP/IP standards is to ensure the compatibility of all TCP/IP implementations regardless of version or vendor.

By the Way

The important distinction between the TCP/IP standards and a TCP/IP implementation is often blurred in popular discussions of TCP/IP, and this is sometimes confusing for readers. For instance, authors often talk about the layers of the TCP/IP model providing services for other layers. In fact, it is not the TCP/IP model that provides services. The TCP/IP model defines the services that should be provided. The vendor software implementations of TCP/IP actually provide these services.