设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 1602|回复: 3
收起左侧

[求助] 数据中心trill如何处理未知单播帧

[复制链接]
发表于 2017-2-5 17:12:14 | 显示全部楼层 |阅读模式
各位大神,求教一下trill如何处理未知单播帧。

如图PCA想要访问PCB,但是尚不知道PCB的mac地址,因此发了一个ARP广播请求,其中假设SW2是组播根桥。
PCA---SW1----SW2---SW3---PCB

第一步:PCA发一个普通的以太网帧,SW1接收到之后查表封装一个trill报头,其中源nickname是SW1,目的nickname是根桥SW2.外层的源MAC为MAC-SW1,目的MAC为MAC-SW2.

第二步:SW2接到从SW1接收到的trill数据包后,这个时候SW2需要改变目的nickname吗?SW2发给SW3的数据包是什么样子的呢?是仅仅更换外层的MAC地址吗?那SW3接收到一个目的nickname是SW2的trill包怎么处理呢?一直想不明白

发表于 2017-2-6 08:24:27 | 显示全部楼层
我是这样理解的:
第一个包:当主机发送出去的时候,只是一个二层的广播报文,在本VLAN内泛洪,当SW1收到该广播ARP request后,会按照TRILL网络中的组播最短路径树进行泛洪,将ARP报文作为TRILL的载荷,封装TRILL头部信息,包括源nickname(自己的)、源MAC地址和VLAN信息,目标nicaname是一个组播保留地址,并不是SW2的nickname地址;在TRILL campus中的其他RB如果收到该组播报文后,会继续封装外侧MAC地址,不会改变nickname,从组播树的接口中转发出去。如果在目标RB也就是SW3上存在CE接口,且属于该VLAN,则该RB(SW3)会剥离TRILL头部后,将原始ARP报文在该CE VLAN内进行泛洪
第二个包:也就是PC2收到ARP request后,会进行一个ARP响应,在CE网络中是一个单播报文,没有问题,但是当SW3(PC2的ingress RB)收到该单播报文后,查看目标MAC地址,发现本地转发表项中没有,这是,依然会将该报文认为是一个未知单播报文,传播方式和组播传播方式一样,SW3会先学习PC2的MAC地址 vlan信息和接口信息,然后封装TRILL头部,源nicaname为自己,目标nickname为组播地址,然后选择一颗组播树进行转发,转发过程和第一个广播包一样,当SW1收到后,因为存在该CE vlan,所以会解开TRILL头部,发现目标MAC地址在自己的CE转发表项中存在,就会学习该报文的源MAC地址、源nickname等信息
第三个包:这时候PC1会给PC2回复一个ARP 报文,在SW3作为ingress RB,发现CE报文的目标MAC地址在自己的TRILL转发表项中存在,所以进行对应封装,封装SW3的nickname,然后通过TRILL CAMPUS进行转发,当SW3收到该报文后,会学习PC1的MAC地址和nickname源地址

在TRILL CAMPUS传播过程中,TRILL报文的源目nickname地址是不变的
沙发 2017-2-6 08:24:27 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2017-2-6 09:19:51 | 显示全部楼层
我是这么理解的,希望对你有点帮助:
第一个包:PC1发送一个ARP 广播request,在CE网络中,是一个广播报文,PC1的ingress RB SW1收到该广播报文后,首先第一部是在CE网络中进行泛洪,也就是同VLAN其他接口,第二部是进行TRILL泛洪,作为广播报文,封装TRILL头部,将ARP request作为TRILL载荷,源nickname为自己,目标nickname为组播地址,标记内部vlan信息,然后选择组播最短路径树进行转发,此时,SW1会学习PC1的MAC地址 vlan和接口信息;该TRILL报文在TRILL CAMPUS内部进行传递时,所有的RB都会收到该报文,并且会进行相应的洪范,转发过程中,只是 修改TRILL头部的源目MAC地址,并不会修改源目nickname。当SW3收到该报文后,发现TRILL头部的VLAN 本地存在,则解开头部封装,将该ARP报文在该CE VLAN的接口中进行洪范
第二个包:PC2收到该CE报文的ARP request后,会进行一个ARP reply的回复,在CE网络中为一个单播报文,PC2有PC1的IP地址和MAC地址,封装后进行转发,PC2的ingress RB SW3收到该单播报文后,发现在自己的CE转发表项中不存在该目标MAC地址转发,则认为是一个未知单播报文,第一会在CE网络中进行泛洪,第二会在TRILL网络中泛洪,在TRILL网络中泛洪的原理和第一个包一样,源nickname为自己,目标nickname为组播地址,在TRILL CAMPUS内部进行泛洪,在TRILL CAMPUS内部的RB收到后都会进行处理,SW1收到后,查看VLAN,发现本地存在,解开封装,发现目标MAC地址在本地的CE转发表项中存在,则会学习源MAC地址、源nickname和vlan信息,然后从PC1的接口中转发出去。此时,SW1上学习了PC1和PC2的MAC地址信息
第三个包:当PC1收到PC2的ARP reply后,会给PC2回复一个ARP reply,SW1收到后,会直接封装TRILL报文,目标nickname为SW3的nickname,直接在TRILL CAMPUS内部进行转发,SW3收到该报文后,会学习PC1的MAC地址、SW1的nickname和接口等信息

在TRILL CAMPUS内部传递过程中,源目nickname是不会变的。
板凳 2017-2-6 09:19:51 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-4-24 00:36 , Processed in 0.054519 second(s), 10 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表