TCP/IP: Pings, POPs and KISSes
Original text taken from a composition by Steve Ford, WB8IMY, (Copyright 1992 by the American Radio Relay League, Inc., All rights reserved.), plus Brian Kantor's IP Address Coordinator Listings, and a list of TCP/IP software sources (author unknown)
If you're an active packeteer, sooner or later someone will bring up the subject of TCP/IP--Transmission Control Protocol/Internet Protocol. Of all the packet networking alternatives used on the air today, TCP/IP is the most popular.
Despite its name, TCP/IP is more than two protocols; it's actually a set of several protocols. Together they provide a high level of flexible, "intelligent" packet networking that isn't possible with AX.25. At the time of this writing, TCP/IP networks are local and regional in nature. For long-distance mail handling, TCP/IP still relies on traditional AX.25 NET/ROM networks. Even so, TCP/IP enthusiasts see a future when the entire nation, and perhaps the world, will be linked by high-speed TCP/IP systems using terrestrial microwave and satellites.
Sending Mail with TCP/IP
With TCP/IP you can send local and regional mail efficiently and reliably. You need only prepare the message and leave it in your own TCP/IP "mailbox." Within seconds your computer will attempt to make a connection to the target station and deliver the message directly. There are no PBBSs involved. The message packets simply travel through the network until they reach the other station. While this is taking place, you can talk to, or receive mail from, another station. If you're fortunate enough to own Windows, DESQview or similar multitasking software, you can leave the TCP/IP program entirely and play a game or write a letter while your message is being delivered!
Before sending a message to another station, it's possible to use TCP/IP to see if the station is actually on the air. You use the ping function, which stands for Packet Internet Groper. I like to think of it as the sonar pings used by ships and submarines to find out what's in the water around them. It works in nearly the same manner, but it's much more specific! If I want to find out if WS1O is available on the network, I just ping him as follows:
Note that TCP/IP is case sensitive. That is, the use of upper- or lower-case letters is important. Most TCP/IP commands are lower-case. If WS1O has his station on the air, I'll see:
22.214.171.124: echo reply id 0 seq 61531, 7000 ms
This cryptic line merely confirms that WS1O is on the air. His TCP/IP address is shown (126.96.36.199) along with the time it took to send the ping from my station to his (7000 ms or 7 seconds). It lets me know that the mail I send now will arrive at his station within a reasonably short period of time.
If you want to send mail to hams in cities outside your TCP/IP network, you'll need to post it on an AX.25 bulletin board. Some AX.25 PBBSs feature special ports that allow TCP/IP users to connect to the system. If your local PBBSs doesn't have a TCP/IP port, don't worry. Your TCP/IP software provides a means to communicate with AX.25 stations (and vice versa). As TCP/IP networks expand, you'll be able to reach hams in distant cities without having to resort to the AX.25 mail forwarding system.
What if someone tries to send mail to you when you're not on the air? If they can't connect to your station, their computer will hold the message and try again later. Many TCP/IP packeteers also use Post Office Protocol (POP) servers to hold incoming mail when they're not on the air. When they activate their stations, the TCP/IP software sends an inquiry to the POP server to see if any mail is waiting. If mail is available, it's transferred automatically!
Shooting the Breeze with TCP/IP
Talking to another station on a NET/ROM network can be a difficult proposition--especially if the station is distant. You can only hope that all the nodes in the path are able to relay the packets back and forth. If the one of the nodes becomes unusually busy, your link to the other station could collapse. Even when the path is maintained, your packets are in direct competition with all the other packets on the network. With randomly calculated transmission delays, collisions are inevitable. As a result, the network bogs down, slowing data throughput for everyone.
TCP/IP has a unique solution for busy networks. Rather than transmitting packets at randomly-determined intervals, TCP/IP stations automatically adapt to network delays as they occur! As network throughput slows down, active TCP/IP stations sense the change and lengthen their transmission delays accordingly. As the network speeds up, the TCP/IP stations shorten their delays to match the pace. This kind of intelligent network sharing virtually guarantees that all packets will reach their destinations with the greatest efficiency the network can provide. With TCP/IP's adaptive networking scheme, you can chat with a ham in a distant city and rest assured that you're not overburdening the system. Your packets simply join the constantly moving "freeway" of data. They might slow down in heavy traffic, but they will reach their destination eventually. (This adaptive system is used for all TCP/IP packets, no matter what they contain.) If you want to check the status of your target station--and the path between--just use the ping function as we discussed earlier.
Swapping Files via TCP/IP
TCP/IP really shines when it comes to transferring files from one station to another. By using TCP/IP, you can connect to another station and transfer computer files--including software. As you can probably guess, transferring large files can take time. With TCP/IP, however, you can still send and receive mail or talk to another ham while the transfer is taking place!
To transfer a file from one station to another, you use the File Transfer Protocol, or FTP. We already know that WS1O is on the air. Let's set up an FTP link with his computer and grab a file.
When the link is established, my terminal displays:
220 ws1o.ampr.org FTP version 890421.1e ready at Sat Aug 13
Now I'm ready to log in. At the command prompt I send:
My terminal displays WS1O's response.
331 Enter PASS command
No problem. Most systems allow you to use your call sign as the password.
When I see 230 Logged in, it's time to check his computer to see what he has to offer. All I have to do is send dir and my screen displays:
200 Port command okay 150 Opening data connection for LIST\public
switch.map 1,500 19:57 06/19/92
tcp/ip.doc 10,000 02:30 07/01/92
space.exe 20,000 22:25 07/16/92
3 files 13,617,152 bytes free. Disk size 33,400,832 bytes
Get complete, 200 bytes received
Whew! It looks complicated at first glance, doesn't it? All it's telling you, though, is that WS1O has three files available for transfer. The name of each file is shown along with its size and the date it was placed on his disk. If you have some experience with computers, this may look familiar. (You've just issued the "directory" command that's common to most machines.) I happen to know that "space.exe" is a game that WS1O has written for my particular computer. Regardless of whether it's an ASCII or binary file, I can transfer a copy by simply using the get command.
In response, I'll see:
200 Port command okay
150 Opening data connection for RETR space.exe
As I've already pointed out, the transfer may take several minutes, especially if WS1O is distant or the network is busy. That's okay because I can spend the time sending mail to other amateur friends in the area. When the transfer is complete, my screen displays:
Get complete, 20,000 bytes received
226 File sent ok
Great! The transfer was a success. I can send a file to his station using the put command, or I can close the link and go play the game!
FIN wait 1
Most TCP/IP networks depend on dedicated switches to move data through the system. NET/ROM nodes are also used when necessary. Like NET/ROM nodes, TCP/IP switches communicate with each other over high-speed backbone links on the 222- or 420-MHz bands. Many TCP/IP packeteers access their local switches on the 2-meter band with 144.91 MHz being a popular frequency. Access on 2 meters currently takes place at a data rate of 1200 bit/s. However, TCP/IP switches use backbone links to relay data throughout the network at rates of 9600 bit/s or higher.
When you try to contact another station using TCP/IP, all network routing is performed automatically according to the TCP/IP address of the station you're trying to reach. In fact, TCP/IP networks are transparent to the average user. Your packets may flow back and forth through several switches and you won't even know it!
On conventional NET/ROM networks, access to backbone links is restricted. This isn't true on TCP/IP. Not only are you allowed to use the backbones, you're actually encouraged to do so! If you have the necessary equipment to communicate at the proper frequencies and data rates, you can tap into the high-speed TCP/IP backbones directly. By doing so, you'll be able to handle data at much higher rates. This benefits you and everyone else on the network.
What Do I Need to Run TCP/IP?
You'll be pleased to know that you can join the TCP/IP community with the packet equipment you probably own already. In terms of hardware, all you need is a computer (it must be a computer, not a terminal), a 2-meter FM transceiver and a TNC with KISS capability.
What in the world is KISS? KISS stands for Keep It Simple, Stupid and most modern TNCs and MCPs have this feature. When you place your TNC in the KISS mode, you disable the AX.25 protocols and reduce the unit to a basic packet modem. All of the incoming and outgoing data will be processed directly by your computer, not your TNC.
As you might guess, the heart of your TCP/IP setup is software. The TCP/IP software set was written by Phil Karn, KA9Q, and is called NOSNET or just NOS. The program is available for IBM-PCs and compatibles, Apple Macintoshes, Atari STs and Commodore Amigas. NOS takes care of all TCP/IP functions, using your "KISSable" TNC to communicate with the outside world.
The only other item you need is your own IP address. Individual IP Address Coordinators assign addresses to new TCP/IP users. All you have to do is contact the coordinator in your area.
It sounds almost too simple, doesn't it? Well, learning a new protocol such as TCP/IP presents a challenge to some. There's a completely different set of abbreviations and "buzz words" that you'll need to know. It also takes some time to completely set up the NOS software and get it running properly. Most experienced TCP/IP users are more than glad to help you solve any problems. -- WB8IMY
AMPRNet IP address coordinators
TCP/IP Software Sources
The various versions of TCP/IP software may be obtained from the following sources:
IBM-PC/MS-DOS version of NET is available from:
Tucson Amateur Packet Radio (TAPR)
8987-309 East Tanque Verde Rd
Tucson, AZ 85749,
(817) 383-0000 (voice mail)
(817) 566-2544 (FAX)
Apple Macintosh version of NET is available from:
Doug Thom, N6OYU, c/o Thetherless Access Ltd.
1405 Graywood Dr,
San Jose, CA 95129-2210
Atari ST version of NET is available from:
Mike Curtis, WD6EHR
7921 Wilkinson Av.
N. Hollywood, CA 91605-2210
Commodore Amiga version of NET is available from:
John Heaton, G1YYH
MCC Network Unit
Oxford Rd, Manchester M13
There's typically a nominal fee charged to cover the cost of disk(s) and postage, so send an SASE first to find out what is required. Also, some versions of TCP/IP software may be downloaded from CompuServe's HamNet library 9.