vPC基本组成部分
2017-11-22武孟军
前面已经提到,vPC技术是在两台独立的交换机上,对外虚拟出一台逻辑二层交换机,并以逻辑交换机身份参与PortChannel建立时的双方协商和STP计算。因此,这两台交换机之间的控制平台需要相互协作,并实时交换各自的数据,才能完成该功能。
vPC domain可以看做是在两台独立的交换机上跨平台虚拟出的一台二层交换机,它提供了一个配置vPC的全局参数的环境。以下是组成vPC功能的必要组件(如图 2)。
vPC peer switch
vPC对等交换机,既参与vPC的两台交换机,且必须是两台,可以是Cisco的 Nexus 3K、5K、6K、7K和9K系列交换机之一。下文中以“vPC交换机”指称。
图2 vPC功能组件
vPC
连 接vPC交 换 机和接入交换机之间的PortChannel。一般情况下,组成vPC的物理端口分布均匀分布在两个vPC交换机上,且端口不能是三层口,即端口模式要么为access,要么为trunk。 通过vPC,可以将传统二层交换机、三层交换机,或是支持PortChannel技术任意第三方设备,比如服务器、存贮等设备连接到vPC domain。
vPC peer link
连接两台vPC交换机,必须为10G链路,必须为trunk模式。该链路除了传输普通数据外,主要用来传输(使用CFS协议,Cisco Frabic Services)两台交换机之间的控制信息和同步二层数据(MAC、IGMP......)。
vPC peer-keepalive link
即平时所说的心跳线,用来检测对端交换机是否正常。
vPC domain
两台vPC对等交换机,包括vPC peer link和vPC peer-keepalive link组成一个vPC domain,使用一个ID来标识它。
vPC member port
vPC成员端口,即参与聚合为某个vPC的物理交换机端口,该端口必须属于两台vPC交换机之一。
vPC VLAN
允许在某一vPC链路(access或trunk)上传输,并且允许在vPC peer link上传输的VLAN,称为vPC VLAN。
non-vPC VLAN
不允许在任一个vPC链路(access或trunk)上传输,但有可能允许在vPC peer link上传输的VLAN,称为non-vPC VLAN。
Orphan port
孤端口,属于某个vPC VLAN,用来连接某台设备,但所连设备仅使用了单条线路,则该端口称为孤端口。
在图1中给大家展示了上述组件相互之间的逻辑关系。本文中如没有特殊说明,将认为vPC domain就是vPC系统虚拟出的一台虚拟交换机(可能会混用“vPC虚拟交换机” 和“vPC domain”),vPC属于该虚拟交换机的一 条 PortChannel,vPC member port是属于某一个PortChannel的成员端口。
注:有资料认为,所有成员端口在同一台vPC交换机上的vPC端口,也称为孤端口。这种看法应该是合理的,但实践中很少有这样的做法。
需要注意的是,以上所列举的概念仅仅是从组成vPC domain的交换机角度看才有意义,对连接到vPC domain的外部设备,是不存在这些概念的。对它们来说,自己仅仅是通过一个普通的PortChannel连接到另外一台普通的设备(vPC虚拟交换机)。
形成vPC domain的两台交换机,一台被配置为primary,一台被配置secondary(vPC优先级低者成为primary)。这两台设备的主要区别是,primary交换机负责运行控制STP协议和应答ARP请求。当探测到两台设备之间的vPC peer link链路中断时,secondary交换机会将自身的所有vPC member port和vPC VLAN SVI设置为down状态。