选择区域语言: EN CN HK

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

07-IP性能优化配置

本章节下载  (208.60 KB)

docurl=/cn/Service/Document_Software/Document_Center/Switches/Catalog/S12500/S12500X-AF/Configure/Operation_Manual/H3C_S12500X-AF_CG(R26xx)-6W102/04/201907/1217792_30005_0.htm

07-IP性能优化配置


1 IP性能优化

1.1  IP性能优化简介

在一些特定的网络环境里,可以通过调整IP的参数,以使网络性能达到最佳。IP性能的优化配置包括:

·              配置允许接收和发送定向广播报文;

·              配置接口发送IPv4报文的MTU;

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

·              开启SYN Cookie功能;

·              配置TCP连接的缓冲区大小;

·              配置TCP定时器;

·              配置ICMP差错报文发送功能;

·              配置ICMP分片报文转发功能;

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

·              指定ICMP报文源地址。

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

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

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

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

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

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

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

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

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

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

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

ip forward-broadcast [ acl acl-number ]

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

 

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

1. 组网需求

图1-1所示,Host的接口和Switch A的VLAN接口3处于同一个网段(1.1.1.0/24),Switch A的VLAN接口2和Switch B的VLAN接口2处于另外一个网段(2.2.2.0/24)。Host上配置默认网关为Switch A的VLAN接口3的地址(1.1.1.2/24)。

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

2. 组网图

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

 

3. 配置步骤

(1)      配置Switch A

# 配置VLAN接口3和VLAN接口2的IP地址。

<SwitchA> system-view

[SwitchA] interface vlan-interface 3

[SwitchA-Vlan-interface3] ip address 1.1.1.2 24

[SwitchA-Vlan-interface3] quit

[SwitchA] interface vlan-interface 2

[SwitchA-Vlan-interface2] ip address 2.2.2.2 24

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

[SwitchA-Vlan-interface2] ip forward-broadcast

(2)      配置Switch B

# 配置Switch B到Host的静态路由

<SwitchB> system-view

[SwitchB] ip route-static 1.1.1.1 24 2.2.2.2

# 配置VLAN接口2的IP地址。

[SwitchB] interface vlan-interface 2

[SwitchB-Vlan-interface2] ip address 2.2.2.1 24

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

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

当设备发送报文时,如果发送的报文长度比发送该IPv4报文的接口的MTU值大,则进行下列处理:

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

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

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

表1-2 配置接口发送IPv4报文的MTU

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

配置发送IPv4报文的MTU

ip mtu mtu-size

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

 

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

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

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

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

该配置仅对IP报文生效,当接口上配置了MPLS功能后,不建议再配置本功能。

表1-3 配置接口的TCP最大报文段长度

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

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

tcp mss value

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

 

1.5  开启SYN Cookie功能

一般情况下,TCP连接的建立需要经过三次握手,即:

(1)      TCP连接请求的发起者向目标服务器发送SYN报文;

(2)      目标服务器收到SYN报文后,建立处于SYN_RECEIVED状态的TCP半连接,并向发起者回复SYN ACK报文,等待发起者的回应;

(3)      发起者收到SYN ACK报文后,回应ACK报文,这样TCP连接就建立起来了。

利用TCP连接的建立过程,一些恶意的攻击者可以进行SYN Flood攻击。攻击者向服务器发送大量请求建立TCP连接的SYN报文,而不回应服务器的SYN ACK报文,导致服务器上建立了大量的TCP半连接。从而,达到耗费服务器资源,使服务器无法处理正常业务的目的。

SYN Cookie功能用来防止SYN Flood攻击。在服务器上配置此功能后,当服务器收到TCP连接请求时,不建立TCP半连接,而直接向发起者回复SYN ACK报文。服务器接收到发起者回应的ACK报文后,建立连接,并进入ESTABLISHED状态。通过这种方式,可以避免在服务器上建立大量的TCP半连接,防止服务器受到SYN Flood攻击。

表1-4 开启SYN Cookie功能

操作

命令

说明

进入系统视图

system-view

-

开启SYN Cookie功能

tcp syn-cookie enable

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

 

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

表1-5 配置TCP连接的缓冲区大小

操作

命令

说明

进入系统视图

system-view

-

配置TCP连接的接收和发送缓冲区的大小

tcp window window-size

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

 

1.7  配置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报文开始重新计时,在超时后中止连接。

表1-6 配置TCP定时器

操作

命令

说明

进入系统视图

system-view

