Windows7 动态端口,端口重用,动态端口取值范围 (适用于win8和vista)

本文探讨了在Windows 7系统中遇到的TCP端口数量限制问题,详细介绍了如何通过命令行工具调整动态端口范围及优化端口重用机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在研究TCP端口限制问题,在win7客户端上做测试,结果发现tcp连接数达到16360多点就连不上去了,后来通过DOS下的netstat -a -n 命令,看到客户端使用的端口号是从49152-65535这一段,而49152之前的都没有使用(在windows8)。

现将修改开始端口号的方法摘录如下:

默认的动态端口范围:
    在Windows vista和windows server 2008以前的系统中动态的客户端端口范围是1025到5000;在Windows vista和windows server 2008中,为了遵守IANA的推荐,把范围扩展成49152到65535。在Windows vista和windows server 2008的环境中,可以用如下命令查看这些配置:
netsh int ipv4 show dynamicport tcp
netsh int ipv4 show dynamicport udp
netsh int ipv6 show dynamicport tcp
netsh int ipv6 show dynamicport udp
使用如下命令可以重新配置:
netsh int <ipv4|ipv6> set dynamic <tcp|udp> start=number num=range
简单的例子如下:
netsh int ipv4 set dynamicport tcp start=10000 num=1000
netsh int ipv4 set dynamicport udp start=10000 num=1000
netsh int ipv6 set dynamicport tcp start=10000 num=1000
netsh int ipv4 set dynamicport udp start=10000 num=1000
如上所示,可以为每种传输层协议及每个版本的IP协议进行单独的设置,start的最小值是1025,num指的是范围,最小值是255。

通过注册表配置动态分配端口的最大值:
在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters里加上如下的键值:
Value Name: MaxUserPort
Value Type: DWORD
Value data: 65534
Valid Range: 5000-65534 (decimal)
Default: 0x1388 (5000 decimal)
Description: This parameter controls the maximum port number that is used when a program requests any available user port from the system. Typically, ephemeral (short-lived) ports are allocated between the values of 1024 and 5000 inclusive. After the release of security bulletin MS08-037, the behavior of Windows Server 2003 was changed to more closely match that of Windows Server 2008 and Windows Vista

端口重用
此外,每个动态分配的端口号在连接关闭后,需要等待一段时间才能重新使用,可以在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters中加上如下的键值来配置:
TcpTimedWaitDelay
项:Tcpip\Parameters
数值类型:REG_DWORD - 时间(以秒为单位)
有效范围:30-300(十进制)
默认值:0x78(十进制 120)
描述:此参数确定连接在关闭时保持 TIME_WAIT 状态的时长。只要连接处于 TIME_WAIT 状态,便不能重新使用套接字对。此状态又称为“2MSL”状态。根据 RFC793 规范,此值应是网络上最大段生存期的两倍。有关更多信息,请参见 RFC793。注意:在 Microsoft Windows 2000 中,它的默认值为 240 秒。而在 Windows XP 和 Microsoft Windows Server 2003 中,IPv4 堆栈的默认值已更改为 120 秒,以便提高性能。IPv6 堆栈的默认值为 240 秒。

转自:

http://blog.chinaunix.net/uid-116213-id-3150158.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值