December 8, 2004

By Karen Kenworthy

IN THIS ISSUE

My parents just left for a holiday cruise! For the next eleven days they'll float on the warm Caribbean, lazily drifting from one fun-filled destination to another. They'll enjoy the high life at Puerto Limon, Montego Bay, Cozumel, and other exotic ports of call ... while their lonely children shiver in dreary land-locked homes. :)

The Internet Protocol

I know they'll be fine. But for them, these are uncharted waters. Suppose a delicate matter involving the User Datagram Protocol arises at the Captain's Table? Or the Purser initiates an exchange governed by the Simple Mail Transfer Protocol? Will they know the right thing to do?

Fortunately, Mom and Dad have a daughter who's a computer programmer. And, as everyone knows, programmers are famous for our knowledge of protocols. :)

No, I won't be much help deciding which fork to use at a formal banquet, or how to address a junior ship's officer. But for all questions of digital etiquette, I'm ready with the answers!

At my fingertips lie well-worn tomes detailing every important computer protocol in use today -- and many that long ago withdrew from polite society. Thanks to the Internet, those same important documents are a couple of mouse clicks away from my computer desktop.

These protocols contain precise rules computers must follow. Many of these rules allow our binary helpers to communicate with one another, sharing workloads and information. Their collaboration makes possible such modern marvels as web sites, e-mail, and of course, pop-up ads.

Before entering digital society, and embarking on a lifetime of data communication, every young, well-mannered computer must first learn the answers to two important questions:

    How should the data's sender and recipient be identified?     How should data be "packaged" before transmission?

The answers are found in one of the most basic, and important, guides to computer conduct -- the "Internet Protocol" (IP). There we learn the subtleties of the "IP Address", and the "IP Datagram".

IP Address

The Internet Protocol insists that all computers connected to the Internet have a unique number, known as its "IP Address". Currently, most IP Addresses are 32-bit binary numbers (more about that in a moment).

A typical IP Address looks like this -- a string of 32 1s and 0s:

    11001111001011101001110011011100

This form is great for our binary buddies. But it's a bit hard on human eyes. Fortunately, our computers display IP Addresses in a form that's easier for you and me to recognize.

They start by separating the address's 32 bits into four groups of eight bits each:

    11001111 00101110 10011100 11011100

Next, computers convert each group of eight bits into its decimal equivalent. Finally a period (".") is inserted between each resulting number. The result is the familiar "dotted quad" form of an IP Address:

    207.46.156.220

[Techie Tidbit: A computer may have more than one IP Address. Often computers performing more than one role, such as servers hosting several web sites, have multiple identities. But every computer that communicates over the Internet must have at least one of these unique numbers.]

IP Datagram

In a moment of whimsy, computer experts named the Internet's standard bundle of bits an "IP Datagram". This part of the Internet Protocol insists that each packet of data sent across the Internet must contain several items, in addition to the actual data being transmitted.

Naturally, each IP Datagram must include the IP Address of the computer who should receive the data. The sending computer's IP Address must be present too, so replies can be delivered correctly. Another required entry, called "Type of Service", indicates the priority a packet should be given when traveling through congested portions of the Internet.

One very interesting part of each IP Datagram is called "Time to Live". This 8-bit binary number specifies a number of seconds. The shortest time to live is 1 second, and the longest is 255 seconds (four minutes and 15 seconds). If a datagram isn't been delivered within the specified time, it is simply discarded. The sender isn't notified of the failure - the data just disappears.

This feature keeps the Internet from filling with undeliverable IP Datagrams. But it also explains some mysterious 'net failures.

Like most things computer, the Internet Protocol has evolved over the years. Today, most computers adhere to "Internet Protocol version 4", or IPv4.

But a new Internet Protocol is in the works. Called IPv6 ("Internet Protocol version 6") it promises several improvements. For example, it expands the size of IP Addresses to 128 bits, allowing many more computers to join the 'net conversation.

IPv6 also does away with the "Time to Live". Instead, datagrams are allowed to make a specified number of "hops", or visits to intermediate computers on the way to their final destination. Like aged datagrams under the IPv4 protocol, IPv6 datagrams that make too many hops are discarded.

The spread of IPv6 has been slow. The protocol first appeared in 1995, and was most recently updated in 1998. Some portions of the Internet, and some private networks, have made the switch to IPv6.

Will the Internet of the future be ruled by the IPv6 protocol? Or some future protocol will supplant it? Perhaps a mixture of IPv4 and IPv6 will prevail? My guess is the latter. The Internet currently carries an assortment of IPv4 and IPv6 datagrams, and is likely to do so for a long time to come. But who knows?

[Nerdy Note: What happened to IPv5? It turns out an enhanced version of the IPv4 Protocol, called the "Internet Stream Protocol", was assigned version number five. The protocol was designed to enhance transmission of video and other high-bandwidth multimedia data. It has not been widely adopted, and is currently classified as an "experimental" protocol, some 25 years after it was first proposed.]

There's a lot more a computer must know. For example, how can the delivery of important datagrams be guaranteed? How does a computer send or receive e-mail, or retrieve pages from the web? And what do the letters ICMP stand for?

For those answers and more, we'll have to wait until our next get- together. But in the meantime, if you'd like to learn more about the Internet Protocol, check out these official specifications:

    Internet Protocol Version 4 (IPv4)     http://www.ietf.org/rfc/rfc791.txt

    Internet Stream Protocol (IPv5)     http://www.ietf.org/rfc/rfc1819.txt

    Internet Protocol Version 6 (IPv6)     http://www.ietf.org/rfc/rfc2460.txt

And if you'd like to learn your computer's IP Address, and lots of other tidbits about your computer's secret life, give a couple of my Power Tools a try. You can download my Computer Profiler from its home page at:

    https://www.karenware.com/powertools/ptprofiler

And learn about your computer's connections and conversations across the Internet from my LAN Monitor. Get your copy from its web page at:

    https://www.karenware.com/powertools/ptlanmon

As always, both programs are free for personal/home use. If you're a programmer, you can download their Visual Basic source code too!

Better yet, get the latest version of every Power Tool on a brand-new, shiny CD. You'll also get three bonus Power Tools, not available anywhere else. Source code of every Power Tool, the text of every issue of my newsletter, and some of my articles written for Windows Magazine, are also included. And owning the CD grants you a special license to use all my Power Tools at work.

Best of all, buying a CD is the easiest way to support the KarenWare.com web site, Karen's Power Tools, and this newsletter! To find out more, visit:

    https://www.karenware.com/licenseme

Until we meet again, if you see my parents on the high seas, or see me on the 'net, be sure to wave and say "Hi!"