與傳統(tǒng)HSRP不同的是vPC在數(shù)據(jù)轉(zhuǎn)發(fā)層面對HSRP行為模式進(jìn)行了優(yōu)化。在控制層面,兩個參與HSRP的設(shè)備仍然是一主一備,主設(shè)備負(fù)責(zé)應(yīng)答ARP請求包。在傳統(tǒng)HSRP網(wǎng)絡(luò)結(jié)構(gòu)中,發(fā)給HSRP虛地址的數(shù)據(jù)包,一般都是直接發(fā)送到主設(shè)備,而不會發(fā)到備設(shè)備。在vPC中呢,如果HSRP的主備設(shè)備分別位于兩臺vPC交換機(jī)上,在接入層交換機(jī)看來,HSRP的虛IP對應(yīng)的MAC,來自vPC,即 PortChannel,因此數(shù)據(jù)包將遵循PortChannel的HASH算法確定發(fā)送數(shù)據(jù)包選擇PortChannel中的哪個端口,因此,總會有一部分?jǐn)?shù)據(jù)發(fā)送到HSRP備設(shè)備。在這種情況下,這些數(shù)據(jù)流將不得不穿越peer-link,到達(dá)主設(shè)備,由于vPC的防環(huán)路機(jī)制,必有部分?jǐn)?shù)據(jù)包被丟棄。
vPC的解決辦法是,HSRP的虛擬IP對應(yīng)的MAC,在兩臺vPC交換機(jī)上都帶“G”標(biāo)志,這個標(biāo)志告訴交換機(jī),目的地址是這個MAC的數(shù)據(jù)包,不允許再做二層轉(zhuǎn)發(fā),而是直接做三層路由操作。實質(zhì)就是,發(fā)送到HSRP主備設(shè)備的數(shù)據(jù)包,主備設(shè)備直接根據(jù)自己的路由表,在三層轉(zhuǎn)發(fā)出去,而不會由備設(shè)備再轉(zhuǎn)發(fā)到主設(shè)備,實現(xiàn)了HSRP主備設(shè)備的“雙活”。
這一個特性也提出了一個額外要求,出于轉(zhuǎn)發(fā)效率考慮,vPC交換機(jī)的三層路由,在網(wǎng)絡(luò)設(shè)計時應(yīng)做到兩邊對稱,即兩臺vPC交換機(jī)的路由到達(dá)所有外部網(wǎng)絡(luò)應(yīng)該有等價路由,避免兩臺vPC交換機(jī)之間的三層數(shù)據(jù)包相互轉(zhuǎn)發(fā)。