版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
<!--一个博主专栏付费入口结束-->
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-d284373521.css">
<div id="content_views" class="markdown_views">
<!-- flowchart 箭头图标 勿删 -->
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path>
</svg>
<p>在一个Linux上跑一个服务,需要指定一个监听端口(系统调用listen),当client请求服务时,系统为该请求建立 tcp连接,该连接的port值是一个随机数字。该数字的取值范围配置在 <br>
/proc/sys/net/ipv4/ip_local_port_range
文件中,我的机器上的内容如下:
32768 61000
- 1
port的最大值其实可以达到65535(2^16 - 1)。
65535这个数字与操作系统无关,不管Linux系统是32位的还是64位的。
这个数字是由网络tcp协议决定的,tcp协议头部中的16位表示端口号,这就决定了其最大值65535,操作系统只能跟着这个限制。