Introduction to Networking


Networking is the ability of two or more computers to be aware of each other's existence and exchange data. In the Internet age, this basic capability can mean anything from simple peripheral communication to email traveling from server to server, web browsers downloading HTML pages and large movie files from HTTP servers, and peer-to-peer MP3 sharing. A networked computer has the capability to expand its usefulness beyond what the user can buy off the shelf and install from CD, instantly and without any physical media being introduced. The advent of networking and what it means for business and recreation is what has fueled the computer revolution that is very likely behind your decision to use FreeBSD.

In the modern Internet, when people talk about networking, they generally mean TCP/IP: the Transmission Control Protocol/Internet Protocol, the ubiquitous architecture underlying all the applications that make the Internet what it is. With its roots in the United States Department of Defense-funded ARPAnet, TCP/IP formed the core of the UNIX systems from Bell Labs from which FreeBSD developed; this means that the code of the TCP/IP application and library suite that's in FreeBSD is based directly on the original software known as the reference implementation, the model that other vendors follow when designing their own TCP/IP-based systems. When you use FreeBSD, you're using one of the most mature and robust networking platforms available in the market today.

A standardized model for the networking "stack," known as Open Systems Interconnection (OSI), establishes the general structure of TCP/IP. OSI dictates as many as seven "layers" of implementation for a computer network, each of which has its own measure of specificity and its own functional applicability to the user, the software, the operating system, and the networking hardware. You'll be seeing references to the various layers of the TCP/IP stack in later chapters, as well as in the networking industry in general, so a working familiarity with the OSI model is worth having. The conceptual arrangement of the OSI model, as exemplified in the Internet's typical usage, is shown in Figure 22.1.

Figure 22.1. OSI stack layering diagram, as it is used in TCP/IP.


In an OSI stack, data travels from the highest level (the user-interface level, where it is in its most specialized form, allowing the user to interact with it using a variety of interface metaphors, such as command lines and windowing systems) progressively down to the its lowest level, where it is at its most generic and abstract forma form that can be handled by very simple hardware and software protocols. This is achieved by each layer of the stack wrapping the data in "headers," or abstraction layers that allow the data to be decoded later by another TCP/IP stack, when the data reaches that layer on the way down. At the top of the stack, user applications handle data in very sophisticated ways, but they know nothing about the nitty-gritty mechanics of data communication; by the time it reaches the very bottom of the stack, the data is not "web pages" or "email." Instead, it's just ones and zeroes that the Ethernet card knows to send to another Ethernet card (for an Ethernet card by itself knows nothing of routing, connection states, or web browsers). All the packaging tells the remote Ethernet card what to do with the datawhether it is destined for that card's machine (in which case it should pass the data further on up the stack for decoding and delivery) or for another computer elsewhere on the networkor even on another network, in which case the data is forwarded on.

The different layers of the stack define different levels of addressing and routing specificity. The IP layer, the component that corresponds to the "network" layer of the stack, knows how to send packets of data to other computers on the Internet, as defined by their IP addresses. TCP and UDP, which you will learn about later, are protocols that exist higher up the stack, in the "transport" layer. These rely on the network layer's ability to deliver packets, but they add their own specific methods of delivery and flow management. Below IP, the "data link" layer knows nothing about IP addressesall it knows about is the hardware addresses on other Ethernet cards on the network. However, because IP information is embedded in any packet that the data link layer receives to transmit, the receiver will know where on the Internet it's supposed to go.

Many other protocols exist at the various levels of the OSI stack, and they each play a part in routing traffic to its final destination or recipient user and ensuring its integrity. This chapter discusses how these protocols fit into the TCP/IP structure and how FreeBSD deals with them.




FreeBSD 6 Unleashed
FreeBSD 6 Unleashed
ISBN: 0672328755
EAN: 2147483647
Year: 2006
Pages: 355
Authors: Brian Tiemann

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