Previous Table of Contents Next


Protocols

Your computer “talks” through its network card, but, unfortunately, technology has not advanced to the point where it can speak English quite yet. Instead, your computer uses a more primitive language—a protocol with a much more limited vocabulary. This protocol is most likely either TCP/IP, NetBEUI, or IPX/SPX. You can think of these protocols as languages on a telephone; just as your telephone doesn’t care whether you speak German or French, your network card doesn’t care whether your computer and the programs that live in it speak TCP/IP or IPX/SPX.

Parlez Vous TCP/IP?

The good news is that you don’t have to know much about protocols to troubleshoot—most of the time, your problems won’t be protocol related, because protocols are rather simple and well defined. For example, TCP/IP has been around for more than 20 years (a huge life span in computer years), and its feature additions have been rather modest. This means that unlike a typical desktop application, TCP/IP has had an opportunity to stabilize.

This, among other factors, makes TCP/IP (short for Transmission Control Protocol/Internet Protocol) pretty much the universal language of network protocols. The Internet has made TCP/IP a household appliance, which means you probably already know something about it. For instance, you probably know that a TCP/IP host name is something like myhost.mycompany.com, and a TCP/IP address looks something like 167.195.160.6.

What’s with the three-dotted address? After all, didn’t I just say that an address is a six-byte hexadecimal number? Well, it is for network cards, but it isn’t for protocols. Just as your telephone number sounds a bit different when you say it in French, your network address is different when you “say” it in TCP/IP. Although they look different, there is a distinct relationship between a TCP/IP address and a MAC address. They are both, for their own purposes, the “telephone number” of your network card; it just depends what language you’re speaking at the moment.

TCP/IP addresses are always four numbers between 0 and 254 that are represented in the decimal system you know and love. These addresses are typically assigned by an administrator. An administrator’s task is to assign unique addresses to each computer on his or her network.


Why should there be two different addresses? Since the OUI is guaranteed to be unique, why not just represent the TCP/IP address in decimal? Long ago, network cards did not all have unique IEEE-distributed MAC addresses; some were limited to 254 addresses! Because of this, using the MAC address for a TCP/IP address in a large network was not practical, so TCP/IP designers invented a method of translating a MAC address into a larger, more unique value. This obviously isn’t necessary with today’s MAC addresses, but this translation hangs on to this day.


Duplicate TCP/IP addresses can make your TCP/IP-dependent programs stop functioning. If you assign your own TCP/IP addresses, be sure to keep them unique.


DHCP (Dynamic Host Configuration Protocol) server programs can dynamically hand out IP numbers to computers. This can be a blessing or a curse—would you like it if your phone number changed every few days? On the other hand, DHCP automates the addressing process and tends to eliminate address-duplication errors. You can find practical troubleshooting information on DHCP in Hour 11, “Windows Networking Basics.”

Like a phone number, TCP/IP has its network number (or “area code”) built right into it. Unlike a phone number, though, the “area code” is the longer part of the number. The shorter part of the number (referred to as the node or host number) is the local phone number, with the first part of the address referring to the “area code,” known as the network number. Because TCP/IP network numbers don’t have to be a specific length, the length of the network number is calculated with a network mask, a number that mathematically specifies how long the network number is.

Fortunately, most small TCP/IP networks have the same network mask, so you can calculate your network numbers just by following an example rather than engaging in horrible binary arithmetic.


The most common use of a network mask in troubleshooting is during configuration verification. Because an incorrect network mask can cause a workstation to malfunction, making sure that a problem PC’s network mask is the same as the others is important.

For a network mask whose numbers are all 255, it’s pretty easy. Simply write down the IP number with the network mask beneath it; each number that matches up to a 255 is a network number. The remaining number is the node number. (See Figure 1.3 for an example of this.)


Figure 1.3  When figuring out a node number where the mask numbers are all 255, just block (or mask) the network numbers by the corresponding instances of 255 in the mask. The result is your node number.

Consider a server whose IP number is 192.168.5.10, with a network mask of 255.255.255.0. The network number you get from this is 192.168.5.0, and the node number is 10. Because most simple TCP/IP networks work this way, the binary mani-pulations for more unusual network masks may be left for those who enjoy pain.

Although the concept of network masks and network numbers might seem ugly at first, you really do need to know which portion of your TCP/IP address is your network number. This way you can document it, which, in turn, means that you can troubleshoot it when you need to. These concepts aren’t so terrible once you get used to them, so hang in there. (It’s the price you pay for being able to “dial out” of your neighborhood.)


Previous Table of Contents Next