1、vPC概述
如下图所示,在传统网络中,出于冗余考虑,汇聚层往往由2台设备构成,一台接入层交换机使用2根上联链路,分别连接汇聚层2台设备。
这种拓扑所带来的问题是:受制于STP,对于同一个VLAN的流量,接入交换机上联冗余链路,无论是上行还是下行流量,都只有其中1条能被利用。
为了解决这个问题,在DC交换网络中引入了一种名为Virtual Port Channel的技术:
传统的EtherChannel技术无法让channel的一端分布到不同的设备上,如上图中所示,汇聚层2台交换机间可以建立EtherChannel,但是接入层交换机无法汇聚层2台交换机建立channel。而vPC技术正是打破了这个限制,让2台汇聚层交换机对于接入层交换机而言,就好比是1台设备一样,使得接入交换机能与2台汇聚交换机间建立channel。
如下图所示,vPC在不改变物理拓扑的情况下,使得接入交换机能够与2台汇聚交换机建立channel。
其逻辑拓扑如下:
通过在汇聚交换机上配置vPC,使得在接入交换机看来上联的设备只有1台,因而,接入交换机实际上只需要是1台支持EtherChannel的设备即可,甚至也可以是1台服务器。
由此,带来了以下的好处:
冗余拓扑:依然冗余的拓扑保证无单故障点。
无STP阻塞端口:虽然拓扑冗余,但是采用vPC技术后,不会有端口被STP阻塞。
链路充分利用:由于所有端口都处于转发状态,在加之优化的hash算法,使得在vPC网络中,接入设备上联链路能够被充分地利用。
2、vPC的实现
vPC的组成如下图:
vPC:
由vPC peers与下游设备所构建起来的channel。
vPC peer device:
运行vPC的相邻设备。
vPC domain:
由2台vPC peer device所构成的区域。
domain以数字的形式进行表示,相同domain中的vPC peer device必须隶属于同一domain id;不同的domain,其ID必须不一致。
vPC只支持2台设备。构成domain。
vPC member port:
构成vPC channel的位于vPC peer devices上的端口。
vPC peer-link:
用于同步vPC状态信息。
必须先建立peer-keepalive link才能建立peer-link。
peer-link必须是EtherChannel,即便只有1个端口。
peer-link模式必须为trunk。
vPC peer-keepalive link:
用于监控peer device的liveness 。
可以使用management端口、SVI、routed-mode端口——L3接口。
peer-keepalive link中间可以跨越多台L3设备,路由可达即可。
vPC的应用环境可以分为single-sided vPC和double-sided vPC 2种。
Single-sided vPC如图: