none
请教一下AutoReusePortRangeStartPort和AutoReusePortRangeNumberOfPorts参数! RRS feed

  • 问题

  • 尊敬的微软工程师,

    使用powershell命令Get-nettcpsetting后有AutoReusePortRangeStartPort和AutoReusePortRangeNumberOfPorts

    我想知道这两个参数具体作用?使用netsh命令能否查询和修改到这两个参数?


    谷青松


    • 已编辑 谷青松 2020年10月14日 3:02 修改文字内容
    2020年10月14日 3:02

答案

  • Hi ,

    这两个参数主要是用于避免TCP临时端口耗尽的时候,导致系统奔溃死机等情况,启用这两个参数,应用程序可以重新使用临时端口,而不必等待TIMED_WAIT状态过期。

    windows server 2016默认支持auto-reuse port range功能。智能端口的范围是从端口1024到65535端口。

    命令使用方法如下格式:

    Set-NetTCPSetting –SettingName InternetCustom -AutoReusePortRangeStartPort 40000 -AutoReusePortRangeNumberOfPorts 1000


    注意:更改AutoReusePortRange设置后,必须重新启动计算机才能使设置生效。

    >>使用netsh命令能否查询和修改到这两个参数?

    不能,只能通过Set-NetTCPSetting进行修改,以及通过Get-NetTCPSetting进行查询。

    详细的信息,可以参考以下的文档:

    TCP/IP 的 Windows 8.1 和 Windows Server 2012 R2 中的可靠性和可扩展性改进

    此致

    Candy


    Please remember to mark the replies as an answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com   

    • 已标记为答案 谷青松 2020年10月14日 6:49
    2020年10月14日 5:28
    版主

全部回复

  • Hi ,

    这两个参数主要是用于避免TCP临时端口耗尽的时候,导致系统奔溃死机等情况,启用这两个参数,应用程序可以重新使用临时端口,而不必等待TIMED_WAIT状态过期。

    windows server 2016默认支持auto-reuse port range功能。智能端口的范围是从端口1024到65535端口。

    命令使用方法如下格式:

    Set-NetTCPSetting –SettingName InternetCustom -AutoReusePortRangeStartPort 40000 -AutoReusePortRangeNumberOfPorts 1000


    注意:更改AutoReusePortRange设置后,必须重新启动计算机才能使设置生效。

    >>使用netsh命令能否查询和修改到这两个参数?

    不能,只能通过Set-NetTCPSetting进行修改,以及通过Get-NetTCPSetting进行查询。

    详细的信息,可以参考以下的文档:

    TCP/IP 的 Windows 8.1 和 Windows Server 2012 R2 中的可靠性和可扩展性改进

    此致

    Candy


    Please remember to mark the replies as an answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com   

    • 已标记为答案 谷青松 2020年10月14日 6:49
    2020年10月14日 5:28
    版主
  • AutoReusePortRangeStartPortAutoReusePortRangeNumberOfPorts默认是0,这个0是表示禁用吗?

    谷青松

    2020年10月14日 6:03
  • 是的。默认禁用。

    参考文档如下:

    Set-NetTCPSetting


    Please remember to mark the replies as an answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com   

    2020年10月14日 6:10
    版主
  • Hi ,

    这两个参数主要是用于避免TCP临时端口耗尽的时候,导致系统奔溃死机等情况,启用这两个参数,应用程序可以重新使用临时端口,而不必等待TIMED_WAIT状态过期。

    windows server 2016默认支持auto-reuse port range功能。智能端口的范围是从端口1024到65535端口。

    命令使用方法如下格式:

    Set-NetTCPSetting –SettingName InternetCustom -AutoReusePortRangeStartPort 40000 -AutoReusePortRangeNumberOfPorts 1000


    注意:更改AutoReusePortRange设置后,必须重新启动计算机才能使设置生效。

    >>使用netsh命令能否查询和修改到这两个参数?

    不能,只能通过Set-NetTCPSetting进行修改,以及通过Get-NetTCPSetting进行查询。

    详细的信息,可以参考以下的文档:

    TCP/IP 的 Windows 8.1 和 Windows Server 2012 R2 中的可靠性和可扩展性改进

    此致

    Candy


    Please remember to mark the replies as an answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com   

    Set-NetTCPSetting SettingName InternetCustom -AutoReusePortRangeStartPort 40000 -AutoReusePortRangeNumberOfPorts 1000

    这条命令是修改 InternetCustom 模板,单单修改这一个模板就可以了吗?默认不是用Automatic模板吗?



    谷青松

    2020年10月14日 6:36
  • 我刚重启测试过,这个命令运行完,即使单单修改了这一个模板,却适用于所有的模板:


    Please remember to mark the replies as an answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com   

    2020年10月14日 6:39
    版主
  • 我也测试了一下

    使用命令

    Set-NetTCPSetting -AutoReusePortRangeStartPort 40000 -AutoReusePortRangeNumberOfPorts 1000

    这个命令貌似也可以进行TCP全部模板的修改,不过执行过程中有错误,但是最终查询结果是修改成功的。


    谷青松

    2020年10月14日 6:49
  • 是这样的报错吗?

    如果是的话,因为总共六个模板(包括 automatic)我们只能对其中两个internetcustom以及datacentercustom模板进行修改,其他四个模板改的时候都会出现这样的报错(所以上面出现了四个报错说only the internetcustom and internetcustom can be modified)。但是由于其中两个模板修改成功了,并且这个修改最后适用于TCP全部模板。所以最后的结果也是成功的。


    Please remember to mark the replies as an answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com   

    2020年10月14日 7:07
    版主
  • 还是应该以你测试结果为标准,

    Set-NetTCPSetting -AutoReusePortRangeStartPort 40000 -AutoReusePortRangeNumberOfPorts 1000

    这条命令在Windows2019上不生效


    谷青松

    2020年10月14日 7:13
  • 另外有一点要确认

    技术参考链接:

    https://support.microsoft.com/zh-cn/help/3149157/reliability-and-scalability-improvements-in-tcp-ip-for-windows-8-1-and

    中说Windows2012r2开始有了autoReusePortRangeStartPortAutoReusePortRangeNumberOfPorts 的技术,但是我在Windows2012r2的Get-nettcpsetting中并不能查询这两个参数值。

    这是为啥?


    谷青松

    2020年10月14日 7:19
  • 另外有一点要确认

    技术参考链接:

    https://support.microsoft.com/zh-cn/help/3149157/reliability-and-scalability-improvements-in-tcp-ip-for-windows-8-1-and

    中说Windows2012r2开始有了autoReusePortRangeStartPortAutoReusePortRangeNumberOfPorts 的技术,但是我在Windows2012r2的Get-nettcpsetting中并不能查询这两个参数值。

    这是为啥?


    谷青松

    问题找到是我的Windows2012r2没有更新补丁,默认安装的Windows2012r2没有autoReusePortRangeStartPortAutoReusePortRangeNumberOfPorts 技术参数

    谷青松

    2020年10月14日 7:32
  • 您是说,server 2012 R2上安装了最新的补丁更新之后,就会出现autoReusePortRangeStartPort 和AutoReusePortRangeNumberOfPorts参数吗?

    Please remember to mark the replies as an answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com   

    2020年10月14日 7:38
    版主
  • 原版镜像安装完成没有autoReusePortRangeStartPort 和AutoReusePortRangeNumberOfPorts,必须更新完成月度安装质量更新汇总后才有

    谷青松

    2020年10月14日 8:36
  • 好的,我的server 2012 R2也是新安装的,测试出来也是没有这两个参数,但是没有想到要去打最新的补丁更新才会有这两个参数。非常感谢您的分享。

    Please remember to mark the replies as an answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com   

    2020年10月14日 8:40
    版主