• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

06-三层技术-IP业务配置指导

目录

09-IP性能优化配置

本章节下载 09-IP性能优化配置  (362.75 KB)

09-IP性能优化配置

  录

1 IP性能优化

1.1 IP性能优化配置任务简介

1.2 配置允许接口转发直连网段的定向广播报文

1.2.1 功能简介

1.2.2 配置步骤

1.2.3 允许接口转发直连网段的定向广播报文典型配置举例

1.3 配置接口发送IPv4报文的MTU

1.4 开启三层报文统计功能

1.5 配置硬件转发时接口出方向超长报文上送CPU分片功能

1.6 配置IP虚拟分片重组功能

1.6.1 功能简介

1.6.2 开启IP虚拟分片重组功能

1.6.3 配置IP虚拟分片重组缓存报文的老化时间

1.7 配置ICMP差错报文发送功能

1.7.1 功能简介

1.7.2 开启ICMP重定向报文发送功能

1.7.3 开启ICMP超时报文发送功能

1.7.4 开启ICMP目的不可达报文发送功能

1.8 配置发送ICMP差错报文对应的令牌刷新周期和令牌桶容量

1.9 配置ICMP分片报文转发功能

1.10 指定ICMP报文源地址

1.11 开启发送指定类型的ICMP报文的功能

1.12 开启接收指定类型的ICMP报文的功能

1.13 配置接口的TCP最大报文段长度

1.14 配置TCP连接的Path MTU探测功能

1.15 开启SYN Cookie功能

1.16 配置TCP连接的缓冲区大小

1.17 配置TCP定时器

1.18 配置TCP代理所使用的TCP拥塞控制算法

1.19 IP性能优化显示和维护

1.19.1 显示和清除IP报文统计信息

1.19.2 显示ICMP流量统计信息

1.19.3 显示RawIP连接信息

1.19.4 显示TCP连接信息

1.19.5 显示UDP连接信息

1.19.6 显示UDP连接负载分担的信息

1.19.7 显示和清除UDP流量统计信息

 


1 IP性能优化

1.1  IP性能优化配置任务简介

如下所有配置均为可选,请根据实际情况选择配置。

·     配置IP报文功能

¡     配置允许接口转发直连网段的定向广播报文

¡     配置接口发送IPv4报文的MTU

¡     开启三层报文统计功能

¡     开启三层报文统计功能

1. 功能简介

开启本功能后,设备会统计接口接收或发送的IP报文的数量,该统计信息可通过display ip statistics命令查看;也会统计接口的IP报文统计速率,统计速率可通过命令行display interface查看。接口报文流量过大时,开启本功能会造成设备CPU占用率高,影响转发性能。因此,当用户不需要统计接口接收的IP报文数量时,建议关闭本功能。

2. 配置限制和指导

配置statistics l3-packet enable outbound命令时,无法统计到出方向需要解封装的报文。

不能在同一个接口的出方向同时开启NetStream/IPv6 NetStream和三层报文统计功能,如果同时开启,则三层报文统计功能不生效。有关NetStream/IPv6 NetStream的详细介绍,请参见“网络管理与监控”中的“NetStream”和“IPv6 NetStream”。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     开启三层报文统计功能。

statistics l3-packet enable { inbound | outbound }

缺省情况下,三层报文统计功能处于关闭状态。

¡     配置硬件转发时接口出方向超长报文上送CPU分片功能

¡     配置IP虚拟分片重组功能

·     配置ICMP报文功能

¡     配置ICMP差错报文发送功能

¡     配置发送ICMP差错报文对应的令牌刷新周期和令牌桶容量

¡     配置ICMP分片报文转发功能

¡     指定ICMP报文源地址

¡     开启发送指定类型的ICMP报文的功能

¡     开启接收指定类型的ICMP报文的功能

·     配置TCP报文功能

¡     配置接口的TCP最大报文段长度

¡     配置TCP连接的Path MTU探测功能

¡     开启SYN Cookie功能

