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