之所以大費周章,弄出個vPC來,無非是要在邏輯上簡化一下網絡拓撲,特別是能夠跨設備實現PortChannel,簡 化 STP。那么,這些功能是如何實現的呢?
兩臺vPC交換機通過相互協作,欺騙對端設備,讓對端設備誤以為自己通過PortChannel連接的就是同一臺交換機。對端設備可以是普通的二層或三層交換機、服務器等任何可以支持PortChannel的設備。Cisco建議,兩邊的設備盡量啟用LACP協議。
在進行LACP協商時,兩臺vPC交換機使用相同的系統MAC,這個MAC被稱為vPC system MAC,定義如下:
vPCsystemMAC=00:23:04:ee:be:
例 如,當vPC domain ID定 義 為10時,vPC system MAC的 值 為00:23:04:ee:be:0a,這個系統MAC在兩臺vPC交換機中必須相同。除此以外,每個vPC交換機還各自有一個 Local system MAC,這個MAC從本地交換機系統MAC中獲得,因此,各自保持唯一。
當 vPC系統需要對外欺騙,宣示自己為同一臺設備時,就使用vPC system MAC作為身份標識,例如,在vPC對外進行LACP協商時,以及運行STP協議時。否則,使用各自的Local system MAC作為身份標識,例如,在進行普通的PortChannel LACP協商時。
這里假定STP模式為RPVST(Cisco建議,當二層網絡規模比較大時,運行 MST)。 對于non-vPC VLAN,兩臺vPC交換機使用各自的Local system MAC,各自獨立運行STP進程,互不干涉。
對于vPC VLAN,兩臺vPC交換機各自運行一個STP實例,它們各自有自己的Bridge ID。然而,只有primary像一個正常交換機那樣參與STP,scondary就像自己根本不存在一樣,僅僅轉發從其他交換機接收到到的BPDU給primary。這樣,在接入交換機看來,自己通過PortChannel僅僅連接了一個交換機,那就是primary。
另 外,vPC還 規 定,peerl link鏈路參與STP,并且永遠不能被STP阻斷。還里需要明確的一點就是,分布于primary和secondary的同一vPC的所有成員端口,無論何時,它們的STP端口狀態永遠是一致的。
STP穩定后,ROOT 和ROOT secondary交換機和vPC primary、secondary 交換機,無任何關系。……