1. 程式人生 > >二層三層網路協議-交換機與VLAN

二層三層網路協議-交換機與VLAN


一個辦公室內部,可能由多個交換機組成,共同組成了一個大的區域網

假設一個區域網分佈關係如下


當機器1 要傳送資料給機器4的時候,就會發送廣播尋找機器4的mac地址
交換機A 收到 機器1的廣播包之後,會轉發給所有埠
機器2也收到了,發現不是自己就丟棄這個資料包
交換機B也收到了這個廣播包,再廣播給所有的埠
於是機器4收到了並回應,這時候交換機A,交換機B就知道機器1,機器4在哪個埠上了


出現環路的情況


機器1想訪問機器2,於是傳送了一個廣播
交換機A 收到廣播後,轉給 右邊的LAN2,於是交換機B也收到了
同樣交換機B會將這個廣播繼續轉發,也就是轉發給LAN1,最後轉了一圈又到交換A這裡了
此時交換機A是不知道機器2在哪裡,於是再次轉發,最後形成網路風暴,變成環路了



當機器1傳送廣播包丟掉時候,交換機A,交換機B都知道機器1是在左邊這個埠上
之後交換機A將資料廣播出去,交換機B右邊埠收到了,他以為機器1的位置變了,於是更新對映表
交換機B再轉發廣播,交換機A右邊埠也收到了,於是也更新對映表
於是一會左邊,一會右邊,就在不停的更新對映關係


使用生成樹演算法解決上述問題

STP spanning Tree Protocol







STP協議中的一些概念解釋
1.Root Bridge,也就是根交換機
2.Designated Bridges,對一個根交換機來說,會有一些交換指定他做上級
3.Bridge Protocol Data Units BPUD,當兩個交換機相連的時候就需要比較各自權重,只有根交換機才可以比較,其他附屬的交換機只負責傳達命令
4.Priority Vector優先順序向量,兩個交換機比較權重,[Root Bridge Id,Root Path Cost,Bridge ID and Port ID],就是先比跟交換機,再比到達跟交換機的時間權重,最後比較自己的權重


有些交換機比較貴,一開始就被管理員分配了很高的許可權

下面是一個例子






經過一輪的BPDU比較,有些交換機就變成根了,有些就變成從屬了
下面這個圖中,就形成了幾個小的分支
3-4,5-6,1-7,2-8




合併過程有下面四種情況

1.根和根比較,1交換機大於5交換機,於是5歸屬到1下面,並將5下面所有的交換機都歸順到1下面



2.同組內的比較,6原來的上級是5,現在1和6經過比較發現,應該變成1->6->5這種模式,因為1->5的路徑花費很高,5還不如經過6再到1更划算



3.根和從屬比較,本來2是根的,7是從屬,但是7的上級比2大,於是2帶著下面所有的交換機都歸屬到1下面

也就變成了1->7->2這種模式了



4.從屬交換機之間比較,4本來比5大的,但是4的3 小於 5的上級1,於是4和2歸順到5下面

最終就形成了一個統一的樹模型了









一個區域網內,可能有不同的部門,財務,HR,技術
為了保證效率(不那麼頻繁的發廣播),也為了保證安全性,需要給機器分組

於是就出現了VLAN技術,將一個交換機下面的機器劃分成若干個虛擬區域網

實現方式是在MAC資料包做了改動,在目標mac,源mac,之後加入了一個tag標籤,用來標識VLAN的id


VLAN的id一共是12bit也就是4096個,在雲端計算的環境中就顯得不夠用了


經過劃分之後,不同VLAN的機器就獨立了,VLAN10的機器就不能給VLAN20的機器通訊

而VLAN10下面某個機器原本是A的,現在A走了變成B,B是另外一個部門,只要將其連線埠改成VLAN20就可以換組了




參考

STP生成樹協議理解

演算法導論-最小生成樹

VLAN原理詳解