发明内容
本发明的目的在于提供一种数据传输方法和设备,为SPB网络内流量的统计和监控的实现提供支持,并可以增强网络安全性。
为了达到以上目的,本发明实施例提供了一种数据传输方法,应用于包括Hub骨干网边缘网桥BEB设备和Spoke BEB设备的最短路径桥SPB网络中,所述Spoke BEB设备之间通过所述Hub BEB设备实现报文交互,所述Hub BEB设备的用户网络侧设置有一服务器,该方法包括:
所述Hub BEB设备接收骨干网核心网桥BCB设备转发的MAC-IN-MAC报文,剥离该MAC-IN-MAC报文的MAC-IN-MAC隧道头部,并转发给服务器;其中,该MAC-IN-MAC报文由Spoke BEB设备将接收到的用户侧发送的报文,以Hub BEB设备的媒体访问控制MAC地址为外层以太头的目的MAC地址封装而成;
所述Hub BEB设备接收所述服务器返回的处理后的报文,根据该处理后的报文的目的MAC地址查询MAC表,并根据查询结果对该处理后的报文进行转发。
其中,所述Hub BEB设备根据查询结果对该处理后的报文进行转发,具体为:
当所述查询结果为未查询到对应的MAC表项时,所述Hub BEB设备将该处理后的报文封装为MAC-IN-MAC报文,并通过BCB设备发送给与该HubBEB设备建立连接的各Spoke BEB设备,由所述各Spoke BEB设备对接收到的MAC-IN-MAC报文进行转发;
当所述查询结果为查询到对应的MAC表项时,所述Hub BEB设备将该处理后的报文封装为MAC-IN-MAC报文,并通过BCB设备发送给对应的SpokeBEB设备,由该Spoke BEB设备对接收到的MAC-IN-MAC报文进行转发。
其中,该方法还包括:
所述Hub BEB设备向SPB网络内的其他设备发送携带自身MAC地址的身份通告报文,以使接收到该身份通告报文的设备根据该身份通告报文记录所述Hub BEB设备的MAC地址,以及达到Hub BEB设备的出端口。
其中,所述身份通告报文为拓展的SPB中间到中间系统ISIS HELLO报文,所述拓展的SPB ISIS HELLO报文中携带有用于指示发送该SPB ISIS HELLO报文的设备为Hub BEB设备或Spoke BEB设备的标志位。
其中,该方法还包括:
当所述Hub BEB设备接收到BCB设备转发的MAC-IN-MAC报文,且自身MAC表中未记录对应该MAC-IN-MAC报文的源MAC地址的MAC表项时,所述Hub BEB设备进行源MAC地址学习。
本发明实施例还提供一种数据传输方法,应用于包括Hub骨干网边缘网桥BEB设备和Spoke BEB设备的最短路径桥SPB网络中,所述Spoke BEB设备之间通过所述Hub BEB设备实现报文交互,所述Hub BEB设备的用户网络侧设置有一服务器,该方法包括:
Spoke BEB设备接收用户侧发送的报文;
所述Spoke BEB设备将该报文封装为MAC-IN-MAC报文,并通过骨干网核心网桥BCB设备将该报文转发给Hub BEB设备,以使所述Hub设备剥离该MAC-IN-MAC报文的MAC-IN-MAC隧道头部后转发给所述服务器,并根据所述服务器处理后返回的报文的目的MAC地址对该报文进行转发;
其中,该MAC-IN-MAC报文的外层以太头的目的媒体访问控制MAC地址为Hub BEB设备的MAC地址。
其中,该方法还包括:
当Spoke BEB设备接收到BCB设备转发的MAC-IN-MAC报文时,所述Spoke BEB设备剥离该MAC-IN-MAC报文的MAC-IN-MAC隧道头,并根据该剥离MAC-IN-MAC隧道头的报文的目的MAC地址查询MAC表;若查询到对应的MAC表项,则将该剥离MAC-IN-MAC隧道头的报文转发给对应的主机;若未查询到对应的MAC地址,则将该剥离MAC-IN-MAC隧道头的报文转发给自身下挂的各主机。
其中,该方法还包括:
当所述Spoke BEB设备接收到用户侧发送的报文,且自身MAC表中未记录对应该报文的源MAC地址的MAC表项时,所述Spoke BEB设备进行源MAC地址学习。
本发明实施例还提供一种骨干网边缘网桥BEB设备,应用于包括Hub BEB设备和Spoke BEB设备的最短路径桥SPB网络中,所述Spoke BEB设备之间通过所述Hub BEB设备实现报文交互,所述Hub BEB设备的用户网络侧设置有一服务器,该BEB设备包括:
第一处理模块,用于当所述BEB设备作为Hub BEB设备,且接收到骨干网核心网桥BCB设备转发的所述MAC-IN-MAC报文,剥离该MAC-IN-MAC报文的MAC-IN-MAC隧道头部,并转发给服务器;其中,该MAC-IN-MAC报文由Spoke BEB设备将接收到的用户侧发送的报文,以Hub BEB设备的媒体访问控制MAC地址为外层以太头的目的MAC地址封装而成;
第二处理模块,用于当所述BEB设备作为Hub BEB设备时,接收所述服务器返回的处理后的报文,根据该处理后的报文的目的MAC地址查询MAC表,并根据查询结果对该处理后的报文进行转发。
其中,所述第二处理模块具体用于,通过以下方式实现根据查询结果对该处理后的报文进行转发:
当所述查询结果为未查询到对应的MAC表项时,所述Hub BEB设备将该处理后的报文封装为MAC-IN-MAC报文,并通过BCB设备发送给与该HubBEB设备建立连接的各Spoke BEB设备,由所述各Spoke BEB设备对接收到的MAC-IN-MAC报文进行转发;
当所述查询结果为查询到对应的MAC表项时,所述Hub BEB设备将该处理后的报文封装为MAC-IN-MAC报文,并通过BCB设备发送给对应的SpokeBEB设备,由该Spoke BEB设备对接收到的MAC-IN-MAC报文进行转发。
其中,所述BEB设备还包括:
通告模块,用于当所述BEB设备为Hub BEB设备时,向SPB网络内的其他设备发送携带自身MAC地址的身份通告报文,以使接收到该身份通告报文的设备根据该身份通告报文记录所述Hub BEB设备的MAC地址,以及达到Hub BEB设备的出端口。
其中,所述身份通告报文为拓展的SPB中间到中间系统ISIS HELLO报文,所述拓展的SPB ISIS HELLO报文中携带有用于指示发送该SPB ISIS HELLO报文的设备为Hub BEB设备或Spoke BEB设备的标志位。
其中,所述BEB设备还包括:
MAC地址学习模块,用于当所述BEB设备为Hub BEB设备,接收到BCB设备转发的MAC-IN-MAC报文,且自身MAC表中未记录对应该MAC-IN-MAC报文的源MAC地址的MAC表项时,进行源MAC地址学习。
本发明实施例还提供一种骨干网边缘网桥BEB设备,应用于包括Hub BEB设备和Spoke BEB设备的最短路径桥SPB网络中,所述Spoke BEB设备之间通过所述Hub BEB设备实现报文交互,所述Hub BEB设备的用户网络侧设置有一服务器,该BEB设备包括:
接收模块,用于当所述BEB设备为Spoke BEB设备时,接收用户侧发送的报文;
第一处理模块,用于当所述BEB设备为Spoke BEB设备时,将所述接收模块接收到的用户侧发送的报文封装为MAC-IN-MAC报文,并通过骨干网核心网桥BCB设备将该报文转发给Hub BEB设备,以使所述Hub设备剥离该MAC-IN-MAC报文的MAC-IN-MAC隧道头部后转发给所述服务器,并根据所述服务器处理后返回的报文的目的MAC地址对该报文进行转发;
其中,该MAC-IN-MAC报文的外层以太头的目的媒体访问控制MAC地址为Hub BEB设备的MAC地址。
其中,所述BEB设备还包括第二处理模块,用于当所述BEB设备为SpokeBEB设备时,通过以下方式实现对接收到的BCB转发的MAC-IN-MAC报文进行转发:
剥离接收到的MAC-IN-MAC报文的MAC-IN-MAC隧道头,并根据该剥离MAC-IN-MAC隧道头的报文的目的MAC地址查询MAC表;若查询到对应的MAC表项,则将该剥离MAC-IN-MAC隧道头的报文转发给对应的主机;若未查询到对应的MAC地址,则将该剥离MAC-IN-MAC隧道头的报文转发给自身下挂的各主机。
其中,所述BEB设备还包括:
MAC地址学习模块,用于当所述BEB设备为Spoke BEB设备,接收到用户侧发送的报文,且自身MAC表中未记录对应该报文的源MAC地址的MAC表项时,进行源MAC地址学习。
本发明上述实施例中,通过在SPB网络中引入Hub-Spoke架构,Hub BEB设备为SPB网络中的Hub节点,Spoke BEB设备为SPB网络中的Spoke节点,Spoke BEB设备之间通过Hub BEB设备实现报文交互;当Spoke BEB设备接收到用户侧发送的报文时,该Spoke BEB设备将该报文封装为MAC-IN-MAC报文,并通过BCB设备将该报文转发给Hub BEB设备,其中,该MAC-IN-MAC报文的外层以太头的目的MAC地址为Hub BEB设备的MAC地址;Hub BEB设备接收到BCB设备转发的MAC-IN-MAC报文后,剥离该MAC-IN-MAC报文的MAC-IN-MAC隧道头部,并转发给服务器,并根据服务器返回的处理后的报文的目的MAC地址查询MAC表,根据查询结果对该处理后的报文进行转发,实现了SPB网络内流量的统计和监控,增强了网络安全性。
具体实施方式
针对现有技术中存在的上述问题,本发明实施例提供了一种数据传输的技术方案。在该技术方案中,通过在SPB网络中引入Hub-Spoke架构,Hub-Spoke架构是网络中存在一个中心节点(即Hub节点)和多个分支节点(即Spoke节点)的一种组网方式。在Hub-Spoke组网方式中,分支站点之间不能直接通信,必须通过中心站点通信,以便于中心站点对数据流量进行统一管理。本发明实施例中,选取SPB网络中的一个BEB设备配置为Hub-Spoke架构中的Hub节点,将其他BEB设备均配置为Hub-Spoke架构中的Spoke节点,其中,作为Hub节点的BEB设备称为Hub BEB设备,作为Spoke节点的BEB设备称为Spoke BEB设备,Spoke BEB设备之间通过Hub BEB设备实现报文交互(即Spoke BEB设备之间不能直接通信,Spoke BEB的流量必须通过Hub BEB转发);当Spoke BEB设备接收到用户侧发送的报文时,该Spoke BEB设备将该报文封装为MAC-IN-MAC报文,并通过SPB网络中的BCB(Backbone CoreBridge,骨干网核心网桥)设备将该报文转发给Hub BEB设备,其中,该MAC-IN-MAC报文的外层以太头的目的MAC(Media Access Control,媒体访问控制)地址为Hub BEB设备的MAC地址;Hub BEB设备接收到BCB设备转发的MAC-IN-MAC报文后,剥离该MAC-IN-MAC报文的MAC-IN-MAC隧道头部,并转发给服务器,并根据服务器返回的处理后的报文的目的MAC地址查询MAC表,根据查询结果对该处理后的报文进行转发。
其中,通过在SPB网络内引入Hub-Spoke架构,Spoke BEB设备的流量均通过Hub BEB设备转发至服务器,从而可以通过该服务器实现SPB网络内流量的统计和监控;此外,由于Spoke BEB设备之间不能通信,因此,网络安全性得到了加强。
在本发明实施例中,Hub BEB设备可以向SPB网络内的其他设备发送身份通告报文,以向SPB网络内的其他设备通告自身的身份(Hub节点的身份),该身份通告报文中携带有Hub BEB设备的MAC地址;SPB网络内的其他设备可以根据接收到的身份通告报文记录Hub BEB设备的MAC地址以及到达该Hub BEB设备的出端口,以使得Spoke BEB设备在接收到用户侧的报文后,将该报文封装为外层以太头的MAC地址为Hub BEB设备的MAC地址的MAC-IN-MAC报文,从而将该报文通过上述出端口转发至Hub BEB设备。
优选地,该身份通告报文为拓展的SPB ISIS HELLO报文,该拓展的SPBISIS HELLO报文中携带有用于指示发送该SPB ISIS HELLO报文的设备为Hub BEB设备或Spoke BEB设备的标志位。其中,该标志位可以为1个比特位,当该比特位为1时,表明发送该报文的设备为Hub BEB设备;当该比特位为0时,表明发送该报文的设备为Spoke BEB设备。
其中,由于SPB ISIS协议报文是逐跳发送的,即设备收到SPB ISIS协议报文后,会再次将该报文发送给其它相邻的设备(即除了将报文发送给它设备之外的相邻的设备),因此,在本发明实施例中,SPB网络中各设备均会记录到达Hub BEB设备的出端口,以及Hub BEB设备的MAC地址。
需要注意的是,上述身份通告报文并不限于SPB ISIS HELLO报文,也可以是其他SPB ISIS协议报文;用于指示设备为Hub BEB设备或Spoke BEB设备的标志位也并不限于1个比特位,也可以是2个或多个比特位,在本发明实施例提供的技术方案的基础上,本领域技术人员在不付出创造性劳动的前提下,对本发明实施例提供的技术方案进行变型均应属于本发明的保护范围。
下面将结合本发明的实施例中的附图,对本发明的实施例中的技术方案进行清楚、完整的描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明的实施例保护的范围。
如图1所示,为本发明实施例提供的一种数据传输方法的流程示意图,可以包括以下步骤:
步骤101、当Spoke BEB设备接收到用户侧发送的报文时,Spoke BEB设备将该报文封装为MAC-IN-MAC报文,并通过BCB设备将该报文转发给HubBEB设备;其中,该MAC-IN-MAC报文的外层以太头的目的MAC地址为HubBEB设备的MAC地址。
具体的,在本发明实施例中,为了实现SPB网络内流量统一的统计和监控,Spoke BEB设备之间不能直接通信,Spoke BEB的流量均需要通过Hub BEB设备转发。
当Spoke BEB设备接收到用户侧发送的报文时,需要将该报文发送给HubBEB设备,以通过Hub BEB设备将该报文转发给目的设备。因此,Spoke BEB将接收到的报文封装为MAC-IN-MAC报文,该报文的外层以太头的目的MAC地址并通过相连的BCB设备将该报文转发给Hub BEB设备。
其中,当Spoke BEB设备接收到用户侧发送的报文,且自身MAC表中未记录对应该报文的源MAC地址的MAC表项时,Spoke BEB设备进行源MAC地址学习。
步骤102、Hub BEB设备接收到BCB设备转发的MAC-IN-MAC报文后,剥离该MAC-IN-MAC报文的MAC-IN-MAC隧道头部,并转发给服务器。
具体的,Hub BEB设备接收到BCB设备转发的MAC-IN-MAC报文后,确定该MAC-IN-MAC报文的外层以太头的目的MAC地址为自身的MAC地址,即该报文需要通过自身进行转发。Hub BEB设备将该MAC-IN-MAC报文的MAC-IN-MAC隧道头部剥离,并将剥离MAC-IN-MAC隧道头部的报文转发给服务器进行处理。
在本发明实施例中,服务器仅对报文进行统计或/和计费等处理,而不会改变报文的相应字段(如源MAC地址、目的MAC地址等)。
其中,当Hub BEB设备接收到BCB设备转发的MAC-IN-MAC报文,且自身MAC表中未记录对应该MAC-IN-MAC报文的源MAC地址的MAC表项时,Hub BEB设备进行源MAC地址学习。
步骤103、Hub BEB设备接收服务器返回的处理后的报文,根据该处理后的报文的目的MAC地址查询MAC表,并根据查询结果对该处理后的报文进行转发。
具体的,在本发明实施例中,服务器完成对报文的统计或/和计费等处理后,将处理后的报文返回给Hub BEB设备。Hub BEB设备接收到服务器返回的处理后的报文后,根据该处理后的报文的目的MAC地址查询MAC表;若未查询到对应的MAC表项,则将该处理后的报文封装为MAC-IN-MAC报文,并通过BCB设备发送给与该Hub BEB设备建立连接的各Spoke BEB设备,由各Spoke BEB设备对接收到的MAC-IN-MAC报文进行转发;若查询到对应的MAC表项,则将该处理后的报文封装为MAC-IN-MAC报文(该MAC-IN-MAC报文的外层以太头的目的MAC地址为对应Spoke BEB设备的MAC地址),并通过BCB设备发送给对应的Spoke BEB设备,由该Spoke BEB设备对接收到的MAC-IN-MAC报文进行转发。
其中,当Hub BEB设备未查询到对应的MAC表项时,若Hub BEB设备对应的VSI(Virtual Switch Interface,虚拟交换接口)配置为头端复制模式,则Hub BEB设备分别根据各Spoke BEB的MAC地址将处理后的报文封装为MAC-IN-MAC报文(MAC-IN-MAC报文的外层以太头的目的MAC地址分别为各Spoke BEB设备的MAC地址),并通过BCB设备以单播的方式发送给各Spoke BEB设备。
当Hub BEB设备未查询到对应的MAC表项时,若Hub BEB设备对应的VSI配置为核心复制模式,则Hub BEB设备将处理后的报文封装为MAC-IN-MAC报文(该MAC-IN-MAC报文的外层以太头的目的MAC地址为组播MAC地址),并将该MAC-IN-MAC报文发送给BCB设备,由BCB设备通过组播的方式将该报文转发给各Spoke BEB设备。
在本发明实施例中,当Spoke BEB设备接收到BCB设备转发的MAC-IN-MAC报文后,剥离该MAC-IN-MAC报文的MAC-IN-MAC隧道头,并根据该剥离MAC-IN-MAC隧道头的报文的目的MAC地址查询MAC表;若查询到对应的MAC表项,则将该剥离MAC-IN-MAC隧道头的报文转发给对应的主机;若未查询到对应的MAC地址,则将该剥离MAC-IN-MAC隧道头的报文转发给自身下挂的各主机。
为了本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体的应用场景对本发明实施例提供的技术方案进行更加详细的描述。
在该实施例中,以图2所示网络架构为具体应用场景对本发明实施例提供的技术方案进行描述。其中,BEB1和BEB2为Spoke BEB设备,BEB3为HubBEB设备;Spoke BEB1通过BCB1与Hub BEB设备连接,Spoke BEB2通过BCB2与Hub BEB设备连接;Spoke BEB1下挂的主机PC1的MAC地址为1-1-1,Spoke BEB2下挂的主机PC2的MAC地址为2-2-2。
如图3所示,为本发明实施例提供的一种图2所示应用场景下的数据传输方法的流程示意图,可以包括以下步骤:
步骤301、PC1向Spoke BEB1发送报文,该报文的源MAC地址为1-1-1,目的MAC地址为2-2-2。
步骤302、Spoke BEB1接收到PC1发送的报文后,将该报文封装为MAC-IN-MAC报文,并发送给BCB1。其中,该MAC-IN-MAC报文的外层以太头的目的MAC地址为Hub BEB设备的MAC地址。
其中,Spoke BEB1还需要判断是否记录有从PC侧(用户侧)接收到的报文的源MAC地址(1-1-1),若未记录,则Spoke BEB1将该源MAC地址(1-1-1)学习到MAC表中。
需要注意的是,在本发明实施例中,Spoke BEB设备只对从私网端口(即用户侧)发送过来的报文进行源MAC地址学习,对于从公网端口(即BCB设备侧)进行的报文,Spoke BEB设备不进行源MAC地址学习。
步骤303、BCB1接收到Spoke BEB1发送的报文后,根据该报文的外层以太头的目的MAC地址查询MAC表,得到出端口信息,将报文转发给Hub BEB设备。
步骤304、Hub设备接收到BCB1转发的MAC-IN-MAC报文后,剥离MAC-IN-MAC隧道头部,并转发给服务器。
具体的,Hub BEB设备接收到BCB1转发的MAC-IN-MAC报文后,发现该MAC-IN-MAC报文的外层以太头的目的MAC地址为自身的MAC地址,即该MAC-IN-MAC报文需要通过自身转发。Hub BEB设备将该MAC-IN-MAC报文的MAC-IN-MAC隧道头部剥离,并将该MAC-IN-MAC隧道头部剥离后的报文转发给服务器。
同时,Hub BEB设备还需要判断是否记录有该MAC-IN-MAC隧道头部剥离后的报文的源MAC地址(1-1-1),若未记录,则Hub BEB设备将该源MAC地址(1-1-1)学习到MAC表中。
需要注意的是,在本发明实施例中,Hub BEB设备只对从Spoke BEB设备侧发送过来的报文进行源MAC地址学习,对于服务器处理后返回的报文,Hub BEB设备不进行源MAC地址学习。
步骤305、服务器对报文进行处理(统计或计费等),并将处理后的报文返回给Hub BEB设备。
步骤306、Hub BEB设备接收到服务器返回的处理后的报文后,根据该处理后的报文的目的MAC地址查询MAC表,并当未查询到对应的MAC表项时,将该处理后的报文封装为MAC-IN-MAC报文,并向与之建立连接的各Spoke BEB设备转发。
具体的,在该实施例中,以PC1第一次向PC2发送报文为例,即Hub BEB设备中未学习到PC2的MAC地址。Hub BEB设备将处理后的报文封装为MAC-IN-MAC报文后,需要向与之建立连接的所有Spoke BEB设备转发,包括Spoke BEB1(以实现Spoke BEB1下挂的多台PC之间的通信)。
步骤307、BCB1和BCB2接收到Hub BEB转发的MAC-IN-MAC报文后,根据MAC-IN-MAC报文的外层以太头的目的MAC地址查询MAC表,并将相应的MAC-IN-MAC报文转发给对应的Spoke BEB设备。
具体的,以Hub BEB设备的VSI配置为头端复制模式为例,Hub BEB设备分别根据各Spoke BEB设备的MAC地址将服务器处理后的报文封装为MAC-IN-MAC报文,并以单播的方式发送给BCB。BCB接收到Hub BEB设备转发的MAC-IN-MAC报文后,根据MAC-IN-MAC报文的外层以太头的目的MAC地址查询MAC表,并将相应的MAC-IN-MAC报文转发给对应的SpokeBEB设备。
步骤308、Spoke BEB1接收到BCB1转发的MAC-IN-MAC报文后,剥离MAC-IN-MAC隧道头部,并根据报文的目的MAC地址查询MAC表,当未查询到对应的MAC表项时,将报文转发给下挂的所有PC。
具体的,由于Spoke BEB1中未学习PC2的MAC地址,因此,Spoke BEB1根据剥离MAC-IN-MAC隧道头部后的报文的目的MAC地址查询MAC表时,查询不到对应的MAC表项,Spoke BEB1将报文转发给下挂的所有PC。
步骤309、PC1接收到Spoke BEB1转发的报文后,确定该报文的目的MAC地址不是自身的MAC地址,将报文丢弃。
步骤310、Spoke BEB2接收到BCB2转发的MAC-IN-MAC报文后,剥离MAC-IN-MAC隧道头部,并根据报文的目的MAC地址查询MAC表,当未查询到对应的MAC表项时,将报文转发给下挂的所有PC。
步骤311、PC2接收到报文后,确定该报文的目的MAC地址为自身的MAC地址,响应应答报文,该应答报文的源MAC地址为2-2-2,目的MAC地址为1-1-1。
步骤312、Spoke BEB2接收到PC2发送的应答报文后,将报文封装为MAC-IN-MAC报文,并发送给BCB2。其中,该MAC-IN-MAC报文的外层以太头的目的MAC地址为Hub BEB设备的MAC地址。
步骤313、BCB2接收到Spoke BEB1发送的报文后,根据该报文的外层以太头的目的MAC地址查询MAC表,得到出端口信息,将报文转发给Hub BEB设备。
步骤314、Hub BEB设备接收到BCB2转发的MAC-IN-MAC报文后,剥离MAC-IN-MAC隧道头部,并转发给服务器。
步骤315、服务器对报文进行处理(统计或计费等),并将处理后的报文返回给Hub BEB设备。
步骤316、Hub BEB设备接收到服务器返回的处理后的报文后,根据该处理后的报文的目的MAC地址查询MAC表,查询到对应表项,将报文封装为MAC-IN-MAC报文,并发送给BCB1;其中,该MAC-IN-MAC报文的外层以太网的目的MAC地址为BEB1的MAC地址。
具体的,由于Hub设备学习到了PC1的MAC地址,当Hub BEB设备根据该处理后的报文的目的MAC地址查询MAC表时,能查询到对应的MAC表项(即1-1-1对应的表项)。Hub设备根据查询到的MAC表项以及自身记录的对应各Spoke BEB设备的MAC表项,可以确定该报文需要通过Spoke BEB1转发给目的设备,因此,Hub设备将该报文封装为MAC-IN-MAC报文(该MAC-IN-MAC报文的外层以太网的目的MAC地址为BEB1的MAC地址),并转发给BCB1。
步骤317、BCB1接收到Hub BEB转发的MAC-IN-MAC报文后,根据MAC-IN-MAC报文的外层以太头的目的MAC地址查询MAC表,并将该MAC-IN-MAC报文转发给Spoke BEB1。
步骤318、Spoke BEB1接收到BCB1转发的MAC-IN-MAC报文后,剥离MAC-IN-MAC隧道头部,并根据报文的目的MAC地址查询MAC表,查询到对应的MAC表项,将报文转发给PC1。
具体的,由于Spoke BEB1中学习了PC1的MAC地址,因此,Spoke BEB1根据剥离MAC-IN-MAC隧道头部后的报文的目的MAC地址查询MAC表时,可以查询到对应的MAC表项(即1-1-1对应的MAC表项),Spoke BEB1根据查询到的MAC表项将报文转发给PC1。
通过以上描述可以看出,在本发明实施例提供的技术方案中,通过在SPB网络中引入Hub-Spoke架构,Hub BEB设备为SPB网络中的Hub节点,SpokeBEB设备为SPB网络中的Spoke节点,Spoke BEB设备之间通过Hub BEB设备实现报文交互;当Spoke BEB设备接收到用户侧发送的报文时,该Spoke BEB设备将该报文封装为MAC-IN-MAC报文,并通过BCB设备将该报文转发给Hub BEB设备,其中,该MAC-IN-MAC报文的外层以太头的目的MAC地址为Hub BEB设备的MAC地址;Hub BEB设备接收到BCB设备转发的MAC-IN-MAC报文后,剥离该MAC-IN-MAC报文的MAC-IN-MAC隧道头部,并转发给服务器,并根据服务器返回的处理后的报文的目的MAC地址查询MAC表,根据查询结果对该处理后的报文进行转发,为SPB网络内流量的统计和监控的实现提供支持,并可以增强网络安全性。
基于上述方法实施例系统的发明构思,本发明实施例还提供了一种BEB设备,可以应用于上述方法实施例。
如图4所示,为本发明实施例提供的一种BEB设备的结构示意图,该BEB设备可以应用于包括Hub BEB设备和Spoke BEB设备的最短路径桥SPB网络中,所述Spoke BEB设备之间通过所述Hub BEB设备实现报文交互,所述HubBEB设备的用户网络侧设置有一服务器,该BEB设备可以包括:
第一处理模块41,用于当所述BEB设备作为Hub BEB设备,且接收到BCB设备转发的所述MAC-IN-MAC报文,剥离该MAC-IN-MAC报文的MAC-IN-MAC隧道头部,并转发给服务器;其中,该MAC-IN-MAC报文由Spoke BEB设备将接收到的用户侧发送的报文,以Hub BEB设备的媒体访问控制MAC地址为外层以太头的目的MAC地址封装而成;
第二处理模块42,用于当所述BEB设备作为Hub BEB设备时,接收所述服务器返回的处理后的报文,根据该处理后的报文的目的MAC地址查询MAC表,并根据查询结果对该处理后的报文进行转发。
其中,所述第二处理模块42具体用于,通过以下方式实现根据查询结果对该处理后的报文进行转发:
当所述查询结果为未查询到对应的MAC表项时,所述Hub BEB设备将该处理后的报文封装为MAC-IN-MAC报文,并通过BCB设备发送给与该HubBEB设备建立连接的各Spoke BEB设备,由所述各Spoke BEB设备对接收到的MAC-IN-MAC报文进行转发;
当所述查询结果为查询到对应的MAC表项时,所述Hub BEB设备将该处理后的报文封装为MAC-IN-MAC报文,并通过BCB设备发送给对应的SpokeBEB设备,由该Spoke BEB设备对接收到的MAC-IN-MAC报文进行转发。
其中,该实施例提供的所述BEB设备还可以包括:
通告模块43,用于当所述BEB设备为Hub BEB设备时,向SPB网络内的其他设备发送携带自身MAC地址的身份通告报文,以使接收到该身份通告报文的设备根据该身份通告报文记录所述Hub BEB设备的MAC地址,以及到达Hub BEB设备的出端口。
其中,所述身份通告报文为拓展的SPB中间到中间系统ISIS HELLO报文,所述拓展的SPB ISIS HELLO报文中携带有用于指示发送该SPB ISIS HELLO报文的设备为Hub BEB设备或Spoke BEB设备的标志位。
其中,所述BEB设备还包括:
MAC地址学习模块44,用于当所述BEB设备为Hub BEB设备,接收到BCB设备转发的MAC-IN-MAC报文,且自身MAC表中未记录对应该MAC-IN-MAC报文的源MAC地址的MAC表项时,进行源MAC地址学习。
基于上述方法实施例系统的发明构思,本发明实施例还提供了一种BEB设备,可以应用于上述方法实施例。
如图5所示,为本发明实施例提供的一种BEB设备的结构示意图,该BEB设备可以应用于包括Hub BEB设备和Spoke BEB设备的最短路径桥SPB网络中,所述Spoke BEB设备之间通过所述Hub BEB设备实现报文交互,所述HubBEB设备的用户网络侧设置有一服务器,该BEB设备可以包括:
接收模块51,用于当所述BEB设备为Spoke BEB设备时,接收用户侧发送的报文;
第一处理模块52,用于当所述BEB设备为Spoke BEB设备时,将所述接收模块接收到的用户侧发送的报文封装为MAC-IN-MAC报文,并通过骨干网核心网桥BCB设备将该报文转发给Hub BEB设备,以使所述Hub设备剥离该MAC-IN-MAC报文的MAC-IN-MAC隧道头部后转发给所述服务器,并根据所述服务器处理后返回的报文的目的MAC地址对该报文进行转发;
其中,该MAC-IN-MAC报文的外层以太头的目的媒体访问控制MAC地址为Hub BEB设备的MAC地址。
其中,所述BEB设备还包括第二处理模块53,用于当所述BEB设备为Spoke BEB设备时,通过以下方式实现对接收到的BCB转发的MAC-IN-MAC报文进行转发:
剥离接收到的MAC-IN-MAC报文的MAC-IN-MAC隧道头,并根据该剥离MAC-IN-MAC隧道头的报文的目的MAC地址查询MAC表;若查询到对应的MAC表项,则将该剥离MAC-IN-MAC隧道头的报文转发给对应的主机;若未查询到对应的MAC地址,则将该剥离MAC-IN-MAC隧道头的报文转发给自身下挂的各主机。
其中,所述BEB设备还包括:
MAC地址学习模块54,用于当所述BEB设备为Spoke BEB设备,接收到用户侧发送的报文,且自身MAC表中未记录对应该报文的源MAC地址的MAC表项时,进行源MAC地址学习。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。