Cisco Nexus vPC之基本原理

前言

  Nexus和Catalyst有很多不同,我觉得目前在Nexus环境下,应用最普遍的可能就是vPC技术了,通过使用vPC技术能够改善STP环境下很多问题,诸如带宽浪费、收敛慢等问题。

vPC概述

Cisco Nexus vPC之基本原理_第1张图片
vPC逻辑拓扑

  vPC全称Virtual Port-Channel,是一种支持跨设备进行链路捆绑的协议,旨在消除STP环路,实现网络的快速收敛,提高链路利用率。在vPC环境下,HSRP/VRRP协议实现了双活,即无论Active/Standby设备,均能够转发流量,这也是一个比较大的进步。

  vPC对远端设备并没有要求,只要远端设备支持802.3ad/LACP,本端设备均可以使用vPC与其互联。

  传统意义上的VSS实际上也能够进行跨设备链路捆绑,但是由于VSS把两台设备的Control-plane集中到了一起,一旦Control-plane出现问题,两台设备均会出现问题。而vPC可视为在两台设备上独立运行协议,其中一台出现问题,也不会影响另一台。

vPC术语

Cisco Nexus vPC之基本原理_第2张图片
image.png
  • vPC Domain —包含vpc peer,peer-link,keepalive-link, 下联port-channel等
  • vPC peer – vpc交换机,成对出现
  • vPC member port – 组成vpc的一组端口(port-channel)
  • vPC – 连接下联交换机与两个vpc peer之间的port-channel链路
  • vPC peer-link –vpc peer之间的链路,状态和信息同步,必须为10GE
  • vPC peer-keepalive link vpc peer之间的心跳线,作为peer-link的备份
  • vPC VLAN –通过 vpc链路和peer-link承载的vlan.
  • non-vPC VLAN –不通过vpc承载的vlan
  • CFS – Cisco Fabric Services 协议,用于vpc peer之间状态同步,配置验证

vPC Domain

Cisco Nexus vPC之基本原理_第3张图片
vPC Domain

  两台vPC peer设备需要定义一致的vPC Domain ID,且该ID尽量全网唯一,因为vPC Domain ID 会用于产生一个唯一vPC system-MAC,用于LACP协议,如果两台vPC设备vPC domain ID与另外两台vPC的domain
ID重复,将会导致LACP flapping。
  在vPC domain模式下,可以定义vPC的全局参数,包括Role priority、keepalive等。

vPC Peer-link

Cisco Nexus vPC之基本原理_第4张图片
image.png
用途

  vPC peer-link执行标准的802.1Q Trunk协议,承载vPC vlan和非vPC vlan的流量。CFS协议、FHRP第一跳泛洪报文、STP BPDUs、HSRP Hellos,IGMP updates等流量均通过peer-link进行转发。

建议

  Peer-link作为vPC中比较重要的通道,建议使用两个10GE的端口,并且分布在不同板卡上,避免板卡故障导致vPC出现问题。
如果peer-link配置在M1卡上,需要将接口设置为shared mode。

Cisco Fabric Service(CFS协议)

CFS协议主要有以下几个用途:

  • 配置验证/比较
  • STP管理,STP BPDU抑制
  • MAC同步
  • vPC成员端口状态
  • IGMP Snooping同步
  • HSRP双活

vPC配置一致性检查

  当你建立一个vPC Domain后,两端的vPC就开始进行vPC配置一致性检查。
有两种一致性检查:

  • Type 1 - 重要的检查项目,如果两端设备或接口不一致,Secondary设备会进入suspended状态,避免出现异常。
    -Type 2 - 不是很重要,但是可能会导致流量异常。
Cisco Nexus vPC之基本原理_第5张图片
全局Type-1检查
Cisco Nexus vPC之基本原理_第6张图片
基于接口的Type-1检查
Cisco Nexus vPC之基本原理_第7张图片
Type-2检查

Peer Keepalive

Cisco Nexus vPC之基本原理_第8张图片
Peer Keepalive

  Peer-keepalive用于vPC peer之间的心跳,默认心跳消息间隔为2s,Hold timer为3s。
  建议使用一个单独的三层链路用于vPC peer-keepalive,千兆口即可,通过单独的VRF建立,不能够通过peer-link传输。为了节约接口,也可以使用管理科mgmt0(N5K较常见)。

VPC成员端口与孤立端口(Orphan Port)

Cisco Nexus vPC之基本原理_第9张图片
VPC成员端口

  vPC成员端口一般指的是在接口上允许了vPC的端口,用于终结port-channel。流量可以在两条链路上进行负载分担,支持802.1d/LACP协议。

  Orphan port指的是不通过vpc连接,但承载vpc vlan的端口。

  这要和非vPC端口进行区分,如果一个vlan不被允许通过peer-link传输,那么这个vlan就不是vPC vlan,因此属于这个vlan的接口既不是vPC成员端口,也不是vPC Orphan端口。这一点很容易被混淆。

vPC 防环机制

  首先说明,vPC放环机制是硬件实现的,不能够通过软件修改或关闭。

防环规则:vpc peer通过peer link发送过来的帧不会从vpc成员端口转发出去,而发给非vpc vlan,orphan port或者上联链路的流量会正常转发。

Cisco Nexus vPC之基本原理_第10张图片
vPC防环机制

vPC简单配置

Cisco Nexus vPC之基本原理_第11张图片
vPC配置示意
N7K(config)# feature vpc         !开启vPC功能
N7K(config)# vpc domain 1        !定义vPC Domain
N7K(config-vpc-domain)# peer-keepalive destination x.x.x.x source y.y.y.y  !定义Peer-keepalive
N7K(conifg)# int port-channel 10  !定义port-channel 10
N7K(config-int)# vpc peer-link  !将这个portchannel定义为peer-link
N7K(config)# int port-channel 20 !定义port-channel 20
N7K(config-int)# vpc 20 !启用vPC
N7K(config-int)#show vpc consistency-parameters !检查vPC参数一致性

你可能感兴趣的:(Cisco Nexus vPC之基本原理)