端口号的用途
了解端口如何将流量引导到主机上的正确服务
端口号的用途 是 CoddyKit 上的免费 Network+ Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Network+ Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Network+ Academy 课程共包含 4 节课。
一台主机,多个服务
一台设备通常会同时运行多个网络服务——Web 服务器、邮件服务器和文件共享服务。端口号为每项服务提供独立的入口,使一个 IP 地址能够承载多个服务。
IP 地址负责将数据包送到正确的主机;端口号负责将数据包送到该主机上的正确应用程序。
套接字:IP 加端口
将 IP 地址与端口号组合起来,就得到一个套接字,也就是连接的唯一端点。例如,192.168.1.10:443 是该主机上 HTTPS 使用的一个套接字。
一个连接由一对套接字标识——源端和目标端。主机正是通过这种方式区分成千上万个同时进行的通信会话。
192.168.1.10:443 <- IP : port = socket端口号范围
端口号是 16 位数值,范围为0 到 65535。因此,每种协议都有 65,536 个可用端口(TCP 和 UDP 各自拥有完整的端口范围)。
如此大的范围可以确保主机在同时处理大量连接时不会耗尽端口。
知名端口
0 到 1023 号端口称为知名端口,专用于常见的标准化服务。HTTP 使用 80,HTTPS 使用 443,SSH 使用 22。
这些分配由 IANA(互联网号码分配机构)管理,因此客户端始终知道默认情况下在哪里找到指定服务。
注册端口
1024 到 49151 号端口称为注册端口,根据申请分配给特定应用程序,例如 MySQL 使用 3306,RDP(远程桌面协议)使用 3389。
它们的管控不如知名端口严格,但仍有助于避免广泛使用的应用程序之间发生冲突。
动态临时端口
49152 到 65535 号端口是动态端口或临时端口。操作系统会临时为连接的客户端一侧分配其中一个端口。
当您的浏览器连接到 443 端口上的 Web 服务器时,您的计算机会使用一个随机的高位临时端口作为源端口;连接结束后,该端口会被释放。
源端口与目标端口
每个连接都有两个端口。目标端口标识要访问的服务(例如 HTTPS 使用的 443)。源端口是该通信会话使用的客户端临时端口。
这种端口配对让主机能够区分指向同一服务的多个连接,因为每个连接使用不同的源端口。
默认端口为何重要
默认端口让客户端无需指定端口号即可连接。输入网址时,系统会在后台使用 80 或 443 端口。在非标准端口上运行服务,则意味着必须明确告知客户端端口号。
有些管理员会更改默认端口,以通过隐蔽性获得有限的安全性,但此后必须同步更新防火墙和相关规则。
防火墙规则中的端口
防火墙主要根据端口号允许或阻止流量。允许 TCP 443 的规则会放行 HTTPS,同时阻止其他服务。
关闭未使用的端口可以缩小主机的攻击面。因此,理解端口对于连接配置和安全配置都至关重要。
监听端口与开放端口
准备接受连接的服务被称为在其端口上监听,此时该端口被视为开放。关闭的端口没有服务等待连接。
攻击者会扫描开放端口,以寻找可攻击的服务。因此,技术人员会审查哪些端口处于开放状态,并关闭所有不需要的端口。
端口将各部分联系起来
端口号是位于 IP 之上的寻址层,负责将数据定向到正确的应用程序。借助端口,一台主机才能承载多个服务。
现在您已经理解端口的概念,可以继续学习下一课中日常协议使用的具体端口号。
快速检查
回忆端口范围。
回顾
您了解了端口号的用途。
- 端口让一个 IP 主机承载多个服务;IP 加端口等于一个套接字。
- 每种传输协议的端口范围都是0 到 65535(16 位)。
- 知名端口:0-1023;注册端口:1024-49151;动态端口:49152-65535。
- 目标端口标识服务;源端口是客户端使用的临时端口。
- 防火墙主要根据端口允许或阻止流量。
常见问题解答
「端口号的用途」课时是免费的吗?
是的 — 「端口号的用途」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Network+ Academy 课程的其余内容,请升级到 CoddyKit PRO。 Network+ Academy 课程共包含 4 节课。
「端口号的用途」这节课中我会学到什么?
了解端口如何将流量引导到主机上的正确服务 你通过在浏览器中直接运行的动手代码来练习 Network+ Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Network+ Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Network+ Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「端口号的用途」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Network+ Academy 课中编写并运行代码吗?
能。每节 Network+ Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。