基本数据转发模式
2017-11-22武孟军
下面以图6所示的网络结构为例,说明数据帧在vPC环境中是如何转发的。
网络环境设定为两台7K组成vPC domain,并通过两个vPC连接两台接入交换机SW1和SW2,通过孤端口连接交换机SW3。所有vPC链路为trunk链路,VLAN10为 vPC VLAN,Host A、B和孤端口均属于VLAN10。现在假设Host A ping Host B,实线箭头表示请求包路径,虚线箭头表示应答包路径(所示路径只是数据包的一种可能路径)。
1.Host A 构造数 据 帧, 源MAC为1111.1111.1111.aaaa(下称 MAC A),目 的 MAC:1111.1111.1111.bbbb(下称MAC B),并发送到交换机SW1。
2.Host A的数据包到达交换机SW1,SW1不知道MAC B该发往哪个端口,flooding,在发送给po10时,假定算法选择了连接7K1的链路。以后 SW1学习到了MAC A的地址。
图6 基本数据转发模式
3.7K1接收到数据帧后,同样flooding,包括peer link。在发往vpc 11时,遵循本地转发原则,只能选择图中所示路径。以后7K1学习到了MAC A的地址,并知道该MAC来自一个vpc 10成员端口;
4.7K2收到帧后,同样原因flooding。但因数据帧来自peer link,只能发送到所有的非vPC成员端口,包括孤端口。同时,7K2学习到MAC A来自peer link。
5.7K1发送一个CFS消息,告知7K2,MAC A来自vpc 10的成员端口,7K2修改自己的MAC转发表。
6.SW2收到数据帧,flooding,Host B收到该数据包。同时,SW2学习到了MAC A地址。
7.Host B构造应答包,源MAC为MAC B,目的MAC为MAC A,并发送到交换机SW2。
8.SW2知道MAC A来自po11,采用均衡算法,假定选择了图示路径。
9.7K2收到数据帧,查表得知需要转发到vpc 10端口,遵循本地转发原则,按图示路径转发到SW1。
10.SW1将数据帧转发给Host A。
在步骤7~9中,Host B应答包经过的设备同样学习到MAC B的地址,这样,Host A的第二个请求包,就不会再被flooding处理了。
特别注意步骤5,只有CFS发送消息,vPC交换机才会知道某个MAC是否来自vPC,才能确定能否本地转发该数据帧。如果说某个MAC来自vPC VLAN的孤端口,则去往该MAC的数据帧仍会通过peer link转发。
一定要记住,vPC中发往vPC domain的上行数据流,根据普通的PortChannel算法均衡数据帧的出端口;下行数据流则首先遵守本地转发原则,如本地有同一vPC的多条成员端口,才会根据算法均衡确定数据帧的具体出端口。