Saturday, January 10, 2015

preventing Network Pocket Collisions


Preventing Network Pocket Collisions 

Your 100-Mb network should be blazing along, but users complain that it's slow. Mismatched inter frame gap settings among the network adapters could be the problem. Learn how to fix this by adjusting the TCP/IP protocol and inter frame gap settings. 
Are you not getting the performance you’d expect from a network running at 100 Mb, even though you're using 100-Mb network adapters with TCP/IP as your network protocol? If so, 100-Mb network adapters not adhering to the IEEE 802.3 specification for Ethernet networks could be the cause for this slip in performance. The IEEE 802.3 specification calls for a 96-bit-times inter frame gap between the time the adapter switches from transmit mode to receive mode. 

When adapters that adhere to this specification are used on the same network with adapters that don’t, timing problems occur that eventually cause collisions on the network. This problem is compounded on networks that use the TCP/IP protocol because of the scheme it uses for acknowledging the receipt of data packets. In this Daily Drill Down, I’ll explain how you can solve this problem by adjusting the inter frame gap settings and the way that the TCP/IP protocol works with Windows 2000 Professional and Windows XP Professional clients. 



The inter frame problem in a nutshell 
The IEEE 802.3 specification calls for a 96-bit-times inter frame gap. Basically, this inter frame gap is a period of silence between the moment a particular station sends a data packet across the network and the time that the other station responds. For a 100-b network card, this 96-bit-times inter frame gap comes out to 960 nanoseconds. 

-------------------------------------------------------------------------------- 
Note 
For the sake of comparison, the 96-bit-times inter frame gap is 9.6 microseconds for a 10-Mb network card, 96 nanoseconds for a 1-Gb network card, and 9.6 nanoseconds for a 10-Gb network card. 
-------------------------------------------------------------------------------- 

The inter frame gap is designed to give the adapters involved in the communication time to switch from transmit mode to receive mode. In other words, once a network card has transmitted a data packet, the card needs a few nanoseconds before it is ready to receive a response. 

When it comes to the speed of today’s computer technology, you may think that 960 nanoseconds is a long time—and it is. However, when the specification was first hammered out, using a formula based on 96 bit times was necessary for the network cards of the day to properly switch from transmit mode to receive mode. 

While the 96-bit-times inter frame gap rule has remained set in stone, network cards have continued to evolve as the technology has improved and network speeds have increased. The newer 100-Mb cards no longer actually require a 96-bit-times inter frame gap to switch from transmit mode to receive mode. 

Considering this, some 100-Mb network card manufacturers are ignoring the standard and configuring their products with a much smaller inter frame gap to pump up the data transfer rate. However, other 100-Mb network card manufacturers continue to adhere to the 96-bit-times standard. 

If you're using 100-Mb network cards from the same manufacturer in all the systems on your network, you’ll be fine. But a more common scenario is an organization that uses 100-Mb network cards from multiple manufacturers. If you administer in this type of configuration, it's possible your network is suffering due to an inordinate amount of network collisions caused by differing inter frame gap settings. 

The TCP/IP headache 
While the differences in the inter frame gap settings are a big enough performance problem to deal with, the situation can get worse when you’re using TCP/IP as your main protocol. 

The TCP/IP protocol specification calls for sending an ACK (acknowledgment) for every two data packets that a network station receives. If the network cards in the two systems are using different inter frame gap settings, it’s possible that a network station that has received two TCP/IP data packets could be sending its ACK at the same time the sender station is sending another data packet. This would compound the network collision problem already initiated by the mismatched inter frame gap settings. 

-------------------------------------------------------------------------------- 
Use a protocol analyzer to detect collisions 
If you’re encountering network performance problems, you can easily test your network with a protocol analyzer, or a similar device, to measure collisions, runt packets, or CRC (cyclic redundancy check) errors. Keep in mind that under regular operating conditions, some collisions are normal. But a high percentage of collisions, runt packets, or CR errors indicates a serious performance problem that could very well be related to the differing inter frame gap settings of the various network cards on your network. 

Adjusting inter frame gap settings 
To begin, you need to have on hand a list of all the brands and versions of 100-Mb network cards installed on your network. (This is where a network inventory will come in very handy.) Next, check the network card documentation for a specification on the inter frame gap setting. You may need to contact the manufacturer directly, or via the company's Web site, to track down the inter frame gap setting. Also find out if the network card provides a method of adjusting the inter frame gap setting. 

The goal here is to have all the cards on your network use the same inter frame gap setting. So, if those cards that have nonstandard inter frame gap settings provide a mechanism for adjusting the setting, you’ll want to bring them in line with all of the other cards on your network. 

-------------------------------------------------------------------------------- 
Other terms 
As you’re searching for information relating to your specific network card’s inter frame gap setting, keep in mind that this setting has several aliases. Some manufacturers call it the inter frame space or inter-frame space. I’ve also seen it referred to as the inter packet gap. It also goes by the acronyms IFG, IFS, and IPG. 
-------------------------------------------------------------------------------- 

Adjusting the TCP/IP protocol 
You can also alleviate the problem by adjusting the way the TCP/IP protocol works. As I mentioned, the default configuration for the TCP/IP protocol calls for sending an ACK for every two data packets that a network station receives, which can cause a higher volume of network collisions on a network using network adapters with mismatched inter frame gap settings. The adjustment I’ll explain here will configure the TCP/IP protocol to send an ACK for every data packet received. To do so, you’ll need to edit the registry and add a special parameter called the TcpWindowSize to the TCP/IP key. 

-------------------------------------------------------------------------------- 
Note 
Since editing the registry can be dangerous, consider performing a full backup before you attempt this operation. 
-------------------------------------------------------------------------------- 

To begin, select the Run command on the Start menu and launch the Registry Editor by typing regedit.exe in the Open text box. Once you have the Registry Editor up and running, double-click on the key HKEY_LOCAL_MACHINE. When this subtree is visible, open each of the following subtrees in succession: 

SYSTEM 
CurrentControlSet 
Services 
Tcpip 
Parameters 

Pull down the Edit menu and select New | DWORD Value. Then, assign the new value the name TcpWindowSize and press [Enter] twice. When you see the Edit DWORD Value dialog box, type 2920 in the Value Data text box. Finally, select the Decimal option in the Base panel. Your system will be set to send an ACK with every data packet received. 

-------------------------------------------------------------------------------- 
Note 
Keep in mind that adding this TcpWindowsSize parameter to the registry can degrade network performance for Wide Area Networks (WANs) because there is already some extra latency introduced by this type of connection. 
-------------------------------------------------------------------------------- 

Conclusion 
When you use 100-Mb network adapters from various manufacturers and are using TCP/IP as your network protocol, you might not be getting the performance you’d expect from a network running at 100 Mb due to mismatched interframe gap settings. I’ve explained how to solve the problem by tracking down information on your network cards' interframe gap settings and how to adjust the setting, if needed. In addition, I’ve explained how to alleviate the problem by adjusting the way the TCP/IP protocol works.
Comment Box is loading comments...