
MTR(ICMP가 아닌 TCP 사용)을 사용하면 일반적인 ICMP 플러드 제한을 수행하는 한 라우터에서 지속적으로 패킷 손실이 발생합니다. UDP도 마찬가지입니다. 여전히 손실이 발생합니다.
그러나 TCPing.exe, hping3, PRTG QOS와 같은 다른 도구를 사용할 때 손실이 거의 발생하지 않습니다(일반적인 ICMP 손실 제외).
MTR이 다른 도구와 일관되게 다른 결과를 보여주는 이유는 무엇일까요?
홉 2는 ICMP 플러드 제한 기능이 있는 Cisco 라우터입니다. MTR에서 ms 시간을 확인하세요.
mtr -P 445 -T -rn 172.31.xx.5
Start: 2020-09-02T11:54:26+0800
HOST: xxxx Loss% Snt Last Avg Best Wrst StDev
1.|-- 172.20.x.254 0.0% 10 0.6 0.7 0.5 1.9 0.4
2.|-- 172.18.x.239 10.0% 10 7014. 3339. 0.2 7018. 3506.6
3.|-- 172.31.x.32 0.0% 10 4.3 2.4 2.0 4.3 0.7
4.|-- 172.18.x.211 0.0% 10 2.4 2.5 2.4 2.6 0.0
5.|-- 172.31.x.5 0.0% 10 81.4 81.7 81.4 82.5 0.4
핑:
sudo hping3 -q --fast -n -c 100 172.31.x.5 -p 445 -T
HPING 172.31.x.5 (ens160 172.31.x.5): NO FLAGS are set, 40 headers + 0 data bytes
hop=1 TTL 0 during transit from ip=172.20.x.254
hop=1 hoprtt=0.9 ms
hop=2 TTL 0 during transit from ip=172.18.x.239
hop=2 hoprtt=0.8 ms
hop=3 TTL 0 during transit from ip=172.31.x.32
hop=3 hoprtt=2.8 ms
hop=4 TTL 0 during transit from ip=172.18.x.211
hop=4 hoprtt=2.8 ms
--- 172.31.x.5 hping statistic ---
100 packets transmitted, 100 packets received, 0% packet loss
round-trip min/avg/max = 0.8/78.7/86.4 ms
TCPing.exe:
./tcping -i .1 -p 445 -n 50 172.31.x.5
Probing 172.31.x.5:445/tcp - Port is open - time=81.423ms
Probing 172.31.x.5:445/tcp - Port is open - time=81.375ms
Probing 172.31.x.5:445/tcp - Port is open - time=81.246ms
Ping statistics for 172.31.x.5:445
50 probes sent.
50 successful, 0 failed. (0.00% fail)
Approximate trip times in milli-seconds:
Minimum = 81.246ms, Maximum = 85.690ms, Average = 81.628ms
답변1
사용한 다른 도구는 확실하지 않지만 mtr은 TCP를 사용할 때 TCP SYN 패킷을 대상으로 보내고 대상에 도달할 때까지 TTL을 1에서 증가시킵니다. 따라서 경로의 라우터는 패킷이 TTL 0에 도달할 때 여전히 ICMP 유형 11 - TTL(Time-to-Live) 초과를 다시 보냅니다. 이는 제어 플레인 정책이 적용되어 있는 경우 라우터에서 인지된 손실을 잠재적으로 설명할 수 있습니다. 그것에 영향을 미칩니다.
관심이 있는 경우 여기에서 제어 평면 정책에 대해 읽을 수 있습니다.https://nwmichl.net/2021/02/03/coping-with-copp-why-icmp-drops-happen/