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

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

目录

10-IP性能优化配置

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

10-IP性能优化配置


1 IP性能优化

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

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

·     配置IP报文功能

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

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

¡     开启三层报文统计功能

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

¡     开启IPv4虚拟分片透传功能

¡     强制关闭IPv4虚拟分片重组功能

¡     开启IPv6虚拟分片透传功能

¡     强制关闭IPv6虚拟分片重组功能

¡     配置DF标记位处理方式

·     配置ICMP报文功能

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

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

¡     指定ICMP报文源地址

¡     关闭发送指定类型的ICMP报文的功能

¡     关闭接收指定类型的ICMP报文的功能

·     配置TCP报文功能

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

¡     配置缺省TCP最大报文段长度

¡     配置TCP MSS自动调整功能

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

¡     开启SYN Cookie功能

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

¡     配置TCP定时器

¡     配置发送TCP报文时添加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的接口GigabitEthernet1/0/1处于同一个网段(1.1.1.0/24),Router A的接口GigabitEthernet1/0/2和Router B的接口GigabitEthernet1/0/2处于另外一个网段(2.2.2.0/24)。Host上配置默认网关为Router A的接口GigabitEthernet1/0/1的地址(1.1.1.2/24),Router B上配置静态路由使得Host与Router B之间路由可达。

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

2. 组网图

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

 

3. 配置步骤

(1)     配置Router A

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

<RouterA> system-view

[RouterA] interface gigabitethernet 1/0/1

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

[RouterA-GigabitEthernet1/0/1] quit

[RouterA] interface gigabitethernet 1/0/2

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

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

