If you missed the previous articles in this series please read
So far in this article series, I have shown you how to diagnose a number of connectivity related issues. In this article, I want to wrap things up by talking about how problems with the Windows routing tables can cause connectivity problems.
Throughout this article series, I have talked off and on about routing. Just for the benefit of those who may be new to networking, a router is a device that allows packets to travel from one network segment to another. A router is always connected to at least two network segments, but often times it is connected to many more. That being the case, a router needs some kind of method for figuring out segment to forward a packet to in order for the packet to eventually reach its destination. This is where routing tables come into play.
Routing tables allow routers to make decisions about forwarding packets, but what you might not realize is that there are routing tables built into the Windows operating system as well. You can see these routing tables by opening a Command Prompt window and entering the ROUTE PRINT command, as shown in Figure A.
Figure A: The Windows routing tables
At first, the screen capture above probably looks rather intimidating. One thing that you have to keep in mind though, is that I made the screen capture using Windows Vista. Windows Vista lumps IPv6 routing information in with the standard IPv4 information. If you were to try using the Route Print command using one of the earlier versions of Windows, the IPv6 information would not be present, and the information presented would look a lot simpler.
Even with the IPv6 information present though, the routing information isn’t as complex as it might at first appear. As you can see in the figure, the routing information is divided into three primary sections; the interface list, the IPv4 rout table, and the IPv6 route table. For the purposes of this article, I’m not going to be discussing the IPv6 route table since so few organizations are using IPv6 right now.
The Interface List
The interface list is designed to show you all of the network interfaces that Windows is aware of. I have isolated the Interface List portion of the output in Figure B.
Figure B: The Interface List lists all of the machine’s network adapters
If you look at the figure above, you can see that the first two items on the list correspond to physical network adapters. The fact that these adapters are listed proves a few different things:
Windows is aware of the adapter.
A driver is installed for the adapter.
Windows sees the adapter as a potential path for IPv4 traffic.
The third item shown in Figure B is the loopback adapter. This isn’t a physical network adapter, but rather a logical mechanism that Windows uses for internal communications. The loopback adapter absolutely must be present in order for Windows to work properly. If the loopback adapter is missing, then I would suggest removing the various network components and reinstalling them.
The fourth item on the list shown in Figure B is the 6TO4 adapter. This is a logical mechanism that Windows uses to route IPv6 traffic across an IPv4 network. This mechanism is only present in Windows Vista.
The remaining items on the list indicate that IPv6 is bound to the machine’s two physical network adapters.
The Routing Tables
Although it is sometimes helpful to be able to verify that Windows is acknowledging the existence of your network adapters, it's the routing tables that ultimately make the decisions as to how traffic is to be routed. You can see what the IPv4 routing tables look like in Figure C.
Figure C: Routing table used by IPv4
The routing tables shown above are a little bit more complicated than what you might normally run into because the machine that this screen shot was taken from contains multiple network adapters. Regardless of how your machine is configured though, there are certain entries that should always exist on the routing table. The chart below lists what these entries are, and what they are used for:
Network Destination Address
This is the default route that is used when no other valid routes are found.
This is the loopback address used for internal communications.
This is the local subnet address. In this particular case, this address is specific to my network, because my IP addresses fall within the 147.100.x.x address range. If my network used the more commonly used 192.168.1.x address range, then this value would be 192.168.1.0.
This is the IP address that is bound to my network interface card. Again, this address is specific to my network, but you must have an entry that reflects your IP address.
This is the broadcast address for the subnet. Again, this address is specific to my network. Just to give you an idea of what this address typically looks like though, if you were using the more commonly used 192.168.1.x address range, the address would be 192.168.1.255.
This is the Windows multicast address.
This is the Windows limited broadcast address.
As you can see, some of the addresses in the table above are network specific. If you need help figuring out what these addresses are supposed to be, you can use the IPCONFIG /all command to see how TCP/IP is configured for each of your network adapters. You can use that information to help to determine the addresses that should be used within the routing tables.
Another thing that you must keep in mind is that if your system is using multiple network adapters, then you should have multiple entries for each network specific address. For example, if you look at the figure above, you will notice some entries with the 196.254.x.x address range. These entries correspond to my machine’s second network adapter.
Now that you know what to look for in the routing tables, the real question is what you do if the information found in your routing tables is incorrect or incomplete. In that type of situation, you have two different options. You can either remove and reinstall the Windows networking components, or you can manually reconstruct the routing tables.
If you are interested in reconstructing the Windows routing tables, or just learning more about how they work, and what the various columns in the routing tables mean, then I recommend checking out an article that I wrote called Making Sense of Windows Routing Tables.
In this article series, I have explained that although Microsoft has gone to great lengths to simplify network connectivity, things can and sometimes do go wrong. I then went on to show you how you can use the tools that are built into Windows to troubleshoot various types of connectivity issues.
If you missed the previous articles in this series please read