Latency and Jitter on Your LAN
This content is excerpted from Barry and Marcia Press’ book, Networking by Example .
Most of the time, the only LAN performance characteristic that you're going to care about is the data rate, which determines the time it takes to get something done. If you're doing something like talking in a network videoconference or across your LAN, though, you'll also care about how long it takes for individual messages to move across the LAN and about how variable those times are. Those two measurements are called latency and jitter.
Latency and jitter are the important performance measures for videoconferencing because interactive streaming applications depend on an uninterrupted flow of messages to keep the processing on the computers running smoothly. If you delay or drop messages in those applications, it's likely that the software will pause noticeably. Pauses are irritating in video and can make audio unintelligible.
Latency and jitter originate inside your computers, as shown in Figure 1. Each block in the two computers is a processing step that has a minimum time delay. The delay that a specific message encounters in each step is variable and most often depends on what's happening at that instant of time on the LAN infrastructure (even though the cable and hub themselves have a relatively constant transit time).
Sources of network latency and jitter
Each processing step has its own function and own unique reasons for introducing latency and jitter:
-
LAN adapter—The interaction between the LAN adapter and the network infrastructure is the original source of latency and jitter beyond the minimums because the LAN adapter is required to wait until there is no interfering traffic on the cable before it transmits a message. If there's no traffic on the network, the wait will be the minimum possible; if there's very heavy traffic, the wait can be relatively long.
Because it's possible for two computers to believe that the cable is clear and to start transmitting a message at the same time, collisions can occur, corrupting both messages and requiring both to be retransmitted. The loss of the transmitted messages introduces delay in getting the messages to their destination, increasing latency. LAN adapters in Ethernet networks are required to wait a random time before attempting to retransmit, which increases jitter. -
LAN adapter device driver—The device driver is responsible for controlling the operation of the LAN adapter, giving it messages to send, accepting received messages, and monitoring the adapter for problems. Drivers from different manufacturers use different techniques to decide whether it's possible to hand off or receive messages, and to find out about problems, differences that cause variations in transit time that add to latency and jitter.
-
Protocol stack—Even with the best efforts of the LAN adapter and the device driver, messages can get lost on networks. When they do, the first line of defense responding to the problem will be the protocol stack implementing TCP/IP, SPX/IPX, or NetBEUI. Messages can be lost without notification, though, so protocol stacks have to wait for a timeout period before declaring the message lost. The timeout periods are very long compared to normal latencies, introducing a lot of delay and one of the major sources of jitter.
-
Application software—How the application software handles lost or delayed messages ultimately determines how stringent the latency and jitter requirements on your network will be. Applications insensitive to latency and jitter typically send enough data in every message that dropped messages might cause a skip in what you perceive, but this won't stall the receiving program. More data has to be transmitted in each message to meet that requirement, though, increasing the traffic on the LAN. More sensitive applications actually wait for the receiver to send back a confirmation that each message has arrived. Those applications generate less traffic but can stall completely when a collision causes a message to be dropped.
Ultimately, the source of abnormal latency and jitter on a LAN is collisions on the cable or in the hub. You can reduce the probability of collisions by increasing the network data rate, which reduces the time each message takes to transit the network and also increases the percentage of free time. For a given traffic load, networks running at 100Mbps will have lower latency and jitter than ones at 10Mbps, which in turn will display lower latency and jitter than 1Mbps networks. If videoconferencing or other streaming multimedia applications are important on your network, you'll want to favor the higher-speed technologies.
Collisions are also the reason why you're unlikely to be able to use more than about 80 percent of the transmission data rate on LAN, and you might get far less. Simulations and traffic analysis show that when there are too many collisions, the computers end up spending all their time retransmitting lost messages, and no useful work gets done.