根据ICMP Time Exceeded packet 为什么需要更长的 ICMP Echo Reply,ICMP time Exceeded 被视为低优先级并减慢甚至丢弃是正常的。我在负载较轻的 PowerConnect 7048 上观察到这个问题,我想提高优先级,这样这些数据包就不会被丢弃。
我的拓扑如下:
HostA PC7048 (routing) HostB
192.168.0.1/24 ----- 192.168.0.2/24,10.10.0.2/24 ----- 10.10.0.1/24
- 当我从 192.168.0.1 ping 到 10.10.0.1 时,丢包率为 0%
- 当我从 192.168.0.1 ping 到 10.10.0.2 时,丢包率为 0%
- 当我使用从 192.168.0.1 到 10.10.0.1 的 MTR 时,第一跳的丢包率是 5% 到 30%。通过执行 tcpdump,我确认 MTR 的工作方式似乎是通过缩短 TTL 并侦听 ICMP 超时响应(与普通跟踪路由相同的方法)。这证实了我与为什么 ICMP Time Exceeded 数据包需要更长的 ICMP Echo 回复相同的问题
所以我明白为什么会这样。或者至少是那种。假设在“忙”时丢弃超过 ICMP 时间的数据包,除非我根本不会称我的 PC7048 忙。它在大约 15 个活动端口上最多推动 2Gbps - 所以在我看来几乎是空闲的。它还在路由表中使用大约 120 条路由执行 OSPF 路由,因此它在 L3 中执行此操作,但对于这种交换机模型的要求并不过分。是吗?
这是我的处理器使用情况
switch#show process cpu
Memory Utilization Report
status bytes
------ ----------
free 559607072
alloc 435529120
CPU Utilization:
PID Name 5 Secs 60 Secs 300 Secs
-----------------------------------------------------------------
53923d0 tNet0 0.00% 0.09% 0.09%
53b99f0 BusM A 0.16% 0.12% 0.10%
55c1ab0 ipnetd 0.00% 0.01% 0.00%
5637b80 envMonTask 8.71% 3.22% 1.83%
5641370 osapiTimer 0.00% 0.10% 0.08%
568bba0 bcmDPC 0.00% 0.03% 0.04%
5926150 bcmL2X.0 3.01% 3.18% 3.15%
5b34440 bcmCNTR.0 1.84% 1.49% 1.55%
5bb3620 bcmTX 0.00% 0.02% 0.04%
63468d0 bcmRX 1.84% 1.66% 1.72%
6366ac0 bcmNHOP 0.16% 0.04% 0.02%
6379390 bcmATP-TX 0.00% 0.02% 0.03%
6382890 bcmATP-RX 0.00% 0.07% 0.05%
695e640 MAC Send Task 0.00% 0.03% 0.03%
6967b40 MAC Age Task 0.16% 0.02% 0.01%
8280660 bcmLINK.0 0.00% 0.09% 0.14%
850b8b0 LOG 0.00% 0.01% 0.01%
b822e50 tL7Timer0 0.00% 0.01% 0.02%
b848740 osapiMonTask 0.00% 0.00% 0.02%
c9a7f90 servPortMonTask 0.00% 0.01% 0.00%
cb1a310 portMonTask 0.00% 0.00% 0.01%
cb44a80 simPts_task 0.00% 0.01% 0.04%
d25df40 dtlTask 0.50% 0.31% 0.28%
d2b0f50 hapiRxTask 0.00% 0.12% 0.14%
d2da220 emWeb 0.00% 0.02% 0.00%
dd953c0 hapiL3AsyncTask 0.00% 0.49% 0.46%
e6cdc50 trafficStormControl 0.00% 0.01% 0.02%
e9f14c0 DHCP snoop 0.16% 0.03% 0.03%
f0b8930 SNMPTask 0.00% 0.04% 0.03%
109f7730 dot1s_timer_task 0.50% 0.35% 0.34%
10a08a00 dot1s_task 0.00% 0.00% 0.01%
11dd3920 tacacs_rx_task 0.16% 0.02% 0.00%
11de64b0 unitMgrTask 0.00% 0.02% 0.01%
11f865a0 snoopTask 0.33% 0.16% 0.14%
12f18930 dhcpsPingTask 0.00% 0.00% 0.01%
13055e50 spmTask 0.16% 0.03% 0.02%
130dcbe0 ipMapForwardingTask 2.51% 2.70% 2.97%
13327130 tArpCallback 0.00% 0.13% 0.15%
136bfd30 OSPF Proto 0.50% 0.12% 0.08%
137788d0 ARP Timer 1.50% 1.45% 1.54%
1bee9f50 lldpTask 0.00% 0.31% 0.34%
1c90dce0 tCptvPrtl 0.00% 0.01% 0.02%
1da0a130 RMONTask 0.16% 0.10% 0.10%
1da26e50 boxs Req 0.00% 0.00% 0.01%
1e9d81f0 OSPF Receive 0.00% 0.03% 0.06%
1ea71060 sshd[0] 0.00% 0.03% 0.01%
-----------------------------------------------------------------
Total CPU Utilization 22.44% 16.96% 15.98%
交换机用尽了哪些资源无法发回一些 ICMP 超时数据包?我如何确定 ICMP 超时数据包的优先级,以便交换机知道这些对我非常重要并相应地对待它们?这些数据包对我来说非常重要的原因是,当客户看到这些数据包时,他们会错误地断定我的网络存在故障。我可以将他们发送到这篇解释原因的文章,但问题仍然存在于他们的脑海中“为什么我要为超额订阅的交换机支付这么多钱,它是如此繁忙以至于无法腾出一毫秒的时间来发回几个 ICMP 超时数据包?” . 换句话说,当跟踪中唯一显示数据包丢失的行属于您时,它看起来非常糟糕。为什么其他人都能获得 0% 的丢包率?