In the computer world, the term "port" has three different meanings. It may refer to 1) a hardware port, 2) an Internet port number, or 3) the process of porting a software program from one platform to another.
1. Hardware Port
A hardware port is a physical connection on a computer or another electronic device. Common ports on modern desktop computers include USB, Thunderbolt, Ethernet, and DisplayPort. Previous generations of computers used different ports, such a serial ports, parallel ports, and VGA ports. Mobile devices often have only one port. For example, an iPhone or iPad may have a single Lightning connector. Android devices often have a USB-C port.
The purpose of a hardware port is to provide connectivity and/or electrical power to a device. For example, the USB ports on a computer can be used to connect keyboards, mice, printers, or other peripherals. The USB-C port on a smartphone may be used to charge the device and sync it with a PC.
NOTE: A hardware port may also be called an interface, jack, or connector.
2. Internet Port Number
All data transmitted over the internet is sent and received using a specific set of commands, also known as a protocol. Each protocol is assigned a specific port number. For example, all website data transferred over HTTP uses port 80. Data sent over HTTPS uses port 443. Other common ports include:
- Port 20 - FTP (file transfer protocol)
- Port 22 - SSH and SFTP
- Port 25 - SMTP (outgoing email)
- Port 465 - SMTP over SSL
- Port 143 - IMAP (incoming email)
- Port 993 - IMAP over SSL
Port numbers are similar to wireless channels in that they prevent conflicts between different protocols. They also provide a simple way to implement network security measures, since it is possible to allow or block specific protocols.
3. Porting Software
"Port" may also be used as a verb. Porting software means taking an application written for one platform and making it work on another one. For example, a Windows program may be ported to macOS. An iOS app may be ported to Android.
In order to port a program from one platform to another, it must be written for the corresponding hardware and operating system. Programs built using a universal development environment may be relatively easy to port, while programs that rely heavily on an operating system's API may have to be completely rewritten.