[RouterA-GigabitEthernet1/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

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

[RouterB] interface gigabitethernet 1/0/2

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

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

[RouterB-GigabitEthernet1/0/2] ip forward-broadcast

配置完成以后,在Host上ping Router A的接口GigabitEthernet1/0/2所在子网网段的广播地址(2.2.2.255)时,Router B的接口GigabitEthernet1/0/2可以收到该报文。取消掉ip forward-broadcast的配置,Router B的接口GigabitEthernet1/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 intreface命令查看;也会统计接口的IP报文统计速率,统计速率可通过命令行display interface查看。接口报文流量过大时,开启本功能会造成设备CPU占用率高,影响转发性能。因此,当用户不需要统计接口接收的IP报文数量时,建议关闭本功能。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

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

statistics l3-packet enable [ inbound | outbound ]

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

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

1. 功能简介

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

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

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

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

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

2. 配置限制和指导

IP虚拟分片重组功能的开启或关闭支持业务调用和命令行控制两种方式,命令行控制方式主要适用于不存在可调用IP虚拟分片重组功能的业务,但需要进行报文重组的组网环境中。这两种方式的结果不会互相影响,即只要有任意一个业务调用本功能或执行ip virtual-reassembly enable命令开启本功能后,功能就处于开启状态。执行ip virtual-reassembly suppress命令强制关闭IP虚拟分片重组功能后,通过以上两种方式开启的功能均会被强制关闭。

3. 配置步骤

(1)     进入系统视图。

system-view

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

ip virtual-reassembly enable

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

1.6  开启IPv4虚拟分片透传功能

1. 功能简介

在高可靠性组网环境下,如果设备上开启了IPv4虚拟分片重组功能,当出现同一条流的分片报文分别到达了两个设备的情况时,每个设备上收到的分片报文都不完整,IPv4虚拟分片重组功能无法对不完整的分片报文进行重组,因此会对分片报文进行丢弃。配置本命令后,未收到首个分片的设备,会将接收到的分片报文全部透传给收到同一条流首片报文所在的设备,实现同一条流的分片报文在一个设备上集中处理,即IPv4虚拟分片重组。

2. 配置限制和指导

设备上未开启IPv4虚拟分片重组功能,不建议配置本功能。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启IPv4虚拟分片透传功能。

ip virtual-reassembly centralize

缺省情况下,IPv4虚拟分片透传功能处于关闭状态。

1.7  强制关闭IPv4虚拟分片重组功能

1. 功能简介

IPv4虚拟分片重组功能可以提前对到达设备的分片报文进行检验、排序和缓存。开启IPv4虚拟分片重组功能,可以保证后续的报文重组功能处理的都是顺序正确的分片报文。

在高可靠性组网环境中,如果出现同一条流的分片报文分别到达了两个设备的情况,则每个设备上收到的分片报文都不完整,此时设备的IPv4虚拟分片重组功能无法对不完整的分片报文进行重组,因此会对其进行丢弃。

如果需要设备对接收到不完整的分片报文进行放行,则可以强行关闭设备的IPv4虚拟分片重组功能,此时通过业务调用和执行ip virtual-reassembly enable命令行控制两种方式开启的IPv4虚拟分片重组功能均会被关闭。

对于已配置ASPF、连接数限制业务的设备,配置本功能后,ASPF、连接数限制业务将不会对分片报文进行校验,而是直接放行。

2. 配置限制和指导

请明确实际组网对分片报文重组功能的需求后,谨慎配置本功能。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     强制关闭IPv4虚拟分片重组功能。

ip virtual-reassembly suppress

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

1.8  开启IPv6虚拟分片透传功能

1. 功能简介

在高可靠性组网环境下,如果设备上开启了IPv6虚拟分片重组功能,当出现同一条流的分片报文分别到达了两个设备的情况时,每个设备上收到的分片报文都不完整,IPv6虚拟分片重组功能无法对不完整的分片报文进行重组,因此会对分片报文进行丢弃。配置本命令后,未收到首个分片的设备,会将接收到的分片报文全部透传给收到同一条流首片报文所在的设备,实现同一条流的分片报文在一个设备上集中处理,即IPv6虚拟分片重组。

2. 配置限制和指导

设备上未开启IPv6虚拟分片重组功能,不建议配置本功能。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启IPv6虚拟分片透传功能。

ipv6 virtual-reassembly centralize

缺省情况下,IPv6虚拟分片透传功能处于关闭状态。

1.9  强制关闭IPv6虚拟分片重组功能

1. 功能简介

IPv6虚拟分片重组功能可以提前对到达设备的分片报文进行检验、排序和缓存。开启IPv6虚拟分片重组功能,可以保证后续的报文重组功能处理的都是顺序正确的分片报文。

在高可靠性组网环境中,如果出现同一条流的分片报文分别到达了两个设备的情况,则每个设备上收到的IPv6分片报文都不完整,此时设备的IPv6虚拟分片重组功能无法对不完整的分片报文进行重组,因此会对其进行丢弃。

如果需要设备对接收到不完整的分片报文进行放行,则可以强行关闭设备的IPv6虚拟分片重组功能。

对于已配置ASPF、连接数限制业务的设备,配置本命令后,ASPF、连接数限制业务将不会对分片报文进行校验,而是直接放行。

2. 配置限制和指导

请明确实际组网对分片报文重组功能的需求后,谨慎配置本功能。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     强制关闭IPv6虚拟分片重组功能。

ipv6 virtual-reassembly suppress

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

1.10  配置DF标记位处理方式

1. 功能简介

设备转发IP报文时,由于链路MTU值可能会对IP报文进行分片。如果设备收到携带DF(Don’t Fragment,不分片)标记的IP报文,设备不会转发该IP报文,但会向报文发送端发送ICMP差错报文,这样会导致通信中断。

当用户在设备上配置IP报文DF标志位后,设备会直接修改IP报文中的DF标志位,使得该IP报文可以被分片转发。

配置本功能后,设备会修改所有转发IP报文的DF标志位,不会修改本设备生成的IP报文的DF标志位。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置DF标记位处理方式。

ip df-bit { clear | set }

缺省情况下,保留当前IP报文DF标志位取值。

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

1.11.1  功能简介

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

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

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

1. 功能简介

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

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

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

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

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

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

2. 配置步骤

(1)     进入系统视图。

system-view

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

ip redirects enable

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

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

1. 功能简介

ICMP超时报文发送功能是在设备收到IP数据报文后,如果发生超时差错,则将报文丢弃并给源端发送ICMP超时差错报文。

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

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

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

2. 配置限制和指导

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

3. 配置步骤

(1)     进入系统视图。

system-view

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

ip ttl-expires enable

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

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

1. 功能简介

ICMP目的不可达报文发送功能是在设备收到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.12  配置发送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.13  指定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.14  关闭发送指定类型的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报文的功能。

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

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

1.15  关闭接收指定类型的ICMP报文的功能

1. 功能简介

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

2. 配置限制和指导

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

3. 配置步骤

(1)     进入系统视图。

system-view

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

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

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

1.16  配置接口的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报文生效,当接口上配置了MPLS功能后,不建议再配置本功能。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

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

tcp mss value

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

1.17  配置缺省TCP最大报文段长度

1. 功能简介

TCP建立连接后,TCP连接会根据TCP最大报文段长度对报文进行分片后再传输。目前,缺省TCP最大报文段长度较小,这会导致报文分片过多,且会存在接收连接方应答的TCP SYN报文的TCP校验和错误等问题。为了解决这个问题,管理员可以通过本命令手工指定缺省TCP最大报文段长度。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置缺省TCP最大报文段长度。

tcp default-mss mss-value

缺省情况下,缺省TCP最大报文段长度为512。

1.18  配置TCP MSS自动调整功能

1. 功能简介

在GRE、SSL VPN和IPsec VPN场景下,VPN相关业务会使TCP报文新增封装字段(即APPENDLEN),使TCP报文长度可能超出TCP连接协商的MSS值,从而导致TCP报文在经过VPN业务的中间设备时分片,降低了传输效率。

不同VPN业务的APPENDLEN不同,难以手动配置满足所有VPN业务的TCP MSS值。在VPN业务的中间设备上使能本功能,设备可以根据VPN业务种类的不同,自动调整TCP MSS值,避免TCP报文经过中间设备时分片。

TCP MSS自动调整功能会基于接口上发送IPv4报文的MTU值(由ip mtu命令配置)和VPN业务类型,自动计算MSS值,计算方法为:MSS=MTU值-IP头部长度-TCP头部长度-APPENDLEN

·     使能TCP MSS自动调整功能后,设备建立TCP连接时,接口上可以发送的TCP最大报文段长度为以下值中的最小值:

¡     报文自身的MSS值。

¡     基于接口上发送IPv4报文的MTU值和VPN业务类型,自动计算得到的MSS值。

¡     接口的TCP MSS值(由tcp mss命令配置)。

¡     全局的TCP MSS值(由tcp auto-adjust-mss命令配置)。

·     关闭本功能后,无法根据业务类型自动调整TCP MSS值。此时设备建立TCP连接时,接口上可以发送的最大TCP报文字段长度为以下值中的最小值:

¡     报文自身的MSS值。

¡     接口的TCP MSS值(由tcp mss命令配置)。

2. 硬件适配关系

本功能的支持情况与设备型号有关,请以设备的实际情况为准。

型号

说明

MER3220

不支持

MER5200

不支持

MER8300

支持

 

3. 配置限制和指导

·     开启本功能后,设备转发报文的过程中需要额外进行一次MSS取值的处理,因此会影响会话新建和转发性能,在追求转发性能的场景下,建议关闭本功能。

·     本功能的配置仅对新建的TCP连接生效,对于已建立的TCP连接不生效。

4. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启TCP MSS自动调整功能。

tcp auto-adjust-mss enable

缺省情况下,TCP MSS自动调整功能处于关闭状态。

(3)     (可选)配置全局的TCP最大报文段长度。

tcp auto-adjust-mss value

缺省情况下,全局的TCP最大报文段长度为1460。

1.19  配置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.20  开启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.21  配置TCP连接的缓冲区大小

(1)     进入系统视图。

system-view

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

tcp window window-size

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

1.22  配置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.23  配置发送TCP报文时添加TCP时间戳选项信息

1. 功能简介

TCP报文中携带TCP时间戳选项信息时,建立TCP连接的两台设备通过TCP报文中的时间戳字段就可计算出RTT(Round Trip Time,往返时间)值。在某些组网中,由于安全隐患,需要防止TCP连接上的中间设备获取到TCP时间戳信息,可以在建立TCP连接任意一端关闭发送TCP报文时添加时间戳选项信息功能。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置发送TCP报文时添加TCP时间戳选项信息。

tcp timestamps enable

缺省情况下,发送TCP报文时会添加TCP时间戳选项信息。

1.24  配置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拥塞控制算法。

2. 配置步骤

(1)     进入系统视图。

system-view

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

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

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

1.25  配置防止TCP连接攻击功能

1. 功能简介

开启防止对TCP连接的攻击功能后,设备将对每个已建立的TCP连接收到的错误报文进行数量统计,若一个统计周期(固定为1s)内收到的错误报文数量超过TCP连接防攻击的监控阈值,则判断当前连接遭到攻击,此时设备会断开该TCP连接。开启TCP连接防攻击的日志功能后,断开TCP连接时,设备会打印断开TCP连接的提示信息。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启防止对TCP连接的攻击功能。

tcp abnormal-packet-defend [ log | threshold threshold-value ]*

缺省情况下,防止对TCP连接的攻击功能处于关闭状态。

 

1.26  IP性能优化显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置IP性能优化功能后的运行情况,通过查看显示信息验证配置的效果。

在用户视图下执行reset命令清除IP、TCP和UDP的流量统计信息。

表1-1 IP性能优化显示和维护

操作

命令

显示ICMP流量统计信息

display icmp statistics

显示IP报文统计信息

display ip statistics

显示RawIP连接摘要信息

display rawip

显示RawIP连接详细信息

display rawip verbose [ pcb pcb-index ]

显示TCP连接摘要信息

display tcp

显示TCP连接的流量统计信息

display tcp statistics

显示TCP连接详细信息

display tcp verbose [ pcb pcb-index ]

显示TCP代理连接的简要信息

display tcp-proxy

显示TCP代理非保留端口的使用信息

display tcp-proxy port-info

显示UDP连接摘要信息

display udp

显示UDP流量统计信息

display udp statistics

显示UDP连接详细信息

display udp verbose [ pcb pcb-index ]

显示当前开启的INET业务的信息

display inet open-service

清除IP报文统计信息

reset ip statistics

清除TCP连接的流量统计信息

reset tcp statistics

清除UDP流量统计信息

reset udp statistics

 

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

新华三官网
联系我们