¡     配置TCP连接的缓冲区大小

¡     配置TCP定时器

¡     配置TCP代理所使用的TCP拥塞控制算法

1.2  配置允许接口转发直连网段的定向广播报文

1.2.1  功能简介

定向广播报文是指发送给特定网络的广播报文。该报文的目的IP地址中网络号码字段为特定网络的网络号,主机号码字段为全1。

在转发定向广播报文的情况下,如果在接口上配置了此命令,设备从其他接口接收到目的地址为此接口直连网段的定向广播报文时,会从此接口转发此类报文。

黑客可以利用定向广播报文来攻击网络系统,给网络的安全带来了很大的隐患。但在某些应用环境下,设备接口需要转发这类定向广播报文,例如:

·     使用UDP Helper功能,将广播报文转换为单播报文发送给指定的服务器。

·     使用Wake on LAN(网络唤醒)功能,发送定向广播报文唤醒远程网络中的计算机。

在上述情况下,用户可以通过命令配置接口允许转发直连网段的定向广播报文。

1.2.2  配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     配置允许接口转发面向直连网段的定向广播报文。

ip forward-broadcast

缺省情况下,设备禁止转发直连网段的定向广播报文。

1.2.3  允许接口转发直连网段的定向广播报文典型配置举例

1. 组网需求

图1-1所示,Host的接口和Router A的接口HundredGigE1/0/1处于同一个网段(1.1.1.0/24),Router A的接口HundredGigE1/0/2和Router B的接口HundredGigE1/0/2处于另外一个网段(2.2.2.0/24)。Host上配置默认网关为Router A的接口HundredGigE1/0/1的地址(1.1.1.2/24),Router B上配置静态路由使得Host与Router B之间路由可达。

要求通过配置使得Router B可以收到Host发送的定向广播报文。

2. 组网图

图1-1 配置转发定向广播报文组网图

3. 配置步骤

(1)     配置Router A

# 配置接口HundredGigE1/0/1和HundredGigE1/0/2的IP地址。

<RouterA> system-view

[RouterA] interface hundredgige 1/0/1

[RouterA-HundredGigE1/0/1] ip address 1.1.1.2 24

[RouterA-HundredGigE1/0/1] quit

[RouterA] interface hundredgige 1/0/2

[RouterA-HundredGigE1/0/2] ip address 2.2.2.2 24

# 配置允许接口HundredGigE1/0/2转发直连网段的定向广播报文。

[RouterA-HundredGigE1/0/2] ip forward-broadcast

(2)     配置Router B

# 配置Router B到Host的静态路由。

<RouterB> system-view

[RouterB] ip route-static 1.1.1.1 24 2.2.2.2

# 配置接口HundredGigE1/0/2的IP地址。

[RouterB] interface hundredgige 1/0/2

[RouterB-HundredGigE1/0/2] ip address 2.2.2.1 24

配置完成以后,在Host上ping Router A的接口HundredGigE1/0/2所在子网网段的广播地址(2.2.2.255)时,Router B的接口HundredGigE1/0/2可以收到该报文。取消掉ip forward-broadcast的配置,Router B的接口HundredGigE1/0/2就不能收到该报文。

1.3  配置接口发送IPv4报文的MTU

1. 功能简介

当设备收到一个报文后,如果发现报文长度比转发接口发送IPv4报文的MTU值大,则进行下列处理:

·     如果报文不允许分片,则将报文丢弃;

·     如果报文允许分片,则将报文进行分片转发。

为了减轻转发设备在传输过程中的分片和重组数据包的压力,更高效的利用网络资源,请根据实际组网环境设置合适的接口MTU值,以减少分片的发生。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     配置发送IPv4报文的MTU。

ip mtu mtu-size

缺省情况下,未配置接口发送IPv4报文的MTU。

1.4  开启三层报文统计功能

1. 功能简介

