Android 平台ping包 對方ip返回 +1 duplicates (重復回應包)


遇到的問題是:

  • 同一個程序在MTK的設備上ping包時出現重復包的問題,導致程序出錯,經過那么久的使用從來沒出現這樣的問題,奇怪的是在同事那邊MTK設備測試出現同樣的問題;

  • 但是我這邊在高通的設備上運行時不會出現這個問題;

  • MTK出現問題在在上午,到下午重啟再去測試又是正常的了 --- 很大的可能是網絡環境有問題~

關於這個問題比較好奇查看了下相關的資料。

  • DUPLICATE AND DAMAGED PACKETS

  • The ping utility will report duplicate and damaged packets. Duplicate packets should never occur when pinging a unicast address, and seem to be caused by inappropriate link-level retransmissions. Duplicates may occur in many situations and are rarely (if ever) a good sign, although the presence of low levels of duplicates may not always be cause for alarm. Duplicates are expected when pinging a broadcast or multicast address, since they are not really duplicates but replies from different hosts to the same request.

  • Damaged packets are obviously serious cause for alarm and often indicate broken hardware somewhere in the ping packet’s path (in the network or in the hosts).


  • 大概意思:重復和損壞的數據包

  • Ping將報告重復和損壞的數據包。當使用單播地址時,不應該出現重復的數據包,而且出現重復數據包似乎時是由不適當的鏈路重傳引起的。

  • 重復可能在很多情況下發生,而且很少(如果有的話)是一個好的現象,盡管低水平的重復現象不總會造成警報。

  • 當在ping一個廣播或多播地址時會出現重復包,因為他們不是真正的重復,而是來自不同主機對相同請求的是響應。

  • 損壞包顯然時可以引起嚴重的恐慌,通常指出在ping包的路徑下哪部分硬件壞掉了(網絡或主機)。

也有一些大佬說是可能原因有以下幾點:

  1. 網絡中存在環路路由(static route); --- 數據包不斷在這個網絡傳輸,始終到達不了目的地,導致掉線或者網絡癱瘓;

  2. 雙機HA; --- 這個我自己也沒看懂,網絡太深奧了,好的博客給懂得人看,吶~,傳送帶

  3. 兩台虛擬機使用了相同的MAC地址;

  4. ICMP REDIRECT; --- 不懂,先貼出來

  5. /etc/tcp里面的配置手動改過,改錯了,廣播地址改成了你所要ping的ip地址;

(DUP!) 這個東西是DUPLICATE的一個縮寫,也就是ping包的時候收到多個重復值回應,通常發生在linux環境下比較多,windows環境對ping的reply只接到一個,第后續的重復回應會被廢棄。

發生這種情況通常是主宿機的IP沖突,或者網關有重復的路由設置,也或者路由器堵塞比較厲害,也可能還有其他原因。

推薦解決辦法是更改主機的IP網段,然鵝,這里的大佬比較厲害,只好我在程序中做了規避處理。

最后,什么鍋都由寫程序的背吧!祝大家背鍋愉快!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM