在使用计算机或智能手机时,我们使用各种硬件端口,如用于音频、HDMI、Type-c 等的 3.5mm 端口,其用于与硬件外围设备通信。
同样,网络端口可以让我们在一台计算机上访问各种网络服务来达到通信的目的。因此,端口被认为是计算机网络中最基本、最基础的概念。
本文我们将介绍一些网络端口的基础知识、端口的范围以及一些最常见的端口。
什么是网络端口(Network Port)
在以前人们习惯用写信的方式交流的时候,如果想要收到别人发给你的信件,首先你需要有一个收信地址,这是一个必要条件。
在现在,信件可以被视为你需要接收的应用程序数据,而收信地址就是应用程序的端口号。这就是端口号的一个基本功能。
那么,我们的计算机应该不会只使用一个应用程序服务,在计算机后台会同时运行多个服务,因此我们需要使用多个端口号。现实中,端口号的范围是从 0 到 65535。
这些端口号,根据用途可分为三个类别(范围):
- 系统端口(0 - 1023):这些端口是众所周知的端口,由IANA(互联网数字分配机构,Internet Assigned Numbers Authority)分配给特定服务;
- 注册端口(1023 - 49151):这些端口被称为用户端口,可用于注册IANA。注册是为了避免端口冲突;
- 动态端口(49152-65535):动态端口可以分配给服务一段时间,主要由客户端程序使用。
传输协议
传输协议,最基本的理解是,它负责建立连接,并确保数据传输无误。
通常,我们使用两种类型的协议:TCP 和 UDP
TCP
它代表传输控制协议,是面向连接的协议,这意味着一旦使用它建立了连接,数据就可以实现双向传输。
TCP有一个内置机制,可以保证无错误地传递数据。这使得它非常适合发送图像、数据、网页、视频等。
UDP
它代表用户数据报协议,与TCP相比更简单,不包括错误检查和恢复服务。
它比TCP更快,不适合发送图像、视频等数据,是广播式传输,主要用于视频会议、流媒体、DNS、VoIP等。
常用网络端口
下面我们列一下在默认情况下,最常用的几个端口。
FTP - 21
端口 21 用于FTP(文件传输协议),其主要用途是在客户端和服务器之间交换文件。
默认情况下,FTP 传输不会加密,因此会有一定的风险。
SSH - 22
端口 22 一般用于 SSH 服务。高级用户或系统管理员广泛使用SSH(Secure Shell)访问远程计算机;但是你也可以使用 SSH 通过网络传输数据。
SSH使用加密技术,确保远程服务器和计算机之间的连接是加密的。
TELNET - 23
TELNET代表终端网络。它用于通过互联网或本地计算机连接计算机,并提供双向交互式面向文本的通信。
但是,TELNET不提供任何类型的加密,这是它仅用于连接本地机器的主要原因。
SMTP - 25
简单邮件传输协议(SMTP)用于发送邮件,但无法接收邮件,因为它无法在接收点对邮件进行排队。
因此它通常与其他协议(如POP3或IMAP)配对以接收消息。
DNS - 53
DNS 默认端口号为 53,它将域名转为 IP 地址。因此,你可以在浏览器地址栏中输入域名,而不需要记住其 IP 地址。
DNS在端口53使用TCP和UDP,但默认情况下,它使用UDP,并且只有在无法使用UDP通信时才会切换到TCP。
DHCP - 67,68
动态主机配置协议(DHCP,Dynamic Host Configuration Protocol)主要用于为计算机分配动态IP地址。它还提供其他网络地址,如子网掩码、默认网关和DNS地址。
它使用两个UDP端口:67和68。端口号67由服务器使用,而68由客户端使用。
HTTP - 80
大家应该比较熟悉HTTP(超文本传输协议)这个名称,它用于在web上传输数据,还定义了浏览器如何与网站交互。
简单地说,我们使用HTTP发送和接收来自web服务器的页面请求。
POP3 - 110
我们前文提到过,POP3(邮局协议版本3)主要用于从远程服务器或本地计算机接收邮件。
Portmapper - 111
Portmapper服务构建在RPC之上,需要在客户端和服务器端运行NFS。由于它是通过RPC构建的,因此它在端口 111 上使用 TCP 和 UDP 协议运行。
NTP - 123
网络时间协议(NTP,Network Time Protocal)是最古老但对运行服务器至关重要的协议之一。它通过UDP构建,使用端口号123。
NTP之所以至关重要,是因为它用于同步时间,同步时间不仅方便,而且对于运行各种应用程序也至关重要。
NetBIOS - 137
网络基本输入/输出系统(NetBIOS,Network Basic Input/Output System)是一种网络服务,它使各应用程序能够通过本地网络相互通信。
IMAP - 143
Internet消息访问协议(IMAP,nternet Message Access Protocol)默认为非加密端口,允许您从任何设备访问电子邮件。
IMAP允许你阅读邮件,但默认情况下不允许你在本地下载或存储邮件。
SNMP - 161, 162
简单网络管理协议(SNMP,Simple Network Management Protocol)是网络监控协议的集合。
它主要用于监控防火墙、服务器、交换机和其他网络设备。
HTTPS - 443
超文本传输协议安全(HTTPS)顾名思义,是HTTP的安全版本。它是在web浏览器和网站之间发送数据的主要协议。
它提供了强大的加密功能,受到全球数百万用户的信任和使用。
基于 SSL 的 IMAP - 993
您可以将其视为更安全的IMAP版本,因为IMAP流量将通过安全套接字(socket)到达安全端口。
当我们使用主动加密时,它使用993端口,确保我们在互联网上的安全和隐私。
如下表格是对常用端口及其协议的一个整理:
端口号 | 应用程序 | 使用协议 |
21 | FTP | TCP |
22 | SSH | TCP |
23 | TELNET | TCP |
25 | SMTP | TCP |
53 | DNS | TCP,UDP |
67,68 | DHCP | UDP |
80 | HTTP | TCP |
110 | POP3 | TCP |
111 | Portmapper | TCP, UDP |
123 | NTP | UDP |
137 | NetBIOS | UDP |
143 | IMAP | TCP, UDP |
161,162 | SNMP | TCP, UDP |
443 | HTTPS | TCP |
对于计算机网络来说,端口是其最基本的知识,所以我们简单整理了本文。