云数据中心网络与SDN:1.10.2 控制与转发过程分析

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

1.10.2 控制与转发过程分析

VDX交换机可以在VCS和Standalone两种模式下工作。当在VCS模式下工作时,交换机上所有的端口上开始跑BLDP(Brocade Link Discovery Protocol),BLDP首先会判断链路两端的交换机是否均为VDX交换机,如果两侧的VDX交换机属于同一个VCS域,就认为协商成功,并将链路两侧的端口均置为fabric port,链路建立为ISL。如果协商失败,则相关的端口被置为edge port。交换机所属的VCS域由VFID来表示。每个交换机只能属于一个VFID,VFID可以由管理员配置,如果不做配置,则默认为1。

有了ISL后,两侧的交换机上开始协商ISL Trunk,ISL Trunk相当于Port Channel,不过VCS中ISL Trunk的协商没有用LACP,用的也是Brocade的私有协议。ISL Trunk中不同的ISL间是通过DWRR(Deficit Weight Round Robin)来进行逐帧的负载均衡,然后由ASIC来保证in-order delivery。相比于Port Channel上基于哈希的负载均衡,DWRR的效果要好很多,不会出现一条ISL有流量,而同属于一个ISL Trunk的另一条ISL上没有流量的情况。

之后,VCS开始进行Fabric Formation。首先,VCS需要保证每个交换机都被分配到一个RBridge ID,为此整个VCS域会选举出一个PS(Principle Switch),PS先为自己分配一个RBridge ID,再通过DIA和RDI逐层地为其他交换机分配RBridge ID。当所有的交换机都有了RBridge ID之后,Fabric Formation就可以进入路由协议的运行阶段了。相比于TRILL中使用ISIS,VCS选择了FC中的路由协议光纤最短路径优先(Fiber Shortest Path First,FSPF)。上述的控制协议和机制都是借鉴于FC,更多关于FC的介绍请参考本书10.2节。

对于已知的单播流量,各个交换机会通过FSPF形成RBridge ID转发表,能够支持到8路ECMP。这里需要说明的是,为了能够尽可能多地利用链路资源,VCS中链路的cost并不是根据带宽计算出来的,而是通过速率计算得到的,比如对于一个3*10GE的 ISL Trunk来说,它的带宽是30G,但是速率仍然是10Gbps,因此这个ISL Trunk和10GE的ISL会被FSPF认为具有相同的cost,这使得10GE的ISL上也能够承载流量。为了实现均衡,上述30Gbps的ISL Trunk和10Gbps的ISL权值会被设为3:1。ECMP上是通过L2~L4字段的哈希来分布流量的,这一点和ISL Trunk上通过DWRR逐帧分布流量是不同的。对于BUM流量,FSPF会为VCS域计算出一棵唯一的BUM树,所有的BUM流量都会通过该树进行转发,这和TRILL中的做法是一致的。BUM树上的转发即采用的是TRILL的组播封装,转发过程中会有RPF的检查。

FSPF收敛之后,各个交换机还会通过JMP(Join/Merge Protocol)来同步VCS域内一些配置信息,比如AMPP、Zone等。Zone也是FC的概念,类似于以太网中的VLAN,用于流量的隔离。JMP完成之后,Fabric Formation结束,VCS上面就可以开始跑流量了。

MAC地址学习,VCS没有使用TRILL中的ESADI,而是使用了一种叫作eNS(ethernet Name Server)的MAC分发服务。这个名字也带有鲜明的FC特征,至于其内部的实现是否使用了FC中的协议就不得而知了。对于VCS来说,L2的转发表格式为<VLAN,MAC>:<RBridge ID,Interface>,交换机会学习本地的L2转发信息,远端的L2转发信息即通过eNS来同步。eNS的工作机制如图1-31所示,图中有三个RBridge(RB)和两台主机,MAC-A向MAC-B发起通信,首先发送ARP Request,RB-1本地完成对A的L2学习,然后将这个广播包在BUM树上泛洪,RB-2和RB-3都学习到了A在远端的L2转发信息(不包括A在RB-1上的接入端口)。B收到ARP Request之后单播回复ARP Reply,RB-3在本地完成对B的L2学习,RB-1学习到了B在远端的L2转发信息(不包括B在RB-3上的接入端口),而RB-2此时没有办法学到B的L2转发信息,因为ARP Reply的单播包会直接发给RB-1。然后,eNS开始同步L2转发信息,图中标记灰色底纹部分的信息即是由eNS完成的同步。当然,eNS还会负责L2转发表的老化以及MAC地址移动后的状态更新。


图1-31 eNS的工作机制

Q9S2OM[K~WA7(I$D2RCIUPE.png

对于L3的通信,由于eNS本身是不会处理IP地址同步的,因此需要借助虚拟网关+FHRP来实现的。VCS中虚拟网关被称为VE,和SVI是一个概念,可以完成路由的功能。FHRP方面,VCS可以支持3种,分别为VRRP、VRRP-E和FVG。其中,VRRP-E和FVG是Brocade私有的协议,采用的是类似于FabricPath中Anycast HSRP的做法,可以实现N路多活的网关,解决了VRRP中Standby不会承载流量的问题。



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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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