«

TCP/IP 选项TcpTimedWaitDelay设置

时间:2022-10-14 23:33     作者:Anglei     分类: 网络技术


当TCP连接被关闭时,{ Protocol, Local IP, Local Port, Remote IP, Remote Port}五元组就进入TIME_WAIT状态,默认时间是4分钟。可以通过一组命令看看tcp的连接状态:

netstat -ano>>c:\port.txt

本地ip,远程ip,远程端口都是固定的,只有本地端口是变化的,本地端口只能使用1024-5000,因此如果在4分钟内发起了大约4000个连接,这时就会发生异常,下面是使用WCF,客户端的异常:

System.Net.Sockets.SocketException: Only one usage of each socket address (protocol/network address/port) is normally permitted 192.168.101.5:8888
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.Connect(EndPoint remoteEP)
at System.ServiceModel.Channels.SocketConnectionInitiator.Connect(Uri uri, TimeSpan timeout)

TCP有个选项 TcpTimedWaitDelay:

确定 TCP/IP 可释放已关闭连接并重用其资源前,必须经过的时间。关闭和释放之间的此时间间隔通称 TIME_WAIT 状态或两倍最大段生命周期(2MSL)状态。此时间期间,重新打开到客户机和服务器的连接的成本少于建立新连接。减少此条目的值允许 TCP/IP 更快地释放已关闭的连接,为新连接提供更多资源。如果运行的应用程序需要快速释放和创建新连接,而且由于 TIME_WAIT 中存在很多连接,导致低吞吐量,则调整此参数。

Exchange Server 2007 服务器的缺省值是60,http://technet.microsoft.com/zh-cn/library/bb397379.aspx

打开注册表编辑器,如 Regedit.exe 或 Regedt32.exe。

导航到:HKLM\System\CurrentControlSet\Services\Tcpip\Parameters

双击 TcpTimedWaitDelay,然后将“数值数据” 字段设置为 60(十进制)。

关闭注册表编辑器,然后重新启动计算机。

MaxUserPort

描述:

确定在应用程序从系统请求可用用户端口时,TCP/IP 可指定的最高端口号。

如何查看或设置:

使用 regedit 命令访问 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\TCPIP\Parameters 注册表子键并创建名为 MaxUserPort 的新 REG_DWORD 值。停止并重新启动系统。

注:当在 Windows NT 或 Windows 2000 操作系统上调整 erver 时,同时使用这两个参数。

本文完结,相关标签: tcp

 版权所有:Anglei
 文章标题:TCP/IP 选项TcpTimedWaitDelay设置
 除非注明,本站文章如未特殊说明均为 MAXADA社区知识库 原创,且版权所有,请勿用于任何商业用途。

推荐阅读:

看完后感想如何?

路过(0)

雷人(0)

握手(0)

鲜花(0)

鸡蛋(0)
分享到: