网络配置设置
代码
Windows NT和2000的TCP/IP设置
TCP/IP是一个广泛使用的广域网协议,在NT和2000系统中,它的一些参数会由控制面板中的网络或DHCP服务器提供。下面我们从注册表的角度看看TCP/IP的设置问题。注册表中的大部分设置是最优设置,但是在某些情况下,这些设置可能不能满足某些用户的特殊需要,因此才有必要修改注册表。但是,对注册表的修改是比较危险的,通常情况下,不要对它进行任意的修改。
所有的TCP/IP设置均在两个注册表表项下:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP\Parameters
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<适配器名>\TCPIP\Parameters
下面的一些值是随控制面板网络中配置一起安装的默认配置:
DatabasePath:数据库路径
Key: Tcpip\Parameters
Value Type: REG_EXPAND_SZ
有效值:一个有效的路径
默认值:%SystemRoot%\system32\drivers\etc
描述:这个值指定了标准internet数据文件(HOSTS, LMHOSTS, NETWORKS, PROTOCOLS)保存的位置,这些文件会为Windows Sockets接口使用
ForwardBroadcasts:转发广播
Key: Tcpip\Parameters
Value Type: REG_DWORD
有效范围: 0或1代表False或True
默认值: 0 (False)
描述:因为不支持转发广播,因此此项被忽略
UseZeroBroadcast:使用零广播
Key: <Adapter Name>\Parameters\Tcpip
注意:在Windows 2000中,这一项的值在Tcpip\Parameters\Interfaces\ID for Adapter
Value Type: REG_DWORD
有效范围: 0或1代表False或True
默认值: 0 (False)
描述:如果此项值为1,则广播地址为全零(0.0.0.0),而通常的广播地址为全一(255.255.255.255),因为有些是由BSD实现演化过来的,因此它们使用全零作为广播地址。
下面的一些参数在注册表的相应表项中可能不存在,用户可以手工加入。
ArpAlwaysSourceRoute:ARP源路由
Key: Tcpip\Parameters
Value Type: REG_DWORD
有效范围: 0或1代表False或True
默认值: 0 (False)
描述:设置此值为真,表示TCP/IP在Token Ring上面以源路由传输ARP查询。通常情况下,ARP解析的第一次请求不会带有源路由,当第一次失败而进行第二次解析时,才加入源路由。
ArpUseEtherSNAP:使用SNAP编码传输
Key: Tcpip\Parameters
Value Type: REG_DWORD
有效范围: 0或1代表False或True
默认值: 0 (False)
描述:设置此值为真表示,TCP会使用802.3 SNAP编码传输数据包。默认情况下是以DIX格式传输数据包。但它可以接收两种类型的数据包。
DefaultTOS:默认的服务类型
Key: Tcpip\Parameters
Value Type: REG_DWORD
有效范围:0 - 255
默认值:0
描述:指定IP包头中的服务类型域,具体的域说明,请参阅IP协议。但是,在Windows2000中此选项无效。
DefaultTTL:默认的TTL
Key: Tcpip\Parameters
Value Type: REG_DWORD
seconds/hops
有效值:1-255
默认值:NT3.51为32,NT4为128
描述:指定包的生存周期,此周期指的是包在网络上能够通过的路由器的数目,当超过这一数目时,包会被抛弃。
EnableDeadGWDetect:执行死网关检测
Key: Tcpip\Parameters
Value Type: REG_DWORD
有效范围: 0或1代表False或True
默认值: 1 (true)
描述:设置此值为1表示TCP可以进行死网关检测,当IP向一个网关发出几个数据包不起作用时,TCP会要求IP向备用网关传输数据包。备用网关在TCP/IP配置中的高级中设置。
EnablePMTUBHDetect:允许检测黑洞路由器
Key: Tcpip\Parameters
Value Type: REG_DWORD
有效范围: 0或1代表False或True
默认值: 0 (False)
描述:设置此值为真表示TCP可以检测黑洞路由器,黑洞路由器就是当需要对包进行分段,而包中不允许分段时不返回ICMP错误消息的路由器。TCP要靠这些返回的ICMP消息要进行最大包长度路径的探测。
EnablePMTUDiscovery:允许进行最大包长度路径检测
Key: Tcpip\Parameters
Value Type: REG_DWORD - Boolean
有效范围: 0或1代表False或True
默认值: 1 (true)
描述:此值为真表示TCP可以进行最大包长度路径检测,检测出的路径可以传输的数据包的大小比其它的路径都要大。这条路径可以减少对IP数据包进行分段,提高传输效率。如果设置此值为假,会使TCP对所有非本地主机传输576字节的数据包。
ForwardBufferMemory:转发缓冲区大小
Key: Tcpip\Parameters
Value Type: REG_DWORD - Number of bytes
有效值:MTU和一个小于0xFFFFFFFF的值之间
默认值:74240
描述:此选项决定路由器使用多少内存用于缓冲路由包。当缓冲区满时,路由器会从缓冲区中随机抛弃包。缓冲区数据大小以256为单位,所以真正使用的内存大小为当前设置的值A*256。对于大包,多个缓冲区会串成链来保存,而所有的包头会另外存储,如果不进行路由转发,此选项会被忽略。
IGMPLevel:决定参与组播和IGMP协议的程度
Key: Tcpip\Parameters
Value Type: REG_DWORD
有效范围:0,1,2
默认值:2
描述:此参数决定系统参与IP组播和IGMP协议的程度。0级时,系统不提供组播支持,1级时,系统可以发出组播包,2级时,系统可以发出组播包并参与IGMP并接收组播包。
KeepAliveInterval:决定分离的keep alive重传之间的间隔
Key: Tcpip\Parameters
Value Type: REG_DWORD
有效值:1 - 0xFFFFFFFF
默认值:1000(1秒)
描述:决定分离的keep alive重传之间的间隔,一旦接收到响应,下一个keep alive重传的时间就再次由KeepAliveTime控制。如果在TcpMaxDataRetransmissions后再得不到响应,就放弃连接。
KeepAliveTime:决定TCP间隔多少时间来确定当前连接还处于连接状态
Key: Tcpip\Parameters
Value Type: REG_DWORD
有效值:1 - 0xFFFFFFFF
默认值: 7,200,000(2小时)
描述:决定TCP间隔多少时间来确定当前连接还处于连接状态。如果远程系统还有响应,由证明此连接处于连接状态。Keep alive数据的发出并不是默认的,它是要受特定的应用程序控制的。
MTU:最大传输单元
Key: <Adapter Name>\Parameters\Tcpip
注意:在Windows 2000下,此选项在Key: Tcpip\Parameters\Interfaces\<ID for Adapter>下
Value Type: REG_DWORD Number
Valid Range: 68
默认值:0xFFFFFFFF
描述:表示能够在下层传输的最大包长度。此长度包括包头,IP数据报可以在多个数据包中包括。
NumForwardPackets:由路由器包队列保存的IP包头个数
Key: Tcpip\Parameters
Value Type: REG_DWORD
有效范围:1到小于0xFFFFFFFF的一个值
默认值:50
描述:由路由器包队列保存的IP包头个数,如果超过此值,路由器会在队列中随机选择进行抛弃。此值应该大于ForwardBufferMemory/最大的IP数据大小,但应该不大于ForwardBufferMemory/256。如果没有启动路由,此选项被忽略。
TcpMaxConnectRetransmissions:最大重新传输请求(SYN)个数
Key: Tcpip\Parameters
Value Type: REG_DWORD
有效范围:0 - 0xFFFFFFFF
默认值:3
描述:此值决定最大重传请求(SYN)个数。重传超时值会在接收到一个成功重传后乘2,初始超时值为3秒。
TcpMaxDataRetransmissions:TCP重传单个数据段的次数
Key: Tcpip\Parameters
Value Type: REG_DWORD
有效值:0 - 0xFFFFFFFF
默认值:5
描述:此参数控制TCP重传单个数据段的次数。
TcpNumConnections:同时打开的连接数
Key: Tcpip\Parameters
Value Type: REG_DWORD - Number
有效值:0 - 0xfffffe
默认值:0xfffffe
描述:限制TCP同时打开的连接数。
TcpTimedWaitDelay:停止在TIME_WAIT状态的最长时间
Key: Tcpip\Parameters
Value Type: REG_DWORD
有效值:30-300
默认值:0xF0(240秒)
描述:限制停止在TIME_WAIT状态的最长时间。当处于TIME_WAIT时,套接字无法被再利用,这种状态也被称为"2MSL"状态。
TcpUseRFC1122UrgentPointer:解释紧急指针的状态
Key: Tcpip\Parameters
Value Type: REG_DWORD
有效范围: 0或1代表False或True
默认值: 0 (False)
描述:此参数由于决定TCP传输紧急数据时是使用RFC 1122标准还是使用BSD系统标准。这两种标准是不兼容的,通常情况下,Windows NT使用BSD模式。
TcpWindowSize:决定接收窗口的最大长度
Key: Tcpip\Parameters
Value Type: REG_DWORD
有效范围:0 - 0xFFFF
默认值:小于0xFFFF的值,对于以太网为8760
描述:决定TCP接收窗口的大小。接收窗口指定的TCP能够缓冲多少个未经确认的数据包。通常大一点的接收窗口能够提高系统效率。为了高效,此值通常为TCP最大传输单元大小的偶数倍。
TCP/IP是一个广泛使用的广域网协议,在NT和2000系统中,它的一些参数会由控制面板中的网络或DHCP服务器提供。下面我们从注册表的角度看看TCP/IP的设置问题。注册表中的大部分设置是最优设置,但是在某些情况下,这些设置可能不能满足某些用户的特殊需要,因此才有必要修改注册表。但是,对注册表的修改是比较危险的,通常情况下,不要对它进行任意的修改。
所有的TCP/IP设置均在两个注册表表项下:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP\Parameters
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<适配器名>\TCPIP\Parameters
下面的一些值是随控制面板网络中配置一起安装的默认配置:
DatabasePath:数据库路径
Key: Tcpip\Parameters
Value Type: REG_EXPAND_SZ
有效值:一个有效的路径
默认值:%SystemRoot%\system32\drivers\etc
描述:这个值指定了标准internet数据文件(HOSTS, LMHOSTS, NETWORKS, PROTOCOLS)保存的位置,这些文件会为Windows Sockets接口使用
ForwardBroadcasts:转发广播
Key: Tcpip\Parameters
Value Type: REG_DWORD
有效范围: 0或1代表False或True
默认值: 0 (False)
描述:因为不支持转发广播,因此此项被忽略
UseZeroBroadcast:使用零广播
Key: <Adapter Name>\Parameters\Tcpip
注意:在Windows 2000中,这一项的值在Tcpip\Parameters\Interfaces\ID for Adapter
Value Type: REG_DWORD
有效范围: 0或1代表False或True
默认值: 0 (False)
描述:如果此项值为1,则广播地址为全零(0.0.0.0),而通常的广播地址为全一(255.255.255.255),因为有些是由BSD实现演化过来的,因此它们使用全零作为广播地址。
下面的一些参数在注册表的相应表项中可能不存在,用户可以手工加入。
ArpAlwaysSourceRoute:ARP源路由
Key: Tcpip\Parameters
Value Type: REG_DWORD
有效范围: 0或1代表False或True
默认值: 0 (False)
描述:设置此值为真,表示TCP/IP在Token Ring上面以源路由传输ARP查询。通常情况下,ARP解析的第一次请求不会带有源路由,当第一次失败而进行第二次解析时,才加入源路由。
ArpUseEtherSNAP:使用SNAP编码传输
Key: Tcpip\Parameters
Value Type: REG_DWORD
有效范围: 0或1代表False或True
默认值: 0 (False)
描述:设置此值为真表示,TCP会使用802.3 SNAP编码传输数据包。默认情况下是以DIX格式传输数据包。但它可以接收两种类型的数据包。
DefaultTOS:默认的服务类型
Key: Tcpip\Parameters
Value Type: REG_DWORD
有效范围:0 - 255
默认值:0
描述:指定IP包头中的服务类型域,具体的域说明,请参阅IP协议。但是,在Windows2000中此选项无效。
DefaultTTL:默认的TTL
Key: Tcpip\Parameters
Value Type: REG_DWORD
seconds/hops
有效值:1-255
默认值:NT3.51为32,NT4为128
描述:指定包的生存周期,此周期指的是包在网络上能够通过的路由器的数目,当超过这一数目时,包会被抛弃。
EnableDeadGWDetect:执行死网关检测
Key: Tcpip\Parameters
Value Type: REG_DWORD
有效范围: 0或1代表False或True
默认值: 1 (true)
描述:设置此值为1表示TCP可以进行死网关检测,当IP向一个网关发出几个数据包不起作用时,TCP会要求IP向备用网关传输数据包。备用网关在TCP/IP配置中的高级中设置。
EnablePMTUBHDetect:允许检测黑洞路由器
Key: Tcpip\Parameters
Value Type: REG_DWORD
有效范围: 0或1代表False或True
默认值: 0 (False)
描述:设置此值为真表示TCP可以检测黑洞路由器,黑洞路由器就是当需要对包进行分段,而包中不允许分段时不返回ICMP错误消息的路由器。TCP要靠这些返回的ICMP消息要进行最大包长度路径的探测。
EnablePMTUDiscovery:允许进行最大包长度路径检测
Key: Tcpip\Parameters
Value Type: REG_DWORD - Boolean
有效范围: 0或1代表False或True
默认值: 1 (true)
描述:此值为真表示TCP可以进行最大包长度路径检测,检测出的路径可以传输的数据包的大小比其它的路径都要大。这条路径可以减少对IP数据包进行分段,提高传输效率。如果设置此值为假,会使TCP对所有非本地主机传输576字节的数据包。
ForwardBufferMemory:转发缓冲区大小
Key: Tcpip\Parameters
Value Type: REG_DWORD - Number of bytes
有效值:MTU和一个小于0xFFFFFFFF的值之间
默认值:74240
描述:此选项决定路由器使用多少内存用于缓冲路由包。当缓冲区满时,路由器会从缓冲区中随机抛弃包。缓冲区数据大小以256为单位,所以真正使用的内存大小为当前设置的值A*256。对于大包,多个缓冲区会串成链来保存,而所有的包头会另外存储,如果不进行路由转发,此选项会被忽略。
IGMPLevel:决定参与组播和IGMP协议的程度
Key: Tcpip\Parameters
Value Type: REG_DWORD
有效范围:0,1,2
默认值:2
描述:此参数决定系统参与IP组播和IGMP协议的程度。0级时,系统不提供组播支持,1级时,系统可以发出组播包,2级时,系统可以发出组播包并参与IGMP并接收组播包。
KeepAliveInterval:决定分离的keep alive重传之间的间隔
Key: Tcpip\Parameters
Value Type: REG_DWORD
有效值:1 - 0xFFFFFFFF
默认值:1000(1秒)
描述:决定分离的keep alive重传之间的间隔,一旦接收到响应,下一个keep alive重传的时间就再次由KeepAliveTime控制。如果在TcpMaxDataRetransmissions后再得不到响应,就放弃连接。
KeepAliveTime:决定TCP间隔多少时间来确定当前连接还处于连接状态
Key: Tcpip\Parameters
Value Type: REG_DWORD
有效值:1 - 0xFFFFFFFF
默认值: 7,200,000(2小时)
描述:决定TCP间隔多少时间来确定当前连接还处于连接状态。如果远程系统还有响应,由证明此连接处于连接状态。Keep alive数据的发出并不是默认的,它是要受特定的应用程序控制的。
MTU:最大传输单元
Key: <Adapter Name>\Parameters\Tcpip
注意:在Windows 2000下,此选项在Key: Tcpip\Parameters\Interfaces\<ID for Adapter>下
Value Type: REG_DWORD Number
Valid Range: 68
默认值:0xFFFFFFFF
描述:表示能够在下层传输的最大包长度。此长度包括包头,IP数据报可以在多个数据包中包括。
NumForwardPackets:由路由器包队列保存的IP包头个数
Key: Tcpip\Parameters
Value Type: REG_DWORD
有效范围:1到小于0xFFFFFFFF的一个值
默认值:50
描述:由路由器包队列保存的IP包头个数,如果超过此值,路由器会在队列中随机选择进行抛弃。此值应该大于ForwardBufferMemory/最大的IP数据大小,但应该不大于ForwardBufferMemory/256。如果没有启动路由,此选项被忽略。
TcpMaxConnectRetransmissions:最大重新传输请求(SYN)个数
Key: Tcpip\Parameters
Value Type: REG_DWORD
有效范围:0 - 0xFFFFFFFF
默认值:3
描述:此值决定最大重传请求(SYN)个数。重传超时值会在接收到一个成功重传后乘2,初始超时值为3秒。
TcpMaxDataRetransmissions:TCP重传单个数据段的次数
Key: Tcpip\Parameters
Value Type: REG_DWORD
有效值:0 - 0xFFFFFFFF
默认值:5
描述:此参数控制TCP重传单个数据段的次数。
TcpNumConnections:同时打开的连接数
Key: Tcpip\Parameters
Value Type: REG_DWORD - Number
有效值:0 - 0xfffffe
默认值:0xfffffe
描述:限制TCP同时打开的连接数。
TcpTimedWaitDelay:停止在TIME_WAIT状态的最长时间
Key: Tcpip\Parameters
Value Type: REG_DWORD
有效值:30-300
默认值:0xF0(240秒)
描述:限制停止在TIME_WAIT状态的最长时间。当处于TIME_WAIT时,套接字无法被再利用,这种状态也被称为"2MSL"状态。
TcpUseRFC1122UrgentPointer:解释紧急指针的状态
Key: Tcpip\Parameters
Value Type: REG_DWORD
有效范围: 0或1代表False或True
默认值: 0 (False)
描述:此参数由于决定TCP传输紧急数据时是使用RFC 1122标准还是使用BSD系统标准。这两种标准是不兼容的,通常情况下,Windows NT使用BSD模式。
TcpWindowSize:决定接收窗口的最大长度
Key: Tcpip\Parameters
Value Type: REG_DWORD
有效范围:0 - 0xFFFF
默认值:小于0xFFFF的值,对于以太网为8760
描述:决定TCP接收窗口的大小。接收窗口指定的TCP能够缓冲多少个未经确认的数据包。通常大一点的接收窗口能够提高系统效率。为了高效,此值通常为TCP最大传输单元大小的偶数倍。