TRILL网络中的报文转发方法和路由网桥.pdf

上传人:111****112 文档编号:4722132 上传时间:2018-10-31 格式:PDF 页数:18 大小:4.52MB
返回 下载 相关 举报
摘要
申请专利号:

CN201210337378.1

申请日:

2012.09.13

公开号:

CN102868614A

公开日:

2013.01.09

当前法律状态:

授权

有效性:

有权

法律详情:

专利权人的姓名或者名称、地址的变更IPC(主分类):H04L 12/741变更事项:专利权人变更前:杭州华三通信技术有限公司变更后:新华三技术有限公司变更事项:地址变更前:310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地变更后:310052 浙江省杭州市滨江区长河路466号|||授权|||实质审查的生效IPC(主分类):H04L 12/741申请日:20120913|||公开

IPC分类号:

H04L12/741(2013.01)I; H04L12/947(2013.01)I; H04L12/761(2013.01)I

主分类号:

H04L12/741

申请人:

杭州华三通信技术有限公司

发明人:

周万

地址:

310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地

优先权:

专利代理机构:

北京德琦知识产权代理有限公司 11018

代理人:

王一斌;王琦

PDF下载: PDF下载
内容摘要

本发明公开了一种TRILL网络中的报文转发方法和路由网桥:入口RB和出口RB都为本地端口分配本地唯一的标签,将本地主机的MAC地址及为本地端口分配的标签学习到本地MAC地址表项中;入口RB在本地MAC地址表中查找由本地主机发送的待转发报文的目的MAC地址对应的MAC地址表项,根据查找结果对待转发报文进行包含入口RB、入口标签和出口RB、出口标签的TRILL封装,将封装后的TRILL报文发送给出口RB;出口RB将TRILL报文进行TRILL解封装,进行内层源MAC地址学习,将内层源MAC地址、入口RB及入口标签学习到本地MAC地址表项中,并根据出口标签对解封装后的报文进行转发。应用本发明所述的方法和路由网桥,能够实现依据标签对报文的转发,减少对MAC地址表的查找,降低报文转发的复杂度。

权利要求书

权利要求书一种多链接透明互联TRILL网络中的报文转发方法,其特征在于,该方法应用于TRILL网络中的入口RB,包括:入口RB为每个本地端口分配本地唯一的标签,将本地主机的MAC地址及为接收本地主机发送报文的本地端口分配的标签学习到本地MAC地址表项中;入口RB接收到由本地主机发送的待转发报文后,在本地MAC地址表中查找待转发报文的目的MAC地址对应的MAC地址表项,根据查找结果对待转发报文进行包含入口RB、入口标签和出口RB、出口标签的TRILL封装,将封装后的TRILL报文发送给出口RB;所述入口标签为入口RB为接收所述待转发报文的端口分配的标签,所述出口标签由入口RB根据目的MAC地址查找的结果确定;所述出口标签用于指示出口RB在完成对所述TRILL报文的解封装后根据该出口标签对解封装后的TRILL报文进行转发。根据权利要求1所述的方法,其特征在于,当所述入口RB接收到的待转发报文为已知单播报文时,则所述出口标签为交换标签类型,所述出口RB根据出口标签对解封装后的报文进行转发包括:出口RB将解封装后的报文从出口标签所对应的出口RB的端口进行转发;当所述入口RB接收到的待转发报文为未知单播报文时,所述出口标签为单播标签类型,则所述出口RB根据出口标签对解封装后的报文进行转发包括:出口RB将解封装后的报文进行目的MAC地址查找,如果查找到对应的MAC地址,则从对应的端口转发;如果未查找到,则进行本地端口泛洪;当所述入口RB接收到的待转发报文为已知组播报文时,所述出口标签为组播标签类型,则所述出口RB根据出口标签对解封装后的报文进行转发包括:出口RB将解封装后的报文进行组播组查找,根据查找结果对报文进行组播复制转发;当所述入口RB接收到的待转发报文为未知组播报文或广播报文时,所述出口标签为广播标签类型,则所述出口RB根据出口标签对解封装后的报文进行转发包括:出口RB对解封装后的报文进行本地端口泛洪。根据权利要求1或2所述的方法,其特征在于,当MAC地址迁移时,所述方法还包括:入口RB在本地检测到有主机迁入时,更新本地MAC地址表中该迁入主机对应的MAC表项关联的标签。根据权利要求1或2所述的方法,其特征在于,当入口RB的接收所述待转发报文的端口不能正常工作时,该方法进一步包括:入口RB向其它每一个RB发送标签无效消息,所述标签无效消息包含入口RB的标号Nickname和为所述接收待转发报文的端口分配的标签;所述标签无效消息用于指示收到标签无效消息的RB将本地MAC地址表中包含相同入口RB的标号Nickname和相同标签的MAC地址表项中的标签更新为单播标签。一种多链接透明互联TRILL网络中的报文转发方法,其特征在于,该方法应用于TRILL网络中的出口RB,包括:出口RB为每个本地端口分配本地唯一的标签,将本地主机的MAC地址及为接收本地主机发送报文的本地端口分配的标签学习到本地MAC地址表项中;出口RB接收到由入口RB发送的包含入口RB、入口标签、出口RB和出口标签的TRILL报文后,进行TRILL解封装,并进行内层源MAC地址学习,将内层源MAC地址、入口RB及入口标签学习到本地MAC地址表项中;所述入口标签为入口RB为接收主机发送的报文的端口分配的标签,所述出口标签为入口RB根据目的MAC地址查找的结果所确定的标签;出口RB根据出口标签对解封装后的报文进行转发。根据权利要求5所述的方法,其特征在于,当所述出口标签为交换标签类型时,所述出口RB根据出口标签对解封装后的报文进行转发包括:出口RB将解封装后的报文从出口标签所对应的出口RB的端口进行转发;当所述出口标签为单播标签类型,则所述出口RB根据出口标签对解封装后的报文进行转发包括:出口RB将解封装后的报文进行目的MAC地址查找,如果查找到对应的MAC地址,则从对应的端口转发;如果未查找到,则进行本地端口泛洪;当所述出口标签为组播标签类型,则所述出口RB根据出口标签对解封装后的报文进行转发包括:出口RB将解封装后的报文进行组播组查找,根据查找结果对报文进行组播复制转发;当所述出口标签为广播标签类型,则所述出口RB根据出口标签对解封装后的报文进行转发包括:出口RB对解封装后的报文进行本地端口泛洪。根据权利要求5或6所述的方法,其特征在于,在MAC地址迁移的情况下,所述出口RB对接收到的TRILL报文进行解封装,进行内层源MAC地址学习时,该方法还包括:当出口RB判定本地MAC地址表中该TRILL报文中的内层源MAC地址对应的MAC地址表项中的RB有变化,则使用报文中的入口RB更新本地MAC地址表中该源MAC地址对应的MAC地址表项中的RB;和/或,当出口RB判定本地MAC地址表中该TRILL报文中的内层源MAC地址对应的MAC地址表项中的标签有变化,则使用报文中的入口标签更新本地MAC地址表项中该源MAC地址对应的MAC地址表项中的标签。根据权利要求5或6所述的方法,其特征在于,该方法进一步包括:当出口RB接收到入口RB发送的包含入口RB的标号Nickname和不能正常工作的端口对应的标签的标签无效消息时,查看本地MAC地址表项,当本地MAC地址表项中RB的Nickname为标签无效消息中入口RB的Nickname、且本地MAC地址表项中包含标签无效消息中的标签时,将本地MAC地址表项中的标签更新为单播标签。一种多链接透明互联TRILL网络中的路由网桥,该路由网桥为接收报文的入口路由网桥RB,其特征在于,该路由网桥包括:标签处理单元,用于为每个端口分配本地唯一的标签;将本地主机的MAC地址及为接收本地主机发送报文的本地端口分配的标签学习到本地MAC地址表项中;报文接收单元,用于接收由本地主机发送的待转发报文;报文封装单元,用于在本地MAC地址表中查找待转发报文的目的MAC地址对应的MAC地址表项,根据查找结果对待转发报文进行包含入口RB、入口标签和出口RB、出口标签的TRILL封装;所述入口标签为入口RB为接收所述待转发报文的端口分配的标签,所述出口标签根据目的MAC地址查找的结果确定;所述报文发送单元,用于将所述报文封装单元进行TRILL封装后的报文发送给出口RB,以使出口RB根据目的MAC和出口标签对报文进行转发。根据权利要求9所述的路由网桥,其特征在于,当所述报文接收单元接收到的主机发送的待转发报文为已知单播报文时,所述报文封装单元封装的TRILL报文的出口标签为交换标签类型,所述交互标签指示出口RB将解封装后的报文从出口标签所对应的出口RB的端口进行转发;当所述报文接收单元接收到的主机发送的待转发报文为未知单播报文时,所述报文封装单元封装的TRILL报文的出口标签为单播标签类型,所述单播标签指示出口RB对解封装后的报文进行目的MAC地址查找,如果查找到对应的MAC地址,则从对应的端口转发;如果未查找到,则进行本地端口泛洪;当所述报文接收单元接收到的主机发送的待转发报文为已知组播报文时,所述报文封装单元封装的TRILL报文的出口标签为组播标签类型,所述组播标签指示出口RB对解封装后的报文进行组播组查找,根据查找结果对报文进行组播复制转发;当所述报文接收单元接收到的主机发送的待转发报文为未知组播报文或广播报文时,所述报文封装单元封装的TRILL报文的出口标签为组播标签类型,所述组播标签指示出口RB对解封装后的报文进行本地端口泛洪。根据权利要求9或10所述的路由网桥,其特征在于,该路由网桥还包括标签更新单元,用于在本地检测到有主机迁入时,更新本地MAC地址表中该迁入主机对应的MAC表项关联的标签。根据权利要求9或10所述的路由网桥,其特征在于,该路由网桥还包括无效发送单元,用于当所述报文接收单元的接收报文的端口不能正常工作时,向其它每一个RB发送标签无效消息,所述标签无效消息用于指示每一个收到标签无效消息的RB在判定本地MAC地址表项中RB的Nickname为标签无效消息中携带的入口RB的Nickname、且该本地MAC地址表项中包含标签无效消息中携带的标签时,将本地MAC地址表项中的标签更新为单播标签。一种多链接透明互联TRILL网络中的路由网桥,该路由网桥为转发报文的出口路由网桥RB,其特征在于,该路由网桥包括:标签处理单元,用于为每个端口分配本地唯一的标签;将本地主机的MAC地址及为接收本地主机发送报文的本地端口分配的标签学习到本地MAC地址表项中;报文接收单元,用于接收由入口RB发送的由入口RB进行包含入口RB、入口标签和出口RB、出口标签的TRILL封装后的TRILL报文,所述入口标签为入口RB为接收主机发送的报文的端口分配的标签,所述出口标签由入口RB根据目的MAC地址查找的结果确定;报文解封装单元,用于对所述报文接收单元接收到的报文进行TRILL解封装;地址学习单元,用于对报文解封装单元解封装后的报文进行内层源MAC地址学习,将内层源MAC地址、入口RB及入口标签学习到本地MAC地址表项中;报文转发单元,用于根据出口标签对所述报文解封装单元解封装后的报文进行转发。根据权利要求13所述的路由网桥,其特征在于,当所述报文接收单元接收的TRILL报文中的出口标签为交换标签类型时,所述报文转发单元用于将解封装后的报文从出口标签所对应的端口进行转发;当所述报文接收单元接收的TRILL报文中的出口标签为单播标签类型时,所述报文转发单元用于将解封装后的报文进行目的MAC地址查找,如果查找到对应的MAC地址,则从对应的端口转发;如果未查找到,则进行本地端口泛洪;当所述报文接收单元接收的TRILL报文中的出口标签为组播标签类型时,所述报文转发单元用于将解封装后的报文进行组播组查找,根据查找结果对报文进行组播复制转发;当所述报文接收单元接收的TRILL报文中的出口标签为广播标签类型时,所述报文转发单元用于将解封装后的报文进行本地端口泛洪。根据权利要求13或14所述的路由网桥,其特征在于,所述地址学习单元还用于:在判定本地MAC地址表中该TRILL报文中的内层源MAC地址对应的MAC地址表项中的RB有变化时,使用报文中的入口RB更新本地MAC地址表中该源MAC地址对应的MAC地址表项中的RB;和/或,在判定本地MAC地址表中该TRILL报文中的内层源MAC地址对应的MAC地址表项中的标签有变化时,使用报文中的入口标签更新本地MAC地址表中该源MAC地址对应的MAC地址表项中的标签。根据权利要求13或14所述的路由网桥,其特征在于,该路由网桥还包括无效接收单元和标签更新单元,其中,所述无效接收单元,用于当入口RB的接收报文的端口不能正常工作时,接收由入口RB发送的标签无效消息,所述标签无效消息包含入口RB的Nickname和为该端口分配的标签;所述标签更新单元,用于当所述无效接收单元接收到标签无效消息后,查看本地MAC地址表,当判定本地MAC地址表项中RB的Nickname为标签无效消息中携带的入口RB的Nickname、且该本地MAC地址表项中包含标签无效消息中携带的标签时,将本地MAC地址表项中的标签更新为单播标签。

说明书

说明书TRILL网络中的报文转发方法和路由网桥
技术领域
本申请涉及通信技术领域,特别涉及一种多链接透明互联(TRILL,Transparent Interconnection of Lots of Links)网络中的报文转发方法和路由网桥。
背景技术
TRILL是互联网工程任务组(IETF,Internet Engineering Task Force)推荐的连接层(L2)网络标准,用于解决大型数据中心生成树协议(STP,Spanning Tree Protocol)的不足。在L2网络中,STP通过阻塞冗余链路来避免环路,但同时也造成了冗余链路带宽的浪费,而TRILL则通过将中间系统对中间系统(ISIS,Intermediate system to intermediate system)路由协议引入L2网络,不仅解决了L2环路问题,而且还能够支持冗余路径和负载分担。
在TRILL网络中,运行TRILL协议的设备称为路由网桥(RB,Router Bridge),且该RB是交换机和路由器功能的综合体。图1给出了现有单播报文转发方法的过程示意图,如图1所示,以主机C向主机A发送单播报文为例,该单播报文转发过程可包括:
a、主机C发送单播报文,由交换机对该单播报文进行普通二层转发;
b、RB2的交换功能模块对交换机发送的单播报文进行普通MAC学习和查找,查找到主机A的表项出端口为2,并且出口RB为RB4后,对该单播报文进行TRILL封装,从端口2发送到路由功能模块;路由功能模块进行TRILL路由查找,查找到RB4的下一跳为RB1,查找邻接表获取RB1的MAC地址F和控制VLAN200,进行封装后将单播报文发送给RB1;
c、RB1对接收到的单播报文进行TRILL路由查找转发过程,发送到RB4;
d、RB4发现出口RB为自身,则对接收到的单播报文进行解封装过程,剥离TRILL头,进行内层MAC地址查找,得到出端口,进而将单播报文发送给主机A。
通过上述分析可以看出,现有在TRILL网络中转发单播报文时,在入口RB和出口RB都要进行MAC地址查找得到出端口,进而根据查找到的出端口转发该单播报文。然而,由于MAC地址表很大,因而查找MAC地址的过程可能会很长,不仅延长了报文转发时间,而且提高了转发复杂度。
发明内容
有鉴于此,本发明提供了一种TRILL网络中的报文转发方法,能够实现依据标签对报文的转发,减少对MAC地址表的查找,降低报文转发的复杂度。
本发明还提供了一种路由网桥,能够实现依据标签对报文的转发,减少对MAC地址表的查找,降低报文转发的复杂度。
为了达到上述目的,本发明提出的技术方案为:
一种多链接透明互联TRILL网络中的报文转发方法,该方法应用于TRILL网络中的入口RB,包括:
入口RB为每个本地端口分配本地唯一的标签,将本地主机的MAC地址及为接收本地主机发送报文的本地端口分配的标签学习到本地MAC地址表项中;
入口RB接收到由本地主机发送的待转发报文后,在本地MAC地址表中查找待转发报文的目的MAC地址对应的MAC地址表项,根据查找结果对待转发报文进行包含入口RB、入口标签和出口RB、出口标签的TRILL封装,将封装后的TRILL报文发送给出口RB;所述入口标签为入口RB为接收所述待转发报文的端口分配的标签,所述出口标签由入口RB根据目的MAC地址查找的结果确定;
所述出口标签用于指示出口RB在完成对所述TRILL报文的解封装后根据该出口标签对解封装后的TRILL报文进行转发。
当所述入口RB接收到的待转发报文为已知单播报文时,则所述出口标签为交换标签类型,所述出口RB根据出口标签对解封装后的报文进行转发包括:出口RB将解封装后的报文从出口标签所对应的出口RB的端口进行转发;
当所述入口RB接收到的待转发报文为未知单播报文时,所述出口标签为单播标签类型,则所述出口RB根据出口标签对解封装后的报文进行转发包括:出口RB将解封装后的报文进行目的MAC地址查找,如果查找到对应的MAC地址,则从对应的端口转发;如果未查找到,则进行本地端口泛洪;
当所述入口RB接收到的待转发报文为已知组播报文时,所述出口标签为组播标签类型,则所述出口RB根据出口标签对解封装后的报文进行转发包括:出口RB将解封装后的报文进行组播组查找,根据查找结果对报文进行组播复制转发;
当所述入口RB接收到的待转发报文为未知组播报文或广播报文时,所述出口标签为广播标签类型,则所述出口RB根据出口标签对解封装后的报文进行转发包括:出口RB对解封装后的报文进行本地端口泛洪。
当MAC地址迁移时,所述方法还包括:入口RB在本地检测到有主机迁入时,更新本地MAC地址表中该迁入主机对应的MAC表项关联的标签。
当入口RB的接收所述待转发报文的端口不能正常工作时,该方法进一步包括:
入口RB向其它每一个RB发送标签无效消息,所述标签无效消息包含入口RB的标号Nickname和为所述接收待转发报文的端口分配的标签;
所述标签无效消息用于指示收到标签无效消息的RB将本地MAC地址表中包含相同入口RB的标号Nickname和相同标签的MAC地址表项中的标签更新为单播标签。
一种多链接透明互联TRILL网络中的报文转发方法,该方法应用于TRILL网络中的出口RB,包括:
出口RB为每个本地端口分配本地唯一的标签,将本地主机的MAC地址及为接收本地主机发送报文的本地端口分配的标签学习到本地MAC地址表项中;
出口RB接收到由入口RB发送的包含入口RB、入口标签、出口RB和出口标签的TRILL报文后,进行TRILL解封装,并进行内层源MAC地址学习,将内层源MAC地址、入口RB及入口标签学习到本地MAC地址表项中;所述入口标签为入口RB为接收主机发送的报文的端口分配的标签,所述出口标签为入口RB根据目的MAC地址查找的结果所确定的标签;
出口RB根据出口标签对解封装后的报文进行转发。
当所述出口标签为交换标签类型时,所述出口RB根据出口标签对解封装后的报文进行转发包括:出口RB将解封装后的报文从出口标签所对应的出口RB的端口进行转发;
当所述出口标签为单播标签类型,则所述出口RB根据出口标签对解封装后的报文进行转发包括:出口RB将解封装后的报文进行目的MAC地址查找,如果查找到对应的MAC地址,则从对应的端口转发;如果未查找到,则进行本地端口泛洪;
当所述出口标签为组播标签类型,则所述出口RB根据出口标签对解封装后的报文进行转发包括:出口RB将解封装后的报文进行组播组查找,根据查找结果对报文进行组播复制转发;
当所述出口标签为广播标签类型,则所述出口RB根据出口标签对解封装后的报文进行转发包括:出口RB对解封装后的报文进行本地端口泛洪。
在MAC地址迁移的情况下,所述出口RB对接收到的TRILL报文进行解封装,进行内层源MAC地址学习时,该方法还包括:
当出口RB判定本地MAC地址表中该TRILL报文中的内层源MAC地址对应的MAC地址表项中的RB有变化,则使用报文中的入口RB更新本地MAC地址表中该源MAC地址对应的MAC地址表项中的RB;和/或,
当出口RB判定本地MAC地址表中该TRILL报文中的内层源MAC地址对应的MAC地址表项中的标签有变化,则使用报文中的入口标签更新本地MAC地址表项中该源MAC地址对应的MAC地址表项中的标签。
该方法进一步包括:
当出口RB接收到入口RB发送的包含入口RB的标号Nickname和不能正常工作的端口对应的标签的标签无效消息时,查看本地MAC地址表项,当本地MAC地址表项中RB的Nickname为标签无效消息中入口RB的Nickname、且本地MAC地址表项中包含标签无效消息中的标签时,将本地MAC地址表项中的标签更新为单播标签。
一种多链接透明互联TRILL网络中的路由网桥,该路由网桥为接收报文的入口路由网桥RB,该路由网桥包括:
标签处理单元,用于为每个端口分配本地唯一的标签;将本地主机的MAC地址及为接收本地主机发送报文的本地端口分配的标签学习到本地MAC地址表项中;
报文接收单元,用于接收由本地主机发送的待转发报文;
报文封装单元,用于在本地MAC地址表中查找待转发报文的目的MAC地址对应的MAC地址表项,根据查找结果对待转发报文进行包含入口RB、入口标签和出口RB、出口标签的TRILL封装;所述入口标签为入口RB为接收所述待转发报文的端口分配的标签,所述出口标签根据目的MAC地址查找的结果确定;
所述报文发送单元,用于将所述报文封装单元进行TRILL封装后的报文发送给出口RB,以使出口RB根据目的MAC和出口标签对报文进行转发。
当所述报文接收单元接收到的主机发送的待转发报文为已知单播报文时,所述报文封装单元封装的TRILL报文的出口标签为交换标签类型,所述交互标签指示出口RB将解封装后的报文从出口标签所对应的出口RB的端口进行转发;
当所述报文接收单元接收到的主机发送的待转发报文为未知单播报文时,所述报文封装单元封装的TRILL报文的出口标签为单播标签类型,所述单播标签指示出口RB对解封装后的报文进行目的MAC地址查找,如果查找到对应的MAC地址,则从对应的端口转发;如果未查找到,则进行本地端口泛洪;
当所述报文接收单元接收到的主机发送的待转发报文为已知组播报文时,所述报文封装单元封装的TRILL报文的出口标签为组播标签类型,所述组播标签指示出口RB对解封装后的报文进行组播组查找,根据查找结果对报文进行组播复制转发;
当所述报文接收单元接收到的主机发送的待转发报文为未知组播报文或广播报文时,所述报文封装单元封装的TRILL报文的出口标签为组播标签类型,所述组播标签指示出口RB对解封装后的报文进行本地端口泛洪。
该路由网桥还包括标签更新单元,用于在本地检测到有主机迁入时,更新本地MAC地址表中该迁入主机对应的MAC表项关联的标签。
该路由网桥还包括无效发送单元,用于当所述报文接收单元的接收报文的端口不能正常工作时,向其它每一个RB发送标签无效消息,所述标签无效消息用于指示每一个收到标签无效消息的RB在判定本地MAC地址表项中RB的Nickname为标签无效消息中携带的入口RB的Nickname、且该本地MAC地址表项中包含标签无效消息中携带的标签时,将本地MAC地址表项中的标签更新为单播标签。
一种多链接透明互联TRILL网络中的路由网桥,该路由网桥为转发报文的出口路由网桥RB,该路由网桥包括:
标签处理单元,用于为每个端口分配本地唯一的标签;将本地主机的MAC地址及为接收本地主机发送报文的本地端口分配的标签学习到本地MAC地址表项中;
报文接收单元,用于接收由入口RB发送的由入口RB进行包含入口RB、入口标签和出口RB、出口标签的TRILL封装后的TRILL报文,所述入口标签为入口RB为接收主机发送的报文的端口分配的标签,所述出口标签由入口RB根据目的MAC地址查找的结果确定;
报文解封装单元,用于对所述报文接收单元接收到的报文进行TRILL解封装;
地址学习单元,用于对报文解封装单元解封装后的报文进行内层源MAC地址学习,将内层源MAC地址、入口RB及入口标签学习到本地MAC地址表项中;
报文转发单元,用于根据出口标签对所述报文解封装单元解封装后的报文进行转发。
当所述报文接收单元接收的TRILL报文中的出口标签为交换标签类型时,所述报文转发单元用于将解封装后的报文从出口标签所对应的端口进行转发;
当所述报文接收单元接收的TRILL报文中的出口标签为单播标签类型时,所述报文转发单元用于将解封装后的报文进行目的MAC地址查找,如果查找到对应的MAC地址,则从对应的端口转发;如果未查找到,则进行本地端口泛洪;
当所述报文接收单元接收的TRILL报文中的出口标签为组播标签类型时,所述报文转发单元用于将解封装后的报文进行组播组查找,根据查找结果对报文进行组播复制转发;
当所述报文接收单元接收的TRILL报文中的出口标签为广播标签类型时,所述报文转发单元用于将解封装后的报文进行本地端口泛洪。
所述地址学习单元还用于:
在判定本地MAC地址表中该TRILL报文中的内层源MAC地址对应的MAC地址表项中的RB有变化时,使用报文中的入口RB更新本地MAC地址表中该源MAC地址对应的MAC地址表项中的RB;和/或,
在判定本地MAC地址表中该TRILL报文中的内层源MAC地址对应的MAC地址表项中的标签有变化时,使用报文中的入口标签更新本地MAC地址表中该源MAC地址对应的MAC地址表项中的标签。
该路由网桥还包括无效接收单元和标签更新单元,其中,
所述无效接收单元,用于当入口RB的接收报文的端口不能正常工作时,接收由入口RB发送的标签无效消息,所述标签无效消息包含入口RB的Nickname和为该端口分配的标签;
所述标签更新单元,用于当所述无效接收单元接收到标签无效消息后,查看本地MAC地址表,当判定本地MAC地址表项中RB的Nickname为标签无效消息中携带的入口RB的Nickname、且该本地MAC地址表项中包含标签无效消息中携带的标签时,将本地MAC地址表项中的标签更新为单播标签。
综上所述,本发明所采用的TRILL网络中的报文转发方法,是通过由入口RB和出口RB分别为本地端口分配本地唯一的标签,将本地主机的MAC地址及为接收本地主机发送报文的本地端口分配的标签学习到本地MAC地址表项中,当入口RB接收到由本地主机发送的待转发报文后,在本地MAC地址表中查找待转发报文的目的MAC地址对应的MAC地址表项,根据查找结果对待转发报文进行包含入口RB、入口标签和出口RB、出口标签的TRILL封装,将封装后的TRILL报文发送给出口RB,由出口RB将接收到的包含入口RB、入口标签、出口RB和出口标签的TRILL报文进行TRILL解封装,并进行内层源MAC地址学习,将内层源MAC地址、入口RB及入口标签学习到本地MAC地址表项中,并根据出口标签对解封装后的报文进行转发。由于本发明建立标签与接收主机报文的端口之间的对应关系,RB进行源MAC地址的学习后,能够实现基于标签的报文转发,从而减少了MAC地址查找,因此,本发明方法不仅避免了由于查找大的MAC地址表可能造成的时间浪费问题,而且还降低了转发复杂度。
附图说明
图1为现有TRILL网络中单播报文转发方法的过程示意图;
图2为本发明TRILL网络中报文转发方法的工作流程图;
图3为本发明扩展后的TRILL报文结构示意图;
图4为本发明所采用的路由网桥实施例一的结构示意图;
图5为本发明所采用的路由网桥实施例二的结构示意图。
具体实施方式
为了解决本发明提出的技术问题,本发明所述方案的具体实现包括:
入口RB为每个本地端口分配本地唯一的标签,将本地主机的MAC地址及为接收本地主机发送报文的本地端口分配的标签学习到本地MAC地址表项中;入口RB接收到由本地主机发送的待转发报文后,在本地MAC地址表中查找待转发报文的目的MAC地址对应的MAC地址表项,根据查找结果对待转发报文进行包含入口RB、入口标签和出口RB、出口标签的TRILL封装,将封装后的TRILL报文发送给出口RB;所述入口标签为入口RB为接收所述待转发报文的端口分配的标签,所述出口标签由入口RB根据目的MAC地址查找的结果确定;所述出口标签用于指示出口RB在完成对所述TRILL报文的解封装后根据该出口标签对解封装后的TRILL报文进行转发;
出口RB为每个本地端口分配本地唯一的标签,将本地主机的MAC地址及为接收本地主机发送报文的本地端口分配的标签学习到本地MAC地址表项中;出口RB接收到由入口RB发送的包含入口RB、入口标签、出口RB和出口标签的TRILL报文后,进行TRILL解封装,并进行内层源MAC地址学习,将内层源MAC地址、入口RB及入口标签学习到本地MAC地址表项中;所述入口标签为入口RB为接收主机发送的报文的端口分配的标签,所述出口标签为入口RB根据目的MAC地址查找的结果所确定的标签;出口RB根据出口标签对解封装后的报文进行转发。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
图2为本发明TRILL网络中报文转发方法的工作流程图,如图2所示,该流程包括:
步骤201:定义标签类型,TRILL网络内的每个RB都需要为每个本地端口分配本地唯一的标签。
本发明中,在各个RB启动时,会给本地的每个端口分配一个本地具有唯一性的标签;
本发明对TRILL报文的结构进行了扩展,在TRILL报文中增加入口标签和出口标签的信元,扩展后的TRILL报文结构示例如图3所示。在本发明优选实施例中,在TRILL报文的出口标号Egress Nickname和入口标号Ingress Nickname的后面添加出口标签Egress Label和入口标签Ingress Label。其中Ingress Label信元表示报文进入入口RB时的入端口,只能是交换标签;Egress Label信元表示报文从出口RB发送报文时对应的出端口信息,出端口的信息通过标签值来揭示,即根据标签的取值范围可获知标签的类型,根据标签的类型执行相应的处理。
本发明根据报文类型将标签分为五类,并定义了不同类型的标签的取值或取值范围,所述五种标签类型定义如下:
广播标签(例如取值为0xFFFFFFFF):表示出口RB在接收到带有该类型的出口标签的报文时,需要在出口RB进行本地端口泛洪,从所有本地端口复制发送所接收到的报文;
组播标签(例如取值为0xFFFFFFFE):表示出口RB在接收到带有该类型的出口标签的报文时,需要在出口RB进行本地二层组播组查找,即根据报文的内层目的MAC地址查询组播MAC地址表,根据查找结果对接收到的报文进行组播复制,从组播MAC地址表项指定的出端口发送;
单播标签(例如取值范围为0xFFFFFFFD):表示出口RB在接收到带有该类型的出口标签的报文时,需要在出口RB要进行本地二层单播MAC地址表查找,根据查找结果进行转发;
交换标签(例如取值范围为1‑0x0FFFFFFC):表示出口RB在接收到带有该类型的出口标签的报文时,直接从该出口标签对应的本地端口发送即可。
保留标签(0x00FFFF01‑0xFFFFFFF0):保留后续使用。
步骤202:每个RB将本地连接的主机MAC地址及对应的为本地端口分配的标签学习到本地MAC地址表项中。
网络中的每个RB都需要学习与自身连接的主机的MAC地址,不同的是,本发明中,每个RB还需要学习与本地主机MAC地址对应的标签,本发明不限定采用何种方式或协议学习包含本地主机MAC地址和为本地端口分配的标签。
一具体实例中,RB在接收到本地主机发送的报文后,将该主机MAC地址与接收该主机发送的报文的端口对应的标签关联起来,将该主机MAC地址及关联的标签一同学习到本地MAC地址表中。
步骤203:入口RB接收到由主机发送的待转发报文后,入口RB根据待转发报文中的目的MAC,在本地MAC地址表中进行目的MAC查找,在需要通过TRILL隧道转发时,根据查找结果对主机发送的待转发报文进行TRILL封装。
在入口RB对主机发送的报文进行封装时,TRILL报文中的入口标签为入口RB上接收所述主机发送的报文的端口对应的标签即入口RB为该端口分配的标签,出口标签根据目的MAC查找的结果来确定,当查找到(表示已知)目的MAC地址时,所述出口标签是为接收报文的出口RB的端口分配的标签;当查找不到(表示未知)目的MAC地址时,所述出口标签根据入口RB接收到的报文类型来确定。
基于上述原则,确定出口标签的方式如下:
如果是已知单播报文即查找到目的MAC的单播报文,则出口标签为交换标签类型,即出口标签为本地查找到MAC地址表项中的标签;
如果是未知单播报文即未查找到目的MAC的单播报文,则出口标签为单播标签类型;
如果是未知组播报文即未查找到目的MAC的组播报文,则出口标签为广播标签类型;
如果是已知组播报文即查找到目的MAC的组播报文,则出口标签为组播标签类型;
如果是广播报文,则出口标签为广播标签类型。
步骤204:对所述封装后的TRILL报文进行TRILL路由表查找,根据查找到的路由,将TRILL报文发送给出口RB。
在本步骤中,所述封装后得到的TRILL报文进行路由查找封装后,由中间RB将所述路由查找封装后的TRILL报文发送给出口RB。
步骤205:出口RB对接收到的报文进行TRILL解封装后,进行内层源MAC地址学习,将TRILL报文的内层源MAC地址(即源主机的MAC地址)与内层标签即入口标签关联,将解封装后的报文的内层源MAC地址即源主机MAC地址、入口RB的Nickname及入口标签学习到本地MAC表项中。
当执行完步骤205后,需要根据出口标签将报文进行转发,具体如何转发报文需要根据出口标签类型而定,当出口标签为交换标签时,执行步骤206;当出口标签为单播标签时,执行步骤207;当出口标签为组播标签时,执行步骤208;当出口标签为广播标签时,执行步骤209。下面具体说明报文转发过程:
步骤206:当出口标签为交换标签时,由出口RB将进行源MAC地址学习后的报文从出口标签所对应的出口RB的端口进行转发后,结束当前报文转发流程。
当所述入口RB接收到的报文为已知单播报文时,所述出口标签为交换标签,即为接收到的报文的出口RB的端口分配的标签,则,所述根据出口标签将报文进行转发包括:所述出口RB将进行源MAC地址学习后的报文从出口标签所对应的出口RB的端口进行转发。
步骤207:当出口标签为单播标签时,由出口RB将进行源MAC地址学习后的报文进行目的MAC地址查找,根据查找结果对报文进行组播复制转发后,结束当前报文转发流程。
当所述入口RB接收到的报文为未知单播报文时,所述出口标签为单播标签,则,所述根据出口标签将报文进行转发包括:所述出口RB将进行源MAC地址学习后的报文进行目的MAC地址查找,如果查找到对应的目的MAC地址,则从该目的MAC地址对应的端口转发;如果未查找到,则进行泛洪。
步骤208:当出口标签为组播标签时,由出口RB将进行源MAC地址学习后的报文进行组播组查找,根据查找结果对报文进行组播复制转发后,结束当前报文转发流程。
当所述入口RB接收到的报文为已知组播报文时,所述出口标签为组播标签,则,所述根据出口标签将报文进行转发包括:所述出口RB将进行源MAC地址学习后的报文进行组播组查找,根据查找结果对报文进行组播复制转发。
步骤209:当出口标签为广播标签时,由出口RB将进行源MAC地址学习后的报文在查找到的目的MAC地址对应的MAC地址表项中的标签所对应的出口RB的端口进行泛洪后,结束当前报文转发流程。
当所述入口RB接收到的报文为未知组播报文或广播报文时,所述出口标签为广播标签,则,所述根据出口标签将报文进行转发包括:所述出口RB将进行源MAC地址学习后的报文从出口标签所对应的出口RB的端口进行泛洪,也即从所有端口对报文进行复制转发。
基于上述TRILL网络中的报文转发方法,本发明还进一步公开了如下在发生MAC地址迁移时,数据平面实时更新MAC地址表中的RB和标签信息的方法:
入口RB检测到本地有迁移的主机接入后,更新本地MAC地址表中该主机的MAC地址对应的表项中关联的标签。
在TRILL隧道的出口RB,对TRILL报文进行解封装得到原始的以太帧之后,进行内层源MAC学习时进行如下判断和操作:
如果原来MAC地址表中的该源MAC对应的RB变化,则使用报文中的入口RB更新MAC地址表中该源MAC地址对应表项中的RB;和/或
如果原来MAC地址表中的该源MAC对应的标签变化,则使用报文中的入口标签更新MAC地址表中该源MAC地址对应表项中的标签。
还需说明的是,当RB的本地端口不能正常工作或者其他原因导致不能收发数据报文时,本发明还进一步给出如下处理流程:
步骤S1、该RB通过IGP协议向其他所有的RB通告标签无效消息,消息包含该RB的标号Nickname和该端口对应的标签等内容。
步骤S2、TRILL网络中的其他RB收到该通告时,查找本地MAC地址表的每个表项,如果MAC地址表项对应的RB的标号Nickname为无效消息中的RB的Nickname,且该MAC地址表项对应的标签为无效消息中的标签,则将MAC地址表中的对应的标签更新为单播标签。上述IGP协议为TRILL‑ESADI。
至此,即完成了本发明所采用的TRILL网络中报文转发方法的整个工作流程。
基于上述方法,图4给出了本发明所采用的路由网桥实施例一的结构,如图4所示,该路由网桥为接收报文的入口RB,该路由网桥包括:
标签处理单元41,用于为每个端口分配本地唯一的标签;将本地主机的MAC地址及为接收本地主机发送报文的本地端口分配的标签学习到本地MAC地址表项中;
报文接收单元42,用于接收由本地主机发送的待转发报文;
报文封装单元43,用于在标签处理单元41学习到的本地MAC地址表中查找待转发报文的目的MAC地址对应的MAC地址表项,根据查找结果对报文接收单元42接收的待转发报文进行包含入口RB、入口标签和出口RB、出口标签的TRILL封装;所述入口标签为入口RB为接收所述待转发报文的端口分配的标签,所述出口标签根据目的MAC地址查找的结果确定;
所述报文发送单元,用于将所述报文封装单元进行TRILL封装后的报文发送给出口RB,以使出口RB根据目的MAC和出口标签对报文进行转发。
当所述报文接收单元42接收到的主机发送的待转发报文为已知单播报文时,所述报文封装单元43封装的TRILL报文的出口标签为交换标签类型,所述交互标签指示出口RB将解封装后的报文从出口标签所对应的出口RB的端口进行转发;
当所述报文接收单元42接收到的主机发送的待转发报文为未知单播报文时,所述报文封装单元43封装的TRILL报文的出口标签为单播标签类型,所述单播标签指示出口RB对解封装后的报文进行目的MAC地址查找,如果查找到对应的MAC地址,则从对应的端口转发;如果未查找到,则进行本地端口泛洪;
当所述报文接收单元42接收到的主机发送的待转发报文为已知组播报文时,所述报文封装单元43封装的TRILL报文的出口标签为组播标签类型,所述组播标签指示出口RB对解封装后的报文进行组播组查找,根据查找结果对报文进行组播复制转发;
当所述报文接收单元42接收到的主机发送的待转发报文为未知组播报文或广播报文时,所述报文封装单元43封装的TRILL报文的出口标签为组播标签类型,所述组播标签指示出口RB对解封装后的报文进行本地端口泛洪。
进一步地,该路由网桥还包括标签更新单元45,用于在本地检测到有主机迁入时,更新标签处理单元41学习的本地MAC地址表中该迁入主机对应的MAC表项关联的标签。
更进一步地,该路由网桥还包括无效发送单元46,用于当所述报文接收单元42的接收报文的端口不能正常工作时,向其它每一个RB发送标签无效消息,所述标签无效消息用于指示每一个收到标签无效消息的RB在判定本地MAC地址表项中RB的Nickname为标签无效消息中携带的入口RB的Nickname、且该本地MAC地址表项中包含标签无效消息中携带的标签时,将标签处理单元41学习的本地MAC地址表项中的标签更新为单播标签。
同样地,基于上述方法,图5给出了本发明所采用的路由网桥实施例二的结构,如图5所示,该路由网桥为转发报文的出口RB,包括:
标签处理单元51,用于为每个端口分配本地唯一的标签;将本地主机的MAC地址及为接收本地主机发送报文的本地端口分配的标签学习到本地MAC地址表项中;
报文接收单元52,用于接收由入口RB发送的由入口RB进行包含入口RB、入口标签和出口RB、出口标签的TRILL封装后的TRILL报文,所述入口标签为入口RB为接收主机发送的报文的端口分配的标签,所述出口标签由入口RB根据目的MAC地址查找的结果确定;
报文解封装单元53,用于对所述报文接收单元52接收到的报文进行TRILL解封装;
地址学习单元54,用于对报文解封装单元53解封装后的报文进行内层源MAC地址学习,将内层源MAC地址、入口RB及入口标签学习到本地MAC地址表项中;
报文转发单元55,用于根据出口标签对所述报文解封装单元53解封装后的报文进行转发。
当所述报文接收单元52接收的TRILL报文中的出口标签为交换标签类型时,所述报文转发单元55用于将报文解封装单元53解封装后的报文从报文接收单元52接收到的出口标签所对应的端口进行转发;
当所述报文接收单元52接收的TRILL报文中的出口标签为单播标签类型时,所述报文转发单元55用于将报文解封装单元53解封装后的报文进行目的MAC地址查找,如果查找到对应的MAC地址,则从对应的端口转发;如果未查找到,则进行本地端口泛洪;
当所述报文接收单元52接收的TRILL报文中的出口标签为组播标签类型时,所述报文转发单元55用于将报文解封装单元53解封装后的报文进行组播组查找,根据查找结果对报文进行组播复制转发;
当所述报文接收单元52接收的TRILL报文中的出口标签为广播标签类型时,所述报文转发单元55用于将报文解封装单元53解封装后的报文进行本地端口泛洪。
进一步地,所述地址学习单元54还用于:
在判定本地MAC地址表中该TRILL报文中的内层源MAC地址对应的MAC地址表项中的RB有变化时,使用报文中的入口RB更新本地MAC地址表中该源MAC地址对应的MAC地址表项中的RB;和/或,
在判定本地MAC地址表中该TRILL报文中的内层源MAC地址对应的MAC地址表项中的标签有变化时,使用报文中的入口标签更新本地MAC地址表中该源MAC地址对应的MAC地址表项中的标签。
更进一步地,该路由网桥还包括无效接收单元56和标签更新单元57,其中,
所述无效接收单元56,用于当入口RB的接收报文的端口不能正常工作时,接收由入口RB发送的标签无效消息,所述标签无效消息包含入口RB的Nickname和为该端口分配的标签;
所述标签更新单元57,用于当所述无效接收单元56接收到标签无效消息后,查看本地MAC地址表,当判定本地MAC地址表项中RB的Nickname为标签无效消息中携带的入口RB的Nickname、且该本地MAC地址表项中包含标签无效消息中携带的标签时,将标签处理单元51学习的本地MAC地址表项中的标签更新为单播标签。
至此,即得到了本发明所采用的TRILL网络中的路由网桥。图4和图5所述路由网桥的工作流程具体可参见图2所述方法的工作流程,这里不再赘述。
总之,本发明所采用的TRILL网络中的报文转发方法,通过由入口RB和出口RB分别为本地端口分配本地唯一的标签,将本地主机的MAC地址及为接收本地主机发送报文的本地端口分配的标签学习到本地MAC地址表项中,当入口RB接收到由本地主机发送的待转发报文后,在本地MAC地址表中查找待转发报文的目的MAC地址对应的MAC地址表项,根据查找结果对待转发报文进行包含入口RB、入口标签和出口RB、出口标签的TRILL封装,将封装后的TRILL报文发送给出口RB,由出口RB将接收到的包含入口RB、入口标签、出口RB和出口标签的TRILL报文进行TRILL解封装,并进行内层源MAC地址学习,将内层源MAC地址、入口RB及入口标签学习到本地MAC地址表项中,并根据出口标签对解封装后的报文进行转发。由于本发明建立标签与接收主机报文的端口之间的对应关系,RB进行源MAC地址的学习后,能够实现基于标签的报文转发,从而减少了MAC地址查找,因此,本发明方法不仅避免了由于查找大的MAC地址表可能造成的时间浪费问题,而且还降低了转发复杂度。
进一步地,当MAC地址迁移时,本发明方法在入口RB更新本地MAC地址表中该迁入主机对应的MAC表项关联的标签,并在出口RB判定本地MAC地址表中该TRILL报文中的内层源MAC地址对应的MAC地址表项中的RB或标签有变化时,使用报文中的入口RB或入口标签更新本地MAC地址表中该源MAC地址对应的MAC地址表项中的RB或标签,也就解决了MAC地址迁移可能造成的报文不能正常转发的问题。
最后,当入口RB接收待转发报文的端口不能正常工作时,本发明方法通过由该入口RB向其它每一个RB发送包含入口RB的Nickname和为接收待转发报文的端口分配的标签的标签无效信息,进而每一个收到标签无效信息的RB查看本地MAC地址表,当MAC地址表项中RB的Nickname为标签无效消息中入口RB的Nickname、且MAC地址表项中标签为标签无效消息中的标签时,将MAC地址表项中的标签更新为单播标签,也就避免了由于接收报文的端口不能正常工作而带来的报文不能正常转发的问题。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