开启本功能后,设备会统计接口接收或发送的IP报文的数量,该统计信息可通过display ip statistics命令查看;也会统计接口的IP报文统计速率,统计速率可通过命令行display interface查看。接口报文流量过大时,开启本功能会造成设备CPU占用率高,影响转发性能。因此,当用户不需要统计接口接收的IP报文数量时,建议关闭本功能。

2. 配置限制和指导

配置statistics l3-packet enable outbound命令时,无法统计到出方向需要解封装的报文。

不能在同一个接口的出方向同时开启NetStream/IPv6 NetStream和三层报文统计功能,如果同时开启,则三层报文统计功能不生效。有关NetStream/IPv6 NetStream的详细介绍,请参见“网络管理与监控”中的“NetStream”和“IPv6 NetStream”。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     开启三层报文统计功能。

statistics l3-packet enable { inbound | outbound }

缺省情况下,三层报文统计功能处于关闭状态。

1.5  配置硬件转发时接口出方向超长报文上送CPU分片功能

1. 功能简介

对于硬件转发的设备,硬件不检查报文的MTU值,原始报文长度超出接口MTU值的报文不会被分片。配置接口出方向超长报文分片功能后,对接口出方向报文做如下处理:

·     原始报文长度小于接口MTU值,以硬件转发的方式处理。

·     原始报文长度超出接口MTU值,以软件转发的方式处理。

¡     若报文DF(Don’t Fragment,不分片)置位,则将报文丢弃。执行ip unreachables enable命令,开启ICMP目的不可达报文发送功能后,丢弃DF置位的报文时,设备会向源端发送目的不可达类型的ICMP差错报文。

¡     若报文DF(Don’t Fragment,不分片)不置位,则将报文进行分片转发。

执行undo ip exceed-mtu命令恢复缺省情况后,设备恢复为硬件转发。

ip mtuipv6 mtumtu命令均可以配置接口的MTU值,ip mtuipv6 mtu的优先级高于mtu。当几条命令同时配置时,MTU值以ip mtuipv6 mtu命令为准,此时若将ip mtuipv6 mtu恢复至缺省值,MTU值以mtu命令为准。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置接口出方向超长报文驱动上送CPU分片功能。

ip exceed-mtu fragment

缺省情况下,未配置接口出方向超长报文驱动上送CPU分片功能。

1.6  配置IP虚拟分片重组功能

1.6.1  功能简介

为了避免由于后片先到(报文分片后)的情况而导致设备重组分片报文复杂度过高的问题,设备需要对收到的分片报文先进行虚拟分片重组。IP虚拟分片重组功能可以对分片报文进行校验、排序和缓存,保证后续的报文重组功能处理的都是顺序正确的分片报文。

1.6.2  开启IP虚拟分片重组功能

1. 功能简介

IP虚拟分片重组功能不仅可以对报文进行检验、排序和缓存,还可以对下面几种分片攻击进行检测。如果检测到分片攻击,则设备会丢弃收到的分片报文,从而提高了设备的安全性。

·     Tiny Fragment攻击:如果设备收到分片报文的首片长度非常小,并且传输层协议(如:TCP、UDP)头字段放在第二个分片中,则认为是受到了Tiny Fragment攻击;

·     Overlapping Fragment攻击:如果设备收到了完全相同的分片报文,或者收到的分片报文与其前一分片或后一分片出现重叠时,则认为是受到了Overlapping Fragment攻击;

·     Fragment-flood攻击:如果设备收到的分片报文个数超过了指定的队列允许的最大分片报文个数或者设备上创建的分片队列个数超过了指定的最大分片队列个数,则认为是受到了Fragment-flood攻击。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启IP虚拟分片重组功能。

ip virtual-reassembly enable

缺省情况下,IP虚拟分片重组功能处于关闭状态。

1.6.3  配置IP虚拟分片重组缓存报文的老化时间

1. 功能简介

每个需要进行虚拟分片重组的分片报文均有一个老化时间,该老化时间到达后,报文将直接被丢弃,而不会进入后续的报文重组处理过程。

