定义
端口是TCP/IP协议中的概念。为了在一台设备上可以运行多个程序,人为的设计了端口(Port)的概念,类似的例子是公司内部的分机号码。通过IP地址+端口号
来区分不同计算机的不同的应用层
服务。
范围
端口号的范围从0到65535
(2^16),每个端口对应一个唯一的程序。
常见端口号
smtp:25
dns:53
https:443/tcp ,443/udp
HTTP协议代理服务器常用端口号:80/tcp(默认),8080,3128,8081,9080
SOCKS代理协议服务器常用端口号:1080
Telnet(远程登录)协议代理服务器常用端口:23
FTP(文件传输)协议代理服务器常用端口号:21(控制端口)
(FTP的数据端口不一定是20,这和FTP的应用模式有关,如果是主动模式,应该为20,如果为被动模式,由服务器端和客户端协商而定)
常见问题
端口 VS 进程/线程
进程或是线程可同时监听多个端口
socket、端口、进程的关系
为什么有时端口号可以省略?
TCP/UDP根据端口号来确定应用层的应用,比如TCP 80代表WWW,TCP 23代表Telnet,UDP 69代表TFTP。当通过 http 或 ftp 等字段得知具体应用层应用时,TCP/UDP会使用应用层对应的默认端口号,从而省略端口号。
参考文献
https://blog.csdn.net/luckyaslan/article/details/7745245 —IP地址和端口号
https://blog.csdn.net/qq_25184739/article/details/70653216 —常见端口号
https://blog.csdn.net/xufeipeng/article/details/9091593 进程、线程、端口间关系
https://www.cnblogs.com/cyjaysun/p/4415439.html 为什么有时端口号可以省略