Pages

Mar 3, 2010

TCP/IP and Networking (Part Final)


Unfortunately, networks are dynamic, and things do go wrong on a regular basis. Packets are lost on bad wiring, connections are broken when people (very bad people) decide to rewire the network in their office, and messages are scrambled as they are routed through different subnets. Because of these sorts of problems, Datagrams are not guaranteed to arrive in a specific order. If an error does occur during transmission, it’s up to the Transport Layer to reliably correct the error. Depending on the network protocol in use, this correction does not necessarily mean that the data is exactly the same as it was when it was sent. This does mean that there is no ambiguity in what happens to the data. A set of rules is followed that detail the handling of the error and how to correct it. This correction may mean resending just the damaged data or restarting from the beginning; but even if this involves discarding the erroneous data and continuing, it’s still considered error correction. However, if an email is sent from your supervisor over a TCP/IP network with the message “You will never be fired” and arrives as “You will be fired,” you can be assured that the Transport Layer is not doing its job. We’ll drop our real-world analogy for this layer, as it is assumed that no one ever gets lost while driving his or her car.

The Session Layer

Most data transmitted over a network is not in the form of a single packet. Typically two or more nodes open connections between themselves and exchange multiple packets. As packets travel back and forth, they carry both the data that the end user wanted to send and extra information that is used by the protocol to help guarantee that the packets are delivered successfully. When the nodes are finished communicating, the connections are closed. It’s also possible for multiple connections to be made to a single machine (think of how long you’d have to wait to download your favorite Web pages if the computer serving them to you could serve only one page to one person at a time). The Session Layer manages the opening and closing of connections, and assures the layers above it that each connection has its chance to send and receive data. If you ever open multiple connections to multiple Web sites, you’re putting the Session Layer to use. Most of today’s computers are capable of multitasking and providing many sorts of services over the Internet. They must call upon the session layer of the network in order to serve their data to other machines in an efficient manner. You can think of the Session Layer as the dividing lines on the highway: They define starting and ending points, and allow multiple lanes of traffic to flow along concurrently.

The Presentation Layer

With so many layers already in place, it may seem difficult to imagine that we still need two more before our model is complete. The Presentation Layer provides a simple service to the network model. It prepares data for its trip across the network and readies the data for use in an end user application when the journey is complete. Syntax for communicating with a remote machine may also be defined in the Presentation Layer. The Presentation Layer serves as a translator for the data that the Application Layer wants to send. Typing a URL into an application means nothing to the network. It’s up to the Presentation Layer to translate that URL into an appropriately worded request that another machine will be able to recognize. The Presentation Layer makes data presentable to the applications that use the network and presentable to the network itself. A car has a steering wheel, brake pedal, and gas pedal. These can be connected to the components that perform the appropriate actions in a variety of different ways; however, they present themselves in a way that is recognizable no matter what kind of car you’re driving.

A growing use for the Presentation Layer is to provide secure communications over a network. Data can be encrypted in the Presentation Layer before it’s passed down to the lower layers for transmission. Similarly, data can also be compressed in this layer. Compressing the data before sending it can result in significant speed increases in transmitting and receiving. Why isn’t all data encrypted and compressed before it’s sent? Keep in mind that compressing and encrypting data is a time-consuming task, and a balance must be maintained between network speed and the rate at which the local and remote nodes can process the incoming data within the Presentation Layer.

The Application Layer

At last we arrive at the last part of the OSI model: the Application Layer. This layer provides the final interface to the network that we, the end users, use to access network services. You’ve interacted with the Application Layer of the TCP/IP protocol if you’ve used a Web browser, a mail reader, or anything else over the Internet. Netscape, Internet Explorer, Eudora, Outlook, and so on are all examples of the Application Layer. This layer is the final product that we’ve been building up to—the resulting application that hides all the inner workings of the network. Returning one last time to the car analogy, we’re now in the driver’s seat of our 1998 Volkswagen Beetle, and the open highway is in front of us.

Where Do We Go from Here?

At this point, you should have a good understanding of each level in the OSI network model. In the following sections, we’ll show how TCP/IP fits within this model, and then move on to configuring each layer to suit your network needs.


0 comments: