世事洞明皆學(xué)問钙姊,人情煉達(dá)即文章毯辅。白鹿原中讓人記憶最深刻的人物田小娥為了追求幸福的生活不小心觸犯了封建社會的忌諱,他的黑娃男人為了事業(yè)卻不幸當(dāng)了土匪煞额,留下了她獨守空房思恐,她一個女人無依無靠終究逃不過封建社會的魔爪,被她見不得那些傷風(fēng)敗俗的公公白刀子進(jìn)紅刀子出了立镶。你以為這樣就結(jié)束了嗎壁袄?
SmartRG SR506n多機出現(xiàn)斷PING的情況是這樣的,先給大家畫個多機環(huán)境拓?fù)鋱D和交換機配置媚媒。
如果想了解多機服務(wù)器是怎么工作的,請參考上一篇文章多機服務(wù)器使用介紹涩僻。
從產(chǎn)線TE處了解缭召,從PC去PING板子出現(xiàn)PING斷,導(dǎo)致telnet登錄失敗或者telnet登錄成功了命令下不進(jìn)去逆日,參數(shù)寫不成功嵌巷。
問題剖析過程
首先復(fù)現(xiàn)問題
如上圖搭建多機測試環(huán)境,電腦ping 192.168.1.5 -t室抽,ping 192.168.1.6 -t搪哪,ping 192.168.1.7 -t
問題很容易復(fù)現(xiàn),如下圖出現(xiàn)PING斷坪圾。
看到問題后晓折,抓包debug。
1兽泄、先抓在多機服務(wù)器和交換機之間的包漓概,看看報文是什么樣子的?
那么request包都經(jīng)歷了什么才導(dǎo)致ping不通的呢?
下面我們?nèi)タ纯次吹玫交貜?fù)的request報文的上面的報文是啥?這個板子有個特點痹愚,喜歡發(fā)arp報文垛膝,從192.168.1.2到192.168.1.254都問一遍泰讽,每20s發(fā)一次对途。
ping 192.168.1.5每次出現(xiàn)斷ping的時候都出現(xiàn)了什么報文
通過過濾vlan id=5的報文卒蘸,其他vlan的報文都不會影響到我校辩,尋找每次出現(xiàn)ping斷時候出現(xiàn)的奇怪報文填抬,從上圖我們很明顯的看到有兩個報文影響到了我烛芬。
一個是源mac為dut,目的mac為廣播的who has 192.168.1.5痴奏?tell 192.168.1.7的報文蛀骇。一個是源mac為dut,目的mac為廣播的免費arp報文读拆。
那么這兩個報文是誰發(fā)出來的擅憔?如何影響pc出現(xiàn)ping斷的呢?
先分析第一個問題檐晕,pc為什么會出現(xiàn)ping斷暑诸?
通過在交換機和dut之間抓包發(fā)現(xiàn),沒有出現(xiàn)單獨的request報文辟灰。難道這個request報文被丟掉了个榕。
為了確定這是不是真的?我在pc上ping 192.168.1.5 -t -n 20芥喇,查看在交換機和多機server之間的icmp包和交換機和dut之間的包的差異西采。
多機server和交換機之間的包
DUT和交換機之間的包
怎么看,比對一下兩邊的數(shù)據(jù)包继控,有兩個request交換機沒有轉(zhuǎn)發(fā)械馆。那么交換機為什么會不轉(zhuǎn)發(fā)呢?
交換機是二層設(shè)備武通,他只負(fù)責(zé)根據(jù)mac地址學(xué)習(xí)表轉(zhuǎn)發(fā)報文霹崎。那么我們ping 192.168.1.5 -t,ping 192.168.1.6 -t冶忱,ping 192.168.1.7 -t看一下mac地址學(xué)習(xí)表的情況尾菇。
2210-1801-0003是板子的mac地址,三個板子的mac地址都一樣
448a-5baa-c5b5是ping命令pc的mac地址囚枪,定心看一下mac地址學(xué)習(xí)表的變化派诬,結(jié)合交換機端口的配置。
request報文的源mac為pc的mac448a-5baa-c5b5眶拉,目的mac為dut的mac2210-1801-0003千埃,vlan id 5。
如果交換機正常轉(zhuǎn)發(fā)的話mac地址學(xué)習(xí)表應(yīng)該是這樣的忆植。
[H3C]display mac-address dynamic
MAC ADDR? ? ? VLAN ID? STATE? ? ? ? ? PORT INDEX? ? ? ? ? ? ? AGING TIME(s)
5c63-bf8c-e2d7 1? ? ? ? Learned? ? ? ? GigabitEthernet1/0/4? ? AGING
2210-1801-0003 5? ? ? ? Learned? ? ? ? GigabitEthernet1/0/2? ? AGING
448a-5baa-c5b5 5? ? ? ? Learned? ? ? ? GigabitEthernet1/0/4? ? AGING
2210-1801-0003 6? ? ? ? Learned? ? ? ? GigabitEthernet1/0/3? ? AGING
448a-5baa-c5b5 6? ? ? ? Learned? ? ? ? GigabitEthernet1/0/4? ? AGING
2210-1801-0003 7? ? ? ? Learned? ? ? ? GigabitEthernet1/0/1? ? AGING
448a-5baa-c5b5 7? ? ? ? Learned? ? ? ? GigabitEthernet1/0/4? ? AGING
但是當(dāng)trunk口4口學(xué)習(xí)了下面這三種情況的話放可,我request報文過來后就無法尋址轉(zhuǎn)發(fā)了
2210-1801-0003 7? ? ? ? Learned? ? ? ? GigabitEthernet1/0/4? ? AGING
2210-1801-0003 6? ? ? ? Learned? ? ? ? GigabitEthernet1/0/4? ? AGING
2210-1801-0003 5? ? ? ? Learned? ? ? ? GigabitEthernet1/0/4? ? AGING
官方稱之為“mac地址表抖動”谒臼,何謂“抖動”?就是指通過一個mac地址在兩個或者兩個以上端口學(xué)習(xí)到了耀里,導(dǎo)致mac地址表不斷更新蜈缤。通過綁定靜態(tài)mac地址解決mac地址抖動的問題。于是我把這3個mac地址分別綁定到3個端口的3個vlan下面冯挎,再去ping底哥,問題果然解決了。
PING斷的問題解決了房官,我們?nèi)シ治鍪遣皇俏覀冎罢f的那個報文導(dǎo)致的PING斷呢趾徽?
還有一個報文是
使用模擬發(fā)包工具小兵以太網(wǎng)測試儀,去模擬上述的兩個報文在多機服務(wù)器和交換機之間的HUB上發(fā)包翰守,ping 192.168.1.5孵奶,確實會根據(jù)這兩個報文的發(fā)送而ping斷。
果然蜡峰,出現(xiàn)了ping斷了袁。接下來又回到第一個問題了,這些報文是誰發(fā)出來的呢湿颅?什么都不想說了载绿,矛頭直指多機服務(wù)器。怎么證實是多機服務(wù)器搞得鬼油航?我們要證據(jù)啊崭庸,猜猜猜,就知道猜谊囚。很意外冀自,當(dāng)時多機服務(wù)器上的配置是這樣的。
我以為只會收到5,6,7的異常arp報文秒啦,誰知道在抓的包里面發(fā)現(xiàn)了13的異常arp報文
Info:who has 192.168.1.13? Tell 192.168.1.7
我嘗試在多機服務(wù)器里面將192.168.1.13的配置刪除,該報文也就真的不會被抓到了搀玖。這應(yīng)該是多機服務(wù)器搞出來的報文余境,但也不應(yīng)該怪多機服務(wù)器啊,要不是你板子不斷地發(fā)下面這個灌诅,我多機服務(wù)器也不會發(fā)這樣子的報文芳来。其他牌子樣機就不會發(fā)這個報文,所以其他牌子的樣機就不會PING斷的猜拾。
天啦擼即舌!接下來的問題是多機服務(wù)器為什么會發(fā)這個報文?為什么會出現(xiàn)免費arp報文挎袜?