-

配置TCP的synwait定时器超时时间

tcp timer syn-timeout time-value

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

配置TCP的finwait定时器超时时间

tcp timer fin-timeout time-value

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

 

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

发送差错报文是ICMP(Internet Control Message Protocol,互联网控制消息协议)的主要功能之一。ICMP报文通常被网络层或传输层协议用来在异常情况发生时通知相应设备,从而便于进行控制管理。

重定向报文、超时报文、目的不可达报文是ICMP差错报文中的三种。下面分别介绍这三种差错报文发送的条件及作用。

(1)      ICMP重定向报文发送功能

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

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

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

·              被选择的路由本身没有被ICMP重定向报文创建或修改过;

·              被选择的路由不是到默认目的地(0.0.0.0)的路由;

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

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

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

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

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

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

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

(3)      ICMP目的不可达报文发送功能

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

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

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

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

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

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

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

ICMP差错报文的发送虽然方便了网络的控制管理,但是也存在缺限:发送大量的ICMP报文,增大网络流量;如果有用户发送ICMP差错报文进行恶意攻击,会导致设备性能下降或影响正常工作。

为了避免上述现象发生,可以关闭设备的ICMP差错报文发送功能,从而减少网络流量、防止遭到恶意攻击。

表1-7 配置ICMP差错报文发送功能

操作

命令

说明

进入系统视图

system-view

-

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

ip redirects enable

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

当对端设备通过echo报文方式的BFD对链路进行检测时,请不要在本端设备开启本功能,否则可能导致echo报文被丢弃

开启ICMP超时报文发送功能

ip ttl-expires enable

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

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

ip unreachables enable

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

 

说明

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

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

 

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

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

表1-8 配置ICMP分片报文转发功能

操作

命令

说明

进入系统视图

system-view

-

关闭ICMP分片报文转发功能

ip icmp fragment discarding

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

 

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

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

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

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

操作

命令

说明

进入系统视图

system-view

-

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

ip icmp error-interval interval [ bucketsize ]

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

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

 

1.11  指定ICMP报文源地址

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

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

表1-10 指定ICMP报文源地址

操作

命令

说明

进入系统视图

system-view

-

指定ICMP报文源地址

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

缺省情况下,未指定ICMP报文源地址。设备使用出接口IP地址作为ICMP报文源地址

 

说明

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

 

1.12  IP性能优化显示和维护

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

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

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

操作

命令

显示RawIP连接摘要信息(独立运行模式)

display rawip [ slot slot-number ]

显示RawIP连接摘要信息(IRF模式)

display rawip [ chassis chassis-number slot slot-number ]

显示RawIP连接详细信息(独立运行模式)

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

显示RawIP连接详细信息(IRF模式)

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

显示TCP连接摘要信息(独立运行模式)

display tcp [ slot slot-number ]

显示TCP连接摘要信息(IRF模式)

display tcp [ chassis chassis-number slot slot-number ]

显示TCP连接详细信息(独立运行模式)

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

显示TCP连接详细信息(IRF模式)

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

显示UDP连接摘要信息(独立运行模式)

display udp [ slot slot-number ]

显示UDP连接摘要信息(IRF模式)

display udp [ chassis chassis-number slot slot-number ]

显示UDP连接详细信息(独立运行模式)

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

显示UDP连接详细信息(IRF模式)

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

显示IP报文统计信息(独立运行模式)

display ip statistics [ slot slot-number ]

显示IP报文统计信息(IRF模式)

display ip statistics [ chassis chassis-number slot slot-number ]

显示TCP连接的流量统计信息(独立运行模式)

display tcp statistics [ slot slot-number ]

显示TCP连接的流量统计信息(IRF模式)

display tcp statistics [ chassis chassis-number slot slot-number ]

显示UDP流量统计信息(独立运行模式)

display udp statistics [ slot slot-number ]

显示UDP流量统计信息(IRF模式)

display udp statistics [ chassis chassis-number slot slot-number ]

显示ICMP流量统计信息(独立运行模式)

display icmp statistics [ slot slot-number ]

显示ICMP流量统计信息(IRF模式)

display icmp statistics [ chassis chassis-number slot slot-number ]

清除IP报文统计信息(独立运行模式)

reset ip statistics [ slot slot-number ]

清除IP报文统计信息(IRF模式)

reset ip statistics [ chassis chassis-number slot slot-number ]

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

reset tcp statistics

清除UDP流量统计信息

reset udp statistics

 

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