下面以静态集中式网关网络场景介绍MAC地址学习过程。
静态方式部署集中式网关,手工配置工作量大,灵活性较差,不适合大规模的组网场景,如果在VXLAN网络中使用集中式网关,推荐使用BGP E***方式部署集中式网关。
Ø同子网MAC地址学习数据包转发过程:PC4->PC2
1)PC4发送ARP广播报文查找PC2的MAC地址
源MAC为PC4
目的MAC为全F的ARP数据包
如图1所示:
2)CE1收到ARP请求后,根据二层子接口上的配置判断该请求报文需进入VXLAN隧道,并确定报文对应的VNI1,同时CE1学习到PC4的MAC地址、BDID、报文出接口信息,并在本地MAC表中生成PC4的MAC表项,如图2所示:
3)CE1对该ARP报文进行VXLAN封装,
VNI为1,
UDP目的端口号为4789
外层源IP为CE1的VTEP IP地址
外层目的IP为CE2的VTEP IP地址
外层源MAC为CE1 g1/0/0端口MAC地址即CE1出接口MAC地址
外层目的MAC为CE3 g1/0/0接口MAC地址即目的IP的下一跳的MAC地址
如图3所示:
4)因为时广播APR报文,CE1也会想CE3发送相同请求的VXLAN封装的数据包,如图4所示:
5)CE1发送给CE2的VXLAN隧道数据包,需要经过CE3进行转发,只是外层MAC地址发生变化
外层源MAC为CE3 g1/0/1的MAC地址
外层目的MAC为CE2 g1/0/0的MAC地址
如图5所示:
6)CE2收到报文进行解封装,得到PC4的原始ARP请求报文,同时学习到PC3的MAC地址、BDID、出接口信息,并在本地生成PC4的MAC表项,如右图6所示
7)CE2在对应的vlan20广播域内广播ARP请求,PC2收到ARP请求后,比较报文中目的IP地址是否为本地IP地址,如果时,则将PC4的MAC地址保存在本地MAC表中,进行ARP应答。
8)此时PC2已经学习到了PC4的MAC地址,所以ARP应答报文为单播报文,后续ARP应答过程与上面类似。
PC4和PC2互相学习到MAC地址后,双方将采用单播进行通信。
在跨子网主机互通时,只需要主机和三层网关之间进行MAC地址学习。