当某个业务在缓存中积压大量分片报文时,缓存队列中报文的ID字段可能会重复。先进入缓存队列的报文,如果某个分片丢包,则会将后进入缓存队列的、ID相同的报文的分片补充进自己的分片队列,导致分片重组错误。在某个业务缓存的分片报文过多,同时存在丢包的场景下,建议通过本命令减小缓存报文的老化时间,减少缓存报文的积压,继而降低由丢包和ID重复引起的报文分片重组错误的概率。

2. 配置限制和指导

设备开启虚拟分片重组功能后,缓存报文的老化时间配置才能生效。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置IP虚拟分片重组缓存报文的老化时间。

ip virtual-reassembly aging aging-milliseconds

缺省情况下,缓存报文的老化时间为3000毫秒。

1.7  配置ICMP差错报文发送功能

1.7.1  功能简介

ICMP报文通常被网络层或传输层协议用来在异常情况发生时通知相应设备,从而便于进行控制管理。ICMP差错报文的发送虽然方便了网络的控制管理,但是也存在缺限:发送大量的ICMP报文,增大网络流量;如果有用户发送ICMP差错报文进行恶意攻击,会导致设备性能下降或影响正常工作。为了避免上述现象发生,缺省情况下,ICMP差错报文发送功能处于关闭状态,用户可以根据需要开启ICMP差错报文发送功能。

ICMP差错报文包括重定向报文、超时报文和目的不可达报文。

1.7.2  开启ICMP重定向报文发送功能

1. 功能简介

ICMP重定向报文(报文Type字段值为5,详见RFC792)发送功能可以简化主机的管理,使具有很少选路信息的主机逐渐建立较完善的路由表,从而找到最佳路由。

主机启动时,它的路由表中可能只有一条到缺省网关的缺省路由。当满足一定的条件时,缺省网关会向源主机发送ICMP重定向报文,通知主机重新选择正确的下一跳进行后续报文的发送。

同时满足下列条件时,设备会发送ICMP重定向报文:

·     接收和转发数据报文的接口是同一接口;

·     报文的源IP地址和报文接收接口的IP地址在同一个网段;

·     数据报文中没有源路由选项。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启ICMP重定向报文发送功能。

ip redirects enable

缺省情况下,ICMP重定向报文发送功能处于关闭状态。

1.7.3  开启ICMP超时报文发送功能

1. 功能简介

ICMP超时报文(报文Type字段值为11,详见RFC792)发送功能是在设备收到IP数据报文后,如果发生超时差错,则将报文丢弃并给源端发送ICMP超时差错报文。

设备在满足下列条件时会发送ICMP超时报文:

·     设备收到IP数据报文后,如果报文的目的地不是本地且报文的TTL字段是1,则发送“TTL超时”ICMP差错报文(报文Code字段值为0,详见RFC792);

·     设备收到目的地址为本地的IP数据报文的第一个分片后,启动定时器,如果所有分片报文到达之前定时器超时,则会发送“重组超时”ICMP差错报文(报文Code字段值为1,详见RFC792)。

2. 配置限制和指导

关闭ICMP超时报文发送功能后,设备不会再发送“TTL超时”ICMP差错报文,但“重组超时”ICMP差错报文仍会正常发送。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启ICMP超时报文发送功能。

ip ttl-expires enable

缺省情况下,ICMP超时报文发送功能处于关闭状态。

1.7.4  开启ICMP目的不可达报文发送功能

1. 功能简介

ICMP目的不可达报文(报文Type字段值为3,详见RFC792)发送功能是在设备收到IP数据报文后,如果发生目的不可达的差错,则将报文丢弃并给源端发送ICMP目的不可达差错报文。

设备在满足下列条件时会发送目的不可达报文:

·     设备在转发报文时,如果在路由表中未找到对应的转发路由,且路由表中没有缺省路由,则给源端发送“网络不可达”ICMP差错报文;

·     设备收到目的地址为本地的数据报文时,如果设备不支持数据报文采用的传输层协议,则给源端发送“协议不可达”ICMP差错报文;

