TCP Ports

Transmission Control Protocol (TCP) is one of the ways that software programs will communicate with other software programs.

Each computer can have multiple Internet Protocol (IP) addresses. Some of these IP addresses can be seen by the outside world, and some are seen "internally" only. Programs that need to communicate with other programs can use different ports for TCP to access each other. When using software sound modems, a virtual communication port (com port) is creating using the IP address (127.0.0.1, or the localhost) and the port is set to use with the program.

A good analogy would to think of a hotel. The hotel has on phone number for the operator. If you are outside the hotel, you can call the main number and ask for the room number. Each guest has their own room number. So, by calling the main number (or IP Address) and asking for the room number (port number), you can contact the person in that room. When you set a TCP port for a program, that program will listen on that port for any traffic calling for it.

Conflicts occur when there are multiple programs that are using the same TCP port. This would be the same as having two different people checked in the same hotel room. A call to this room would result in confusion because both people are trying to answer the phone.

When using a template in Winlink Express, take a look at the address bar of the browser after the "Submit" button is clicked. The URL will be "localhost:8001". The value "localhost" resolves to the internal IP address of 127.0.0.1, and the value after the colon is the port, in this case 8001. What is happening is that a web server service, or program, is running on your local computer (hotel) and is listening on port 8001 (hotel room). By default, the Direwolf sound modem program uses the internal IP 127.0.0.1 (hotel) port 8001 (hotel room) to create a virtual communication (com) port. Here we have two programs competing for the same hotel room.

What's the solution? It's as simple as having one person change hotel rooms, or setting the port of one software to a different port. It's much easier to change the port in Direwolf, so simply change the port number to something different that isn't being used, such as 8002 or 8003.