修改windows动态端口,释放Time_Wait端口

 标签:动态端口,TIME_WAIT,TCPIP
   修改 | 阅读(3114)| 评论(0)

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


默认的动态端口范围:
在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 秒。


下一篇:无
您的昵称:*
QQ登录(无需注册直接登录可进行回复)
您的邮箱:(填写邮箱,如有回复可进行邮件通知)
验证码:
点击刷新