關於在鏈路聚合下做smart,monitor link的轉發測試

關於在鏈路聚合下做smartmonitor link的轉發測試

這次又要開始瞎折騰了。沒事找事了。畢竟我還是很無聊的;

這個實驗主要要涉及到以下幾個方面:

1、gvrp的應用:

2、Smart LinkMonitor Link的配置;

3、鏈路聚合;

 

先複習一波基本知識:

GVRP:

 

GVRP(GARP VLAN Registration Protocol) GARP VLAN註冊協議

GARP(Generic Attribute Registration Protocol 通用屬性註冊協議

可以讓交換機之間能夠相互交換VLAN配置信息,動態創建和管理VLAN,用於只需要對少數交換機進行VLAN配置即可動態的傳播VLAN信息;

手工配置的VLAN成爲靜態VLAN。通過GVRP協議創建的VLAN稱爲動態VLAN;

 

GVRP的三種註冊模式:

Nomal模式:允許接口動態註冊,註銷vlan,傳播靜態vlan信息;

fixed模式:禁止接口動態註冊,註銷vlan,只傳播靜態vlan信息;

forbidden模式:禁止該接口動態註冊、註銷VLAN。不傳任何VLAN1以外的任何VLAN信息。

 

Smart Link 與 Monitor Link

爲了提高網絡可靠性,通常採用雙歸屬上方式進行組網、

網絡中兩條上行鏈路在正常情況下,只有一條處於聯通狀態。而另一條處於阻塞狀態 ,從而防止環路問題。當主用鏈路發生故障的時候,流量會在毫秒級的時間迅速切換到備用鏈路,當原主鏈路回覆時候,將維持在阻塞狀態,不進行搶佔,從而保持了網絡的穩定,

 

monitor link是用於擴展smart link的鏈路備份的範圍

通過監控上游設備的上行鏈路,而對下行鏈路進行同步設置。達到上游設備的上行鏈路故障迅速傳達給下行設備,從而觸發下游設備的smart link

的主備鏈路切換,防止長時間因上行鏈路故障而出現網絡故障;

 

 

配置Eth-Trunk

1負載分擔;

2提高可靠性,當某個成員接口出故障的時候,流量會切換到其可用的鏈路上

3增加帶寬。總帶寬是各成員接口帶寬之和

 

Eth-Trunk工作模式可以分成兩種

1。手工負載分擔模式:需要手動創建鏈路聚合組合,並配置多個藉口加入到所創建的 Eth-Trunk中

2。靜態LACP模式:該模式通過LACP協議協商Eth-Trunk參數後自主選擇活動接口;

 

 

實驗模式:

首先呢,這個是我們這次實驗的基本圖,這個圖就不設置很多套路了。(比如說不會設置vlan),在這個圖中呢,預計打算在LSW1LSW2LSW3之間設置鏈路聚合;之後我們在使用gvrp配置下接口狀態;(雖然我喜歡手動配置,不過看來還是又要加vlan然後在LSW4設置Smart Link,使其能夠快速切換;然後在LSW2LSW3上設置相應的 Monitor Link,做一個檢測作用,當下行鏈路出現問題時候,使其能夠通知上行鏈路迅速切換;

 

在這裏先補張圖,就是我所理解的smart linkmonitor link的原理;到時候我們就這麼配置;、

 

(在這裏我們不討論關於生成樹的問題,因爲默認爲我都掌握)

第一步:我們先進行鏈路聚合:

在我們進行鏈路聚合前、先用PC1pingPC3。看下報文傳播的路徑好了;

 

 

當我們進行一個簡單的抓包之後,就會發現數據報傳輸的鏈路;從LSW1->LSW2->LSW3,但是在沒有進行鏈路聚合之前,我們發現:這三條路,會根據生成樹協議選擇沒有阻塞的端口發出,至於什麼生成樹就不過多解釋;

不過我發現一個比較有意思的事情:

在我沒有對LSW1做任何手腳的時候:

 

它的stp是這樣的;

1當我選擇把LSW1e0/0/5端口shutdown,(這個端口是轉發數據的端口),數據只會經過很短暫時間的超時:然後馬上恢復正常;

(估計1秒都要不到

這個時候的LSW1已經沒有eth0/0/5而是馬上(重點是馬上!)根端口變成了eth0/0/6

 

2、然後我再次把剛剛shutdown的鏈路(LSW2e0/0/2端口)恢復正常後*undo shutdown),他居然不轉發報文了!有點高冷;

 

 

3然後我馬上,速度很快很快很快的查看了下stp brief(生成樹協議情況),發現eth0/0/5馬上出現了。然後又再次變成了根端口,沒有毛病啊,依舊處於轉發狀態啊;但是報文就是一直超時啊。就是ping不通啊;作者表示很尷尬;

 

 

4到現在,都過了3,4分鐘了。Pc1還是超時狀態;我想了想,貌似也超過stp定時器的delay時間了啊。所以也不應該是生成樹重新計算時候導致的鏈路阻塞;不過就在我準備放棄的時候,尼瑪啊,它又通了。打我臉啊、(但是講真,這個時間真的太久了。)

 

5、基於我本人無聊的原則,我還是要搞清楚爲什麼!

和前面的做法一模一樣,先shutdown交換機LSW1轉發數據的端口,這時候報文沒有在E5上跑。而是在新晉根端口E6上面跑;

 

 

我們可以發現,我們shutdown端口E5之後,報文在E6上跑的很歡!

在這個時候,我再次把e0/0/5打開(undo shutdown

 

我們發現,這時候這倆個都動了!都沒有任何的數據包從這裏轉發;這個時候發送的全都是stp的配置信息;但是對於生成樹協議來說,沒有任何問題;然而他就是不轉發;

 

於是我們抓包:交換機和主機之間的鏈路:

 

有從pc1發到pc3ping請求的報文;但是沒有任何應答;

 

所以,我還是沒有發現那裏有問題:先把問題丟在這,我很難過!

不過我發現,只要重啓下pc1ping,就又能ping通;

 

 

**************************************************

好了,先寫會DSP壓(he)壓(he)驚(da);

**************************************************

第一步:先進行鏈路聚合:

複製代碼

[LSW1]interface Eth-Trunk 1                  在LSW1上建立eth-trunk1接口

[LSW1-Eth-Trunk1]mode manual load-balance    設置爲手工負載分擔模式

[LSW1-Ethernet0/0/1]eth-trunk 1              將三個端口添加到eth-trunk1接口

[LSW1-Ethernet0/0/5]eth-trunk 1[LSW1-Ethernet0/0/6]eth-trunk 1[LSW1]display eth-trunk 1                   用這個命令可以查詢eth-trunk接口下的端口  

[LSW1]display interface Eth-Trunk 1          查看s1和s2的eth-Trunk接口的信息

複製代碼

以下兩張圖是使用這兩條命令對相應信息的查看:

[LSW1]display eth-trunk 1                  

 

[LSW1]display interface Eth-Trunk 1   

 

 

將LSW1LSW2LSW3之間的鏈路都進行聚合;

如果只聚合一端的話,將無法通信,會返回:

 

將所有的鏈路都進行了聚合:如下圖:

 

 

現在有一個小問題:如果鏈路聚合之後,數據包會怎麼在聚合鏈路上轉發呢?

在目前看來,當進行了鏈路聚合之後,報文也只是在E0/0/5上跑。並沒有達到均衡負載;

不過當我shutdown E5,然後在undo shutdown E5的時候,PC1pingPC3時候的恢復速度比之前沒有做鏈路聚合的時候恢復的更快;大概是15S的樣子;

 

因爲從上面的圖看到:只經過了一個延時,說明只可能是RSTP或者是MSTP,不可能是stp,因爲STP從去能到轉發需要經過2倍的FWDLY;而rstpmstp只需要經過1fwdly

 

 

第二步:發現數據如何在作了鏈路聚合的隧道上發送

當我們使用PC1pingPC3的時候,我們通過抓包發現:

 

 

我們發現:

【1】LSW1LSW2之間,LSW2LSW3之間都作了鏈路聚合,但是發現,在LSW1LSW2之間報文requestreply報文發送的鏈路是不同的,但是在LSW1LSW2之間報文requestreply報文發送鏈路卻是相同的;所以作了鏈路聚合之後,出現了鏈路流量分配不均勻;

百度到的答案:負載分擔是基於一定特徵帶哈希選路的,默認是基於SIPDIP,只有數據流多的時候,才能看出負載分擔的效果,一條流肯定就只選一條路了

所以鏈路聚合之後並不會按照stp生成樹的端口來發送數據,而是根據一種算法,先放過這個,先把後面的做完了再說

 

第三步:配置LACP鏈路聚合:

因爲之前配置了手動模式,如果需要轉換狀態,就需要全部取消才行;

所以就直接使用了新的拓撲圖;

 

兩條鏈路其中一條鏈路出現了問題,另外一條備用的鏈路馬上頂替出問題的鏈路工作,保證是兩條鏈路工作如何實現呢?

開啓所有的鏈路:

複製代碼

[LSW1-Eth-Trunk1]mode lacp---GigabitEthernet0//]eth-trunk --trunk --Eth-Trunk1]max active-linknumber -GigabitEthernet0//]lacp priority -GigabitEthernet0//]lacp priority    
設置兩個優先級爲100的鏈路,目的是爲了確定這兩個鏈路成爲活動狀態

複製代碼

通過設置。g0/0/1和g0/0/2成爲活動狀態,。而G0/0/5成爲備份鏈路,當現在的活動鏈路出現問題時候,g0/0/5成爲活動鏈路但是g0/0/1如果斷開在連接,則不會恢復爲活躍狀態;

當接口數量超出了最大負載閾值時,剩餘接口不會轉發流量的

 

第四步:配置Smart Link

Smart link 要注意的地方是:需要關閉stp;

爲了提高網絡可靠性,通常採用雙歸屬上方式進行組網、

Smart link網絡中兩條上行鏈路在正常情況下,只有一條處於聯通狀態。而另一條處於阻塞狀態 ,從而防止環路問題。當主用鏈路發生故障的時候,流量會在毫秒級的時間迅速切換到備用鏈路,當原主鏈路回覆時候,將維持在阻塞狀態,不進行搶佔,從而保持了網絡的穩定,

 

monitor link是用於擴展smart link的鏈路備份的範圍

通過監控上游設備的上行鏈路,而對下行鏈路進行同步設置。達到上游設備的上行鏈路故障迅速傳達給下行設備,從而觸發下游設備的smart link

的主備鏈路切換,防止長時間因上行鏈路故障而出現網絡故障;

 

1】先取消掉stp

 

[LSW1]undo stp enable

[LSW1]stp disable

 

這種時候就會出現路由環路。當我用pc1pingpc3的時候,抓包任意一條鏈路,都會發現裏面的報文成倍的瘋長;並且不能ping通;

 

2】然後再設置smart link

[LSW1]smart-link group 1                           在LSW1上創建只能鏈路組

[LSW1-smlk-group1]smart-link enable                開啓智能鏈路

 

突然發現並不能添加端口進去,提示的是:該端口已經運行在stp下。所以在LSW上關閉stp沒啥用啊,還是要進入到每個端口中,停止stp協議;

1
2
3
4
5
6
7
[LSW1-Eth-Trunk1]stp disable                     
 
[LSW1-smlk-group1]port  Eth-Trunk 1 master     設置eth-trunk爲主
 
[LSW1-smlk-group1]port Ethernet 0/0/2 slave    設置Eth0/0/2爲輔
 
[LSW1]display smart-link group 1               查看smart-link的主備狀態

 

3配置回切功能

當主接口出現問題,備份接口變城active狀態,當原主接口恢復,主接口不自動回切到active;

需要手工配置回切功能

[LSW1-smlk-group1]restore enable (當主接口恢復的時候自動變成active)

 

第五步:配置Monitor Link,是用於擴展smart link的鏈路備份的範圍

[LSW2]monitor-link group 1                              創建monitor-link分組1

[LSW2-mtlk-group1]port Eth-Trunk 1 uplink               設置上行鏈路

[LSW2-mtlk-group1]port Eth-Trunk 2 downlink             設置下行鏈路;

 

然後ping通。發現超時!但是感覺配置沒有問題,於是抓個包看看:

 

按照這個架勢,莫非我中了傳說中的廣播風暴之毒?~

於是乎,我百度了下,發現了問題所在:

 

我配置的都是LSW2的本地接口,明顯是錯誤的。

應該配置上行端口或者下行端口,就是對端的端口!

 

所以重新再做一遍,雖然我LSW2上做的配置都取消掉了。但是任然ping不同, 因爲鏈路上還存在着廣播風暴。所以我索性關機,重啓,然後整個人都爽了;

但是我發現呢:應該不是上述問題造成的,因爲是做了鏈路聚合的,所以我吧本端和遠端都設置爲一樣的名字;所以問題不是這裏的;

 

可能的原因:

1、之前我沒有對LSW3進行相同的配置;導致出現鏈路風暴;

2、在我對我的LSW2配置之後,廣播風暴就已經存在在環路中了。所以有可能是環路風暴導致報文不能正確到達目的地,而我也只是單方面的認爲是配置的問題;

3、有可能是我這個地方改錯了:

這裏我用黃色的線標註的地方;我之前手賤就把後面那個1去掉了。但是去掉之後就不能成功ping通。而且正確配置之後還是有這個1;所以我覺得最後一個可能比較大,說明以後還是不能手賤;

 

最後一步:配置gvrp

又要配置vlan了。表示很不爽;

首先呢:還是給主機和交換機之間的接口設置端口類型爲access;並都設VLAN10

              交換機和交換機之間的接口設置端口類型爲trunk;設置爲全通過;

如何配置就不寫了;

 

1】在出口(就是連接到外界主機的交換機)的LSW1LSW4配置到如下圖所示:

 

 

【2】將交換機之間所互聯的接口全部設置爲trunk並設置爲全部通過

 

【3】在所有交換機上面開啓GVRP功能,並在所有交換機兩兩互聯的接口下也開啓GVRP功能。

gvrp註冊默認模式爲Normal模式;

複製代碼

[LSW1]gvrp                                    在交換機上設置gvrp

[LSW1-Eth-Trunk1]gvrp                         在聚合鏈路(trunk)上設置gvrp

[LSW1-GigabitEthernet0/0/2]gvrp               在普通端口(trunk)上設置gvrp

【錯】[LSW1-Ethernet0/0/3]gvrp                 嘗試在access端口上設置gvrp                      

【報錯】Info: Not a trunk port; can't specify gvrp!

複製代碼

 

但是因爲我設置的是很簡單vlan。所以並不能看出來很好的效果,畢竟這個圖主要是爲了鏈路聚合所產生的;

不過最後還是能夠ping通的;

 

【感覺】但是個人感覺這個GVRP並沒有很實在的作用的。GVRP是動態祖冊,也許是因爲我的拓撲圖太小;但是總感覺使用動態註冊這個模式,花費了很多時間去適應做動態配置所需要的達到的要求;目前感覺並沒有很方便;也許我學的不夠還沒有掌握到精髓吧;

 

 

2017.3.15                                     by:tea


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章