A data link is the direct connection between two nodes in a network. In a network with thousands of nodes, a message may go through many intermediates to get to its destination, but that trip is still managed one data link at a time.
The data link part of a protocol is concerned with reliability, with ensuring that the message made it to the other side. A common way to achieve this is through an acknowledgment, or ACK, which is a short message sent in the opposite direction of the original message. If node A sends a message to node B, when B receives it, it sends an ACK back to A. If a specified period of time passes without an ACK, node A assumes something went wrong with the original message and sends the original message again.
Such a scheme gets more complicated when the network is busy. Node A may need to send many messages to node B faster than B can reply to the first message. B must then indicate which message is acknowledged when it sends an ACK, and A must "check off" successful messages and resend the unsuccessful ones. This checking is similar to balancing a checkbook at the end of a month, checking off the cashed checks.
When node B sends acknowledgments, it should only acknowledge a packet if it arrives in the same form that it left node A. The trick is how node B knows that a message was damaged. If a person receives a wet or smeared paper memo, the damage is easily seen. But a message in a network is just a pattern of bits, 1's and 0's. Any damage to the message, from the receiver's point of view, simply changes some 1's to 0's or vice versa. The damage is not self-evident.
Error detection refers to rules in the protocol that help identify whether some bits have been changed during transmission. A simple scheme is redundant transmission. Send the data in the message multiple times. The receiver checks the copies to see if they match. If they do, the ACK is sent, but if the copies differ, then some of the bits must have changed. Some protocols would send a NACK, or negative acknowledgment, to indicate that the message was garbled, but it's not necessary.
Another scheme is called parity, in which the sender counts the 1's in the message, and then attaches a 1 to the end of the message if this count is odd and 0 if it is even. This means that in the final message sent, the number of 1 bits is always even. For example, if the message originally has six 1 bits, a 0 is added, which means there are still six 1 bits, an even number; but if there are seven 1 bits, a 1 is added, making the total eight, an even number. Then the receiver just has to count the number of 1 bits and see if the count is even.
More advanced schemes can even do error correction, which allows the original message to be recovered even with some corruption of bits. Redundancy is one way to do this. If the message is sent five times and four messages arrive alike and the fifth is different, it's safe to assume the fifth message is corrupted and the other four represent the correct message.
Because error correction requires sending so much extra data, it is usually not implemented. The overall performance of the network is better when the occasional corrupted message is sent again. The exceptions to this occur when the transmission time is so long that retransmission becomes a problem. The NASA Mars Rovers are examples of this. Because it takes so long for a message to get from Earth to Mars, or the reverse, it is better to correct the message than to resend it.
Once the network can successfully transmit between nodes that are directly connected, the network needs the ability to transmit from any node in a network to any other node. One of the important details at this level is routing: determining the path a message will take across the network. A router is a special node that forwards packets toward their destination. Networks are built by connecting users' computers to routers - a single router can support multiple users' computers - and then connecting routers to each other. When a router receives a message, it must determine which connection to send it along.
This is easy if the destination is a computer it is directly connected to, but if it's not directly connected, it has to make educated guesses. Most routers configure themselves as they go along and do not have a picture of the entire network. The problem is similar to deciding which plane to get on at the airport when none of the flights go directly to your destination city and you don't know the flight schedule for any other airport.
The solution is for the routers to share information with each other. Usually the information shared is what's known as a hop-count, which is the number of nodes a message must pass through to reach a particular computer.
For example, suppose router W is directly connected to computer A. Then W's hop-count to A is only one. Suppose W is also connected to routers X and Y. Periodically W sends all the hop-counts it knows to X and Y. When X and Y find out that W's hop-count to A is one, they decide that the hop-count to that computer is two; that is, it will take one hop to get to W and then another hop to get to A. When X sends out its own hop-counts to another router, Z, the other router updates its hop count for A to three, and so on.
This system also allows the network to eventually rout around routers that have malfunctioned or have been taken down, albeit slowly. Normally the router sends the messages to the directly connected node with the lowest hop count to that destination. But if an adjacent router is down, the router picks the next best. The problem is that other routers may still be sending traffic intended to pass through the down node.
For example, if some distant router thinks the fastest way to send a message to A is to go to Z, it does so even if X is down because it is not directly connected to X and therefore has no way to know this has happened. Z routes this message as best it can, but in the worst case, it may send the message back the way it came. Eventually Z's routing table reflects that it is not the best intermediary for a message going to A, but this takes time.
Because bad news travels slowly around the network, messages that come in a time when tables are inaccurate could be sent on wayward trips or even be caught in an endless loop where routers keep passing the same message among themselves. To keep a message from floating around the network indefinitely, messages generally contain their own hop-count, that is, the count of nodes they have passed through already. Once that count exceeds a specified value, it's assumed the message is doomed and it's discarded.
A bridge is a node that logically divides a network into smaller subnetworks. In an office LAN with ten computers, for instance, a bridge could be used to divide the LAN into two LANs of five computers each. Although the two networks are logically separate, nodes in one LAN can send messages across the bridge to nodes in the other LAN. In some types of small networks, because smaller networks are more efficient than larger ones, the use of bridges can improve network performance.
A gateway is a kind of bridge that connects two different kinds of networks. For example, an office may use a LAN technology for the interoffice network, yet want to allow office users to access the Internet, which uses a different protocol. In this case, the gateway translates LAN messages to the Internet protocol and vice versa. Because gateways are often a LAN's point of connection with "the outside world," they are special security risks. Much care must be taken that messages that are not responses to requests from LAN users are not let "into" the LAN.
Our website is not responsible for the information contained by this article. Articleinput.com is a free articles resource thus practically any visitor can submit an article. However if you notice any copyrighted material, please contact us and we will remove the article(s) in discussion right away.
Note: This article was sent to us by: Raymond Harris at 02132011
1. Editing methods in computer graphics
All articles are property of their respective authors. Please read our Privacy Policy!
© 2009 ArticleInput.com.
Partners: Damenmode