如何缓解“tcp_exceed_seg_limit”全局计数器的异常增加

如何缓解“tcp_exceed_seg_limit”全局计数器的异常增加

18337
Created On 07/25/23 18:21 PM - Last Modified 07/02/25 00:41 AM


Objective


为了减轻异常增加tcp_exceed_seg_limit全球计数器。

计数器说明:
这个柜台tcp_exceed_seg_limit当达到无序队列大小时会增加,因为等待防火墙内容检查处理的无序 TCP 段的数量已达到防火墙的容量限制。


Environment


  • 下一代防火墙
  • DP 丢包
  • tcp_exceed_seg_limit


Procedure


减轻:

  1. 确保同一会话或流的网段穿越网络,从而穿越防火墙使用相同的路径。
    1. 在网络级别:避免任何每个数据包的负载共享(又名 “循环”负载共享)机制,并且更喜欢每个会话或每个流负载共享机制。
    2. 关于发射源:
      1. 检查传输设备的网卡是否有卸载机制。 如果是这样,请禁用卸载机制。
      2. 如果通过多链路传输,请检查负载共享机制。
    3. 检查网络中是否有任何设备正在使用第 2 层重传协议来补偿容易出错的链路,因为这可能会导致数据包重新排序。
    4. 检查您的网络中是否有一个设备,由于某种原因,接收到的数据包会被缓冲,然后不会按其到达的顺序发送,因为这可能会导致数据包顺序发生变化。
  2. 防火墙上有一个设置,可以在达到无序段的队列大小时启用绕过内容检查的选项:
    1. 使用 CLI 命令检查该设置:
       > show running tcp state
      
      session with asymmetric path            : drop packet
      Bypass if OO queue limit is reached     : no    <<<
      Favor new seg data                      : no
      Urgent data                             : clear
      Drop if zero after clear urgent flag    : yes
      Check Timestamp option                  : yes
      Allow Challenge Ack                     : no
      Remove MPTCP option                     : yes
      
    2. 您可以使用 CLI 命令启用该设置(默认情况下禁用):
      > config
      # set deviceconfig setting tcp bypass-exceed-oo-queue yes
      # commit
      1. “yes”表示计数器 tcp_exceed_seg_limit 仍会递增,但队列中的段将被转发。 当无序队列已满时,默认删除的段(无选项)将绕过内容扫描;这会危及端点的安全,仅当使用其他机制保护端点时才使用此选项。
      2. “否”表示如果达到无序段的队列大小限制,则接收到的任何其他无序段都将被丢弃。 对于任何额外的乱序段,计数器 tcp_exceed_seg_limit 将递增。 这些丢弃会影响用户体验,并因数据包重传而导致 TCP 连接缓慢。

 


Actions
  • Print
  • Copy Link

    https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA14u000000bqa6CAA&lang=zh_CN&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

Choose Language