
The Data Link Layer
Once we’ve made a physical connection at the Physical Layer, we need to be able to move data over the connection. The Data Link Layer accomplishes this purpose. Imagine a unit of data, called a frame or packet, is to be transmitted over our Physical Layer. The Data Link Layer must be capable of creating the packet holding our information, identifying the destination of the remote machine, or node, that will receive the data, and providing low level error checking to identify any problems that may have occurred and acting on those problems. The Data Link Layer is also responsible for regulating the transmission of data from the Physical Layer. Depending on the type of network you’re setting up, there are certain conditions during which the machine must either wait its turn to transmit data, or wait for a certain length of time to pass before it can transmit again. An example of this behavior would be if two nodes on an Ethernet network attempted to send data at the same time. The result is a collision in which the information from the two nodes overlaps and is unintelligible. In the left side of Figure 1.2, two packets pass through the network juncture in sequence, with no collision. On the right side, however, the packets arrive at the juncture simultaneously, and a collision occurs.
When a collision occurs, the Data Link Layer must make a decision on how to handle the problem. Should it retransmit the data immediately? If it did, and the Data Link Layer on the other node made the same decision, the result would be another collision… and another… and another, and so on. Later, in Chapter 2, we look at the Data Link Layer in relation to TCP/IP. You’ll learn how this event has been well thought out, and precisely how the situation is handled. For now, just be aware that such problems can and do occur, and the Data Link Layer is responsible for keeping them to a minimum. The Data Link Layer provides the bridge between hardware and software. It must communicate directly with the Physical Layer, prepare data to be sent, and receive incoming data. Then, after verifying the correctness of the data, it must make it available to the next layer. In our car/road model, this component is analogous to a vehicle’s tires. The tires provide an interface between the motion created by the engine and the road upon which the motion will take place. Remove the tires from the car, and it goes nowhere. Take the Data Link Layer out of the network, and data will cease to flow.
On your computer system, the Data Link Layer is typically represented by the Network Adapter driver and is supplied on a floppy disk when you buy your network card. In many cases, Windows and Macintosh systems arrive with network cards and drivers installed, so the Data Link Layer is often already present, will not be something you need to worry about, and will require minimal configuration if you need to set it up yourself.
The Network Layer
With the Data Link Layer in place, we have the necessary logic to transmit information to different nodes on our network. Networks are, however, not isolated entities. A network can consist of many different nodes, using many different hardware layers and Data Link Layers.
What is a Node?
Because network components can vary widely, how can one network communicate with another? At the Data Link Layer, a low-level addressing scheme identifies individual nodes and is specific to the hardware underneath it. For heterogeneous networks to exist, there must be a common way of identifying nodes at a higher level. The Network Layer provides this addressing scheme. Once a common addressing method is available, we need to worry about the most efficient way to communicate between our different networks. Once again, this is the responsibility of the Network Layer. For simple networks, this is not a problem. For an arrangement such as this, there are three distinct networks, or subnets, each with a single connection to each other. The data obviously must pass through subnet B to get to subnet C, or vice versa.
If a node on subnet B wants to send data to a node on C, it has two choices: send the data through subnet A or through subnet D. Obviously, if there is a fast connection all the way between B and D, and D and C, it makes sense to send the data by way of network D. Suppose that subnet D fails after a horrible lightning strike. In that case, the node in subnet B must also know that, if necessary, it can send information through the connection to A and still have it arrive by way of the slow phone connection at subnet C. Imagine this on a scale of magnitudes larger, with hundreds of individual subnets, and you have a typical business or university setting. Expand this to the Internet, and now there are literally millions of subnets to take into account. Moving data efficiently and reliably between them is a monumental task and is referred to as routing. Similar to looking at a map to find the best route to take in your car, and taking the appropriate detours when necessary, the Network Layer provides the same services in the network model.
The Transport Layer
Our model is now to the point where we can send information, and it will be able to find its way from one node to another node sharing the same network layer; things become significantly easier at this level and throughout the remaining layers. The primary concern of the Transport Layer is that the data we receive is actually what we’re supposed to be receiving. The amount of data that can be transmitted on a network at a time is finite. The Transport Layer takes the information to be sent and breaks it into individual Datagrams that are sent and reassembled into a complete message by the Transport Layer at the receiving node. The Transport Layer may also provide a signaling service for the remote node so that the sending node is notified when its data is received successfully by the receiving node.
0 comments:
Post a Comment