·     设备收到目的地址为本地、传输层协议为UDP的数据报文时,如果报文的端口号与正在使用的进程不匹配,则给源端发送“端口不可达”ICMP差错报文;

·     源端如果采用“严格的源路由选择”发送报文,当中间设备发现源路由所指定的下一个设备不在其直接连接的网络上,则给源端发送“源站路由失败”的ICMP差错报文;

·     设备在转发报文时,如果转发接口的MTU小于报文的长度,但报文被设置了不可分片,则给源端发送“需要进行分片但设置了不分片比特”ICMP差错报文。

2. 配置限制和指导

设备开启DHCP服务后,在未发送ICMP回显请求(ECHO-REQUEST)报文情况下,收到非法ICMP回显应答(ECHO-REPLY)报文,此时设备不会回应“协议不可达”ICMP差错报文。执行dhcp enable命令可以启动DHCP服务,关于dhcp enable命令的详细介绍,请参见“三层技术-IP业务命令参考”中的“DHCP”。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启ICMP目的不可达报文发送功能。

ip unreachables enable

缺省情况下,ICMP目的不可达报文发送功能处于关闭状态。

1.8  配置发送ICMP差错报文对应的令牌刷新周期和令牌桶容量

1. 功能简介

如果网络中短时间内发送的ICMP差错报文过多,将可能导致网络拥塞。为了避免这种情况,用户可以控制设备在指定时间内发送ICMP差错报文的最大数目,目前采用令牌桶算法来实现。

用户可以设置令牌桶的容量,即令牌桶中可以同时容纳的令牌数;同时可以设置令牌桶的刷新周期,即每隔多长时间发放一个令牌到令牌桶中,直到令牌桶中的令牌数达到配置的容量。一个令牌表示允许发送一个ICMP差错报文,每当发送一个ICMP差错报文,则令牌桶中减少一个令牌。如果连续发送的ICMP差错报文超过了令牌桶的容量,则后续的ICMP差错报文将不能被发送出去,直到按照所设置的刷新频率将新的令牌放入令牌桶中。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置发送ICMP差错报文对应的令牌刷新周期和令牌桶容量。

ip icmp error-interval interval [ bucketsize ]

缺省情况下,令牌刷新周期为100毫秒,令牌桶容量为10。

刷新周期为0时,表示不限制ICMP差错报文的发送。

1.9  配置ICMP分片报文转发功能

1. 配置限制和指导

为了防止ICMP分片报文攻击,用户可以关闭设备的ICMP分片报文转发功能,对于收到的ICMP分片报文不进行转发。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     关闭ICMP分片报文转发功能。

ip icmp fragment discarding

缺省情况下,ICMP分片报文转发功能处于开启状态。

1.10  指定ICMP报文源地址

1. 功能简介

在网络中IP地址配置较多的情况下,收到ICMP报文时,用户很难根据报文的源IP地址判断报文来自哪台设备。为了简化这一判断过程,可以指定ICMP报文源地址。用户配置特定地址(如环回口地址)为ICMP报文的源地址,可以简化判断。

设备发送ICMP差错报文(TTL超时、端口不可达和参数错误等)和ping echo request报文时,都可以通过上述命令指定报文的源地址。

2. 配置限制和指导

用户发送ping echo request报文时,如果ping命令中已经指定源地址,则使用该源地址,否则使用ip icmp source配置的源地址。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     指定ICMP报文源地址。

ip icmp source [ vpn-instance vpn-instance-name ] ip-address

缺省情况下,未指定ICMP报文源地址。

发送ICMP差错报文(TTL超时、端口不可达和参数错误等)时,设备使用触发ICMP差错报文的原始报文的入接口IP地址作为ICMP报文源地址。

发送ICMP echo request报文时,设备使用出接口IP地址作为ICMP报文源地址。

发送ICMP echo reply报文时,设备使用ICMP echo request报文的目的地址作为ICMP报文源地址。

1.11  开启发送指定类型的ICMP报文的功能

1. 功能简介

本功能用来开启发送指定类型的ICMP报文的功能。缺省情况下,设备支持发送大多数类型的ICMP报文,这样可能会存在安全隐患。例如设备发出的时间戳请求应答、掩码请求应答、网络重定向和网络不可达等报文,其携带的设备相关信息可能给被攻击者获取并发起攻击。为了提高安全性,可以关闭设备对指定类型的ICMP报文的发送功能。

2. 配置限制和指导

请根据网络实际情况执行本功能,随意关闭发送指定类型的ICMP报文的功能,可能会影响网络的正常运行。

ICMP目的不可达报文发送功能同时受本功能和ip unreachables enable命令的控制。只要一方开启,ICMP目的不可达报文发送功能就处于开启状态。

ICMP超时报文发送功能同时受本功能和ip ttl-expires enable命令的控制。只要一方开启,ICMP超时报文发送功能就处于开启状态。

ICMP重定向报文发送功能同时受本功能和ip redirects enable命令的控制。只要一方开启,ICMP重定向报文发送功能就处于开启状态。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启发送指定类型的ICMP报文的功能。

ip icmp { name icmp-name | type icmp-type code icmp-code } send enable

缺省情况下,发送ICMP目的不可达报文、ICMP超时报文和ICMP重定向报文功能处于关闭状态;发送其它ICMP报文功能处于开启状态。

1.12  开启接收指定类型的ICMP报文的功能

1. 功能简介

本功能用于开启接收指定类型的ICMP报文的功能。缺省情况下,设备会接收所有类型的ICMP报文,这会产生安全隐患。例如设备短时间内收到大量的回送请求报文时,会影响设备性能,导致设备无法正常运行。为了提高安全性,可以关闭设备接收指定类型的ICMP报文的功能。

2. 配置限制和指导

请根据网络实际情况执行本功能,随意关闭接收指定类型的ICMP报文的功能,可能会影响网络的正常运行。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启接收指定类型的ICMP报文的功能。

ip icmp { name icmp-name | type icmp-type code icmp-code } receive enable

缺省情况下,设备会接收所有类型的ICMP报文。

1.13  配置接口的TCP最大报文段长度

1. 功能简介

TCP最大报文段长度(Maximum Segment Size,MSS)表示TCP连接的对端发往本端的最大TCP报文段的长度,目前作为TCP连接建立时的一个选项来协商:当一个TCP连接建立时,连接的双方要将MSS作为TCP报文的一个选项通告给对端,对端会记录下这个MSS值,后续在发送TCP报文时,会限制TCP报文的大小不超过该MSS值。当对端发送的TCP报文的长度小于本端的TCP最大报文段长度时,TCP报文不需要分段;否则,对端需要对TCP报文按照最大报文段长度进行分段处理后再发给本端。

2. 配置限制和指导

·     用户可以通过下面的命令配置接口的TCP最大报文段长度,配置后该接口接收和发送的TCP报文的大小都不能超过该值。

·     该配置仅对新建的TCP连接生效,对于配置前已建立的TCP连接不生效。

·     该配置仅对IP报文生效。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     配置接口的TCP最大报文段长度。

tcp mss value

缺省情况下,未配置接口的TCP最大报文段长度。

1.14  配置TCP连接的Path MTU探测功能

1. 功能简介

通过开启TCP连接的Path MTU探测功能,用户可确定TCP路径上从源端到目的端的最小MTU(Path MTU),按照Path MTU组织TCP分段长度,避免IP分片的发生。为了在Path MTU增大时,减少资源浪费,可以开启Path MTU老化定时器,保证设备尽量按照TCP路径允许的最大报文长度发送数据。

RFC 1191中规定的TCP连接的Path MTU探测机制如下:

(1)     TCP源端将发送的TCP数据段的外层IP报文设置DF(不可分片)标记。

(2)     如果TCP路径上某路由器的出接口MTU值小于该IP报文长度,则会丢弃报文,并给TCP源端发送ICMP差错报文,报文中会携带该出接口MTU值。

