端口
端口的概念
端口有两种含义需要仔细区分:
- 物理端口,指用于连接其他网络设备的接口,比如 RJ-45端口;
- 协议端口,指 TCP/IP 协议中的定义的逻辑端口,用于标识,比如 80 端口。
协议端口
TCP/IP 协议中的协议端口用于解决远程主机进程定位的问题。IP + Port
才能真正定位想要访问的远程服务。
其工作流程如下:
- 进程请求主机系统分配端口;
- 主机系统分配端口;
- 主机收到数据包,根据数据包报文首部的端口号,发送到相应的端口队列;
- 进程取用端口队列中的数据包。
端口其实就是队,操作系统为各个进程分配了不同的队,数据包按照目的端口被推入相应的队中,等待被进程取用,在极特殊的情况下,这个队也是有可能溢出的,不过操作系统允许各进程指定和调整自己的队的大小。 — 端口 - 百度百科
一些常见的端口号:
应用程序 | FTP | TELNET | SMTP | DNS | TFTP | HTTP | HTTPS | SNMP |
---|---|---|---|---|---|---|---|---|
熟知端口号 | 21 | 23 | 25 | 53 | 69 | 80 | 443 | 161 |
参考
- [理解 TCP 和 UDP - gitbook.com](