什么是端口
TCP和UDP协议都存在一个叫做端口的东西,但端口却不是IP协议的一部分。
端口被设计出来主要是为了给协议栈和应用对应:
- 协议栈用端口号将数据分配给不同的应用层程序
- 应用层程序用端口号去区分不同的连接
TCP和UDP协议都使用了端口号(Port number)的概念来标识发送方和接收方的应用层。 对每个TCP连接的一端都有一个相关的16位的无符号端口号分配给它们。 即使是UDP这种没有连接的协议,依旧有一个16位的无符号端口号。 可能的、被正式承认的端口号有 2^16 -1 = 65535 个。
多数服务或者协议都有自己的默认使用端口. 例如web我们一般只用写域名就可以了,不用带端口号, 这是因为web我们默认都走80端口了.
我们平时开发难免会有自己开发的程序占用了某些服务的默认端口号.
所以我这里整理了我知道的一些服务用的端口号.这样我们在自己开发程序使用端口时,就可以避免有些时候端口冲突了.
特别说明:这里只是建议不要使用已经被其他标准定义了的端口,按道理,自己的系统想用哪个端口就用哪个.没有任何限制.
端口号整理
服务名 | 默认端口号 | 说明 | 备注 |
---|---|---|---|
ssh | 22 | linux远程连接端口 | |
http | 80 | http服务默认端口,浏览器在访问http服务器时会默认走80端口 | |
https | 443 | https服务默认端口,浏览器在访问https服务器时会默认走443端口 | |
mqtt | 1883 | mqtt协议默认端口 | |
MySQl | 3306 | mysql数据库 | ---- |
MongoDB | 27017 | MongoDB数据库 | ---- |
服务器SIP端口 | 57030 | SIP服务器的端口为57030 | GB28181报文使用 |
本地SIP端口 | 60719 | 本地SIP端口为60719 | GB28181报文使用 |