VPC详解
VPC(virtual PortChannel,虚拟链路聚合)
VPC技术允许将连接到两个Nexus系列交换机的物理链路视作一条逻辑端口聚合链路,再连接到其他设备。其他设备包括:Nexus 2000 系列的 Fabric Extender(后文暂且翻译为结构扩展器),交换机,服务器等其他任何的网络设备。vPC技术可以提供二层的多路径选择,让用户可以在有多条可选路径的情况下增加网络冗余度,同时实现提升带宽、在多个节点之间启用多条并行路径和对流量进行负载均衡。
在你开启vPC功能之后,你需要创建一条对端存活检测(keepalive)链路,用于在设备之间发送心跳。
vPC 域内包含vPC端设备,vPC对端keepalive链路,vPC对端互联链路,以及所有在vPC域下的PortChannel。在每个设备上你最多只能指定一个vPC域。
vPC功能提供了如下这些好处:
允许单个设备用portchannel连接到两个不同的上游设备
消除因为生成树协议而产生的阻塞端口
提供无环拓扑
可以使用所有可用的上行链路
当有链路或者设备失效的时候实现快速收敛
帮助实现高可用性
vPC概念
下面的列表定义了最关键的vPC概念:
vPC: 不同vPC端设备上与下游设备之间的捆绑PortChannel
vPC peer Switch(vPC端交换机):连接到vPC对端互联链路的交换机。其中一个设备会被选举为主设备,另外一个设备会成为从属设备。
vPC peer link(vPC对端互联链路):用于在vPC端交换机同步状态的链路。二层链路,承载控制层面流量,泛洪流量,孤立端口流量
vPC domain(vPC域):包括vPC端设备,vPC对端存活检测链路和所有连接往下游设备的PortChannel。 同域内只支持两台设备,建立两端的Domain ID一致
vPC keepalive link(vPC对端存活检测链路):三层链路,承载心跳数据包,检测vPC端交换之间的存活状态。
vPC member port(vPC成员端口):归属于vPC的交换机端口。
Orphan Port //孤立端口
CFS(Cisco fabric services) peer link 上运行的协议,用于两设备间状态同步,配置确认 。注意不能检测配置是否正确。
2. VPC控制层面和数据层面
VPC控制层面:CFS用于同步VPC控制层面信息
MAC地址学习
配置一致性检测
VPC成员端口状态
ARP缓存
VPC数据层面:VPC Peer Link承载流量
VPC控制层流量
泛洪流量
孤立端口流量
流量转发限制:从Peer Link进入vPC对等体的帧不会通过vPC成员端口转发
重复帧防护机制
VPC的一个重要转发原则:从vpc peer通过peer link发送过来的帧不会从vpc成员端口转发出去,而发给非vpc vlan,orphan port或者上联链路的流量会正常转发
Orphan port:不是通过vpc连接,但承载vpc vlan的端口
示例:单播——从Mac_A 到 Mac_B
说明:从Mac_A发送到MAC_B的包最初被泛洪到fabric中。它通过vPC1(这是一个端口通道,因此使用Sw3端口通道负载平衡算法来选择一个路径)选择一条路径,然后通过VLAN中的其他vPC以及vPC对等链接被泛洪。SW2不转发包,它是本地vPC链接,因为它通过vPC对等链接接收包。只有在SW1在vPC中没有端口的情况下,它才会向下转发它的本地vPC成员端口。