一文精通虚拟端口通道vPC,精品文章,爱了
haoteby 2025-05-23 17:17 4 浏览
今天给大家带来的是虚拟端口通道相关的技术:
简介
传统数据中心使用生成树来防止第 2 层环路,这已经使用了多年,但确实有局限性,为了防止环路,生成树会阻止一些链路并保持其他链路处于活动状态,如下所示,阻塞链路可以在活动链路出现故障时使用,如果链路确实发生故障,生成树会运行 SPF 算法来决定解除阻塞的链路,该链路然后在它处于活动状态之前通过几个状态转换。
在经典的生成树中,阻塞的链路是对带宽的浪费,现代生成树对此进行了改进,链路 A 可能对 VLAN A 阻塞,但它可能对 VLAN B 处于活动状态,这是生成树的负载平衡。不幸的是,这仍然存在问题。例如,如果VLAN-A上的流量很大,而几乎没有使用VLAN-B怎么办?在这种情况下,流量不是均衡负载均衡的。
生成树也会导致次优路径,看看下面的图表。如果流量需要在两个底部交换机之间流动,它必须首先通过顶部交换机。
改善这种情况的一种方法是 EtherChannels,这允许从设备到交换机或两个交换机之间的许多活动上行链路,这仍然有局限性,因为 EtherChannel(或 LAG)仅位于两个设备之间,单个交换机的故障仍会导致链路束中断。
虚拟端口通道或 vPC 是EtherChannel的扩展 ,它们是解决生成树和 EtherChannel 局限性的一种方法。
如下所示,他们通过使设备能够同时为两个 Nexus 交换机创建一个 EtherChannel 来实现这一点 ,从连接的设备的角度来看,它仍然连接到单个交换机。
vPC 中的所有链路都主动转发流量,vPC 是多机箱以太网技术(或 MCEC),但不是 堆栈,Catalyst 平台上的 VSS(虚拟交换系统)是另一种多机箱技术。
vPC 还提供高可用性,由于两组链路都处于活动状态,因此 vPC 的收敛时间很快,如果一个链路或一组链路出现故障,则其他链路已经在转发流量,这比生成树快得多。它需要找出一条新路径,并将一个或多个链路转换为转发状态。
任何支持第 2 层端口通道的设备都可以通过 vPC 进行连接,设备不需要知道 vPC。设备包括物理服务器、防火墙、其他交换机和负载平衡器。
部署 ASA 集群的一种方法是通过 vPC 将其连接到一对 Nexus 交换机,如下图所示,Fabric Extender (FEX) 也可以通过 vPC 连接到父交换机,在此拓扑的一个变体中,网络设备可以通过 vPC 连接到两个 FEX。
vPC 是 Cisco 的专有技术,其他供应商也有类似的技术,例如 Force 10 的 VLT (现在是戴尔),采用不同方法的其他技术包括 TRILL、FabricPath和 VxLAN。
vPC 部署
拓扑
vPC 拓扑由两个 Nexus 交换机和一个或多个连接的设备组成,这两个交换机是 对等的,对等交换机通过两条链路连接在一起,它们是对等链路和保持活动链路,这些链路构成了 vPC 对等交换机的背板,此背板允许连接的设备将交换机对视为单个设备,连接的设备可以是任何支持端口通道或 LAG 的设备,这包括服务器、交换机、防火墙等。
vPC 拓扑中只能有两个交换机,这确实会导致一些可扩展性问题,增强数据中心网络的一些方法是部署 结构,在边缘具有 vPC 连接,一些交换矩阵示例是 Cisco 的 FabricPath或行业标准 VxLAN。
虽然 vPC 消除了生成树的影响,但生成树本身并没有完全消除,网络 仍应使用 Spanning-Tree。
为什么?
并非所有网络设备和设计都将使用 vPC,接入层可以使用 vPC 来连接主机,但是接入层可以使用传统的连接到汇聚层,这需要生成树进行循环控制。
那么,如果非 vPC 交换机连接到 vPC 对会发生什么情况?好消息是 vPC 对等交换机仍然支持生成树。不过,它们的行为与传统模型略有不同,通过 vPC 连接到 Nexus 对的交换机会将该对视为单个交换机,这意味着该对将作为到生成树域其余部分的单个交换机出现,这是可能的,因为两个交换机都会同步 网桥 ID,并且网桥优先级匹配。
但是等等......这对如何看起来是连接设备的单个开关?连接的设备不会看到来自两台交换机的生成树 BPDU 吗?
但是是:不,只有一台交换机发送 BPDU。
vPC 有两个角色; 小学 和 中学。
基于优先级 值的选举 决定了每个交换机将承担的角色,两个交换机都在数据平面中转发流量,但是,有一些 控制平面 功能只有主交换机才能处理,其中之一是发送 BPDU 帧,当您深入了解 vPC 时,您会发现只有主交换机才能处理的其他功能。
要开始使用 vPC,需要启用两个功能: vpc 和 lacp,vPC 是 EtherChannel 的扩展,LACP 仍用于与连接的设备交换控制消息。
Switch1(config)# feature vpc
Switch1(config)# feature lacp
保持活动链路
保持活动链路将心跳从一个对等方发送到另一个对等方,对等方将使用这些心跳来确定另一台交换机是否已启动。
此链路是第 3 层链路,位于单独的 VRF 中,以使其与其他流量隔离,这很重要,因为某些故障可能导致任一交换机认为其对等方已关闭,而实际上并非如此。这是一种脑裂或 双主动 场景,其中两个交换机都认为它们是主要的,keepalive 链路上的心跳可以防止出现此问题,即使出现故障,双方仍然可以看到对方。
有两种可能的方式来部署此链路,第一种选择是点对点路由连接在两个交换机之间,二是使用单独的三层网络,这可能是分发、核心或管理网络。
由于这条链路只承载很小的心跳包,所以不需要很大的带宽,它也不需要端口通道中的一组链路,这意味着 keepalive 可以是自定义 VRF 上普通端口之间的单个链路,或者,它可以是mgmt0 接口之间的单个点对点链路 。
以下示例显示如何使用专用端口配置保持活动链路,这是对任何带有一对监控器的基于机箱的交换机的建议。
称为vpc-keepalive 的专用 VRF 将流量保持在带外,一个专用的第 3 层(路由)端口被添加到 VRF 并被赋予一个 IP 地址。
[rtbs name="keepalive-link"]
下一个示例是另一种方法,它使用 mgmt0 接口作为 keepalive 链路,这是任何固定交换机(不是机箱)的推荐方法,这可以是点对点链路,通过 OOB 管理网络运行。
管理端口已经路由,并且已经在它自己的专用 VRF 中。
[rtbs name="keepalive-mgmt"]
要验证保持活动链路,请从保持活动 VRF ping 对等交换机。
验证保持活动
Switch1# ping 1.1.1.2 vrf management
PING 1.1.1.2 (1.1.1.2): 56 data bytes
36 bytes from 1.1.1.1: Destination Host Unreachable
Request 0 timed out
64 bytes from 1.1.1.2: icmp_seq=1 ttl=254 time=1.098 ms
64 bytes from 1.1.1.2: icmp_seq=2 ttl=254 time=0.598 ms
64 bytes from 1.1.1.2: icmp_seq=3 ttl=254 time=0.536 ms
64 bytes from 1.1.1.2: icmp_seq=4 ttl=254 time=0.503 ms
--- 1.1.1.2 ping statistics ---
5 packets transmitted, 4 packets received, 20.00% packet loss
round-trip min/avg/max = 0.503/0.683/1.098 ms
vPC域
vPC 域是 vPC 组件的逻辑集合,其中包括两台交换机、它们之间的链路以及 vPC 成员端口,每个交换机只能有一个域,每对启用 vPC 的交换机应使用不同的域 ID。
域是大多数全局 vPC 配置发生的地方,这包括分配保持活动链路和角色优先级,角色优先级最低的交换机将成为主交换机。
与 vPC 相关的所有配置必须在两台交换机上匹配,默认情况下,不会在交换机之间复制配置,但可以。
下面的示例使用 vPC 域 ID 10 并使用之前的 keepalive 链路。
[rtbs name="vpc-domain"]
使用·show vpc brief·验证域 ID 和 keepalive 链路 ,在下面的示例中,vPC 处于故障 状态,因为尚未配置对等链路。
确认
Switch1# show vpc brief
Legend:
(*) - local vPC is down, forwarding via vPC peer-link
vPC domain id : 10
Peer status : peer link not configured
vPC keep-alive status : peer is alive
Configuration consistency status : failed
Per-vlan consistency status : failed
Configuration inconsistency reason: vPC peer-link does not exist
Type-2 consistency status : failed
Type-2 inconsistency reason : vPC peer-link does not exist
vPC role : none established
Number of vPCs configured : 0
Peer Gateway : Disabled
Dual-active excluded VLANs : -
Graceful Consistency Check : Disabled (due to peer configuration)
Auto-recovery status : Disabled
Delay-restore status : Timer is off.(timeout = 30s)
Delay-restore SVI status : Timer is off.(timeout = 10s)
Operational Layer3 Peer-router : Disabled
对等链路
对等链路在对等交换机之间交换状态信息并承载控制流量,peer-link 也称为 Multichassis EtherChannel Trunk,正是这个链接在两个交换机之间形成了一个虚拟控制平面,使它们看起来像一个。
对等交换机使用 peer-link 共享 MAC 地址,如果一台交换机将 MAC 添加到其转发表中,它会将 MAC 发送给其对等方,后者将其添加到自己的转发表中,如果出现交换机故障,这有助于快速收敛。例如,如果 Switch-A 出现故障,Switch-B 可以继续转发流量而不会中断,它已经学习了所有可用的 MAC 地址。
peer-link 还负责承载广播和组播流量,如果网络使用组播,peer-link 需要足够大以承载它。除非出现故障,否则单播流量不应穿过对等链路。在这种情况下,对端交换机可能需要下发流量。
peer-link 在一个端口通道中应该至少有两个 10G 接口。根据流量,链路可能需要更大,peer-link 需要承载所有出现在 vPC 成员端口上的 VLAN。如果不是,则这些端口上将出现 一致性 错误。
在配置过程中,keep-alive 链路应该在 peer-link 配置之前启动并运行。
在下面的示例中,peer-link 是一个双接口端口通道。两台交换机上的配置相同。
对等链路
Switch1(config)# interface eth 1/1-2
Switch1(config-if-range)# channel-group 10 mode active
Switch1(config-if-range)# no shut
Switch1(config-if-range)# interface port-channel 10
Switch1(config-if)# no shut
Switch1(config-if)# switchport
Switch1(config-if)# switchport mode trunk
Switch1(config-if)# vpc peer-link
2017 Jan 4 01:02:03 Switch1 %$ VDC-1 %$ stp: Please note that spanning tree port type is changed to "network" port type on vPC peer-link. This will enable spanning tree Bridge Assurance on vPC peer-link provided the STP Bridge Assurance (which is enabled by default) is not disabled.
对等状态现在显示对等邻接形成 ok。
验证对等链路
Switch1# sh vpc brief
Legend:
(*) - local vPC is down, forwarding via vPC peer-link
vPC domain id : 10
Peer status : peer adjacency formed ok
vPC keep-alive status : peer is alive
Configuration consistency status : success
Per-vlan consistency status : success
Type-2 consistency status : success
vPC role : primary
Number of vPCs configured : 0
Peer Gateway : Disabled
Dual-active excluded VLANs : -
Graceful Consistency Check : Enabled
Auto-recovery status : Disabled
Delay-restore status : Timer is off.(timeout = 30s)
Delay-restore SVI status : Timer is off.(timeout = 10s)
Operational Layer3 Peer-router : Disabled
vPC Peer-link status
---------------------------------------------------------------------
id Port Status Active vlans
-- ---- ------ -------------------------------------------------
1 Po10 up 1
端口
成员端口
成员端口是主机或其他设备连接到的 vPC 端口,连接的设备必须配置自己的端口通道才能使其生效。
两台交换机上的配置相同,允许不同的端口号,只要它们在速度、双工等方面匹配,vPC 编号不必与端口通道编号匹配,但如果匹配,管理员会更容易。
vPC 成员端口
!将接口添加到常规端口通道中
Switch1(config)# interface eth 1/20
Switch1(config-if)# channel-group 15 mode active
!将端口通道配置为 vPC
Switch1(config-if)# interface port-channel 15
Switch1(config-if)# switchport
Switch1(config-if)# vpc 15
下面的输出显示了新的成员端口。它目前被标记为关闭,因为还没有任何连接。
Switch1# show vpc brief
Legend:
(*) - local vPC is down, forwarding via vPC peer-link
vPC domain id : 10
Peer status : peer adjacency formed ok
vPC keep-alive status : peer is alive
Configuration consistency status : success
Per-vlan consistency status : success
Type-2 consistency status : success
vPC role : primary
Number of vPCs configured : 1
Peer Gateway : Disabled
Dual-active excluded VLANs : -
Graceful Consistency Check : Enabled
Auto-recovery status : Disabled
Delay-restore status : Timer is off.(timeout = 30s)
Delay-restore SVI status : Timer is off.(timeout = 10s)
Operational Layer3 Peer-router : Disabled
vPC Peer-link status
---------------------------------------------------------------------
id Port Status Active vlans
-- ---- ------ -------------------------------------------------
1 Po10 up 1
vPC status
----------------------------------------------------------------------------
Id Port Status Consistency Reason Active vlans
-- ------------ ------ ----------- ------ ---------------
20 Po15 down* success success
孤立端口
孤立端口是位于启用 vPC 的交换机上的非 vPC 端口,这是仅连接到一个交换机而不是两个交换机的任何设备,这方面的一个示例是服务器的管理端口。
孤立端口可以承载任何 VLAN,即使它存在于 vPC 成员端口或对等链路上。
Switch1# show vpc orphan-ports
Note:
--------::Going through port database. Please be patient.::--------
VLAN Orphan Ports
------- -------------------------
1 Eth1/11
兼容条件
有几个条件必须在 vPC 中的所有端口上匹配:
端口模式
- 端口速度(手动或协商)
- MTU
- 双工
- 以太网层(交换机端口 或 无交换机端口)
- 风暴控制
- 流量控制
- 本地 VLAN
- 允许的 VLAN 列表
此外,vPC 中不允许使用 SPAN 和 ERSPAN 端口。
对等交换机使用对等链路来检查兼容性和错误配置,1 类 错误配置非常严重,它们会导致一个或两个对等体上的端口通道暂停,2 类 错误配置稍微宽容一些,如果存在类型 2 错误,管理员将收到一条系统日志消息。
如果存在 VLAN 不匹配,则仅挂起不匹配的 VLAN。
使用show vpc consistency-parameters global命令查看全局一致性参数。
Switch1# show vpc consistency-parameters global
Legend:
Type 1 : vPC will be suspended in case of mismatch
Name Type Local Value Peer Value
------------- ---- ---------------------- -----------------------
QoS (Cos) 2 ([0-7], [], [], [], ([0-7], [], [], [],
[], []) [], [])
Network QoS (MTU) 2 (1500, 1500, 1500, (1500, 1500, 1500,
1500, 1500, 1500) 1500, 1500, 1500)
Network Qos (Pause: 2 (F, F, F, F, F, F) (F, F, F, F, F, F)
T->Enabled, F->Disabled)
Input Queuing (Bandwidth) 2 (0, 0, 0, 0, 0, 0) (0, 0, 0, 0, 0, 0)
Input Queuing (Absolute 2 (F, F, F, F, F, F) (F, F, F, F, F, F)
Priority: T->Enabled,
F->Disabled)
Output Queuing (Bandwidth 2 (0, 0, 0, 0, 0, 0) (0, 0, 0, 0, 0, 0)
Remaining)
Output Queuing (Absolute 2 (T, F, F, F, F, F) (T, F, F, F, F, F)
Priority: T->Enabled,
F->Disabled)
Vlan to Vn-segment Map 1 No Relevant Maps No Relevant Maps
STP Mode 1 Rapid-PVST Rapid-PVST
STP Disabled 1 None None
STP MST Region Name 1 "" ""
STP MST Region Revision 1 0 0
STP MST Region Instance to 1
VLAN Mapping
STP Loopguard 1 Disabled Disabled
STP Bridge Assurance 1 Enabled Enabled
STP Port Type, Edge 1 Normal, Disabled, Normal, Disabled,
BPDUFilter, Edge BPDUGuard Disabled Disabled
STP MST Simulate PVST 1 Enabled Enabled
Nve Admin State, Src Admin 1 None None
State, Secondary IP, Host
Reach Mode
Nve Vni Configuration 1 None None
Allowed VLANs - 1 1
Local suspended VLANs - - -
使用show vpc consistency-parameters interface interface命令查看特定接口上的一致性问题 。
Switch1# show vpc consistency-parameters interface port-channel 15
Legend:
Type 1 : vPC will be suspended in case of mismatch
Name Type Local Value Peer Value
------------- ---- ---------------------- -----------------------
STP Port Type 1 Default Default
STP Port Guard 1 Default Default
STP MST Simulate PVST 1 Default Default
vPC card type 1 N9K TOR N9K TOR
Allowed VLANs - 1 1
Local suspended VLANs - - -
相关推荐
- 前端:从零实现一款可视化图片编辑器
-
背景介绍我们知道,为了提高企业研发效能和对客户需求的快速响应,现在很多企业都在着手数字化转型,不仅仅是大厂(阿里,字节,腾讯,百度)在做低代码可视化这一块,很多中小企业也在做,拥有可视化低代码相关技术...
- 2018年面世 英特尔将打造超级计算机
-
|责编:王冬奇中关村在线消息:据国外媒体报道,近日英特尔宣布将联手Cray公司为美国阿贡国家实验室打造一台性能强大的全新超级计算机——极光(Aurora),运算性能可达到180P-Flops(每秒浮...
- Hyperledger Fabric 2.0安装教程
-
本文介绍如何安装最新的HyperledgerFabric2.0的预编译程序、fabric-samples示例配置和代码以及docker镜像。HyperledgerFabric区块链开发教程:F...
- 一文精通虚拟端口通道vPC,精品文章,爱了
-
今天给大家带来的是虚拟端口通道相关的技术:简介...
- 「数据中心」数据中心脊页架构:思科FabricPath Spine和Leaf网络
-
思科在2010年引入了FabricPath技术。FabricPath提供了新的功能和设计选项,使网络运营商能够创建以太网结构,从而提高带宽可用性,提供设计灵活性,并简化和降低网络和应用程序部署和操作的...
- 51单片机项目:定时宠物喂食系统(含代码)keil、DXP原理图
-
题目要求:一、拟解决的主要问题...
- 基于51单片机的多功能智能语音循迹避障小车(含代码)
-
大家好,今天给大家介绍基于51单片机的多功能智能语音循迹避障小车,下方附有本文涉及的全部资料和源代码的获取方式,可进群免费领取。一.功能介绍及硬件准备这是一款基于51单片机开发的智能小车,通过这篇文章...
- 如何对自己尚不熟悉Angular.js的情况下对代码进行调试
-
【51CTO.com快译】如果大家对AngularJS还不熟悉,那么可能会在初步创建Web应用时对很多问题感到担心。而且尽管这可能已经是我们所能用到的上手难度最低的Web开发框架之一,但大家仍然需要了...
- 拿代码量算KPI跟程序员们来这套?(下)
-
嘿嘿,一个美丽的周末又这么过来了~小伙伴们都做了些啥呢?加班了咩?改bug了咩?催需求了咩?小编也如约更新“拿代码量算KPI……跟程序员们来这套?(下)”前情回顾请点击下方菜单栏的“精彩文章”,找到7...
- 哆啦A梦彩色版第5卷第51章,胖虎的料理
-
重温童年经典动漫,哆啦A梦彩色版第5卷第51章,胖虎的料理...
- 51单片机项目设计:基于51单片机时钟万年历(含代码、原理图)
-
大家好,今天给大家介绍基于单片机stm32的多功能氛围灯、手机控制ws2812和MCU升级程序,文章末尾附有本毕业设计的论文和源码的获取方式,也可现在直接进群免费领取。...
- 重构代码,真没有银弹
-
译者|布加迪我的一位同事在大型项目代码重构方面有丰富的经验,他真诚地与我分享了他如何处理这些繁杂的任务。虽然他做的大部分事情只是坚持不懈地努力,就像在健身房锻炼那样,但这对我来说很有意义。本文分享...
- 11个奇奇怪怪的微信隐藏玩法(含撩妹教程)
-
最近,我在微信发现了一个好玩的东西用它可以扒到好友的“黑料”...
- 程序员没转发公司朋友圈,被罚款500,半个月后3行代码让领导懵了
-
现在在职场,也确实存在着许多的身不由己,很多事情都不是自己想做的,但是为了工作也不得不做。就比如说公司经常会要求员工们发一些朋友圈,很多人都不愿意把工作上的东西发到朋友圈去,但是如果不发又要挨领导的批...