What is a Port?
To the uninitiated or the otherwise-gifted computer user, technical geek-speak can be rather frustrating and aggravating. When instructions are filled with such things as "port," "TCP," "UDP," and other acronyms or technical terminology, the user feels more isolated and rarely finds a solution or comprehension. Fortunately, comprehension is just moments away.
Picture a bay where there are lots of private boats are docked. The overall location is called a seaport, literally a port at or on the sea. Everyone wanting to dock there—requesting landing services—uses the same port. Seaports work with berth numbers assigned to individual boats. The port name and the berth number combine into the "who, what, and where" of boat identification.
In geek-speak, berth numbers on the Internet are Internet Protocol or IP addresses, a user's numerical identifier on the Internet. Depending on connection type and service provider, a user's IP address may or may not remain the same with each connection to or "docking" on the Internet.
A computer port is a type of electronic, software- or programming-related docking point through which information flows from a program on your computer or to your computer from the Internet or another computer in a network. (A network, by the way, is a series of computers that are physically or electronically linked.)
In computer terms, a computer or a program connects to somewhere or something else on the Internet via a port. Port numbers and the user's IP address combine into the "who does what" information kept by every Internet Service Provider.
Ports are numbered for consistency and programming. The most commonly used and best known ports are those numbered 0 to 1023 dedicated for Internet use, but they can extend far higher for specialized purposes. Each port set or range is assigned specialized jobs or functions, and that's generally all they do. Usually, all identical system services or functions use the same port numbers on the receiving servers.
For example, all computers accessing or requesting Quote of the Day will always use port 17, because that port is officially reserved for that purpose, and only requests for that service use port 17. Outgoing information is channeled through a different or private port, keeping the "incoming line" open for others. Email received on a local computer generally uses a TCP port 25. File Transport Protocol or FTP uses port 21, to name only a few port assignments.
TCP stands for Transmission Control Protocol, and UDP is the abbreviation for User Datagram Protocol. Both pertain to data transmissions on the Internet, but they work very differently.
TCP is considerably more reliable. It is connection-based transmission of data. There must be anchored points between sending location to receiving location, and data A that is sent first will always arrive at the destination prior to data B which was sent second. The only transmission that fails is one that is broken (for instance, if the transmitting point's Internet connection was lost or a receiver's website is down or an email address is no longer valid. The email server is the receiving point that counts there—not the user name.)
UDP is connectionless protocol. Data is sent regardless of the receiving destination's status. Unfortunately, there is no guarantee that the data will ever be received, in what order, or in what condition.
An example between the two might involve mailing two sets of two letters. Set A comprises Letters 1 and 2. Set A is sent via the postal service called TCP that has a permanent, pre-defined route with no derivation. Letters 1 and 2 will arrive, and they'll arrive in order.
Meanwhile, Set B comprises Letters 3 and 4 which were sent on chronological days via the postal service nicknamed UDP. Because they were sent with the routing and delivery instructions, "Get there when you can by whatever route you might find—maybe. Just do the best you can," Letter 4 arrives torn, water-stained, bent, folded, and generally well mutilated; Letter 3 never shows up at all and is never returned to the sender.
Another difference between TCP and UDP surrounds data streaming. Data sets sent via TCP are sent seamlessly; there is no separation between bits of data which allows for a smoother viewing or listening experience.
UDP streaming data sets or packages are guaranteed to arrive, but they do so individually. Slightly lagging or jerking pictures or sound may result as each separately arriving package is received, read, and played. While seeming to contradict the above, the difference is in the data "packaging" aspect. Bits of data, those individual letters, aren't guaranteed to arrive or in what shape. The streaming data is packaged "in bulk," and boxes are sent, not envelopes. The streaming data "boxes" are sent along more reliably, and if they're requested, they'll be delivered. Consider the delivery of a higher priority, air travel versus ground transportation or certified mail versus standard mail.
The previously uninitiated in geek-speak can comfortably brag that they no longer take any port in a computer storm, metaphorically speaking, but they know whether to have a program transmit or receive via a TCP or a UDP connection, which is progress, indeed.
Port Range Groups
0 to 1023 - Well known port numbers. Only special companies like Apple QuickTime, MSN, SQL Services, Gopher Services and other prominent services have these port numbers.
1024 to 49151 - Registered ports; meaning they can be registered to specific protocols by software corporations.
49152 to 65536 - Dynamic or private ports; meaning that they can be used by just about anybody.