網卡丟包問題
阿新 • • 發佈:2018-09-26
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掉了。
網卡丟包問題