(3)     TCP源端通过解析该ICMP差错报文,可知TCP路径上当前最小的单向MTU值。

(4)     后续TCP源端发送数据段的长度不超过MSS。其中,MSS=最小MTU值-IP头部长度-TCP头部长度。

当MSS已经达到系统规定的最小的32字节后,如果再次收到减少MSS的ICMP差错报文,系统将允许该TCP连接发送的报文进行分片。

产生ICMP差错报文的路由器可能不支持RFC 1191,其产生的ICMP差错报文中的出接口MTU字段值为0,对于这种报文,TCP源端将按照RFC 1191中规定的MTU表获取比当前路径MTU更小的值作为计算TCP MSS的基础。MTU表的内容为(单位为字节):68、296、508、1006、1280、1492、2002、4352、8166、17914、32000、65535(由于系统规定的TCP最小MSS为32,所以对应最小的MTU实际为72字节)。

Path MTU的老化机制如下:

·     当TCP源端收到ICMP差错报文后,除了减小Path MTU值,同时会为该Path MTU值启动老化定时器。

·     当该定时器超时后,系统将按照RFC 1191规定的MTU表依次递增TCP的MSS值。

·     如果增加一次MSS之后的2分钟内未收到ICMP差错报文,则继续递增,直到MSS增长到对端在TCP三次握手阶段通告的MSS值。

2. 配置准备

TCP连接的Path MTU探测功能依赖IP报文的DF标记位设置后触发ICMP差错报文,因此需要TCP路径上的所有设备打开ICMP差错报文发送功能(ip unreachables enable),以确保ICMP差错报文可以发送到TCP源端。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启TCP连接的Path MTU探测功能。

tcp path-mtu-discovery [ aging age-time | no-aging ]

缺省情况下,TCP连接的Path MTU探测功能处于关闭状态。

1.15  开启SYN Cookie功能

1. 功能简介

SYN Cookie功能用来防止SYN Flood攻击。SYN Flood攻击中,攻击者向设备发送大量请求建立TCP连接的SYN报文,而不回应设备的SYN ACK报文,导致设备上建立了大量的TCP半连接。从而,达到耗费设备资源,使设备无法处理正常业务的目的。配置SYN Cookie功能后,当设备收到TCP连接请求时,不建立TCP半连接,而直接向发起者回复SYN ACK报文。设备接收到发起者回应的ACK报文后,建立连接,并进入ESTABLISHED状态。通过这种方式,可以避免在设备上建立大量的TCP半连接,防止设备受到SYN Flood攻击。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启SYN Cookie功能。

tcp syn-cookie enable

缺省情况下,SYN Cookie功能处于关闭状态。

1.16  配置TCP连接的缓冲区大小

(1)     进入系统视图。

system-view

(2)     配置TCP连接的接收和发送缓冲区的大小。

tcp window window-size

缺省情况下,TCP连接的接收和发送缓冲区大小为63KB。

1.17  配置TCP定时器

1. TCP定时器简介

可以配置的TCP定时器包括:

·     synwait定时器:当发送SYN报文时,TCP启动synwait定时器和重传SYN报文定时器,当synwait定时器超时且SYN报文重传未达到最大次数时,如果设备未收到回应报文,则TCP连接建立不成功;当synwait定时器未超时但是SYN报文重传达到最大次数时,如果设备未收到回应报文,则TCP连接建立不成功。

·     finwait定时器:当TCP的连接状态为FIN_WAIT_2时,启动finwait定时器,如果在定时器超时前未收到报文,则TCP连接终止;如果收到FIN报文,则TCP连接状态变为TIME_WAIT状态;如果收到非FIN报文,则从收到的最后一个非FIN报文开始重新计时,在超时后中止连接。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置TCP的synwait定时器超时时间。

tcp timer syn-timeout time-value

缺省情况下,synwait定时器超时时间为75秒。

(3)     配置TCP的finwait定时器超时时间。

