相关概念:
在网络技术中, 端口 (Port) 包括逻辑端口和物理端口两种类型.
物理端口指的是物理存在的端口, 如 ADSL Modem, 集线器, 交换机, 路由器上用 于连接其他网络设备的接口, 如 RJ-45 端口, SC 端口等等.
逻辑端口是指逻辑意义上用于区分服务的端口, 如 TCP/IP 协议中的服务端口, 端口号的范围从 0 到 65535, 比如用于浏览网页服务的 80 端口, 用于 FTP 服务的 21 端口等.
由于物理端口和逻辑端口数量较多, 为了对端口进行区分, 将每个端口进行了编号, 这就是端口号
端口按端口号可以分为 3 大类:
* 公认端口(Well Known Port)
公认端口号从 0 到 1023, 它们紧密绑定与一些常见服务, 例如 FTP 服务使用端口 21, 你在 /etc/services 里面可以看到这种映射关系.
* 注册端口(Registered Ports):
从 1024 到 49151. 它们松散地绑定于一些服务. 也就是说有许多服务绑定于这些端口, 这些端口同样用于许多其它目的.
* 动态或私有端口(Dynamic and/or Private Ports)
动态端口, 即私人端口号(private port numbers), 是可用于任意软件与任何其他的软件通信的端口数, 使用因特网的传输控制协议, 或用户传输协议. 动态端口一般从 49152 到 65535
Linux 中有限定端口的使用范围, 如果我要为我的程序预留某些端口, 那么我需要控制这个端口范围.
/proc/sys/net/ipv4/ip_local_port_range 定义了本地 TCP/UDP 的端口范围,
你可以在 / etc/sysctl.conf 里面定义 net.ipv4.ip_local_port_range = 1024 65000
- [root@localhost ~]# cat /proc/sys/net/ipv4/ip_local_port_range
- 1024 65000
- [root@localhost ~]# echo '1024 65535'> /proc/sys/net/ipv4/ip_local_port_range
来源: http://www.bubuko.com/infodetail-2612596.html