1. 程式人生 > >網卡丟包問題

網卡丟包問題

header nbsp tab link tac 下午 head 5.5 mage

關鍵詞: 丟包 網卡 bond0 telnet tcpdump ifconfig 連接失敗

一、故障表現

2018年1月11日下午18點,適配平臺 192.168.120.1/2報警 日誌提示 redis連接上不。

在120.1 上執行 telnet 192.168.120.2 6379 發現執行5次,有1次連接上不。現象看上去像網絡不穩定。

二、處理過程:

A. telnet 其它端口,看是否redis問題。 ------ 可排除是否應用問題。

120.1 上telnet 120.2 的22端口,發現失敗率近20%。排除redis的問題。

B. 抓包分析tcp的握手建立過程,確認問題所有

使用tcpdump 抓兩邊的包,看tcp握手情況

120.1 120.2
tcpdump -s 0 -i bond0 dst port 9999 tcpdump -s 0 -i bond0 port 9999 雙邊都抓包
telnet 192.168.120.1 9999 nc -l 9999 在120.2上監聽端口9999然後再120.1上發起telnet

結果如下:

技術分享圖片

結論:120.2回包正確,120.1收不到120.2返回的sync的ack確認包,所以120.1不停的重試。

基於以上分析,有兩種可能:

  • 網絡線路、路由問題等外部問題
  • 操作系統、網卡故障等主機類問題

繼續使用排除法:由於外部問題不好定位,好麽先確定主機問題。

使用ifconfig查看網絡情況:

技術分享圖片

從圖可見,bond0網卡 RX(接收) dropped掉大量包,正常情況應該是0。至此基本可確認是 bond0將收到的握手包drop掉了。

網卡丟包問題