tcp timer fin-timeout time-value

缺省情况下,finwait定时器超时时间为675秒。

1.18  配置TCP代理所使用的TCP拥塞控制算法

1. 功能简介

可以配置的TCP拥塞控制算法如下:

·     Reno:推荐用于低延时、低带宽的场景,因为在高延时、高带宽的场景中,传输速度往往要经过很长时间才能达到最大,会降低带宽的利用率。Reno将收到ACK作为拥塞窗口增长的依据,是一种早期的TCP拥塞控制算法。

·     BIC:推荐用于高带宽、低丢包率的场景。BIC将丢包作为拥塞信号,优点是只要没有出现丢包,就不会主动降低发送速度,可以最大程度的利用网络剩余带宽,提高吞吐量;缺点是传输时延较高,而且会将传输错误丢包认为是拥塞丢包,从而减小拥塞窗口,降低发送速率。

·     BBR:推荐用于高带宽、高时延、存在一定丢包率的场景。BBR不将丢包作为拥塞信号,所以在丢包率较高的场景下,BBR可以有效降低传输时延,并保证较高的吞吐量。BBRv2降低了抢占性,提高了不同算法共存时的公平性。

对于支持配置TCP拥塞控制算法的模块,以支持模块配置的TCP拥塞控制算法为准,本功能不生效。例如WAAS模块,可以通过执行waas tfo congestion-method命令来配置WAAS WAN侧链路的TCP拥塞控制算法;对于不支持配置TCP拥塞控制算法的模块,将采用与TCP代理模块相同的TCP拥塞控制算法。关于waas tfo congestion-method命令的详细介绍,请参见“三层技术-IP业务命令参考”中的“WAAS”。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置TCP代理所使用的TCP拥塞控制算法。

tcp-proxy congestion-method { bbrv1 | bbrv2 | bic | reno }

缺省情况下,TCP代理所使用的TCP拥塞控制算法为Reno算法。

1.19  IP性能优化显示和维护

1.19.1  显示和清除IP报文统计信息

可在任意视图下执行以下命令,显示IP报文统计信息。

display ip statistics [ slot slot-number ]

请在用户视图下执行以下命令,清除IP报文统计信息。

 

reset ip statistics

reset ip statistics [ slot slot-number ]

1.19.2  显示ICMP流量统计信息

可在任意视图下执行以下命令,显示ICMP流量统计信息。

 

display icmp statistics

display icmp statistics [ slot slot-number ]

1.19.3  显示RawIP连接信息

可在任意视图下执行以下命令:

·     显示RawIP连接摘要信息。

display rawip [ slot slot-number ]

·     显示RawIP连接详细信息。

display rawip verbose [ slot slot-number [ pcb pcb-index ] ]

1.19.4  显示TCP连接信息

可在任意视图下执行以下命令:

·     显示TCP连接摘要信息。

display tcp [ slot slot-number ]

·     显示TCP连接详细信息。

display tcp verbose [ slot slot-number [ pcb pcb-index ] ]

1.19.5  显示UDP连接信息

可在任意视图下执行以下命令:

·     显示UDP连接摘要信息。

display udp [ slot slot-number ]

·     显示UDP连接详细信息。

display udp verbose [ slot slot-number [ pcb pcb-index ] ]

1.19.6  显示UDP连接负载分担的信息

1. 显示UDP连接负载分担的概要信息

可在任意视图下执行以下命令,显示UDP连接负载分担的概要信息。

display udp socket-loadbalance [ slot slot-number ]

2. 显示UDP连接负载分担的详细信息

可在任意视图下执行以下命令,显示UDP连接负载分担的详细信息。

display udp socket-loadbalance verbose [ slot slot-number ] [ port port-number ]

1.19.7  显示和清除UDP流量统计信息

可在任意视图下执行以下命令,显示UDP流量统计信息。

 

display udp statistics

display udp statistics [ slot slot-number ]

请在用户视图下执行以下命令,清除UDP流量统计信息。

reset udp statistics

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们