中心网络与SDN: 技术架构与实现—1.3 高级STP欺骗——跨设备链路聚合云数据

举报
华章计算机 发表于 2019/06/03 00:53:25 2019/06/03
【摘要】 本书摘自《云数据中心网络与SDN: 技术架构与实现》——书中第1章,第1.3.1节,作者是张晨。

1.3 高级STP欺骗——跨设备链路聚合

STP会严重浪费链路资源,根源在于它会禁止冗余链路上的转发。如果通过一种办法来“欺骗”STP,让它认为物理拓扑中没有冗余链路,那么就可以解决上述问题。实际上,Port Channel技术就是这么做的,一个Port Channel对STP只表现为一个逻辑上的Port Channel Interface,Port Channel中的物理端口并不直接表现在STP中。只要STP允许了Port Channel Interface的转发,那么Port Channel中的物理端口就都可以用于转发流量,具体选择哪个物理端口由该Port Channel的负载均衡机制来决定。不过在传统的Port Channel中,物理端口都必须在同一台物理设备上,甚至是同一块线卡上,无法实现跨设备的链路聚合,那么一旦设备挂了就没有办法了。为了解决这个问题,就需要更加高级的STP“欺骗”机制。

虚拟机框技术中实际上就用到了跨设备链路聚合,不过在实现上过于复杂,因此在虚拟机框后又出现了一类技术,它们不再为控制平面做集群,只保留了跨设备链路聚合的能力。这类技术以Cisco的vPC、Juniper的MC-LAG和Arista的M-LAG为代表。

1.3.1 Cisco vPC

Cisco在Nexus系列交换机中推出了vPC(virtual Port-Channel)特性。VSS是整机级别的虚拟化,vPC则是接口级的虚拟化,其实就是把VSS中的跨设备链路聚合MEC加强实现了。因此,在vPC中只需要同步链路聚合的相关信息即可,不需要对整机进行状态同步。vPC中的一些关键概念如图1-4所示,vPC Domain中由两台设备形成vPC Peer,彼此之间通过Peer-Link互联,通过CFS消息来同步控制信息,Peer-Keepalive Link可跨越三层进行状态监测,以防Peer Link失效后的“Split Brain”问题。交换机或主机双上联到vPC Peer,直接运行LACP即可形成vPC,单上联的交换机或主机称为Orphan Device,用于接入Orphan Device的端口称为Orphan Port。

下面通过一个二层转发的实例来介绍vPC中的转发流程,图1-5a为A_15}PC~I)7S5~)G~W3TSC_6.pngRP Request的处理,图1-5b为ARP Reply的处理。假设配置vPC后,SW1 port 11和SW2 port 21属于vPC 1,SW1 port12和SW2 port 22属于vPC 1。SW1通过port 11收到ARP Request,之后在Peer-Link和port 12上进行泛洪。SW2收到该Request后,判定port 21、port 22分别与SW1中的端口进行了vPC绑定,因此不会从这两个端口进行转发。之所以要通过Peer Link泛洪给SW2,是考虑到目的主机有可能是一台只连接到SW2,而未连接SW1的Orphan Device。这时必须先泛洪给

SW2,再由SW2通过相关的Orphan Port送到目的主机上。同时SW1会通过CFS消息告诉SW2,ARP Request的源地址MAC_A是通过vPC 1接入的。当SW2通过port 22收到ARP Reply后,查找MAC地址表,得知目的地址为MAC_A的帧应该向vPC 1的成员端口转发,于0UR3`3~9}3$4_`(3~}3L38L.png 是通过port 21转发给SW3,同时通过CFS告知SW1,ARP Reply的源地址MAC_B接在vPC 2上。之后的通信得以按照学习到的信息进行转发。


图1-5 vPC对二层流量的处理


图1-5 (续)

对外来看,实现vPC的设备还是两台设备,在管理上还是要分开配置,两台设备的转发实例、转发表等都是独立的。另外,vPC是一种2层的技术,在对接3层的时候可能会需要一些额外的机制,如在Cisco FabricPath中使用了vPC+去对接HSRP。

IT_5`D}QHA3Q}I0HWI)T30I.png


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。