Linux-同服務器多執行緒traceroute
場景:一臺服務器起4個視窗,去執行traceroute。執行一段時間后出現,4個執行視窗同時出現無法出本地網關的命令結果情況,例如,
traceroute to 101.227.12.77 (101.227.12.77). 20 hops max. 60 byte packets 1 192.168.96.1 1.557 ms 2.820 ms 2 * * 3 * * 4 * * 5 * * 6 * * 7 * * 8 * * 9 * *10 * *11 * *12 * *13 * *14 * *15 * *16 * *17 * *18 * *19 * *20 * *。
過段時間后,又恢復正常,能夠出現trace每一跳的結果。
這是這個原因嗎?沒想明白
UDP traceroute:
==========
使用ICMP TTL-expired(type 11), ICMP port unreachable(type 3, code 3), UDP port >32768.
source發出UDP packet, source port使用隨機的任何大于32768的高段port#, destination port # 從33434開始遞增,直至33434+29,同時TTL從1開始依此遞增,直至1+29=30(最多送30個)。中間的router送回 ICMP TTL-expired,使得source得知了中間的每一個router,最后的destination送回TTL-expired 和ICMP port unreachable。
現在需要同時在一臺服務器traceroute大量(幾萬)IP,用以輪訓判斷回傳結果的網路出口情況?多執行緒跑的時候遇到這個問題,單執行緒順序執行就沒問題(但是太慢),求教~~
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/153652.html
標籤:交換及路由技術