TRILL网络中的报文转发方法和路由网桥.pdf_第1页
第1页 / 共18页
TRILL网络中的报文转发方法和路由网桥.pdf_第2页
第2页 / 共18页
TRILL网络中的报文转发方法和路由网桥.pdf_第3页
第3页 / 共18页
点击查看更多>>
资源描述

《TRILL网络中的报文转发方法和路由网桥.pdf》由会员分享,可在线阅读,更多相关《TRILL网络中的报文转发方法和路由网桥.pdf(18页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102868614 A (43)申请公布日 2013.01.09 CN 102868614 A *CN102868614A* (21)申请号 201210337378.1 (22)申请日 2012.09.13 H04L 12/741(2013.01) H04L 12/947(2013.01) H04L 12/761(2013.01) (71)申请人 杭州华三通信技术有限公司 地址 310053 浙江省杭州市高新技术产业开 发区之江科技工业园六和路 310 号华 为杭州生产基地 (72)发明人 周万 (74)专利代理机构 北京德琦知识产权代理有限 公司 11018 代理。

2、人 王一斌 王琦 (54) 发明名称 TRILL 网络中的报文转发方法和路由网桥 (57) 摘要 本发明公开了一种 TRILL 网络中的报文转发 方法和路由网桥 : 入口 RB 和出口 RB 都为本地端 口分配本地唯一的标签, 将本地主机的 MAC 地址 及为本地端口分配的标签学习到本地 MAC 地址表 项中 ; 入口 RB 在本地 MAC 地址表中查找由本地主 机发送的待转发报文的目的 MAC 地址对应的 MAC 地址表项, 根据查找结果对待转发报文进行包含 入口RB、 入口标签和出口RB、 出口标签的TRILL封 装, 将封装后的 TRILL 报文发送给出口 RB ; 出口 RB 将 TR。

3、ILL 报文进行 TRILL 解封装, 进行内层源 MAC 地址学习, 将内层源 MAC 地址、 入口 RB 及入口 标签学习到本地 MAC 地址表项中, 并根据出口标 签对解封装后的报文进行转发。应用本发明所述 的方法和路由网桥, 能够实现依据标签对报文的 转发, 减少对 MAC 地址表的查找, 降低报文转发的 复杂度。 (51)Int.Cl. 权利要求书 4 页 说明书 11 页 附图 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 4 页 说明书 11 页 附图 2 页 1/4 页 2 1. 一种多链接透明互联 TRILL 网络中的报文转发方法, 其特征在。

4、于, 该方法应用于 TRILL 网络中的入口 RB, 包括 : 入口RB为每个本地端口分配本地唯一的标签, 将本地主机的MAC地址及为接收本地主 机发送报文的本地端口分配的标签学习到本地 MAC 地址表项中 ; 入口RB接收到由本地主机发送的待转发报文后, 在本地MAC地址表中查找待转发报文 的目的 MAC 地址对应的 MAC 地址表项, 根据查找结果对待转发报文进行包含入口 RB、 入口 标签和出口RB、 出口标签的TRILL封装, 将封装后的TRILL报文发送给出口RB ; 所述入口标 签为入口 RB 为接收所述待转发报文的端口分配的标签, 所述出口标签由入口 RB 根据目的 MAC 地址。

5、查找的结果确定 ; 所述出口标签用于指示出口 RB 在完成对所述 TRILL 报文的解封装后根据该出口标签 对解封装后的 TRILL 报文进行转发。 2. 根据权利要求 1 所述的方法, 其特征在于, 当所述入口 RB 接收到的待转发报文为已知单播报文时, 则所述出口标签为交换标签 类型, 所述出口RB根据出口标签对解封装后的报文进行转发包括 : 出口RB将解封装后的报 文从出口标签所对应的出口 RB 的端口进行转发 ; 当所述入口 RB 接收到的待转发报文为未知单播报文时, 所述出口标签为单播标签类 型, 则所述出口RB根据出口标签对解封装后的报文进行转发包括 : 出口RB将解封装后的报 文。

6、进行目的 MAC 地址查找, 如果查找到对应的 MAC 地址, 则从对应的端口转发 ; 如果未查找 到, 则进行本地端口泛洪 ; 当所述入口 RB 接收到的待转发报文为已知组播报文时, 所述出口标签为组播标签类 型, 则所述出口RB根据出口标签对解封装后的报文进行转发包括 : 出口RB将解封装后的报 文进行组播组查找, 根据查找结果对报文进行组播复制转发 ; 当所述入口 RB 接收到的待转发报文为未知组播报文或广播报文时, 所述出口标签为 广播标签类型, 则所述出口RB根据出口标签对解封装后的报文进行转发包括 : 出口RB对解 封装后的报文进行本地端口泛洪。 3.根据权利要求1或2所述的方法,。

7、 其特征在于, 当MAC地址迁移时, 所述方法还包括 : 入口 RB 在本地检测到有主机迁入时, 更新本地 MAC 地址表中该迁入主机对应的 MAC 表项关 联的标签。 4. 根据权利要求 1 或 2 所述的方法, 其特征在于, 当入口 RB 的接收所述待转发报文的 端口不能正常工作时, 该方法进一步包括 : 入口 RB 向其它每一个 RB 发送标签无效消息, 所述标签无效消息包含入口 RB 的标号 Nickname 和为所述接收待转发报文的端口分配的标签 ; 所述标签无效消息用于指示收到标签无效消息的 RB 将本地 MAC 地址表中包含相同入 口 RB 的标号 Nickname 和相同标签的。

8、 MAC 地址表项中的标签更新为单播标签。 5. 一种多链接透明互联 TRILL 网络中的报文转发方法, 其特征在于, 该方法应用于 TRILL 网络中的出口 RB, 包括 : 出口RB为每个本地端口分配本地唯一的标签, 将本地主机的MAC地址及为接收本地主 机发送报文的本地端口分配的标签学习到本地 MAC 地址表项中 ; 出口 RB 接收到由入口 RB 发送的包含入口 RB、 入口标签、 出口 RB 和出口标签的 TRILL 权 利 要 求 书 CN 102868614 A 2 2/4 页 3 报文后, 进行 TRILL 解封装, 并进行内层源 MAC 地址学习, 将内层源 MAC 地址、 。

9、入口 RB 及入 口标签学习到本地MAC地址表项中 ; 所述入口标签为入口RB为接收主机发送的报文的端口 分配的标签, 所述出口标签为入口 RB 根据目的 MAC 地址查找的结果所确定的标签 ; 出口 RB 根据出口标签对解封装后的报文进行转发。 6. 根据权利要求 5 所述的方法, 其特征在于, 当所述出口标签为交换标签类型时, 所述出口 RB 根据出口标签对解封装后的报文进 行转发包括 : 出口 RB 将解封装后的报文从出口标签所对应的出口 RB 的端口进行转发 ; 当所述出口标签为单播标签类型, 则所述出口 RB 根据出口标签对解封装后的报文进 行转发包括 : 出口 RB 将解封装后的报。

10、文进行目的 MAC 地址查找, 如果查找到对应的 MAC 地 址, 则从对应的端口转发 ; 如果未查找到, 则进行本地端口泛洪 ; 当所述出口标签为组播标签类型, 则所述出口 RB 根据出口标签对解封装后的报文进 行转发包括 : 出口 RB 将解封装后的报文进行组播组查找, 根据查找结果对报文进行组播复 制转发 ; 当所述出口标签为广播标签类型, 则所述出口 RB 根据出口标签对解封装后的报文进 行转发包括 : 出口 RB 对解封装后的报文进行本地端口泛洪。 7. 根据权利要求 5 或 6 所述的方法, 其特征在于, 在 MAC 地址迁移的情况下, 所述出口 RB 对接收到的 TRILL 报文。

11、进行解封装, 进行内层源 MAC 地址学习时, 该方法还包括 : 当出口 RB 判定本地 MAC 地址表中该 TRILL 报文中的内层源 MAC 地址对应的 MAC 地址 表项中的 RB 有变化, 则使用报文中的入口 RB 更新本地 MAC 地址表中该源 MAC 地址对应的 MAC 地址表项中的 RB ; 和 / 或, 当出口 RB 判定本地 MAC 地址表中该 TRILL 报文中的内层源 MAC 地址对应的 MAC 地址 表项中的标签有变化, 则使用报文中的入口标签更新本地 MAC 地址表项中该源 MAC 地址对 应的 MAC 地址表项中的标签。 8. 根据权利要求 5 或 6 所述的方法,。

12、 其特征在于, 该方法进一步包括 : 当出口 RB 接收到入口 RB 发送的包含入口 RB 的标号 Nickname 和不能正常工作的端 口对应的标签的标签无效消息时, 查看本地 MAC 地址表项, 当本地 MAC 地址表项中 RB 的 Nickname 为标签无效消息中入口 RB 的 Nickname、 且本地 MAC 地址表项中包含标签无效消 息中的标签时, 将本地 MAC 地址表项中的标签更新为单播标签。 9. 一种多链接透明互联 TRILL 网络中的路由网桥, 该路由网桥为接收报文的入口路由 网桥 RB, 其特征在于, 该路由网桥包括 : 标签处理单元, 用于为每个端口分配本地唯一的标。

13、签 ; 将本地主机的 MAC 地址及为接 收本地主机发送报文的本地端口分配的标签学习到本地 MAC 地址表项中 ; 报文接收单元, 用于接收由本地主机发送的待转发报文 ; 报文封装单元, 用于在本地 MAC 地址表中查找待转发报文的目的 MAC 地址对应的 MAC 地址表项, 根据查找结果对待转发报文进行包含入口 RB、 入口标签和出口 RB、 出口标签的 TRILL 封装 ; 所述入口标签为入口 RB 为接收所述待转发报文的端口分配的标签, 所述出口 标签根据目的 MAC 地址查找的结果确定 ; 所述报文发送单元, 用于将所述报文封装单元进行 TRILL 封装后的报文发送给出口 RB, 以使。

14、出口 RB 根据目的 MAC 和出口标签对报文进行转发。 权 利 要 求 书 CN 102868614 A 3 3/4 页 4 10. 根据权利要求 9 所述的路由网桥, 其特征在于, 当所述报文接收单元接收到的主机发送的待转发报文为已知单播报文时, 所述报文封 装单元封装的TRILL报文的出口标签为交换标签类型, 所述交互标签指示出口RB将解封装 后的报文从出口标签所对应的出口 RB 的端口进行转发 ; 当所述报文接收单元接收到的主机发送的待转发报文为未知单播报文时, 所述报文封 装单元封装的TRILL报文的出口标签为单播标签类型, 所述单播标签指示出口RB对解封装 后的报文进行目的 MAC。

15、 地址查找, 如果查找到对应的 MAC 地址, 则从对应的端口转发 ; 如果 未查找到, 则进行本地端口泛洪 ; 当所述报文接收单元接收到的主机发送的待转发报文为已知组播报文时, 所述报文封 装单元封装的TRILL报文的出口标签为组播标签类型, 所述组播标签指示出口RB对解封装 后的报文进行组播组查找, 根据查找结果对报文进行组播复制转发 ; 当所述报文接收单元接收到的主机发送的待转发报文为未知组播报文或广播报文时, 所述报文封装单元封装的 TRILL 报文的出口标签为组播标签类型, 所述组播标签指示出口 RB 对解封装后的报文进行本地端口泛洪。 11.根据权利要求9或10所述的路由网桥, 其。

16、特征在于, 该路由网桥还包括标签更新单 元, 用于在本地检测到有主机迁入时, 更新本地MAC地址表中该迁入主机对应的MAC表项关 联的标签。 12. 根据权利要求 9 或 10 所述的路由网桥, 其特征在于, 该路由网桥还包括无效发送 单元, 用于当所述报文接收单元的接收报文的端口不能正常工作时, 向其它每一个 RB 发送 标签无效消息, 所述标签无效消息用于指示每一个收到标签无效消息的 RB 在判定本地 MAC 地址表项中RB的Nickname为标签无效消息中携带的入口RB的Nickname、 且该本地MAC地 址表项中包含标签无效消息中携带的标签时, 将本地 MAC 地址表项中的标签更新为。

17、单播标 签。 13. 一种多链接透明互联 TRILL 网络中的路由网桥, 该路由网桥为转发报文的出口路 由网桥 RB, 其特征在于, 该路由网桥包括 : 标签处理单元, 用于为每个端口分配本地唯一的标签 ; 将本地主机的 MAC 地址及为接 收本地主机发送报文的本地端口分配的标签学习到本地 MAC 地址表项中 ; 报文接收单元, 用于接收由入口 RB 发送的由入口 RB 进行包含入口 RB、 入口标签和出 口 RB、 出口标签的 TRILL 封装后的 TRILL 报文, 所述入口标签为入口 RB 为接收主机发送的 报文的端口分配的标签, 所述出口标签由入口 RB 根据目的 MAC 地址查找的结。

18、果确定 ; 报文解封装单元, 用于对所述报文接收单元接收到的报文进行 TRILL 解封装 ; 地址学习单元, 用于对报文解封装单元解封装后的报文进行内层源 MAC 地址学习, 将 内层源 MAC 地址、 入口 RB 及入口标签学习到本地 MAC 地址表项中 ; 报文转发单元, 用于根据出口标签对所述报文解封装单元解封装后的报文进行转发。 14. 根据权利要求 13 所述的路由网桥, 其特征在于, 当所述报文接收单元接收的 TRILL 报文中的出口标签为交换标签类型时, 所述报文转 发单元用于将解封装后的报文从出口标签所对应的端口进行转发 ; 当所述报文接收单元接收的 TRILL 报文中的出口标。

19、签为单播标签类型时, 所述报文转 发单元用于将解封装后的报文进行目的MAC地址查找, 如果查找到对应的MAC地址, 则从对 权 利 要 求 书 CN 102868614 A 4 4/4 页 5 应的端口转发 ; 如果未查找到, 则进行本地端口泛洪 ; 当所述报文接收单元接收的 TRILL 报文中的出口标签为组播标签类型时, 所述报文转 发单元用于将解封装后的报文进行组播组查找, 根据查找结果对报文进行组播复制转发 ; 当所述报文接收单元接收的 TRILL 报文中的出口标签为广播标签类型时, 所述报文转 发单元用于将解封装后的报文进行本地端口泛洪。 15. 根据权利要求 13 或 14 所述的路。

20、由网桥, 其特征在于, 所述地址学习单元还用于 : 在判定本地 MAC 地址表中该 TRILL 报文中的内层源 MAC 地址对应的 MAC 地址表项中的 RB有变化时, 使用报文中的入口RB更新本地MAC地址表中该源MAC地址对应的MAC地址表 项中的 RB ; 和 / 或, 在判定本地 MAC 地址表中该 TRILL 报文中的内层源 MAC 地址对应的 MAC 地址表项中的 标签有变化时, 使用报文中的入口标签更新本地 MAC 地址表中该源 MAC 地址对应的 MAC 地 址表项中的标签。 16. 根据权利要求 13 或 14 所述的路由网桥, 其特征在于, 该路由网桥还包括无效接收 单元和。

21、标签更新单元, 其中, 所述无效接收单元, 用于当入口 RB 的接收报文的端口不能正常工作时, 接收由入口 RB 发送的标签无效消息, 所述标签无效消息包含入口 RB 的 Nickname 和为该端口分配的标 签 ; 所述标签更新单元, 用于当所述无效接收单元接收到标签无效消息后, 查看本地 MAC 地址表, 当判定本地 MAC 地址表项中 RB 的 Nickname 为标签无效消息中携带的入口 RB 的 Nickname、 且该本地MAC地址表项中包含标签无效消息中携带的标签时, 将本地MAC地址表 项中的标签更新为单播标签。 权 利 要 求 书 CN 102868614 A 5 1/11 。

22、页 6 TRILL 网络中的报文转发方法和路由网桥 技术领域 0001 本申请涉及通信技术领域, 特别涉及一种多链接透明互联 (TRILL, Transparent Interconnection of Lots of Links) 网络中的报文转发方法和路由网桥。 背景技术 0002 TRILL是互联网工程任务组 (IETF, Internet Engineering Task Force) 推荐的连 接层 (L2) 网络标准, 用于解决大型数据中心生成树协议 (STP, Spanning Tree Protocol) 的 不足。 在L2网络中, STP通过阻塞冗余链路来避免环路, 但同时也。

23、造成了冗余链路带宽的浪 费, 而TRILL则通过将中间系统对中间系统 (ISIS, Intermediate system to intermediate system) 路由协议引入 L2 网络, 不仅解决了 L2 环路问题, 而且还能够支持冗余路径和负载 分担。 0003 在TRILL网络中, 运行TRILL协议的设备称为路由网桥 (RB, Router Bridge) , 且该 RB 是交换机和路由器功能的综合体。图 1 给出了现有单播报文转发方法的过程示意图, 如 图 1 所示, 以主机 C 向主机 A 发送单播报文为例, 该单播报文转发过程可包括 : 0004 、 主机 C 发送单播。

24、报文, 由交换机对该单播报文进行普通二层转发 ; 0005 、 RB2 的交换功能模块对交换机发送的单播报文进行普通 MAC 学习和查找, 查找 到主机 A 的表项出端口为 2, 并且出口 RB 为 RB4 后, 对该单播报文进行 TRILL 封装, 从端口 2发送到路由功能模块 ; 路由功能模块进行TRILL路由查找, 查找到RB4的下一跳为RB1, 查 找邻接表获取 RB1 的 MAC 地址 F 和控制 VLAN200, 进行封装后将单播报文发送给 RB1 ; 0006 c、 RB1 对接收到的单播报文进行 TRILL 路由查找转发过程, 发送到 RB4 ; 0007 d、 RB4 发现出。

25、口 RB 为自身, 则对接收到的单播报文进行解封装过程, 剥离 TRILL 头, 进行内层 MAC 地址查找, 得到出端口, 进而将单播报文发送给主机 A。 0008 通过上述分析可以看出, 现有在 TRILL 网络中转发单播报文时, 在入口 RB 和出口 RB都要进行MAC地址查找得到出端口, 进而根据查找到的出端口转发该单播报文。 然而, 由 于 MAC 地址表很大, 因而查找 MAC 地址的过程可能会很长, 不仅延长了报文转发时间, 而且 提高了转发复杂度。 发明内容 0009 有鉴于此, 本发明提供了一种 TRILL 网络中的报文转发方法, 能够实现依据标签 对报文的转发, 减少对 M。

26、AC 地址表的查找, 降低报文转发的复杂度。 0010 本发明还提供了一种路由网桥, 能够实现依据标签对报文的转发, 减少对 MAC 地 址表的查找, 降低报文转发的复杂度。 0011 为了达到上述目的, 本发明提出的技术方案为 : 0012 一种多链接透明互联 TRILL 网络中的报文转发方法, 该方法应用于 TRILL 网络中 的入口 RB, 包括 : 0013 入口RB为每个本地端口分配本地唯一的标签, 将本地主机的MAC地址及为接收本 说 明 书 CN 102868614 A 6 2/11 页 7 地主机发送报文的本地端口分配的标签学习到本地 MAC 地址表项中 ; 0014 入口RB。

27、接收到由本地主机发送的待转发报文后, 在本地MAC地址表中查找待转发 报文的目的MAC地址对应的MAC地址表项, 根据查找结果对待转发报文进行包含入口RB、 入 口标签和出口RB、 出口标签的TRILL封装, 将封装后的TRILL报文发送给出口RB ; 所述入口 标签为入口 RB 为接收所述待转发报文的端口分配的标签, 所述出口标签由入口 RB 根据目 的 MAC 地址查找的结果确定 ; 0015 所述出口标签用于指示出口 RB 在完成对所述 TRILL 报文的解封装后根据该出口 标签对解封装后的 TRILL 报文进行转发。 0016 当所述入口 RB 接收到的待转发报文为已知单播报文时, 则。

28、所述出口标签为交换 标签类型, 所述出口RB根据出口标签对解封装后的报文进行转发包括 : 出口RB将解封装后 的报文从出口标签所对应的出口 RB 的端口进行转发 ; 0017 当所述入口 RB 接收到的待转发报文为未知单播报文时, 所述出口标签为单播标 签类型, 则所述出口RB根据出口标签对解封装后的报文进行转发包括 : 出口RB将解封装后 的报文进行目的 MAC 地址查找, 如果查找到对应的 MAC 地址, 则从对应的端口转发 ; 如果未 查找到, 则进行本地端口泛洪 ; 0018 当所述入口 RB 接收到的待转发报文为已知组播报文时, 所述出口标签为组播标 签类型, 则所述出口RB根据出口。

29、标签对解封装后的报文进行转发包括 : 出口RB将解封装后 的报文进行组播组查找, 根据查找结果对报文进行组播复制转发 ; 0019 当所述入口 RB 接收到的待转发报文为未知组播报文或广播报文时, 所述出口标 签为广播标签类型, 则所述出口 RB 根据出口标签对解封装后的报文进行转发包括 : 出口 RB 对解封装后的报文进行本地端口泛洪。 0020 当MAC地址迁移时, 所述方法还包括 : 入口RB在本地检测到有主机迁入时, 更新本 地 MAC 地址表中该迁入主机对应的 MAC 表项关联的标签。 0021 当入口 RB 的接收所述待转发报文的端口不能正常工作时, 该方法进一步包括 : 0022。

30、 入口 RB 向其它每一个 RB 发送标签无效消息, 所述标签无效消息包含入口 RB 的标 号 Nickname 和为所述接收待转发报文的端口分配的标签 ; 0023 所述标签无效消息用于指示收到标签无效消息的 RB 将本地 MAC 地址表中包含相 同入口 RB 的标号 Nickname 和相同标签的 MAC 地址表项中的标签更新为单播标签。 0024 一种多链接透明互联 TRILL 网络中的报文转发方法, 该方法应用于 TRILL 网络中 的出口 RB, 包括 : 0025 出口RB为每个本地端口分配本地唯一的标签, 将本地主机的MAC地址及为接收本 地主机发送报文的本地端口分配的标签学习到。

31、本地 MAC 地址表项中 ; 0026 出口 RB 接收到由入口 RB 发送的包含入口 RB、 入口标签、 出口 RB 和出口标签的 TRILL 报文后, 进行 TRILL 解封装, 并进行内层源 MAC 地址学习, 将内层源 MAC 地址、 入口 RB 及入口标签学习到本地MAC地址表项中 ; 所述入口标签为入口RB为接收主机发送的报文的 端口分配的标签, 所述出口标签为入口 RB 根据目的 MAC 地址查找的结果所确定的标签 ; 0027 出口 RB 根据出口标签对解封装后的报文进行转发。 0028 当所述出口标签为交换标签类型时, 所述出口 RB 根据出口标签对解封装后的报 文进行转发包。

32、括 : 出口 RB 将解封装后的报文从出口标签所对应的出口 RB 的端口进行转 说 明 书 CN 102868614 A 7 3/11 页 8 发 ; 0029 当所述出口标签为单播标签类型, 则所述出口 RB 根据出口标签对解封装后的报 文进行转发包括 : 出口 RB 将解封装后的报文进行目的 MAC 地址查找, 如果查找到对应的 MAC 地址, 则从对应的端口转发 ; 如果未查找到, 则进行本地端口泛洪 ; 0030 当所述出口标签为组播标签类型, 则所述出口 RB 根据出口标签对解封装后的报 文进行转发包括 : 出口 RB 将解封装后的报文进行组播组查找, 根据查找结果对报文进行组 播复。

33、制转发 ; 0031 当所述出口标签为广播标签类型, 则所述出口 RB 根据出口标签对解封装后的报 文进行转发包括 : 出口 RB 对解封装后的报文进行本地端口泛洪。 0032 在 MAC 地址迁移的情况下, 所述出口 RB 对接收到的 TRILL 报文进行解封装, 进行 内层源 MAC 地址学习时, 该方法还包括 : 0033 当出口 RB 判定本地 MAC 地址表中该 TRILL 报文中的内层源 MAC 地址对应的 MAC 地址表项中的 RB 有变化, 则使用报文中的入口 RB 更新本地 MAC 地址表中该源 MAC 地址对 应的 MAC 地址表项中的 RB ; 和 / 或, 0034 当。

34、出口 RB 判定本地 MAC 地址表中该 TRILL 报文中的内层源 MAC 地址对应的 MAC 地址表项中的标签有变化, 则使用报文中的入口标签更新本地 MAC 地址表项中该源 MAC 地 址对应的 MAC 地址表项中的标签。 0035 该方法进一步包括 : 0036 当出口 RB 接收到入口 RB 发送的包含入口 RB 的标号 Nickname 和不能正常工作的 端口对应的标签的标签无效消息时, 查看本地 MAC 地址表项, 当本地 MAC 地址表项中 RB 的 Nickname 为标签无效消息中入口 RB 的 Nickname、 且本地 MAC 地址表项中包含标签无效消 息中的标签时, 。

35、将本地 MAC 地址表项中的标签更新为单播标签。 0037 一种多链接透明互联 TRILL 网络中的路由网桥, 该路由网桥为接收报文的入口路 由网桥 RB, 该路由网桥包括 : 0038 标签处理单元, 用于为每个端口分配本地唯一的标签 ; 将本地主机的 MAC 地址及 为接收本地主机发送报文的本地端口分配的标签学习到本地 MAC 地址表项中 ; 0039 报文接收单元, 用于接收由本地主机发送的待转发报文 ; 0040 报文封装单元, 用于在本地 MAC 地址表中查找待转发报文的目的 MAC 地址对应的 MAC 地址表项, 根据查找结果对待转发报文进行包含入口 RB、 入口标签和出口 RB、。

36、 出口标签 的 TRILL 封装 ; 所述入口标签为入口 RB 为接收所述待转发报文的端口分配的标签, 所述出 口标签根据目的 MAC 地址查找的结果确定 ; 0041 所述报文发送单元, 用于将所述报文封装单元进行 TRILL 封装后的报文发送给出 口 RB, 以使出口 RB 根据目的 MAC 和出口标签对报文进行转发。 0042 当所述报文接收单元接收到的主机发送的待转发报文为已知单播报文时, 所述报 文封装单元封装的TRILL报文的出口标签为交换标签类型, 所述交互标签指示出口RB将解 封装后的报文从出口标签所对应的出口 RB 的端口进行转发 ; 0043 当所述报文接收单元接收到的主机。

37、发送的待转发报文为未知单播报文时, 所述报 文封装单元封装的TRILL报文的出口标签为单播标签类型, 所述单播标签指示出口RB对解 封装后的报文进行目的 MAC 地址查找, 如果查找到对应的 MAC 地址, 则从对应的端口转发 ; 说 明 书 CN 102868614 A 8 4/11 页 9 如果未查找到, 则进行本地端口泛洪 ; 0044 当所述报文接收单元接收到的主机发送的待转发报文为已知组播报文时, 所述报 文封装单元封装的TRILL报文的出口标签为组播标签类型, 所述组播标签指示出口RB对解 封装后的报文进行组播组查找, 根据查找结果对报文进行组播复制转发 ; 0045 当所述报文接。

38、收单元接收到的主机发送的待转发报文为未知组播报文或广播报 文时, 所述报文封装单元封装的 TRILL 报文的出口标签为组播标签类型, 所述组播标签指 示出口 RB 对解封装后的报文进行本地端口泛洪。 0046 该路由网桥还包括标签更新单元, 用于在本地检测到有主机迁入时, 更新本地 MAC 地址表中该迁入主机对应的 MAC 表项关联的标签。 0047 该路由网桥还包括无效发送单元, 用于当所述报文接收单元的接收报文的端口不 能正常工作时, 向其它每一个 RB 发送标签无效消息, 所述标签无效消息用于指示每一个收 到标签无效消息的 RB 在判定本地 MAC 地址表项中 RB 的 Nickname。

39、 为标签无效消息中携带 的入口 RB 的 Nickname、 且该本地 MAC 地址表项中包含标签无效消息中携带的标签时, 将本 地 MAC 地址表项中的标签更新为单播标签。 0048 一种多链接透明互联 TRILL 网络中的路由网桥, 该路由网桥为转发报文的出口路 由网桥 RB, 该路由网桥包括 : 0049 标签处理单元, 用于为每个端口分配本地唯一的标签 ; 将本地主机的 MAC 地址及 为接收本地主机发送报文的本地端口分配的标签学习到本地 MAC 地址表项中 ; 0050 报文接收单元, 用于接收由入口RB发送的由入口RB进行包含入口RB、 入口标签和 出口 RB、 出口标签的 TRI。

40、LL 封装后的 TRILL 报文, 所述入口标签为入口 RB 为接收主机发送 的报文的端口分配的标签, 所述出口标签由入口 RB 根据目的 MAC 地址查找的结果确定 ; 0051 报文解封装单元, 用于对所述报文接收单元接收到的报文进行 TRILL 解封装 ; 0052 地址学习单元, 用于对报文解封装单元解封装后的报文进行内层源 MAC 地址学 习, 将内层源 MAC 地址、 入口 RB 及入口标签学习到本地 MAC 地址表项中 ; 0053 报文转发单元, 用于根据出口标签对所述报文解封装单元解封装后的报文进行转 发。 0054 当所述报文接收单元接收的 TRILL 报文中的出口标签为交。

41、换标签类型时, 所述报 文转发单元用于将解封装后的报文从出口标签所对应的端口进行转发 ; 0055 当所述报文接收单元接收的 TRILL 报文中的出口标签为单播标签类型时, 所述报 文转发单元用于将解封装后的报文进行目的MAC地址查找, 如果查找到对应的MAC地址, 则 从对应的端口转发 ; 如果未查找到, 则进行本地端口泛洪 ; 0056 当所述报文接收单元接收的 TRILL 报文中的出口标签为组播标签类型时, 所述报 文转发单元用于将解封装后的报文进行组播组查找, 根据查找结果对报文进行组播复制转 发 ; 0057 当所述报文接收单元接收的 TRILL 报文中的出口标签为广播标签类型时, 。

42、所述报 文转发单元用于将解封装后的报文进行本地端口泛洪。 0058 所述地址学习单元还用于 : 0059 在判定本地 MAC 地址表中该 TRILL 报文中的内层源 MAC 地址对应的 MAC 地址表项 中的 RB 有变化时, 使用报文中的入口 RB 更新本地 MAC 地址表中该源 MAC 地址对应的 MAC 说 明 书 CN 102868614 A 9 5/11 页 10 地址表项中的 RB ; 和 / 或, 0060 在判定本地 MAC 地址表中该 TRILL 报文中的内层源 MAC 地址对应的 MAC 地址表项 中的标签有变化时, 使用报文中的入口标签更新本地MAC地址表中该源MAC地址。

43、对应的MAC 地址表项中的标签。 0061 该路由网桥还包括无效接收单元和标签更新单元, 其中, 0062 所述无效接收单元, 用于当入口 RB 的接收报文的端口不能正常工作时, 接收由入 口 RB 发送的标签无效消息, 所述标签无效消息包含入口 RB 的 Nickname 和为该端口分配的 标签 ; 0063 所述标签更新单元, 用于当所述无效接收单元接收到标签无效消息后, 查看本地 MAC 地址表, 当判定本地 MAC 地址表项中 RB 的 Nickname 为标签无效消息中携带的入口 RB 的Nickname、 且该本地MAC地址表项中包含标签无效消息中携带的标签时, 将本地MAC地址 。

44、表项中的标签更新为单播标签。 0064 综上所述, 本发明所采用的 TRILL 网络中的报文转发方法, 是通过由入口 RB 和出 口RB分别为本地端口分配本地唯一的标签, 将本地主机的MAC地址及为接收本地主机发送 报文的本地端口分配的标签学习到本地 MAC 地址表项中, 当入口 RB 接收到由本地主机发 送的待转发报文后, 在本地 MAC 地址表中查找待转发报文的目的 MAC 地址对应的 MAC 地址 表项, 根据查找结果对待转发报文进行包含入口 RB、 入口标签和出口 RB、 出口标签的 TRILL 封装, 将封装后的 TRILL 报文发送给出口 RB, 由出口 RB 将接收到的包含入口 。

45、RB、 入口标签、 出口 RB 和出口标签的 TRILL 报文进行 TRILL 解封装, 并进行内层源 MAC 地址学习, 将内层 源 MAC 地址、 入口 RB 及入口标签学习到本地 MAC 地址表项中, 并根据出口标签对解封装后 的报文进行转发。由于本发明建立标签与接收主机报文的端口之间的对应关系, RB 进行源 MAC 地址的学习后, 能够实现基于标签的报文转发, 从而减少了 MAC 地址查找, 因此, 本发明 方法不仅避免了由于查找大的 MAC 地址表可能造成的时间浪费问题, 而且还降低了转发复 杂度。 附图说明 0065 图 1 为现有 TRILL 网络中单播报文转发方法的过程示意图。

46、 ; 0066 图 2 为本发明 TRILL 网络中报文转发方法的工作流程图 ; 0067 图 3 为本发明扩展后的 TRILL 报文结构示意图 ; 0068 图 4 为本发明所采用的路由网桥实施例一的结构示意图 ; 0069 图 5 为本发明所采用的路由网桥实施例二的结构示意图。 具体实施方式 0070 为了解决本发明提出的技术问题, 本发明所述方案的具体实现包括 : 0071 入口RB为每个本地端口分配本地唯一的标签, 将本地主机的MAC地址及为接收本 地主机发送报文的本地端口分配的标签学习到本地MAC地址表项中 ; 入口RB接收到由本地 主机发送的待转发报文后, 在本地MAC地址表中查找。

47、待转发报文的目的MAC地址对应的MAC 地址表项, 根据查找结果对待转发报文进行包含入口 RB、 入口标签和出口 RB、 出口标签的 TRILL 封装, 将封装后的 TRILL 报文发送给出口 RB ; 所述入口标签为入口 RB 为接收所述待 说 明 书 CN 102868614 A 10 6/11 页 11 转发报文的端口分配的标签, 所述出口标签由入口 RB 根据目的 MAC 地址查找的结果确定 ; 所述出口标签用于指示出口 RB 在完成对所述 TRILL 报文的解封装后根据该出口标签对解 封装后的 TRILL 报文进行转发 ; 0072 出口RB为每个本地端口分配本地唯一的标签, 将本地。

48、主机的MAC地址及为接收本 地主机发送报文的本地端口分配的标签学习到本地MAC地址表项中 ; 出口RB接收到由入口 RB 发送的包含入口 RB、 入口标签、 出口 RB 和出口标签的 TRILL 报文后, 进行 TRILL 解封装, 并进行内层源 MAC 地址学习, 将内层源 MAC 地址、 入口 RB 及入口标签学习到本地 MAC 地址 表项中 ; 所述入口标签为入口 RB 为接收主机发送的报文的端口分配的标签, 所述出口标签 为入口 RB 根据目的 MAC 地址查找的结果所确定的标签 ; 出口 RB 根据出口标签对解封装后 的报文进行转发。 0073 为使本发明的目的、 技术方案和优点更加。

49、清楚, 下面将结合附图及具体实施例对 本发明作进一步地详细描述。 0074 图 2 为本发明 TRILL 网络中报文转发方法的工作流程图, 如图 2 所示, 该流程包 括 : 0075 步骤201 : 定义标签类型, TRILL网络内的每个RB都需要为每个本地端口分配本地 唯一的标签。 0076 本发明中, 在各个 RB 启动时, 会给本地的每个端口分配一个本地具有唯一性的标 签 ; 0077 本发明对 TRILL 报文的结构进行了扩展, 在 TRILL 报文中增加入口标签和出口标 签的信元, 扩展后的 TRILL 报文结构示例如图 3 所示。在本发明优选实施例中, 在 TRILL 报文的出口标号 Egress Nickname 和入口标号 Ingress Nickname 的后面添加出口标签 Egress Label和入口标签Ingress Label。 其中Ingress Label信元表示报文进入入口RB 时的入端口, 只能是交换标签 ; Egress Label 信元。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 >


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1