MAC地址管理
以太网的特点之一是对于广播报文、组播报文和目的MAC地址未知的单播报文,将发送给本以太网段内的所有其它接口。VPLS是一种基于以太网的技术,它为用户网络模拟了一个以太网桥。因此为了能在VPLS网络中转发报文,PE设备需要建立MAC地址转发表并基于MAC地址或者MAC地址和VLAN Tag来做出转发决策。
MAC地址学习与泛洪实现过程
MAC地址学习
PE设备通过动态MAC地址学习功能建立MAC地址转发表,同时将目的MAC地址与PW进行关联。
如表6-8所示,MAC地址学习包括以下两种方式:
MAC地址学习方式 |
描述 |
特点 |
---|---|---|
Qualified方式 |
PE根据用户以太报文的MAC地址和VLAN Tag进行学习。这种模式下,每个用户VLAN形成自己的广播域,有独立的MAC地址空间。 |
将广播域限制在用户VLAN中。由于从逻辑上看,MAC地址变成了MAC地址+VLAN Tag,因此这种方式可以支持比较大的FIB(Forwarding Information Base)转发表。 |
Unqualified方式 |
PE仅学习用户以太报文的MAC地址。这种模式下,所有用户VLAN共享一个广播域和一个MAC地址空间,用户VLAN的MAC地址必须唯一,不能发生地址重叠。 |
对应多个用户VLAN的AC侧接口是物理接口,该接口对应唯一的VSI实例。 |
目前,设备只支持Unqualified方式的MAC地址学习。
泛洪
以太网处理未知地址的报文方式是广播,所以在VPLS里,对收到未知单播地址、广播地址和组播地址的以太报文都采用泛洪方式,将收到的报文转发到其余所有接口。如果需要使用组播,PE需要采取其他方法,比如IGMP snooping(Internet Group Management Protocol Snooping)。
实现过程
如表6-9所示,MAC地址学习的过程包含以下两部分:
MAC地址学习过程 |
描述 |
---|---|
对用户侧报文的MAC地址学习 |
对于从CE上收到的报文,PE将建立源MAC地址和AC侧接口之间的MAC映射关系,如图6-12中的Port1。 |
对PW侧报文的MAC地址学习 |
PW包括两个方向的MPLS VC(Virtual Circuit),当且仅当两个方向的MPLS VC都建立起来后PW才能变成Up状态。当从PW侧收到源MAC未知的报文,则PE建立源MAC地址与收到该报文的PW间的映射关系。 |
PE设备的MAC地址学习和泛洪的具体过程如图6-12所示。PC1和PC2都属于VLAN10,PC1 Ping IP地址10.1.1.2,但PC1不知道该IP地址对应的MAC地址,需要发送ARP(Address Resolution Protocol)广播报文,具体过程如下。
- PE1从连接CE1的接口Port1(Port1属于VLAN10)收到来自PC1的ARP广播报文,PE1把PC1的MAC地址添加到在自己的MAC表项中(PE1的MAC表项中蓝色字体内容)。
- PE1向其它接口(PW1和PW2此时可以看成接口)泛洪,广播该ARP报文(PE1上的蓝色虚线)。
- PE2从PW1上收到PE1转发来的PC1的ARP报文,把PC1的MAC地址添加到自己的MAC表项中(PE2的MAC表中蓝色字体内容)。
- PE2只向连接CE2的接口转发该ARP报文(PE2上的蓝色虚线),而不向PW上转发,所以该ARP只发送给PC2。这是就是VPLS的水平分割特点,即从公网侧PW收到的报文不再转发到其他PW上,而只能转发到私网侧。
- PC2收到PE2转发来的PC1的ARP报文,发现目的地址是自己,就发送ARP Reply报文给PC1(PC2上的橘黄色虚线)。
- PE2从Port2接口收到PC2给PC1的ARP回应报文。PE2添加PC2的MAC地址到自己的MAC表项中(PE2的MAC表中橘黄色字体内容)。ARP Reply报文的目的地MAC是PC1(MAC A),PE2查询自己的MAC表后,往PW1发送ARP Reply报文。
- PE1收到PE2转发来的PC2的ARP Reply报文,也一样添加PC2的MAC地址到自己的表项中(PE2的MAC表中橘黄色字体内容),并查找MAC表,转发该ARP Reply报文到PC1。
- PC1收到PC2的ARP Reply报文,完成MAC地址的学习。
- PE1向PW1广播该ARP报文的同时,PE1也通过PW2向PE3发送ARP报文。PE3收到来自PE1的ARP广播报文,添加PC1的MAC地址到自己的MAC表项中(PE3的MAC表中蓝色字体内容),根据水平分割的特性,PE3也只向PC3发送该ARP报文,因为PC3不是该ARP的目的地址,所以PC3不回应ARP Reply报文。
MAC地址回收
动态学习到的MAC地址必须有刷新和重学习的机制。VPLS中提供了一种可选MAC TLV(Type/Length/Value)的地址回收消息,用来移除或重学习MAC地址列表。
在拓扑结构改变时为了能快速的移除MAC地址,可以使用地址回收消息。地址消息分为两类:
带有MAC表项地址列表的消息。
不带MAC地址列表的消息。
如果一条备份链路(AC链路或者VC链路)变为活动状态后,感知到链路状态变化的PE会收到系统发送的带有重新学习MAC表项列表的通知消息。该PE收到此更新消息后,将更新VPLS实例的FIB表中对应的MAC表项,并将此消息发送给其他相关的LDP会话直连的PE。如果通知消息中包含空的MAC地址TLV列表,表示告知PE移除指定VPLS实例中的所有MAC地址,但是从发送此消息的PE处学习到的MAC地址除外。
MAC地址老化
PE学习到的MAC地址转发表项如果不再使用,需要有老化机制来移除。在指定时间内,未有流量触发MAC表项更新,则将该MAC表项老化。