相信很多人都知道媒體存取控制位址(Media Access Control Address),但是並不完全了解其所牽涉的網路技術範圍,對此本文將介紹MAC的設計格式、產生緣由、如何查找MAC位址,以及在網路中所牽涉的技術範圍。另外,還會介紹交換機是如何透過MAC位址的設計與操作來產生另外一個協定,以便改善整個運作流程,並解決網路迴圈等問題。
STP最大的目的就在於避免網路拓撲中的迴圈,而STP協定則是操作於MAC位址資訊之上。STP運用兩個關鍵性的概念來避免網路迴圈:Bridge ID(BID)以及網路路徑所需的花費。
接著,以下面這個網路架構圖來解釋整個運作流程。
第一步驟就是選出Root Bridge,在一個網路中只有一台設備可以當Root Bridge,而在Root Bridge上的所有的埠都稱為Designated Port,Designated Port通常都是處於Forwarding(轉發)的狀態之中,也就是隨時可以協助轉發(接收並送出)封包。
這裡假設交換機A被選為Root Bridge,此時網路上其他的交換機設備就全部都是Non-root Bridge。
在每一個Non-root Bridge上都必須選出一個Root Port,Root Port的定義是從Non-root Bridge到Root Bridge之間能花最少的成本,這些Root Port一樣都是處於轉發的狀態中。
由上面這個範例圖中可以看出交換機B這個Non-root Bridge經由Segment 1到達交換機A可以用最少的成本到達,因為Segment 1是100 BaseT,相對之下,Segment 2的10 BaseT的網路速度明顯慢了很多,所以走Segment 2會花費比較多的成本。
接著下一步就是在每一個網路區段中選出一個Designated Port,Designated Port代表從這個Port到Root Bridge的成本最低,在上面這個範例中,因為兩個網路區段的Designated Port都在Root Bridge上,所以已經都被選好了。
至於其他的Ports就都是Non-designated Port,又稱為NDB,這種Port是處於Block(封鎖)的狀態,所以沒有辦法轉發任何的封包。所以在上面這個例子中,交換機B的下面這個Port就是Non-designated Port,而因為這個Port被Block住,所以整個網路迴圈就不再存在,這就是整個STP運作的大致流程。
以下分別就每個步驟作詳細說明。到這裡為止請把握以下幾個大重點:
1. 每一個網路只能有一個Root Bridge
2. 每一個Non-root Bridge上面只能有一個Root Port
3. 每一個網路區段(Segment)中只能有一個
Designated Port
4. 每一個Non-designated Port都是被封鎖住,也就是
不會作用的
第一步驟:選取Root Bridge
基本上,選取Root Bridge的條件是BID,也就是Bridge ID。Bridge ID是由交換機或是橋接器設備的優先序(Priority)及MAC位址所組成。而這些資料都是放在BPDU(Bridge Protocol Data Unit)內。
同一個網路上所有運作於STP協定的交換機和Bridge設備都會定期交換BPDU,所有的設備預設會每隔兩秒交換一次,而交換的方式是採用群播(Multicast)的方式來進行。
優先序是由兩個Bytes所組成,而MAC位址當然就是由6個Bytes所組成。在802.1d的STP協定中,優先序的預設值是32768,其二進位是1000 0000 0000 0000,十?六進位就是0x8000,其實也就是兩個Bytes所能表達的數字範圍內的中間值。
優先序和MAC位址的值越低,代表BID的值越低,而交換機或橋接器設備如果擁有越低的BID值,代表這台設備越有機會成為Root Bridge。
以上圖為例,此兩台交換機設備都是使用預設的優先序,也就是32768,但是因為交換機A的MAC位址的值比較低,所以交換機A就是Root Bridge。其實,這個優先序是可以自行更改的,可以依照網管人員的網路規劃做不同的設定。
第二步驟:決定各個埠的角色
一旦決定了Root Bridge之後,其他的交換機和橋接器設備就都是Non-root Bridge,在Root Bridge上的各個Ports一定都是Designated Ports,接著就是要在這些其他的Non-root Bridge內決定哪個埠要當成Root Port。先來看看稍微複雜一點的範例。
在上面的圖例中,根據第一步驟的概念,很輕易地就可以知道交換機C是這整個網路的Root Bridge,所以交換機C上面的埠就都是Designated Ports。
由於Root Port的定義是指能以最少的成本到達Root Bridge的埠就叫做Root Port,所以從圖中可以看出,在下面兩台交換機設備內,其上面的埠通往交換機C一定可以消耗最少的成本。因為Segment 1的網路速度是100 BaseT,所以這兩台設備的上面的埠都是Root Ports。
這兩台交換機設備的下面兩個埠中,必須選出一個埠當作Designated Port。還記得嗎?因為「每個網路區段(Segment)都必須要有一個Designated Port」,而這個Designated Port到Root Bridge的成本消耗也必須是比較低的,但就圖例中這兩個埠而言,它們到達Root Bridge所花費的成本都是一樣多的,所以此時就要根據BID來選擇,BID較低的就是Designated Port。