故障案例:网络访问慢

现象描述

FW作为中间设备的场景下,用户访问网页慢,报文延时大等。

相关告警与日志

  • 相关告警

  • 相关日志

    ARP/4/ARP_DUPLICATE_IPADDR

原因分析

图1 网络访问慢故障定位思路

  • 丢包

    报文在网络链路上传输时,可能会有部分报文在链路中被丢弃,无法及时到达对端,导致通信两端都在等待接收对端的报文,于是出现网络访问慢的现象。

    借助流量统计确定是否存在丢包及产生丢包的设备,如果存在丢包,进一步确认丢包原因,根据丢包原因进行相应处理。

    1. ARP冲突

      ARP冲突时,ARP表项存在漂移现象,报文有时无法转发到正确的目的地,只有报文正确转发出去了,网络才能通,因此,在用户端会出现访问网络慢的现象。

    2. 安全策略阻断部分流量导致访问网页慢。

      在某些业务场景下,用户上网时可能需要向多个Web服务器(对应不同的IP地址)请求资源,若安全策略只放行到部分IP地址的流量,则可能导致部分资源请求不到。客户端重连多次失败后,才会向下一个Web服务器请求资源,于是出现了访问慢的情况

    3. 未配置长连接。

      在某些特殊业务场景中,一条会话的两个连续报文可能间隔时间很长,如果没有配置长连接,会话老化后,需要重新建立连接,可能会出现访问慢的现象,这种场景下,就需要配置长连接。

    4. 接口过载保护阈值设置过高。

      出入接口上设置的过载保护阈值过高。一旦流量稍微波动,就会超过接口的最大带宽,从而引起拥塞。

  • 延时

    报文在网络链路上传输的时延大,也会导致网络访问慢。

    首先通过在终端上执行tracert命令,确认延时大的设备,然后在该设备上确定延时原因。对于FW,通常CPU使用率高会导致报文延时。

  • C:\Users\ccpladmin>tracert www.google.com
    Tracing route to www.google.com [1.1.1.1]
    over a maximum of 30 hops:
      1     5 ms     5 ms     4 ms  10.1.1.1  //从左到右分别表示:序号、最快时间、平均时间、最慢时间、链路上设备的IP地址。
      2     *        *        *     Request timed out.  //*号表示超时,一定时间内,没有返回任何时间信息,所以用*号来代替。
      3     4 ms     2 ms     2 ms  10.2.1.1
      4     2 ms     3 ms     2 ms  10.1.2.1
      5     2 ms     2 ms     2 ms  172.16.1.1
      6    83 ms   163 ms   243 ms  172.16.2.1  //第6跳,延时较大,请排查该设备。
      7     3 ms     5 ms     3 ms  192.168.1.1
      8     3 ms     3 ms     4 ms  192.168.2.1
     ...
     21     *        *        *     Request timed out.
     22     *        *        *     Request timed out.
     23     4 ms     4 ms     4 ms  1.1.1.1
    Trace complete.
    C:\Users\ccpladmin>
    1. 业务超过设备处理性能。

      流量过大,CPU使用率过高,造成部分流量无法正常转发,从而引起网络访问慢的现象。

    2. 启用了内容安全检测导致大量流量上送IAE(Intelligent Awareness Engine,智能感知引擎)处理。

      流量经过IAE后,会有一定程度的延迟,且流量上送IAE,会占用一定的CPU资源,可能会导致CPU使用率过高,从而引起网络访问慢的现象。

操作步骤

  1. 检查FW的日志缓冲区信息,查看是否存在ARP冲突日志。若存在ARP冲突,则根据日志中提示的冲突MAC地址找到冲突设备,隔离该设备后,观察是否还存在网络访问慢的现象,如果不存在,则说明是该设备导致,需要对该设备进行相应处理。

    <sysname> display logbuffer
    %2018-05-07 21:33:20 sysname %%01ARP/4/ARP_DUPLICATE_IPADDR(l): Received an ARP packet with a duplicate IP address from the interface. (IpAddress=192.168.1.1, InterfaceName=Ethernet0/0/0, MacAddress=0024-xxxx-xxxx)
    %2018-05-07 21:33:15 sysname %%01ARP/4/ARP_DUPLICATE_IPADDR(l): Received an ARP packet with a duplicate IP address from the interface. (IpAddress=192.168.1.1, InterfaceName=Ethernet0/0/0, MacAddress=0024-xxxx-xxxx)
    %2018-05-07 21:33:10 sysname %%01ARP/4/ARP_DUPLICATE_IPADDR(l): Received an ARP packet with a duplicate IP address from the interface. (IpAddress=192.168.1.1, InterfaceName=Ethernet0/0/0, MacAddress=0024-xxxx-xxxx)
    %2018-05-07 21:33:05 sysname %%01ARP/4/ARP_DUPLICATE_IPADDR(l): Received an ARP packet with a duplicate IP address from the interface. (IpAddress=192.168.1.1, InterfaceName=Ethernet0/0/0, MacAddress=0024-xxxx-xxxx)

  2. 结合业务场景,查看安全策略的配置是否合理。

    在某些业务场景下,用户上网时可能需要向多个Web服务器(对应不同的IP地址)请求资源,若安全策略只放行到部分IP地址的流量,则可能导致部分资源请求不到。客户端重连多次失败后,才会向下一个Web服务器请求资源,于是出现了访问慢的情况。通过在用户端抓包确定用户端是否会向多个IP地址发起请求。

    这种场景下,需要先配置较宽泛的安全策略放行指定域间流量,观察访问慢的现象是否消失。若现象消失,则确认是该原因引起。再根据实际业务流向将安全策略修改为明细安全策略,允许用户上网的流量通过。

  3. 结合业务场景,判断是否需要配置长连接。如果需要,先配置精确的安全策略,用于匹配需要长时间保持会话的流量,然后在安全策略中启用长连接并配置合理的长连接老化时间。

    在某些特殊业务场景中,一条会话的两个连续报文可能间隔时间很长,如果没有配置长连接,会话老化后,需要重新建立连接,可能会出现访问慢的现象,这种场景下,就需要配置长连接。

    例如,客户端访问SQL数据库的场景中,FW作为中间设备,客户端和服务器之间通过心跳报文来探测连接是否正常,通常两次心跳报文之间间隔时间较长。如果FW上没有配置相应的长连接,则可能出现后续的心跳报文没有匹配到相应的会话而被丢弃。此时,需要重新建立连接,就会出现用户访问SQL数据库变慢或使用该数据库服务的应用程序报错的现象。

  4. 查看接口的过载保护阈值配置。通常情况下,建议将接口的过载保护阈值配置为90%。

    在Web界面,选择“网络 > 接口”,单击接口所在行的,进入接口配置界面,查看过载保护阈值的配置。

  5. 检查FW的日志缓冲区信息,查看是否存在数据面CPU高的告警。

    <sysname> display logbuffer
    %2017-01-03 16:39:58 sysname %%01SYSTEM/2/DATAPLANECPU(l): The dataplane CPU usage exceeded the threshold (90%). The dataplane CPU usage was 99%.

    若存在,再执行display cpu-usage命令查看哪些进程占用了较高的CPU,针对不同原因采取相应措施。

    如下示例表明fpath.out(转发进程)或nge.out(内容安全过滤进程)占用过高的CPU。

    <sysname> display cpu-usage
    CPU Usage Stat. Cycle: 10 (Second) 
    CPU Usage            : 82.2%  Max: 96.6% 
    Management-plane CPU Usage: 11.9% Data-plane CPU Usage : 99.5% 
    CPU Usage Stat. Time : 2018-04-26 14:27:58 
    CPU utilization for ten seconds:  82.2% : one minute:  82.8% : five minutes:  81.9% 
    PID    ProcessName    CPU    Runtime    State 
    718    fpath.out      47.5%  68063937   S 
    311    vrp            2.8%   2598048    S 
    720    gm.out         2.1%   3083493    S 
    667    vrpio_s        0.2%   414173     S 
    737    nge.out        50.6%  105723     S 

    若是fpath.out占用较高CPU,则表示业务量过大,可考虑使用处理性能更高的型号替换该FW。

    若是nge.out占用较高CPU,则可执行engine bypass命令将IAE(Intelligent Awareness Engine,智能感知引擎)手动设置为Bypass状态后测试。

  6. 查看安全策略中是否启用了内容安全检测。若已启用,在允许的情况下,执行engine bypass命令将IAE手动设置为Bypass状态,若此时上网恢复正常,则表明是该原因引起。然后关闭Bypass状态后,配置明细安全策略,仅对需要进行内容安全检测的流量启用相应的内容安全检测功能。

    在安全策略中启用了IPS、AV 、URL filter、文件过滤等内容安全检测功能后,匹配了安全策略的所有流量会上送IAE处理,IAE会针对流量的应用层信息进行检测和处理。当IAE处理的流量很大时,可能会影响用户的上网速度。

  • 7
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值