CN105634956A - 一种报文转发方法、装置和系统 - Google Patents

一种报文转发方法、装置和系统 Download PDF

Info

Publication number
CN105634956A
CN105634956A CN201511030539.2A CN201511030539A CN105634956A CN 105634956 A CN105634956 A CN 105634956A CN 201511030539 A CN201511030539 A CN 201511030539A CN 105634956 A CN105634956 A CN 105634956A
Authority
CN
China
Prior art keywords
message
outgoing interface
mark
network side
list item
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201511030539.2A
Other languages
English (en)
Other versions
CN105634956B (zh
Inventor
滕新东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201511030539.2A priority Critical patent/CN105634956B/zh
Publication of CN105634956A publication Critical patent/CN105634956A/zh
Priority to PCT/CN2016/112144 priority patent/WO2017114362A1/zh
Application granted granted Critical
Publication of CN105634956B publication Critical patent/CN105634956B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

Abstract

本发明实施例公开了一种报文转发方法、装置和系统,在包括控制器、用户侧LB、vBNG和网络侧LB的转发网络中,所述网络侧LB在接收到从网络侧向用户侧的目标终端转发的第一报文时,通过所述第一报文的用于标识目标终端的目的标识匹配到第一分担表项,可以确定出预先规划好的所述网络侧LB的第一出接口到处理所述目标终端上线的第一转发单元的转发路径,从而可以准确的将发向所述目标终端的所述第一报文转发到处理所述目标终端上线的第一转发单元,避免了从网络侧向用户侧转发的报文可能被转发到所述vBNG中不适合的转发单元处,从而降低了vBNG出现需要将从网络侧接收的报文跨VM转发的情况,保证了vBNG的转发性能。

Description

一种报文转发方法、装置和系统
技术领域
本发明涉及数据处理领域,特别是涉及一种报文转发方法、装置和系统。
背景技术
网络功能虚拟化(英文:networkfunctionsvirtualization,缩写:NFV)技术的基本原理是通过虚拟化技术将原来需要多种设备类型(如防火墙、负载均衡器等)、多个物理设备形态才能提供的网络业务功能,改为虚拟设备对外提供业务功能,这样可以实现一台物理设备支持多个虚拟设备,甚至支持一台物理设备虚拟出多种不同业务类型的虚拟设备,从而能够降低成本。
基于NFV架构的虚拟宽带网络网关(英文:virtualBroadbandNetworkGateway,缩写:vBNG)是通过对传统宽带网络网关功能的虚拟化得到的虚拟设备。vBNG可以运行在通用服务器的硬件环境中,并实现传统BNG设备能够实现的相关功能。例如,vBNG可以完成对用户的上线处理、用户接入、用户认证鉴权与计费(英文:Authentication,AuthorizationandAccounting,缩写:AAA)、从配置的地址池中为用户分配地址以及实现用户数据报文与网络的互相转发等功能。
vBNG可以包括一个主控单元和多个转发单元,主控单元和转发单元分别运行在不同的虚拟机(英文:VirtualMachine,缩写:VM)中。处于用户侧的终端可以通过vBNG的转发单元实现与网络侧的数据交互。图1所示的为一种常见的vBNG的应用场景,从网络侧向用户侧的一个终端转发一个报文时,这个报文需要通过路由器转发到vBNG,路由器到vBNG的报文转发路径需要通过查路由转发表获得,例如转发信息库(英文:ForwardInformationBase,缩写:FIB)表。该路由转发表主要是基于路由协议收敛得到,在转发报文的过程,不会考虑到转发路径中接收报文的转发单元是否是一个合适的转发单元,而只是关注在逻辑上是否能够实现。由此可能会导致vBNG中不适合处理这个报文的转发单元接收到了这个报文,为此,vBNG需要将这个报文转移到自身的另一个适合处理这个报文的转发单元中,再由该转发单元的用户接口向用户侧转发这个报文,形成例如图1中所示的报文转发路径1。由于转发单元分别处于不同的VM中,转发报文过程中,将报文在vBNG的转发单元中转移的情况可以理解为跨VM转发报文。
在NFV环境下,vBNG转发性能本来就比专用的宽带远程接入服务器、宽带网络网关等物理设备的转发性能要低,在vBNG中跨VM转发报文会进一步降低vBNG的转发性能。可见,在vBNG中跨VM转发报文是一个亟需解决的技术问题。
发明内容
为了解决上述技术问题,本发明实施例提供了一种报文转发方法、装置和系统,降低了vBNG出现需要将从网络侧接收的报文跨VM转发的情况,保证了vBNG的转发性能。
第一方面,本发明实施例提供了一种报文转发方法,应用于包括vBNG的转发网络中,所述转发网络包括控制器、用户侧LB、所述vBNG和网络侧LB,所述方法包括:
所述网络侧LB从网络侧接收第一报文,所述第一报文包括目的标识,所述第一报文的目的标识用于标识目标终端;
所述网络侧LB根据所述第一报文的目的标识匹配到第一分担表项,确定出对应的所述第一转发单元标识和所述网络侧LB的出接口信息,所述第一分担表项由所述控制器建立并下发,所述第一分担表项包括所述目标终端的标识、第一转发单元标识和所述网络侧LB的出接口信息三者之间的对应关系,所述第一转发单元标识对应的第一转发单元为所述vBNG中至少两个转发单元中的一个转发单元,所述第一转发单元为将所述目标终端上线的转发单元;
若所述网络侧LB根据所述出接口信息确定出第一出接口标识,所述网络侧LB从所述第一出接口标识所标识的第一出接口向所述第一转发单元转发所述第一报文,所述第一出接口为所述网络侧LB上的一个出接口。
可选的,还包括:
若所述网络侧LB根据所述出接口信息不能确定出第一出接口标识,所述网络侧LB预先获取出接口表项;
所述网络侧LB根据所述第一报文的目的媒体访问控制MAC地址和所述第一转发单元标识匹配到所述出接口表项,确定出对应的所述第一出接口标识,所述第一报文的目的MAC地址用于标识所述第一转发单元的网络接口,所述出接口表项为由所述控制器建立,所述出接口表项包括所述第一转发单元网络接口的标识、所述第一转发单元标识和第一出接口标识三者之间的对应关系;
所述网络侧LB从所述第一出接口向所述第一转发单元转发所述第一报文。
可选的,所述网络侧LB确定出对应的所述第一出接口标识之后,还包括:
所述网络侧LB向所述控制器发送针对所述第一报文的分担参数,所述分担参数包括所述第一报文的目的标识和所述第一报文的目的MAC地址;
所述网络侧LB接收所述控制器发送的针对所述第一分担表项的更新信息,所述更新信息中包括所述可确定出所述第一出接口标识的出接口信息;
所述网络侧LB根据所述第一分担表项的更新信息更新所述第一分担表项,更新后的所述第一分担表项中包括可确定出所述第一出接口标识的出接口信息。
可选的,若所述网络侧LB根据所述出接口信息不能确定出第一出接口标识,还包括:
所述网络侧LB向所述控制器发送针对所述第一报文的分担参数,所述分担参数包括所述第一报文的目的标识和所述第一报文的目的MAC地址;
所述网络侧LB接收所述控制器发送的针对所述第一分担表项的更新信息,所述更新信息中包括所述可确定出所述第一出接口标识的出接口信息;
所述网络侧LB根据所述第一分担表项的更新信息更新所述第一分担表项,更新后的所述第一分担表项中包括可确定出所述第一出接口标识的出接口信息;
所述网络侧LB根据所述第一报文的目的标识匹配到更新后的所述第一分担表项,根据所述出接口信息确定出所述第一出接口标识;
所述网络侧LB从所述第一出接口标识所标识的第一出接口向所述第一转发单元转发所述第一报文。
可选的,所述第一分担表项还包括与所述第一报文对应的校验MAC地址,所述校验MAC地址为所述目的转发单元用于接收所述第一报文的网络接口的MAC地址,在所述网络侧LB从所述第一出接口标识所标识的第一出接口向所述第一转发单元转发所述第一报文之前,所述网络侧LB根据所述第一报文的目的标识匹配到第一分担表项,还包括:所述网络侧LB根据所述第一报文的目的标识匹配到第一分担表项,确定出对应的所述校验MAC地址;所述方法还包括:
所述网络侧LB判断所述校验MAC地址和所述第一报文中携带的待校验MAC地址是否一致;
若一致,将所述待校验MAC地址作为所述第一报文的目的MAC地址;
若不一致,将所述校验MAC地址作为所述第一报文的目的MAC地址,并将所述第一报文中携带的所述待校验MAC地址替换为所述校验MAC地址。
可选的,还包括:
所述网络侧LB从网络侧接收第二报文,所述第二报文包括目的标识,所述第二报文的目的标识用于标识第二转发单元的网络接口,所述第二转发单元为所述vBNG中至少两个转发单元中的一个转发单元;
所述网络侧LB根据所述第二报文的目的标识匹配到第二分担表项,确定出对应的所述第二转发单元标识和所述网络侧LB的出接口信息,所述第二分担表项由所述控制器建立并下发,所述第二分担表项包括所述第二转发单元网络接口的标识、第二转发单元标识和所述网络侧LB的第二出接口信息三者之间的对应关系;
若所述网络侧LB根据所述第二出接口信息确定出第二出接口标识,所述网络侧LB从所述第二出接口标识所标识的第二出接口向所述第二转发单元转发所述第二报文,所述第二出接口为所述网络侧LB上的一个出接口。
第二方面,本发明实施例提供了一种报文转发装置,应用于包括vBNG的转发网络中,所述转发网络包括控制器、用户侧LB、所述vBNG和网络侧LB,所述装置包括:
接收单元,用于从网络侧接收第一报文,所述第一报文包括目的标识,所述第一报文的目的标识用于标识目标终端;
匹配单元,用于根据所述第一报文的目的标识匹配到第一分担表项,确定出对应的所述第一转发单元标识和所述网络侧LB的出接口信息,所述第一分担表项由所述控制器建立并下发,所述第一分担表项包括所述目标终端的标识、第一转发单元标识和所述网络侧LB的出接口信息三者之间的对应关系,所述第一转发单元标识对应的第一转发单元为所述vBNG中至少两个转发单元中的一个转发单元,所述第一转发单元为将所述目标终端上线的转发单元;若所述匹配单元根据所述出接口信息确定出第一出接口标识,触发发送单元;
所述发送单元,用于从所述第一出接口标识所标识的第一出接口向所述第一转发单元转发所述第一报文,所述第一出接口为所述网络侧LB上的一个出接口。
可选的,若所述匹配单元根据所述出接口信息不能确定出第一出接口标识,所述匹配单元,还用于根据所述第一报文的目的媒体访问控制MAC地址和所述第一转发单元标识匹配到预先获取的出接口表项,确定出对应的所述第一出接口标识,所述第一报文的目的MAC地址用于标识所述第一转发单元的网络接口,所述出接口表项为由所述控制器建立,所述出接口表项包括所述第一转发单元网络接口的标识、所述第一转发单元标识和第一出接口标识三者之间的对应关系;
所述发送单元,还用于从所述第一出接口向所述第一转发单元转发所述第一报文。
可选的,所述发送单元,还用于在所述匹配单元确定出对应的所述第一出接口标识之后,向所述控制器发送针对所述第一报文的分担参数,所述分担参数包括所述第一报文的目的标识和所述第一报文的目的MAC地址;
所述接收单元,还用于接收所述控制器发送的针对所述第一分担表项的更新信息,所述更新信息中包括所述可确定出所述第一出接口标识的出接口信息;
更新单元,用于根据所述第一分担表项的更新信息更新所述第一分担表项,更新后的所述第一分担表项中包括可确定出所述第一出接口标识的出接口信息。
可选的,所述发送单元,还用于若所述匹配单元根据所述出接口信息不能确定出第一出接口标识,向所述控制器发送针对所述第一报文的分担参数,所述分担参数包括所述第一报文的目的标识和所述第一报文的目的MAC地址;
所述接收单元,还用于接收所述控制器发送的针对所述第一分担表项的更新信息,所述更新信息中包括所述可确定出所述第一出接口标识的出接口信息;
所述更新单元,还用于根据所述第一分担表项的更新信息更新所述第一分担表项,更新后的所述第一分担表项中包括可确定出所述第一出接口标识的出接口信息;
所述匹配单元,还用于根据所述第一报文的目的标识匹配到更新后的所述第一分担表项,根据所述出接口信息确定出所述第一出接口标识;
所述发送单元,还用于从所述第一出接口标识所标识的第一出接口向所述第一转发单元转发所述第一报文。
可选的,所述第一分担表项还包括与所述第一报文对应的校验MAC地址,所述校验MAC地址为所述目的转发单元用于接收所述第一报文的网络接口的MAC地址,所述匹配单元,还用于根据所述第一报文的目的标识匹配到第一分担表项,确定出对应的所述校验MAC地址;所述报文转发装置还包括:
判断单元,用于判断所述校验MAC地址和所述第一报文中携带的待校验MAC地址是否一致;若一致,触发第一处理单元;若不一致,触发第二处理单元;
所述第一处理单元,用于将所述待校验MAC地址作为所述第一报文的目的MAC地址;
所述第二处理单元,用于将所述校验MAC地址作为所述第一报文的目的MAC地址,并将所述第一报文中携带的所述待校验MAC地址替换为所述校验MAC地址。
可选的,还包括:
所述接收单元还用于从网络侧接收第二报文,所述第二报文包括目的标识,所述第二报文的目的标识用于标识第二转发单元的网络接口,所述第二转发单元为所述vBNG中至少两个转发单元中的一个转发单元;
所述匹配单元还用于根据所述第二报文的目的标识匹配到第二分担表项,确定出对应的所述第二转发单元标识和所述网络侧LB的出接口信息,所述第二分担表项由所述控制器建立并下发,所述第二分担表项包括所述第二转发单元网络接口的标识、第二转发单元标识和所述网络侧LB的第二出接口信息三者之间的对应关系;
若根据所述第二出接口信息确定出第二出接口标识,所述发送单元还用于从所述第二出接口标识所标识的第二出接口向所述第二转发单元转发所述第二报文,所述第二出接口为所述网络侧LB上的一个出接口。
第三方面,本发明实施例提供了一种报文转发方法,应用于包括vBNG的转发网络中,所述转发网络包括控制器、用户侧LB、所述vBNG和网络侧LB,所述方法包括:
所述控制器接收所述vBNG发送的上线成功消息,所述上线成功消息用于标识目标终端通过第一转发单元成功上线,所述第一转发单元为所述vBNG中至少两个转发单元中的一个转发单元;
所述控制器根据所述转发网络的网络拓扑信息、所述vBNG的系统参数和所述上线成功消息对所述目标终端进行网络侧到用户侧的负载分担计算,得到第一分担结果,所述vBNG的系统参数包括所述vBNG的至少一个转发单元的接口信息和流量统计信息;
所述控制器根据所述第一分担结果建立第一分担表项,所述第一分担表项包括所述目标终端的标识、第一转发单元标识和所述网络侧LB的出接口信息三者之间的对应关系;
所述控制器向所述网络侧LB下发所述第一分担表项,用于指示所述网络侧LB根据所述第一分担表项转发报文。
可选的,还包括:
所述控制器根据所述转发网络的网络拓扑信息、所述vBNG的系统参数和所述上线成功消息建立出接口表项,所述出接口表项包括所述第一转发单元网络接口的标识、所述第一转发单元标识和所述网络侧LB的第一出接口标识三者之间的对应关系。
可选的,还包括:
所述控制器向所述网络侧LB下发所述出接口表项,用于指示所述网络侧LB根据所述出接口表项转发报文。
可选的,还包括:
所述控制器获取所述网络侧LB发送的第一报文的分担参数,所述第一报文为从网络侧向用户侧发送的报文,所述第一报文的分担参数包括所述第一报文的目的标识和目的媒体访问控制MAC地址,所述第一报文的目的标识用于标识所述目标终端,所述第一报文的目的MAC地址用于标识所述第一转发单元的网络接口;
所述控制器根据所述第一报文的分担参数和所述第一转发单元标识确定出可确定出所述第一出接口标识的出接口信息;
所述控制器向所述网络侧LB下发所述第一分担表项的更新信息,所述更新信息中包括所述可确定出所述第一出接口标识的出接口信息。
可选的,还包括:
所述控制器根据所述转发网络的网络拓扑信息和所述vBNG的系统参数建立第二分担表项,所述第二分担表项包括第二转发单元网络接口的标识、所述第二转发单元标识和所述网络侧LB的第二出接口信息三者之间的对应关系,所述第二转发单元为所述vBNG中多个转发单元中的一个转发单元;
所述控制器向所述网络侧LB下发所述第二分担表项,用于指示所述网络侧LB根据所述第二分担表项转发报文。
第四方面,本发明实施例提供了一种报文转发装置,应用于包括vBNG的转发网络中,所述转发网络包括控制器、用户侧LB、所述vBNG和网络侧LB,所述装置包括:
接收单元,用于接收所述vBNG发送的上线成功消息,所述上线成功消息用于标识目标终端通过第一转发单元成功上线,所述第一转发单元为所述vBNG中至少两个转发单元中的一个转发单元;
计算单元,用于根据所述转发网络的网络拓扑信息、所述vBNG的系统参数和所述上线成功消息对所述目标终端进行网络侧到用户侧的负载分担计算,得到第一分担结果,所述vBNG的系统参数包括所述vBNG的至少一个转发单元的接口信息和流量统计信息;
建立单元,用于根据所述第一分担结果建立第一分担表项,所述第一分担表项包括所述目标终端的标识、第一转发单元标识和所述网络侧LB的出接口信息三者之间的对应关系;
发送单元,用于向所述网络侧LB下发所述第一分担表项,用于指示所述网络侧LB根据所述第一分担表项转发报文。
可选的,所述建立单元,还用于根据所述转发网络的网络拓扑信息、所述vBNG的系统参数和所述上线成功消息建立出接口表项,所述出接口表项包括所述第一转发单元网络接口的标识、所述第一转发单元标识和所述网络侧LB的第一出接口标识三者之间的对应关系。
可选的,所述发送单元,还用于向所述网络侧LB下发所述出接口表项,用于指示所述网络侧LB根据所述出接口表项转发报文。
可选的,所述接收单元,还用于获取所述网络侧LB发送的第一报文的分担参数,所述第一报文为从网络侧向用户侧发送的报文,所述第一报文的分担参数包括所述第一报文的目的标识和目的媒体访问控制MAC地址,所述第一报文的目的标识用于标识所述目标终端,所述第一报文的目的MAC地址用于标识所述第一转发单元的网络接口;
确定单元,用于根据所述第一报文的分担参数和所述第一转发单元标识确定出可确定出所述第一出接口标识的出接口信息;
所述发送单元,还用于向所述网络侧LB下发所述第一分担表项的更新信息,所述更新信息中包括所述可确定出所述第一出接口标识的出接口信息。
可选的,所述建立单元,还用于根据所述转发网络的网络拓扑信息和所述vBNG的系统参数建立第二分担表项,所述第二分担表项包括第二转发单元网络接口的标识、所述第二转发单元标识和所述网络侧LB的第二出接口信息三者之间的对应关系,所述第二转发单元为所述vBNG中多个转发单元中的一个转发单元;
所述发送单元,还用于向所述网络侧LB下发所述第二分担表项,用于指示所述网络侧LB根据所述第二分担表项转发报文。
第五方面,本发明实施例提供了一种报文转发系统,应用于包括vBNG的转发网络中,所述转发网络包括控制器、用户侧LB、所述vBNG和网络侧LB,所述系统包括所述网络侧LB和所述控制器,所述网络侧LB配置有前述第二方面任意一种实施方式中的装置,所述控制器配置有前述第四方面任意一种实施方式中的装置。
由上述技术方案可以看出,在包括控制器、用户侧LB、vBNG和网络侧LB的转发网络中,所述网络侧LB在接收到从网络侧向用户侧的目标终端转发的第一报文时,通过所述第一报文的用于标识目标终端的目的标识匹配到第一分担表项,可以确定出预先规划好的所述网络侧LB的第一出接口到处理所述目标终端上线的第一转发单元的转发路径,从而可以准确的将发向所述目标终端的所述第一报文转发到处理所述目标终端上线的第一转发单元,避免了从网络侧向用户侧转发的报文可能被转发到所述vBNG中不适合的转发单元处,从而降低了vBNG出现需要将从网络侧接收的报文跨VM转发的情况,保证了vBNG的转发性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为一种vBNG的应用场景示意图;
图2为本发明实施例提供的一种转发网络的网络结构示意图;
图3为本发明实施例提供的一种报文转发方法的方法流程图;
图4为本发明实施例提供的一种报文转发方法的方法流程图;
图5为本发明实施例提供的一种表项更新方法的方法流程图;
图6为本发明实施例提供的一种报文转发方法的方法流程图;
图7为本发明实施例提供的一种报文转发装置的装置结构图;
图8为本发明实施例提供的一种报文转发装置的装置结构图;
图9为本发明实施例提供的一种报文转发系统的系统结构图;
图10为本发明实施例提供的一种网络侧LB的硬件结构图;
图11为本发明实施例提供的一种控制器的硬件结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
基于NFV架构的vBNG是通过对传统宽带网络网关功能的虚拟化得到的虚拟设备。vBNG可以运行在通用服务器的硬件环境中,并实现传统BNG设备能够实现的相关功能。
常见的vBNG包括至少一个主控单元和至少两个转发单元,主控单元和转发单元分别运行在不同的VM中。终端可以通过vBNG中的一个转发单元完成上线,从而该终端可以通过所述vBNG实现与网络侧的数据交互。但是,由网络侧路由器向用户侧转发报文所查询的路由转发表主要是基于路由协议得到,在转发报文的过程,不会考虑到转发路径中接收报文的转发单元是否是一个合适的转发单元,而只是关注在逻辑上是否能够实现。这里所述的是否合适可以理解为是否具有相应的功能(例如转发功能),若具有相应的功能,则可以认为是合适的。这里所述的是否合适也可以理解为是否具有处理报文所需的必要数据,若具有所需的数据,则可以认为是合适的。故在使用路由转发表向用户侧转发报文的过程中,可能会导致跨VM转发报文。
发明人发现,终端若希望通过vBNG的转发单元与网络进行数据交互,首先该终端需要通过vBNG中的一个转发单元完成上线。这个处理该终端上线的转发单元中将会保留与这个终端相关的数据和信息。之后,若这个转发单元的网络接口(用于接收从网络侧转发的报文的接口)接收到发向该终端的一个报文,这个转发单元可以利用该终端上线时提供的数据有效的将这个报文向该终端转发,基本上不会出现跨VM转发报文的情况。而若是vBNG中的其他转发单元通过网络接口接收到这个报文,很有可能会因为缺少必要信息导致其他转发单元无法实现向该终端转发这个报文。从而导致vBNG必须将这个报文从其他转发单元转移到这个处理该终端上线的转发单元,由这个转发单元继续完成对这个报文的转发。发明人认为,在从网络侧向用户侧转发报文的过程中,若未能将网络侧目的为终端的报文转发到处理该终端上线的转发单元,就很有可能导致vBNG中出现跨VM转发报文。例如,网络侧向用户侧的目标终端发送报文a时,路由器可能会根据路由转发表将报文a转发到vBNG的转发单元1,而vBNG中是由转发单元2对目标终端进行上线处理的,故转发单元1可能并不具备继续将报文a向用户侧转发的必要数据,或者转发单元1可能并不具备转发报文的功能。为了能够完成对报文a的转发,vBNG只能将报文a从转发单元1所处的VM中转移到处于另一个VM中的转发单元2,由转发单元2继续将报文a向目标终端转发。这里的转发单元1和转发单元2均属于所述vBNG,分属于不同的VM,由此造成了跨VM的报文转发。
故发明人认为,路由器将网络侧的报文转发到错误的或者说不合适的转发单元是造成出现vBNG中跨VM转发报文的主要原因。
针对NFV架构下的这种vBNG的跨VM转发报文问题,以及综合发明人发现造成这个问题的主要原因,发明人决定将负载分担的方式引入到网络侧向用户侧报文转发过程中。通过控制器预先计算网络侧到用户侧转发报文的负载分担结果,并将根据负载分担结果建立的分担表项下发到网络侧负载均衡器(英文:LoadBalancer,缩写:LB),由网络侧LB将分担表项作为下行报文(这里所述的下行可以理解为站在用户侧角度上的定义,主要指从网络侧到用户侧的报文转发方向,相应的,上行可以理解为从用户侧到网络侧的报文转发方向)转发的转发依据,由此可以将下行报文准确的转发到vBNG中合适的转发单元。
为此,本发明实施例提供了一种报文转发方法、装置和系统,在包括控制器、用户侧LB、vBNG和网络侧LB的转发网络中,所述网络侧LB在接收到从网络侧向用户侧的目标终端转发的第一报文时,通过所述第一报文的用于标识目标终端的目的标识匹配到第一分担表项,可以确定出预先规划好的所述网络侧LB的第一出接口到处理所述目标终端上线的第一转发单元的转发路径,从而可以准确的将发向所述目标终端的所述第一报文转发到处理所述目标终端上线的第一转发单元,避免了从网络侧向用户侧转发的报文可能被转发到所述vBNG中不适合的转发单元处,从而降低了vBNG出现需要将从网络侧接收的报文跨VM转发的情况,保证了vBNG的转发性能。
需要注意的是,除了要保证从网络侧到用户侧的报文转发准确性,还需要保证从用户侧到网络侧的报文转发准确性。发明人发现,从用户侧向网络侧转发报文时,也可能出现vBNG中跨VM转发报文的问题。具体的,所述用户侧LB向vBNG转发用户侧的终端向网络侧发送的报文时,若未将该报文转发到该终端上线的转发单元,同样会造成vBNG的跨VM转发报文问题。例如,用户侧的目标终端向网络侧的网络设备发送报文b时,交换机可能会将报文b转发到vBNG的转发单元1,而vBNG中是由转发单元2对目标终端进行上线处理的,故转发单元1可能并不具备继续将报文b向用户侧转发的必要数据,或者转发单元1可能并不具备转发报文的功能。为了能够完成对报文b的转发,vBNG只能将报文b从转发单元1所处的VM中转移到处于另一个VM中的转发单元2,由转发单元2继续将报文b向网络设备转发。这里的转发单元1和转发单元2均属于所述vBNG,分属于不同的VM,由此造成了跨VM的报文转发。
故发明人认为,用户侧向网络侧转发报文过程出现的vBNG中跨VM转发报文现象,也主要是由将报文转发到错误的或者说不合适的转发单元造成的。
发明人通过将负载分担的方式引入到用户侧向网络侧报文转发过程中,通过控制器预先计算用户侧到网络侧转发报文的负载分担结果,并将根据负载分担结果建立的分担表项下发到用户侧LB,由用户侧LB将分担表项作为用户侧向网络侧转发报文的转发依据,由此可以将用户侧向网络侧转发的报文准确的转发到vBNG中合适的转发单元。避免了从用户侧向网络侧转发的报文可能被转发到所述vBNG中不适合的转发单元处,保证了vBNG的转发性能。
对于本发明实施例中的控制器来说,所述控制器可以是一个软件定义网络(英文:SoftwareDefinedNetworking,缩写:SDN)控制器。在本发明实施例中,主要通过所述控制器实现对转发网络的负载分担的计算,其中,负载分担计算包括针对从网络侧到用户侧的流量,也包括从用户侧到网络侧的流量。所述控制器可以根据所述转发网络的网络拓扑信息、所述vBNG的系统参数和针对目标终端的上线成功消息精确的计算针对目标终端的下行流量负载分担计算,并根据计算得到的第一分担结果建立第一分担表项,向所述网络侧LB下发所述第一分担表项,用于指示所述网络侧LB根据所述第一分担表项转发报文。可见,所述控制器可以计算针对一个终端从网络侧到用户侧的负载分担,预先规划好下行报文的转发路线,故根据计算结果建立的分担表项可以起到明确指示所述网络侧LB准确的将发向所述目标终端的报文转发到这个目标终端上线的转发单元的作用,从而完成准确的从网络侧LB到转发单元的报文转发。
本发明实施例中所述的终端可以是一种用户设备(英文:UserEquipment,缩写:UE),也可以是个人计算机、平板电脑(英文:portableandroiddevice,缩写:Pad)、手机等。
接下来,将对本发明实施例中提到的所述转发网络进行描述。所述转发网络包括控制器、用户侧LB、vBNG和网络侧LB,其中,各部分之间的具体连接关系可以参见图2。需要注意的是,所述网络侧LB和用户侧LB可以为同一个网络实体,或者由同一个网络实体实现所述网络侧LB和用户侧LB的功能。所述网络侧LB和用户侧LB也可以是不同的网络实体,由不同网络实体分别实现所述网络侧LB和用户侧LB各自的功能。这里所述的网络实体可以是LB,也可以是具有LB功能的交换机。或者,所述网络侧LB和用户侧LB还可以是在NFV架构下的功能虚拟化的virtualLB,vLB可以通过服务器运行相关的程序或软件实现。
用户侧LB具有与终端等本地设备连接的接口(英文:interface),用于接收终端向网络侧发送的报文,或者用于向终端发送网络侧转发来的报文。所述用户侧LB还具有与所述vBNG的转发单元相连的接口,用于将终端发送的报文向所述vBNG转发,所述用户侧LB还具有与所述控制器相连的接口,用于向所述控制器发送数据或者从所述控制器接收下发的表项。在本发明实施例中,所述用户侧LB与所述vBNG的转发单元相连的接口称为所述用户侧LB的出接口,所述用户侧LB具有多个出接口。
网络侧LB具有与网络设备(这里的网络设备特指如图2中所述网络侧LB右侧的设备,例如路由器等)连接的接口,用于接收网络侧向用户侧转发的报文,或者用于向网络侧发送用户侧转发来的报文。所述网络侧LB还具有与所述vBNG的转发单元相连的接口,用于将从网络侧接收的报文向所述vBNG转发,所述网络侧LB还具有与所述控制器相连的接口,用于向所述控制器发送数据或者从所述控制器接收下发的表项。在本发明实施例中,所述网络侧LB与所述vBNG的转发单元相连的接口称为所述网络侧LB的出接口,所述网络侧LB具有多个出接口。
所述vBNG具有一个主控单元和多个转发单元。一个转发单元运行在一个单独的VM中,所述vBNG所包括的转发单元的数量可以根据实际应用场景的需求确定,例如可以随着场景需求增加或减少转发单元的数量。所述vBNG的主控单元可以为虚拟主控单元(英文:virtualmasterprocessunit,缩写:vMPU),所述vBNG的转发单元可以是虚拟线路处理单元(英文:virtuallineprocessunit,缩写:vLPU)。
所述vBNG主要通过主控单元与所述控制器传输数据,例如向所述控制器发送终端的上线成功消息或所述vBNG的系统参数。所述vBNG的转发单元主要具有用户接口和网络接口,其中转发单元的用户接口与所述用户侧LB相连,用于与所述用户侧LB之间进行报文转发。所述用户侧LB的出接口与所述vBNG的转发单元的用户接口之间具有对应关系。转发单元的网络接口与所述网络侧LB相连,用于与所述网络侧LB之间进行报文转发。
所述网络侧LB的出接口与所述vBNG的转发单元的网络接口之间具有对应关系。
通过前述所述控制器建立和下发表项,可以保证从所述用户侧LB可以将终端发送的报文准确的转发到该终端上线的转发单元,也可以保证所述网络侧LB可以将从网络侧向终端发送的报文准确的转发到该终端上线的转发单元。故为了避免所述vBNG中出现跨VM转发报文的可能,在vBNG中,将限定报文在同一个转发单元内转发。也就是说,当转发单元1通过用户接口接收报文a时,将使用转发单元1的网络接口转发报文a,当转发单元2通过网络接口接收报文b时,将使用转发单元2的用户接口转发报文b。vBNG可以通过设置内部的转发路由表实现限定报文在同一个转发单元内转发的功能。
前述的相连并不是限定为直接的物理连接关系,可以是间接的连接关系,也可以是非物理层面上的连接关系。
在本发明实施例中所述的用户侧和网络侧是以所述vBNG进行界定的,vBNG的用户侧指的是面向终端(包括终端接入到vBNG)一侧的物理实体(如转发单元的用户接口)或功能,主要完成用户的认证、IP地址分配、用户转发表项生成或删除等操作。vBNG的网络侧指面向网络(例如包括vBNG向城域网、骨干网转发数据的网络等)一侧的物理实体(如转发单元的网络接口)或功能,主要完成与网络中的其它设备的路由协议收敛、根据路由表进行IP报文转发操作等任务。
在描述本发明实施例的报文转发之前,先说明本发明实施例中所采用的各个转发表项是如何建立的。
所述网络侧LB和用户侧LB在报文转发中匹配的转发表项主要是由所述控制器建立并下发的。所述控制器主要会用到所述转发网络的网络拓扑信息和所述vBNG的系统参数作为建立表项的基础。
其中,所述转发网络的网络拓扑信息主要包括前述网络侧LB、用户侧LB和vBNG之间接口的对应关系。所述控制器可以通过拓扑发现过程获取所述转发网络的网络拓扑信息。拓扑发现过程通过链路层发现协议(英文:LinkLayerDiscoveryProtocol,缩写:LLDP)实现。所述控制器通过获取所述网络侧LB和用户侧LB发送的携带有拓扑关系的LLDP来获知所述转发网络的网络拓扑信息。所述控制器可以周期性的启动拓扑发现过程。所述转发网络的网络拓扑信息可以包括所述转发网络中各个设备(可以包括网络侧LB、用户侧LB、vBNG以及vBNG中的转发单元等)的标识,例如ID、媒体访问控制(英文:MediaAccessControl,缩写:MAC)地址等形式,如vBNG可分配00:00:00:00:00:01。各个设备的接口名称、接口标识等。以及接口之间的连接关系,例如网络侧LB的一个出接口与一个转发单元的网络接口之间的对应关系,或者说网络侧LB的一个出接口可以将报文转发到哪个转发单元的网络接口。
所述vBNG的系统参数包括所述vBNG的至少一个转发单元的接口信息和流量统计信息,所述控制器主要通过所述vBNG发送获取所述vBNG的系统参数。所述vBNG的至少一个转发单元的接口信息可以包括转发单元的网络接口和用户接口的标识,所述流量统计信息可以包括转发单元上用户接口和网络接口对应的流量统计信息等。所述vBNG的系统参数可以周期性上报所述控制器。
所述控制器在建立针对目标终端的转发表项之前还需要获取所述目标终端的上线成功消息,当所述目标终端在第一转发单元上成功上线时,所述上线成功消息由所述vBNG发送至所述控制器,所述第一转发单元为所述vBNG中多个转发单元中的一个转发单元。通过所述上线成功消息,所述控制器可以明确所述目标终端的标识以及所述目标终端与所述第一转发单元之间的对应关系。
这里所述的上线可以理解为访问网络,终端上线成功后可以访问网络,终端上线不成功将不能访问网络。常见的终端上线方式有以太网的点对点协议(英文:PointtoPointProtocoloverEthernet,缩写:PPPoE)和动态主机配置协议(英文:DynamicHostConfigurationProtocol,缩写:DHCP)两种方式,分别对应PPPoE协议和DHCP协议。vBNG进行用户上线,主要是在上述协议的基础上,对用户进行认证(比如密码确认)、从地址池分配用户的IP地址(或向专门的服务器请求分配IP地址)、建议用户转发表项操作,其它还包含对用户进行流量统计,与策略服务器交互获取一些策略或上报流量统计结果等。这里最基本的就是上线成功就会生成用户转发表,允许用户后续报文通过,否则就没有用户转发表,用户不能访问网络。
所述控制器可以建立分担信息数据库用于统一存储和管理前述这些用于建立表项的所述转发网络的网络拓扑信息、所述vBNG的系统参数和终端的上线成功消息,并在需要时从所述分担信息数据库中调取相应的信息。在所述分担信息数据库中可以进行分类存储,例如可以分为转发单元与网络侧LB和用户侧LB的拓扑信息,转发单元的硬件信息,转发单元的接口标识,转发单元的用户信息(这里主要指通过一个转发单元上线的终端统计信息),转发单元的负载信息(包括用户接口和网络接口的流量统计信息),转发单元的业务类型(在转发单元上线的终端的业务类型等)。
在获取所述目标终端的上线成功消息时,所述控制器可以根据所述转发网络的网络拓扑信息、所述vBNG的系统参数和所述上线成功消息对所述目标终端进行网络侧到用户侧的负载分担计算,得到第一分担结果。所述第一分担结果可以理解计算得出的针对所述目标终端从所述网络侧LB向所述vBNG的下行转发路径。所述控制器根据所述第一分担结果建立第一分担表项,所述第一分担表项包括所述目标终端的标识、第一转发单元标识和所述网络侧LB的出接口信息三者之间的对应关系。所述第一分担表项的查找key可以是所述目标终端的标识(也就是所述第一报文的目的标识)。
在建立好所述第一分担表项后,所述控制器可以向所述网络侧LB下发所述第一分担表项,用于指示所述网络侧LB根据所述第一分担表项向所述vBNG转发报文。
举例说明,通过负载分担计算,可以计算出所述网络侧LB和所述第一转发单元之间用于负担针对所述目标终端的下行报文转发路径。在所述网络侧LB接收到针对所述目标终端的下行报文时,由于所述控制器已经预先进行了针对所述目标终端的负载分担计算,预先规划好了针对所述目标终端的下行报文的转发路径,故所述网络侧LB可以通过匹配所述第一分担表项准确的确定出所述第一转发单元。这里所述的目标终端的标识可以是目标终端的IP地址。
可见,所述控制器可以计算针对一个终端从网络侧LB到vBNG的负载分担,预先规划好下行报文的转发路线,故根据计算结果建立的分担表项可以起到明确指示所述网络侧LB准确的将发向所述目标终端的报文转发到这个目标终端上线的转发单元的作用,从而实现准确的从网络侧LB到转发单元的报文转发。
需要注意的是,在有些情况下,通过所述第一分担表项中的所述网络侧LB的出接口信息(例如可以是特殊值0xff),并不能确定出所述网络侧LB中具体的出接口标识。
发明人发现,在本发明实施例中所描述的这种具有多个转发单元的vBNG中,可以通过配置,将多个转发单元中具有相同处理功能(或者说处理相同数据类型)的转发单元的用户接口配置在一个虚拟用户接口组中,并将网络接口也配置爱一个虚拟网络接口组中。这些具有相同处理功能的转发单元的用户接口可以理解为这个虚拟用户接口组中的组成员,这些具有相同处理功能的转发单元的网络接口可以理解为这个虚拟网络接口组中的组成员。处于一个虚拟用户接口组的组成员除了具有上的接口标识以外,都会再被统一分配一个相同的虚拟MAC地址,在进行报文转发过程中,均使用这个虚拟MAC地址。同样,处于一个虚拟网络接口组的组成员除了具有上的接口标识以外,也都会再被统一分配一个相同的虚拟MAC地址,在进行报文转发过程中,均使用这个虚拟MAC地址。当所述vBNG中出现多个虚拟网络接口组时,例如vBNG的转发单元1的网络接口a被分在了虚拟网络接口组1,转发单元1的网络接口b被分在了虚拟网络接口组2的情况时,所述控制器在针对所述目标终端进行负载分担计算时,有可能会计算出经由两个下行转发路径。这两个下行转发路径会分别通过两个分别处于不同虚拟网络接口组的转发单元的网络接口实现,例如一条下行转发路径需要通过转发单元1的网络接口a,另一条下行转发路径需要通过转发单元1的网络接口b。这种情况下,虽然所述控制器能够明确每一条下行转发路径中所述网络侧LB的具体出接口,在所述网络侧LB未对下行转发路径进行选择前,所述控制器暂时没有必要在所述第一分担表项中为所述网络侧LB提供具体的出接口信息。其中,需要注意在这种情况下,前述所述控制器获取的所述转发网络的网络拓扑信息中还可以包括虚拟网络接口组和虚拟用户接口组分配的虚拟MAC地址。
为了解决这一问题,可选的,所述控制器在接收到所述目标终端的上线成功消息时,所述控制器除了可以建立所述第一分担表项,所述控制器还可以根据所述转发网络的网络拓扑信息所述vBNG的系统参数和所述上线成功消息建立出接口表项,所述出接口表项包括所述第一转发单元网络接口的标识、所述第一转发单元标识和第一出接口标识三者之间的对应关系。所述出接口表项的查找key是所述第一转发单元标识和第一转发单元网络接口的标识(也就是所述第一报文的目的MAC地址)。
在前述中,由于所述控制器通过负载分担计算确定出针对所述目标终端的多条下行转发路径,每个下行转发路径对应一个转发单元的网络接口,所以所述控制器可以根据每一条下行转发路径建立一个出接口表项,也就是会有多个出接口表项。本发明实施例中所述的出接口表项可以理解为从多个出接口表项中,根据所述网络侧LB发送的所述第一报文的目的MAC地址确定的出接口表项。
在本发明实施例中,所述控制器在建立了所述出接口表项后可以有两种处理方式,第一种处理方式是将所述出接口表项保留在所述控制器,不下发给所述网络侧LB。第二种处理方式是将所述出接口表项下发给所述网络侧LB。接下来将分别介绍这两种处理方式。
针对所述第一种处理方式,由于所述网络侧LB没有所述出接口表项,故在所述网络侧LB在接收到第一报文后,若通过匹配所述第一分担表项无法确定出具体出接口,所述网络侧LB将会把所述第一报文的分担参数发送至所述控制器。
举例说明,所述第一报文为从网络侧向用户侧发送的报文,所述第一报文在达到所述网络侧LB时,携带有目的标识和目的MAC地址,所述目的标识用于指示所述第一报文的目的地,也就是所述目标终端的标识。所述目的MAC地址可以是指向下行报文转发路径中,从所述网络侧LB达到的下一个设备的地址标识,例如可以是所述第一转发单元的网络接口被统一分配的虚拟MAC地址。
在本发明实施例中,所述网络侧LB可以有两种发送方式向所述控制器发送所述第一报文的分担参数。第一种发送方式是只将所述第一报文的分担参数发给所述控制器,而在本地,也就是所述网络侧LB暂时保存所述第一报文。第二种发送方式是将包括分担参数的所述第一报文发送到所述控制器,在本地也就是所述网络侧LB不保存所述第一报文。
所述控制器可以根据所述第一报文的分担参数和所述第一转发单元标识匹配到保留的所述出接口表项,确定出可确定出所述第一出接口标识的出接口信息。这里所述的出可确定出所述第一出接口标识的出接口信息可以直接是所述第一出接口标识。
举例说明,当所述控制器获取所述第一报文的分担参数时,所述控制器可以根据所述第一报文的目的MAC地址(也就是所述第一转发单元网络接口的虚拟MAC地址),在所述转发网络的网络拓扑信息中确定出所述第一转发单元的网络接口,进而确定出所述第一转发单元的网络接口所对应的所述网络侧LB的出接口(第一出接口)。
所述控制器向所述网络侧LB下发所述第一分担表项的更新信息,所述更新信息中包括所述可确定出所述第一出接口标识的出接口信息。
举例说明,所述第一分担表项的更新信息可以仅是所述可确定出所述第一出接口标识的出接口信息,也可以是具有所述可确定出所述第一出接口标识的出接口信息的第一分担表项。
将所述第一分担表项的更新信息下发至所述网络侧LB后,所述网络侧LB可以根据所述可确定出所述第一出接口标识确定出所述第一出接口标识,从而完成对所述第一报文的转发。而且,所述网络侧LB还可以更新自身的所述第一分担表项,这样在之后接收到所述第一报文时,可以通过更新后的所述第一分担表项匹配出所述第一出接口标识,不再需要所述控制器协助就可以完成对所述第一报文的转发。
需要注意的是,若所述网络侧LB采取第一种发送方式发送所述第一报文的分担参数,也就是将所述第一报文保存在本地,所述控制器可以只下发所述第一分担表项的更新信息给所述网络侧LB。若所述网络侧LB采取第二种发送方式发送所述第一报文的分担参数,也就是在本地未保存所述第一报文,所述控制器可以将所述第一报文以及所述第一分担表项的更新信息下发至所述网络侧LB,再由所述网络侧LB转发所述第一报文。
针对所述第二种处理方式,所述控制器向所述网络侧LB下发所述出接口表项,用于指示所述网络侧LB根据所述出接口表项转发报文。由于所述第一报文的目的MAC地址用于标识所述第一转发单元的网络接口,故所述第一报文的目的MAC地址与所述第一转发单元网络接口的标识相同,所述网络侧LB可以根据所述第一转发单元标识和所述第一报文的目的MAC地址匹配得到所述第一出接口标识,从而完成对所述第一报文的转发。
但是,转发一次报文匹配两次表项,会相对的消耗较多的系统资源。为了减少所述网络侧LB之后的匹配表项的次数,节约系统资源。所述网络侧LB在匹配所述出接口表项时,可以将所述第一报文的分担参数发送至所述控制器,由所述控制器根据所述第一报文的分担参数确定并向所述网络侧LB下发包括所述出可确定出所述第一出接口标识的出接口信息的所述第一分担表项的更新信息,所述网络侧LB通过所述第一分担表项的更新信息更新所述第一分担表项后,若再接收到所述第一报文,所述网络侧LB可以只进行一次匹配,即只匹配所述第一分担表项就确定出所述第一出接口标识,节约了系统资源,提高了匹配效率。
在所述转发网络中,从网络侧接收的报文中,目的标识除了用于标识终端,还可以用于标识转发单元的网络接口。故为了能够指示所述网络侧LB实现针对目的标识用于标识转发单元的接口的报文的转发,所述控制器可以在获取所述转发网络的网络拓扑信息和所述vBNG的系统参数的情况下就可以建立相应的表项。
可选的,所述控制器根据所述转发网络的网络拓扑信息和所述vBNG的系统参数建立第二分担表项,所述第二分担表项包括第二转发单元网络接口的标识、所述第二转发单元标识和所述网络侧LB的第二出接口信息三者之间的对应关系,所述第二转发单元为所述vBNG中多个转发单元中的一个转发单元。
所述控制器向所述网络侧LB下发所述第二分担表项,用于指示所述网络侧LB根据所述第二分担表项转发报文。
举例说明,所述第二转发单元可以与所述第一转发单元为同一个转发单元,也可以为不同的转发单元。需要注意的是,当所述第二转发单元的网络接口是一个虚拟网络接口组的组成员时,所述第二分担表项中的所述第二转发单元的接口标识可以是这个虚拟网络接口组统一分配的虚拟MAC地址。当所述第二转发单元的网络接口不是虚拟网络接口组的组成员时,所述第二分担表项中的所述第二转发单元网络接口的标识可以是所述第二转发单元网络接口的真实接口标识,例如接口IP。
所述控制器还可以通过负载分担的计算方式,建立所述用户侧LB的分担表项。由于所述目标终端在上线前就需要所述用户侧LB将上线请求发送到所述vBNG,所以所述控制器可以在所述目标终端上线之前就完成对所述用户侧LB的转发表项的建立,针对所述用户侧LB建立的分担表项并不依赖所述目标终端的上线成功消息。下发到所述用户侧LB的分担表项可以包括目标终端的相关标识和所述网络侧LB出接口的对应关系。所述目标终端的相关标识可以包括MAC地址或所述目标终端所处虚拟局域网(英文:VirtualLocalAreaNetwork,缩写:VLAN)的标识。
说明完本发明实施例中所采用的各个表项是如何建立之后,接下来将通过实施例说明在所述转发网络中的报文转发过程。本发明实施例中主要关注的是目标终端上线之后,针对所述目标终端的报文转发过程。
图3为本发明实施例提供的一种报文转发方法的方法流程图,所述方法包括:
301:所述网络侧LB从网络侧接收第一报文,所述第一报文包括目的标识,所述第一报文的目的标识用于标识目标终端。
举例说明,一个报文的目的标识用于标识这个报文的转发目的地,在本发明实施例中,所述第一报文的目的标识可以理解为与所述目标终端的标识相同。
302:所述网络侧LB根据所述第一报文的目的标识匹配到第一分担表项,确定出对应的所述第一转发单元标识和所述网络侧LB的出接口信息,所述第一分担表项由所述控制器建立并下发,所述第一分担表项包括所述目标终端的标识、第一转发单元标识和所述网络侧LB的出接口信息三者之间的对应关系,所述第一转发单元标识对应的第一转发单元为所述vBNG中至少两个转发单元中的一个转发单元,所述第一转发单元为将所述目标终端上线的转发单元。
在前述针对所述控制器的说明中,描述了所述控制器通过负载分担计算,根据分担结果,其中包括计算出的所述网络侧LB和所述第一转发单元之间用于负担针对所述目标终端的下行报文转发路径建立了所述第一分担表项。故所述网络侧LB在通过所述第一报文的目的标识匹配所述第一分担表项,确定出的所述网络侧LB的出接口信息可以是与所述第一转发单元的网络接口对应的出接口的相关信息,也就是下述的第一出接口的相关信息,例如第一出接口标识。
303:若所述网络侧LB根据所述出接口信息确定出第一出接口标识,所述网络侧LB从所述第一出接口标识所标识的第一出接口向所述第一转发单元转发所述第一报文,所述第一出接口为所述网络侧LB上的一个出接口。
可见,在包括控制器、用户侧LB、vBNG和网络侧LB的转发网络中,所述网络侧LB在接收到从网络侧向用户侧的目标终端转发的第一报文时,通过所述第一报文的用于标识目标终端的目的标识匹配到第一分担表项,可以确定出预先规划好的所述网络侧LB的第一出接口到处理所述目标终端上线的第一转发单元的转发路径,从而可以准确的将发向所述目标终端的所述第一报文转发到处理所述目标终端上线的第一转发单元,避免了从网络侧向用户侧转发的报文可能被转发到所述vBNG中不适合的转发单元处,从而降低了vBNG出现需要将从网络侧接收的报文跨VM转发的情况,保证了vBNG的转发性能。
需要注意的是,有些情况下,可能从所述出接口信息不能确定出第一出接口标识。出现不能确定出第一出接口标识的可能的情况已经在前述中说明,这里不再赘述。
若所述网络侧LB根据所述出接口信息不能确定出第一出接口标识,为了能够完成对所述第一报文的转发,本发明实施例提供了两种实现转发的方式,这两种实现转发的方式和前述的所述控制器在建立了所述出接口表项后的两种处理方式相对应。
第一种实现转发的方式与前述第二种处理方式相对应,即所述网络侧LB预先得到了所述控制器下发的所述出接口表项。
在图3所对应实施例的基础上,所述网络侧LB预先获取出接口表项,所述出接口表项和所述第一分担表项可以由所述控制器预先下发到所述网络侧LB。图4为本发明实施例提供的一种报文转发方法的方法流程图。
401:所述网络侧LB根据所述第一报文的目的MAC地址和所述第一转发单元标识匹配到所述出接口表项,确定出对应的所述第一出接口标识,所述第一报文的目的MAC地址用于标识所述第一转发单元的网络接口,所述出接口表项为由所述控制器建立,所述出接口表项包括所述第一转发单元网络接口的标识、所述第一转发单元标识和第一出接口标识三者之间的对应关系。
402:所述网络侧LB从所述第一出接口向所述第一转发单元转发所述第一报文。
举例说明,所述网络侧LB在匹配所述第一分担表项时,已经获得了所述第一转发单元标识,而所述第一报文的目的MAC地址在接收到所述第一报文时获得,且由于所述报文的目的MAC地址用于标识所述第一转发单元的网络接口,所述报文的目的MAC地址与所述第一转发单元网络接口的标识相同,所以所述网络侧LB可以匹配到所述出接口表项,并直接得到所述第一出接口标识。
但是,转发一次报文匹配两次表项,会相对的消耗较多的系统资源。为了减少所述网络侧LB之后的匹配表项的次数,节约系统资源。可选的,所述网络侧LB确定出对应的所述第一出接口标识之后,在图4所对应实施例的基础上,图5为本发明实施例提供的一种表项更新方法的方法流程图,所述方法包括:
501:所述网络侧LB向所述控制器发送针对所述第一报文的分担参数,所述分担参数包括所述第一报文的目的标识和所述第一报文的目的MAC地址。
502:所述网络侧LB接收所述控制器发送的针对所述第一分担表项的更新信息。
503:所述网络侧LB根据所述第一分担表项的更新信息更新所述第一分担表项,更新后的所述第一分担表项中包括可确定出所述第一出接口标识的出接口信息。
举例说明,所述控制器在根据接收到所述第一报文的分担参数,确定出所述第一出接口标识后,可以将所述第一出接口标识作为更新信息下发给所述网络侧LB。所述网络侧LB可以将所述第一出接口标识更新到所述第一分担表项中,例如可以将所述第一出接口标识直接作为所述网络侧LB的出接口信息。
可见,通过更新所述第一分担表项,当所述网络侧LB再次接收到目的标识为标识所述目标终端的报文时,只需一次匹配,就可以直接通过匹配所述第一分担表项确定出所述第一出接口标识,从而节约了匹配流程,节省了系统资源。
两种实现转发的方式中的第二种实现转发的方式与前述第一种处理方式相对应,即所述网络侧LB没有得到所述控制器下发的所述出接口表项。
在图3所对应实施例的基础上,若所述网络侧LB根据所述出接口信息不能确定出第一出接口标识,图6为本发明实施例提供的一种报文转发方法的方法流程图,
601:所述网络侧LB向所述控制器发送针对所述第一报文的分担参数,所述分担参数包括所述第一报文的目的标识和所述第一报文的目的MAC地址。
举例说明,所述网络侧LB将所述第一报文的分担参数发送至所述控制器,由所述控制器协助确定出与所述第一转发单元的网络接口对应的所述网络侧LB的出接口。
602:所述网络侧LB接收所述控制器发送的针对所述第一分担表项的更新信息。
603:所述网络侧LB根据所述第一分担表项的更新信息更新所述第一分担表项,更新后的所述第一分担表项中包括可确定出所述第一出接口标识的出接口信息。
604:所述网络侧LB根据所述第一报文的目的标识匹配到更新后的所述第一分担表项,根据所述出接口信息确定出所述第一出接口标识。
605:所述网络侧LB从所述第一出接口标识所标识的第一出接口向所述第一转发单元转发所述第一报文。
举例说明,获取所述第一分担表项的更新信息后,所述网络侧LB可以根据所述可确定出所述第一出接口标识确定出所述第一出接口标识,从而完成对所述第一报文的转发。而且,所述网络侧LB还可以更新上的所述第一分担表项,这样在之后接收到所述第一报文时,可以通过更新后的所述第一分担表项匹配出所述第一出接口标识,不再需要所述控制器协助就可以完成对所述第一报文的转发,从而节约了匹配流程,节省了系统资源。
需要注意的是,在所述转发网络中,所述网络侧LB转发网络侧到用户侧的报文所匹配的是所述控制器下发的分担表项,也就是说,所述网络侧LB到vBNG的转发单元的转发路径是由所述控制器通过负载分担计算预先确定的。但是网络侧其他网络设备向用户侧转发的报文可能并不会遵循负载分担的方式。故有可能当所述第一报文转发到所述网络侧LB时,接下来转发到的设备(即转发单元)的标识(即目的MAC地址)并不是所述第一转发单元网络接口的标识,而是从逻辑上可以转发到所述目标终端的其他转发单元的网络接口的标识。而对于所述网络侧LB来说,所述第一报文所携带目的MAC地址并非正确的MAC地址,可能会造成不正确的转发指引,需要被修正。
为此,在图3所对应实施例的基础上,本发明实施例提供了一种校验并修正报文目的MAC地址的方法。可选的,所述第一分担表项还包括与所述第一报文对应的校验MAC地址,所述校验MAC地址用于标识所述目的转发单元用于接收所述第一报文的接口。
这里所述的校验MAC地址可以为所述第一转发单元用于接收所述第一报文的网络接口的MAC地址。相应的,所述网络侧LB在通过所述第一报文目的标识匹配所述第一分担表项时,还可以确定出对应的所述校验MAC地址。
在所述网络侧LB从所述第一出接口标识所标识的第一出接口向所述第一转发单元转发所述第一报文之前,所述网络侧LB根据所述第一报文的目的标识匹配到第一分担表项,还包括:
所述网络侧LB根据所述第一报文的目的标识匹配到第一分担表项,确定出对应的所述校验MAC地址。
所述网络侧LB判断所述校验MAC地址和所述第一报文中携带的待校验MAC地址是否一致。
若一致,将所述待校验MAC地址作为所述第一报文的目的MAC地址。
若不一致,将所述校验MAC地址作为所述第一报文的目的MAC地址,并将所述第一报文中携带的所述待校验MAC地址替换为所述校验MAC地址。
举例说明,所述第一报文的待校验MAC地址可以理解为尚未被校验的所述第一报文所携带的目的MAC地址。若所述第一报文的待校验MAC地址与所述校验MAC地址相同,则认为所述第一报文的携带的指向下一个转发到的设备的MAC地址正确,可以作为所述第一报文的目的MAC地址。若所述第一报文的待校验MAC地址与所述校验MAC地址不同,则认为所述第一报文的携带的指向下一个转发到的设备的MAC地址错误,将所述校验MAC地址替换所述待校验MAC地址,并将所述校验MAC地址作为所述第一报文的目的MAC地址。
通过上述的校验和修正,尽量避免会造成不正确的转发指引的出现,提高了所述第一报文转发的准确性。
在所述网络侧LB转发从网络侧接收的报文过程中,从网络侧接收的报文中除了发向用户侧终端的报文以外,还有些是目的标识为标识转发单元的接口的报文。为了能够实现对这类报文的转发,可选的,在图3所对应实施例的基础上,还包括:
所述网络侧LB从网络侧接收第二报文,所述第二报文包括目的标识,所述第二报文的目的标识用于标识第二转发单元的网络接口,所述第二转发单元为所述vBNG中多个转发单元中的一个转发单元。
所述网络侧LB根据所述第二报文的目的标识匹配到第二分担表项,确定出对应的所述第二转发单元标识和所述网络侧LB的出接口信息,所述第二分担表项由所述控制器建立并下发,所述第二分担表项包括所述第二转发单元网络接口的标识、第二转发单元标识和所述网络侧LB的第二出接口信息三者之间的对应关系。
若所述网络侧LB根据所述第二出接口信息确定出第二出接口标识,所述网络侧LB从所述第二出接口标识所标识的第二出接口向所述第二转发单元转发所述第二报文,所述第二出接口为所述网络侧LB上的一个出接口。
通过所述控制器可以在获取所述转发网络的网络拓扑信息和所述vBNG的系统参数的情况下就可以建立相应的表项,所述网络侧LB实现了针对目的标识用于标识转发单元的接口的报文的转发,提高了所述转发网络的适用性。
图7为本发明实施例提供的一种报文转发装置的装置结构图,应用于包括vBNG的转发网络中,所述转发网络包括控制器、用户侧LB、所述vBNG和网络侧LB,所述报文转发装置700包括:
接收单元701,用于从网络侧接收第一报文,所述第一报文包括目的标识,所述第一报文的目的标识用于标识目标终端;
匹配单元702,用于根据所述第一报文的目的标识匹配到第一分担表项,确定出对应的所述第一转发单元标识和所述网络侧LB的出接口信息,所述第一分担表项由所述控制器建立并下发,所述第一分担表项包括所述目标终端的标识、第一转发单元标识和所述网络侧LB的出接口信息三者之间的对应关系,所述第一转发单元标识对应的第一转发单元为所述vBNG中至少两个转发单元中的一个转发单元,所述第一转发单元为将所述目标终端上线的转发单元;若所述匹配单元根据所述出接口信息确定出第一出接口标识,触发发送单元703;
所述发送单元703,用于从所述第一出接口标识所标识的第一出接口向所述第一转发单元转发所述第一报文,所述第一出接口为所述网络侧LB上的一个出接口。
可选的,若所述匹配单元根据所述出接口信息不能确定出第一出接口标识,所述匹配单元,还用于根据所述第一报文的目的MAC地址和所述第一转发单元标识匹配到预先获取的出接口表项,确定出对应的所述第一出接口标识,所述第一报文的目的MAC地址用于标识所述第一转发单元的网络接口,所述出接口表项为由所述控制器建立,所述出接口表项包括所述第一转发单元网络接口的标识、所述第一转发单元标识和第一出接口标识三者之间的对应关系;
所述发送单元,还用于从所述第一出接口向所述第一转发单元转发所述第一报文。
可选的,所述发送单元,还用于在所述匹配单元确定出对应的所述第一出接口标识之后,向所述控制器发送针对所述第一报文的分担参数,所述分担参数包括所述第一报文的目的标识和所述第一报文的目的MAC地址;
所述接收单元,还用于接收所述控制器发送的针对所述第一分担表项的更新信息,所述更新信息中包括所述可确定出所述第一出接口标识的出接口信息;
更新单元,用于根据所述第一分担表项的更新信息更新所述第一分担表项,更新后的所述第一分担表项中包括可确定出所述第一出接口标识的出接口信息。
可选的,所述发送单元,还用于若所述匹配单元根据所述出接口信息不能确定出第一出接口标识,向所述控制器发送针对所述第一报文的分担参数,所述分担参数包括所述第一报文的目的标识和所述第一报文的目的MAC地址;
所述接收单元,还用于接收所述控制器发送的针对所述第一分担表项的更新信息,所述更新信息中包括所述可确定出所述第一出接口标识的出接口信息;
所述更新单元,还用于根据所述第一分担表项的更新信息更新所述第一分担表项,更新后的所述第一分担表项中包括可确定出所述第一出接口标识的出接口信息;
所述匹配单元,还用于根据所述第一报文的目的标识匹配到更新后的所述第一分担表项,根据所述出接口信息确定出所述第一出接口标识;
所述发送单元,还用于从所述第一出接口标识所标识的第一出接口向所述第一转发单元转发所述第一报文。
可选的,所述第一分担表项还包括与所述第一报文对应的校验MAC地址,所述校验MAC地址为所述目的转发单元用于接收所述第一报文的网络接口的MAC地址,所述匹配单元,还用于根据所述第一报文的目的标识匹配到第一分担表项,确定出对应的所述校验MAC地址;所述报文转发装置还包括:
判断单元,用于判断所述校验MAC地址和所述第一报文中携带的待校验MAC地址是否一致;若一致,触发第一处理单元;若不一致,触发第二处理单元;
所述第一处理单元,用于将所述待校验MAC地址作为所述第一报文的目的MAC地址;
所述第二处理单元,用于将所述校验MAC地址作为所述第一报文的目的MAC地址,并将所述第一报文中携带的所述待校验MAC地址替换为所述校验MAC地址。
可见,在包括控制器、用户侧LB、vBNG和网络侧LB的转发网络中,所述网络侧LB在接收到从网络侧向用户侧的目标终端转发的第一报文时,通过所述第一报文的用于标识目标终端的目的标识匹配到第一分担表项,可以确定出预先规划好的所述网络侧LB的第一出接口到处理所述目标终端上线的第一转发单元的转发路径,从而可以准确的将发向所述目标终端的所述第一报文转发到处理所述目标终端上线的第一转发单元,避免了从网络侧向用户侧转发的报文可能被转发到所述vBNG中不适合的转发单元处,从而降低了vBNG出现需要将从网络侧接收的报文跨VM转发的情况,保证了vBNG的转发性能。
图8为本发明实施例提供的一种报文转发装置的装置结构图,应用于包括vBNG的转发网络中,所述转发网络包括控制器、用户侧LB、所述vBNG和网络侧LB,所述报文转发装置800包括:
接收单元801,用于接收所述vBNG发送的上线成功消息,所述上线成功消息用于标识目标终端通过第一转发单元成功上线,所述第一转发单元为所述vBNG中至少两个转发单元中的一个转发单元;
计算单元802,用于根据所述转发网络的网络拓扑信息、所述vBNG的系统参数和所述上线成功消息对所述目标终端进行网络侧到用户侧的负载分担计算,得到第一分担结果,所述vBNG的系统参数包括所述vBNG的至少一个转发单元的接口信息和流量统计信息;
建立单元803,用于根据所述第一分担结果建立第一分担表项,所述第一分担表项包括所述目标终端的标识、第一转发单元标识和所述网络侧LB的出接口信息三者之间的对应关系;
发送单元804,用于向所述网络侧LB下发所述第一分担表项,用于指示所述网络侧LB根据所述第一分担表项转发报文。
可选的,所述建立单元,还用于根据所述转发网络的网络拓扑信息、所述vBNG的系统参数和所述上线成功消息建立出接口表项,所述出接口表项包括所述第一转发单元网络接口的标识、所述第一转发单元标识和所述网络侧LB的第一出接口标识三者之间的对应关系。
可选的,所述发送单元,还用于向所述网络侧LB下发所述出接口表项,用于指示所述网络侧LB根据所述出接口表项转发报文。
可选的,所述接收单元,还用于获取所述网络侧LB发送的第一报文的分担参数,所述第一报文为从网络侧向用户侧发送的报文,所述第一报文的分担参数包括所述第一报文的目的标识和目的MAC地址,所述第一报文的目的标识用于标识所述目标终端,所述第一报文的目的MAC地址用于标识所述第一转发单元的网络接口;
确定单元,用于根据所述第一报文的分担参数和所述第一转发单元标识确定出可确定出所述第一出接口标识的出接口信息;
所述发送单元,还用于向所述网络侧LB下发所述第一分担表项的更新信息,所述更新信息中包括所述可确定出所述第一出接口标识的出接口信息。
可选的,所述建立单元,还用于根据所述转发网络的网络拓扑信息和所述vBNG的系统参数建立第二分担表项,所述第二分担表项包括第二转发单元网络接口的标识、所述第二转发单元标识和所述网络侧LB的第二出接口信息三者之间的对应关系,所述第二转发单元为所述vBNG中多个转发单元中的一个转发单元;
所述发送单元,还用于向所述网络侧LB下发所述第二分担表项,用于指示所述网络侧LB根据所述第二分担表项转发报文。
参见图9,图9为本发明实施例提供的一种报文转发系统的系统结构图。应用于包括vBNG的转发网络中,所述转发网络包括控制器、用户侧LB、所述vBNG和网络侧LB,所述报文转发系统900包括所述网络侧LB901和所述控制器902,所述网络侧LB901配置有前述图7所示的实施例中任一种实施方式的装置,所述控制器902配置有前述图8所对应实施例中任一种实施方式的装置。
需要说明的是,本实施例中所述网络侧LB901对应于前述图3、图4、图5和图6所示的实施例中提及的网络侧LB。本实施例中所述控制器902对应于前述实施例中提及的控制器,本实施例中网络侧LB901和控制器902的各种具体实施方式,可以参见前述所示的实施例的详细介绍,本实施例在此不再赘述。
参阅图10,图10为本发明实施例提供的一种网络侧LB的硬件结构图,所述网络侧LB1000应用于包括vBNG的转发网络中,所述转发网络还包括控制器、用户侧LB和所述vBNG,所述网络侧LB1000包括存储器1001、接收器1002和发送器1003,以及分别与所述存储器1001、所述接收器1002和所述发送器1003连接的处理器1004,所述存储器1001用于存储一组程序指令,所述处理器1004用于调用所述存储器1001存储的程序指令执行如下操作:
触发所述接收器1002从网络侧接收第一报文,所述第一报文包括目的标识,所述第一报文的目的标识用于标识目标终端;
根据所述第一报文的目的标识匹配到第一分担表项,确定出对应的所述第一转发单元标识和所述网络侧LB的出接口信息,所述第一分担表项由所述控制器建立并下发,所述第一分担表项包括所述目标终端的标识、第一转发单元标识和所述网络侧LB的出接口信息三者之间的对应关系,所述第一转发单元标识对应的第一转发单元为所述vBNG中至少两个转发单元中的一个转发单元,所述第一转发单元为将所述目标终端上线的转发单元;
若根据所述出接口信息确定出第一出接口标识,触发所述发送器1003从所述第一出接口标识所标识的第一出接口向所述第一转发单元转发所述第一报文,所述第一出接口为所述网络侧LB上的一个出接口。
可选地,所述处理器1004可以为中央处理器(CentralProcessingUnit,CPU),所述存储器1001可以为随机存取存储器(RandomAccessMemory,RAM)类型的内部存储器,所述接收器1002和所述发送器1003可以包含普通物理接口,所述物理接口可以为以太(Ethernet)接口或异步传输模式(AsynchronousTransferMode,ATM)接口。所述处理器1004、发送器1003、接收器1002和存储器1001可以集成为一个或多个独立的电路或硬件,如:专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)。
参阅图11,图11为本发明实施例提供的一种控制器的硬件结构示意图,所述控制器1100应用于包括vBNG的转发网络中,所述转发网络还包括用户侧LB、所述vBNG和网络侧LB,所述控制器1100包括存储器1101、接收器1102和发送器1103,以及分别与所述存储器1101、所述接收器1102和所述发送器1103连接的处理器1104,所述存储器1101用于存储一组程序指令,所述处理器1104用于调用所述存储器1101存储的程序指令执行如下操作:
触发所述接收器1102接收所述vBNG发送的上线成功消息,所述上线成功消息用于标识目标终端通过第一转发单元成功上线,所述第一转发单元为所述vBNG中至少两个转发单元中的一个转发单元;
根据所述转发网络的网络拓扑信息、所述vBNG的系统参数和所述上线成功消息对所述目标终端进行网络侧到用户侧的负载分担计算,得到第一分担结果,所述vBNG的系统参数包括所述vBNG的至少一个转发单元的接口信息和流量统计信息;
根据所述第一分担结果建立第一分担表项,所述第一分担表项包括所述目标终端的标识、第一转发单元标识和所述网络侧LB的出接口信息三者之间的对应关系;
触发所述发送器1103向所述网络侧LB下发所述第一分担表项,用于指示所述网络侧LB根据所述第一分担表项转发报文。
可选地,所述处理器1104可以为CPU,所述存储器1101可以为RAM类型的内部存储器,所述接收器1102和所述发送器1103可以包含普通物理接口,所述物理接口可以为以太(Ethernet)接口或ATM接口。所述处理器1104、发送器1103、接收器1102和存储器1101可以集成为一个或多个独立的电路或硬件,如:ASIC。
本发明实施例中提到的第一报文、第一分担表项、第一转发单元和第一出接口的“第一”只是用来做名字标识,并不代表顺序上的第一。该规则同样适用于“第二”。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:read-onlymemory,缩写:ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (21)

1.一种报文转发方法,其特征在于,应用于包括虚拟宽带网络网关vBNG的转发网络中,所述转发网络包括控制器、用户侧负载均衡器LB、所述vBNG和网络侧LB,所述方法包括:
所述网络侧LB从网络侧接收第一报文,所述第一报文包括目的标识,所述第一报文的目的标识用于标识目标终端;
所述网络侧LB根据所述第一报文的目的标识匹配到第一分担表项,确定出对应的所述第一转发单元标识和所述网络侧LB的出接口信息,所述第一分担表项由所述控制器建立并下发,所述第一分担表项包括所述目标终端的标识、第一转发单元标识和所述网络侧LB的出接口信息三者之间的对应关系,所述第一转发单元标识对应的第一转发单元为所述vBNG中至少两个转发单元中的一个转发单元,所述第一转发单元为将所述目标终端上线的转发单元;
若所述网络侧LB根据所述出接口信息确定出第一出接口标识,所述网络侧LB从所述第一出接口标识所标识的第一出接口向所述第一转发单元转发所述第一报文,所述第一出接口为所述网络侧LB上的一个出接口。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述网络侧LB根据所述出接口信息不能确定出第一出接口标识,所述网络侧LB预先获取出接口表项;
所述网络侧LB根据所述第一报文的目的媒体访问控制MAC地址和所述第一转发单元标识匹配到所述出接口表项,确定出对应的所述第一出接口标识,所述第一报文的目的MAC地址用于标识所述第一转发单元的网络接口,所述出接口表项为由所述控制器建立,所述出接口表项包括所述第一转发单元网络接口的标识、所述第一转发单元标识和第一出接口标识三者之间的对应关系;
所述网络侧LB从所述第一出接口向所述第一转发单元转发所述第一报文。
3.根据权利要求2所述的方法,其特征在于,所述网络侧LB确定出对应的所述第一出接口标识之后,还包括:
所述网络侧LB向所述控制器发送针对所述第一报文的分担参数,所述分担参数包括所述第一报文的目的标识和所述第一报文的目的MAC地址;
所述网络侧LB接收所述控制器发送的针对所述第一分担表项的更新信息,所述更新信息中包括所述可确定出所述第一出接口标识的出接口信息;
所述网络侧LB根据所述第一分担表项的更新信息更新所述第一分担表项,更新后的所述第一分担表项中包括可确定出所述第一出接口标识的出接口信息。
4.根据权利要求1所述的方法,其特征在于,若所述网络侧LB根据所述出接口信息不能确定出第一出接口标识,还包括:
所述网络侧LB向所述控制器发送针对所述第一报文的分担参数,所述分担参数包括所述第一报文的目的标识和所述第一报文的目的MAC地址;
所述网络侧LB接收所述控制器发送的针对所述第一分担表项的更新信息,所述更新信息中包括所述可确定出所述第一出接口标识的出接口信息;
所述网络侧LB根据所述第一分担表项的更新信息更新所述第一分担表项,更新后的所述第一分担表项中包括可确定出所述第一出接口标识的出接口信息;
所述网络侧LB根据所述第一报文的目的标识匹配到更新后的所述第一分担表项,根据所述出接口信息确定出所述第一出接口标识;
所述网络侧LB从所述第一出接口标识所标识的第一出接口向所述第一转发单元转发所述第一报文。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述第一分担表项还包括与所述第一报文对应的校验MAC地址,所述校验MAC地址为所述目的转发单元用于接收所述第一报文的网络接口的MAC地址,在所述网络侧LB从所述第一出接口标识所标识的第一出接口向所述第一转发单元转发所述第一报文之前,所述网络侧LB根据所述第一报文的目的标识匹配到第一分担表项,还包括:所述网络侧LB根据所述第一报文的目的标识匹配到第一分担表项,确定出对应的所述校验MAC地址;所述方法还包括:
所述网络侧LB判断所述校验MAC地址和所述第一报文中携带的待校验MAC地址是否一致;
若一致,将所述待校验MAC地址作为所述第一报文的目的MAC地址;
若不一致,将所述校验MAC地址作为所述第一报文的目的MAC地址,并将所述第一报文中携带的所述待校验MAC地址替换为所述校验MAC地址。
6.一种报文转发装置,其特征在于,应用于包括虚拟宽带网络网关vBNG的转发网络中,所述转发网络包括控制器、用户侧负载均衡器LB、所述vBNG和网络侧LB,所述装置包括:
接收单元,用于从网络侧接收第一报文,所述第一报文包括目的标识,所述第一报文的目的标识用于标识目标终端;
匹配单元,用于根据所述第一报文的目的标识匹配到第一分担表项,确定出对应的所述第一转发单元标识和所述网络侧LB的出接口信息,所述第一分担表项由所述控制器建立并下发,所述第一分担表项包括所述目标终端的标识、第一转发单元标识和所述网络侧LB的出接口信息三者之间的对应关系,所述第一转发单元标识对应的第一转发单元为所述vBNG中至少两个转发单元中的一个转发单元,所述第一转发单元为将所述目标终端上线的转发单元;若所述匹配单元根据所述出接口信息确定出第一出接口标识,触发发送单元;
所述发送单元,用于从所述第一出接口标识所标识的第一出接口向所述第一转发单元转发所述第一报文,所述第一出接口为所述网络侧LB上的一个出接口。
7.根据权利要求6所述的装置,其特征在于,
若所述匹配单元根据所述出接口信息不能确定出第一出接口标识,所述匹配单元,还用于根据所述第一报文的目的媒体访问控制MAC地址和所述第一转发单元标识匹配到预先获取的出接口表项,确定出对应的所述第一出接口标识,所述第一报文的目的MAC地址用于标识所述第一转发单元的网络接口,所述出接口表项为由所述控制器建立,所述出接口表项包括所述第一转发单元网络接口的标识、所述第一转发单元标识和第一出接口标识三者之间的对应关系;
所述发送单元,还用于从所述第一出接口向所述第一转发单元转发所述第一报文。
8.根据权利要求7所述的装置,其特征在于,
所述发送单元,还用于在所述匹配单元确定出对应的所述第一出接口标识之后,向所述控制器发送针对所述第一报文的分担参数,所述分担参数包括所述第一报文的目的标识和所述第一报文的目的MAC地址;
所述接收单元,还用于接收所述控制器发送的针对所述第一分担表项的更新信息,所述更新信息中包括所述可确定出所述第一出接口标识的出接口信息;
更新单元,用于根据所述第一分担表项的更新信息更新所述第一分担表项,更新后的所述第一分担表项中包括可确定出所述第一出接口标识的出接口信息。
9.根据权利要求6所述的装置,其特征在于,
所述发送单元,还用于若所述匹配单元根据所述出接口信息不能确定出第一出接口标识,向所述控制器发送针对所述第一报文的分担参数,所述分担参数包括所述第一报文的目的标识和所述第一报文的目的MAC地址;
所述接收单元,还用于接收所述控制器发送的针对所述第一分担表项的更新信息,所述更新信息中包括所述可确定出所述第一出接口标识的出接口信息;
所述更新单元,还用于根据所述第一分担表项的更新信息更新所述第一分担表项,更新后的所述第一分担表项中包括可确定出所述第一出接口标识的出接口信息;
所述匹配单元,还用于根据所述第一报文的目的标识匹配到更新后的所述第一分担表项,根据所述出接口信息确定出所述第一出接口标识;
所述发送单元,还用于从所述第一出接口标识所标识的第一出接口向所述第一转发单元转发所述第一报文。
10.根据权利要求6至9任一项所述的装置,其特征在于,所述第一分担表项还包括与所述第一报文对应的校验MAC地址,所述校验MAC地址为所述目的转发单元用于接收所述第一报文的网络接口的MAC地址,所述匹配单元,还用于根据所述第一报文的目的标识匹配到第一分担表项,确定出对应的所述校验MAC地址;所述报文转发装置还包括:
判断单元,用于判断所述校验MAC地址和所述第一报文中携带的待校验MAC地址是否一致;若一致,触发第一处理单元;若不一致,触发第二处理单元;
所述第一处理单元,用于将所述待校验MAC地址作为所述第一报文的目的MAC地址;
所述第二处理单元,用于将所述校验MAC地址作为所述第一报文的目的MAC地址,并将所述第一报文中携带的所述待校验MAC地址替换为所述校验MAC地址。
11.一种报文转发方法,其特征在于,应用于包括虚拟宽带网络网关vBNG的转发网络中,所述转发网络包括控制器、用户侧负载均衡器LB、所述vBNG和网络侧LB,所述方法包括:
所述控制器接收所述vBNG发送的上线成功消息,所述上线成功消息用于标识目标终端通过第一转发单元成功上线,所述第一转发单元为所述vBNG中至少两个转发单元中的一个转发单元;
所述控制器根据所述转发网络的网络拓扑信息、所述vBNG的系统参数和所述上线成功消息对所述目标终端进行网络侧到用户侧的负载分担计算,得到第一分担结果,所述vBNG的系统参数包括所述vBNG的至少一个转发单元的接口信息和流量统计信息;
所述控制器根据所述第一分担结果建立第一分担表项,所述第一分担表项包括所述目标终端的标识、第一转发单元标识和所述网络侧LB的出接口信息三者之间的对应关系;
所述控制器向所述网络侧LB下发所述第一分担表项,用于指示所述网络侧LB根据所述第一分担表项转发报文。
12.根据权利要求11所述的方法,其特征在于,还包括:
所述控制器根据所述转发网络的网络拓扑信息、所述vBNG的系统参数和所述上线成功消息建立出接口表项,所述出接口表项包括所述第一转发单元网络接口的标识、所述第一转发单元标识和所述网络侧LB的第一出接口标识三者之间的对应关系。
13.根据权利要求12所述的方法,其特征在于,还包括:
所述控制器向所述网络侧LB下发所述出接口表项,用于指示所述网络侧LB根据所述出接口表项转发报文。
14.根据权利要求12或13所述的方法,其特征在于,还包括:
所述控制器获取所述网络侧LB发送的第一报文的分担参数,所述第一报文为从网络侧向用户侧发送的报文,所述第一报文的分担参数包括所述第一报文的目的标识和目的媒体访问控制MAC地址,所述第一报文的目的标识用于标识所述目标终端,所述第一报文的目的MAC地址用于标识所述第一转发单元的网络接口;
所述控制器根据所述第一报文的分担参数和所述第一转发单元标识确定出可确定出所述第一出接口标识的出接口信息;
所述控制器向所述网络侧LB下发所述第一分担表项的更新信息,所述更新信息中包括所述可确定出所述第一出接口标识的出接口信息。
15.根据权利要求11所述的方法,其特征在于,还包括:
所述控制器根据所述转发网络的网络拓扑信息和所述vBNG的系统参数建立第二分担表项,所述第二分担表项包括第二转发单元网络接口的标识、所述第二转发单元标识和所述网络侧LB的第二出接口信息三者之间的对应关系,所述第二转发单元为所述vBNG中多个转发单元中的一个转发单元;
所述控制器向所述网络侧LB下发所述第二分担表项,用于指示所述网络侧LB根据所述第二分担表项转发报文。
16.一种报文转发装置,其特征在于,应用于包括虚拟宽带网络网关vBNG的转发网络中,所述转发网络包括控制器、用户侧负载均衡器LB、所述vBNG和网络侧LB,所述装置包括:
接收单元,用于接收所述vBNG发送的上线成功消息,所述上线成功消息用于标识目标终端通过第一转发单元成功上线,所述第一转发单元为所述vBNG中至少两个转发单元中的一个转发单元;
计算单元,用于根据所述转发网络的网络拓扑信息、所述vBNG的系统参数和所述上线成功消息对所述目标终端进行网络侧到用户侧的负载分担计算,得到第一分担结果,所述vBNG的系统参数包括所述vBNG的至少一个转发单元的接口信息和流量统计信息;
建立单元,用于根据所述第一分担结果建立第一分担表项,所述第一分担表项包括所述目标终端的标识、第一转发单元标识和所述网络侧LB的出接口信息三者之间的对应关系;
发送单元,用于向所述网络侧LB下发所述第一分担表项,用于指示所述网络侧LB根据所述第一分担表项转发报文。
17.根据权利要求16所述的装置,其特征在于,
所述建立单元,还用于根据所述转发网络的网络拓扑信息、所述vBNG的系统参数和所述上线成功消息建立出接口表项,所述出接口表项包括所述第一转发单元网络接口的标识、所述第一转发单元标识和所述网络侧LB的第一出接口标识三者之间的对应关系。
18.根据权利要求17所述的装置,其特征在于,
所述发送单元,还用于向所述网络侧LB下发所述出接口表项,用于指示所述网络侧LB根据所述出接口表项转发报文。
19.根据权利要求17或18所述的装置,其特征在于,
所述接收单元,还用于获取所述网络侧LB发送的第一报文的分担参数,所述第一报文为从网络侧向用户侧发送的报文,所述第一报文的分担参数包括所述第一报文的目的标识和目的媒体访问控制MAC地址,所述第一报文的目的标识用于标识所述目标终端,所述第一报文的目的MAC地址用于标识所述第一转发单元的网络接口;
确定单元,用于根据所述第一报文的分担参数和所述第一转发单元标识确定出可确定出所述第一出接口标识的出接口信息;
所述发送单元,还用于向所述网络侧LB下发所述第一分担表项的更新信息,所述更新信息中包括所述可确定出所述第一出接口标识的出接口信息。
20.根据权利要求16所述的装置,其特征在于,
所述建立单元,还用于根据所述转发网络的网络拓扑信息和所述vBNG的系统参数建立第二分担表项,所述第二分担表项包括第二转发单元网络接口的标识、所述第二转发单元标识和所述网络侧LB的第二出接口信息三者之间的对应关系,所述第二转发单元为所述vBNG中多个转发单元中的一个转发单元;
所述发送单元,还用于向所述网络侧LB下发所述第二分担表项,用于指示所述网络侧LB根据所述第二分担表项转发报文。
21.一种报文转发系统,其特征在于,应用于包括虚拟宽带网络网关vBNG的转发网络中,所述转发网络包括控制器、用户侧负载均衡器LB、所述vBNG和网络侧LB,所述系统包括所述网络侧LB和控制器,所述网络侧LB配置有权利要求6至10任一项所述的这种,所述控制器配置有权利要求16至20任一项所述的装置。
CN201511030539.2A 2015-12-31 2015-12-31 一种报文转发方法、装置和系统 Active CN105634956B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201511030539.2A CN105634956B (zh) 2015-12-31 2015-12-31 一种报文转发方法、装置和系统
PCT/CN2016/112144 WO2017114362A1 (zh) 2015-12-31 2016-12-26 一种报文转发方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511030539.2A CN105634956B (zh) 2015-12-31 2015-12-31 一种报文转发方法、装置和系统

Publications (2)

Publication Number Publication Date
CN105634956A true CN105634956A (zh) 2016-06-01
CN105634956B CN105634956B (zh) 2018-11-16

Family

ID=56049475

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511030539.2A Active CN105634956B (zh) 2015-12-31 2015-12-31 一种报文转发方法、装置和系统

Country Status (2)

Country Link
CN (1) CN105634956B (zh)
WO (1) WO2017114362A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106487788A (zh) * 2016-09-30 2017-03-08 中国联合网络通信集团有限公司 一种用户接入方法、sdn控制器、转发设备及用户接入系统
WO2017114362A1 (zh) * 2015-12-31 2017-07-06 华为技术有限公司 一种报文转发方法、装置和系统
WO2018036514A1 (zh) * 2016-08-23 2018-03-01 中兴通讯股份有限公司 消息发送方法和装置
WO2018137252A1 (zh) * 2017-01-26 2018-08-02 华为技术有限公司 路由发布的方法和装置
WO2019020114A1 (zh) * 2017-07-27 2019-01-31 中兴通讯股份有限公司 负荷分担方法、系统及计算机可读存储介质
CN110120884A (zh) * 2018-02-07 2019-08-13 丛林网络公司 自驱动和自适应性多vbng管理编排
CN110891028A (zh) * 2018-09-07 2020-03-17 华为技术有限公司 确定负载均衡策略的方法、装置及存储介质
CN113254165A (zh) * 2021-07-09 2021-08-13 易纳购科技(北京)有限公司 虚拟机和容器的负载流量分配方法、装置及计算机设备
CN114513458A (zh) * 2022-01-27 2022-05-17 新华三技术有限公司 通信方法及装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107517151B (zh) * 2017-09-30 2019-06-28 中国联合网络通信集团有限公司 用户接入方法、CPE、OLT、交换机、vBNG、SDN控制器和城域网
CN112751763A (zh) * 2019-10-30 2021-05-04 北京华为数字技术有限公司 一种报文转发方法、设备、存储介质及系统
CN113326119B (zh) * 2020-02-29 2024-04-16 华为技术有限公司 删除用户设备的方法,及相关设备
CN112003782B (zh) * 2020-09-02 2022-05-24 新华三信息安全技术有限公司 一种故障处理方法、装置、网络设备及机器可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104394083A (zh) * 2014-09-22 2015-03-04 华为技术有限公司 转发表项处理的方法、报文转发的方法及其装置和系统
CN104579732A (zh) * 2013-10-21 2015-04-29 华为技术有限公司 虚拟化网络功能网元的管理方法、装置和系统
CN104954218A (zh) * 2014-03-24 2015-09-30 杭州华三通信技术有限公司 分布式虚拟交换装置及转发方法
US20160306826A9 (en) * 2013-04-24 2016-10-20 Atlys, Inc. Nested Media Container, Panel and Organizer

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105634956B (zh) * 2015-12-31 2018-11-16 华为技术有限公司 一种报文转发方法、装置和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160306826A9 (en) * 2013-04-24 2016-10-20 Atlys, Inc. Nested Media Container, Panel and Organizer
CN104579732A (zh) * 2013-10-21 2015-04-29 华为技术有限公司 虚拟化网络功能网元的管理方法、装置和系统
CN104954218A (zh) * 2014-03-24 2015-09-30 杭州华三通信技术有限公司 分布式虚拟交换装置及转发方法
CN104394083A (zh) * 2014-09-22 2015-03-04 华为技术有限公司 转发表项处理的方法、报文转发的方法及其装置和系统

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017114362A1 (zh) * 2015-12-31 2017-07-06 华为技术有限公司 一种报文转发方法、装置和系统
WO2018036514A1 (zh) * 2016-08-23 2018-03-01 中兴通讯股份有限公司 消息发送方法和装置
CN106487788A (zh) * 2016-09-30 2017-03-08 中国联合网络通信集团有限公司 一种用户接入方法、sdn控制器、转发设备及用户接入系统
CN106487788B (zh) * 2016-09-30 2019-10-29 中国联合网络通信集团有限公司 一种用户接入方法、sdn控制器、转发设备及用户接入系统
CN110226307A (zh) * 2017-01-26 2019-09-10 华为技术有限公司 路由发布的方法和装置
WO2018137252A1 (zh) * 2017-01-26 2018-08-02 华为技术有限公司 路由发布的方法和装置
CN110226307B (zh) * 2017-01-26 2021-01-29 华为技术有限公司 路由发布的方法和装置
WO2019020114A1 (zh) * 2017-07-27 2019-01-31 中兴通讯股份有限公司 负荷分担方法、系统及计算机可读存储介质
CN109309627A (zh) * 2017-07-27 2019-02-05 中兴通讯股份有限公司 负荷分担方法、系统及计算机可读存储介质
CN110120884A (zh) * 2018-02-07 2019-08-13 丛林网络公司 自驱动和自适应性多vbng管理编排
CN110120884B (zh) * 2018-02-07 2021-04-20 瞻博网络公司 管理订户登录的宽带网络网关控制器和方法及边缘路由器
US11159378B2 (en) 2018-02-07 2021-10-26 Juniper Networks, Inc. Self-driven and adaptable multi-vBNG management orchestration
US11818009B2 (en) 2018-02-07 2023-11-14 Juniper Networks, Inc. Self-driven and adaptable multi-vBNG management orchestration
CN110891028A (zh) * 2018-09-07 2020-03-17 华为技术有限公司 确定负载均衡策略的方法、装置及存储介质
CN110891028B (zh) * 2018-09-07 2021-12-21 华为技术有限公司 确定负载均衡策略的方法、装置及存储介质
CN113254165A (zh) * 2021-07-09 2021-08-13 易纳购科技(北京)有限公司 虚拟机和容器的负载流量分配方法、装置及计算机设备
CN113254165B (zh) * 2021-07-09 2021-10-08 易纳购科技(北京)有限公司 虚拟机和容器的负载流量分配方法、装置及计算机设备
CN114513458A (zh) * 2022-01-27 2022-05-17 新华三技术有限公司 通信方法及装置
CN114513458B (zh) * 2022-01-27 2023-12-08 新华三技术有限公司 通信方法及装置

Also Published As

Publication number Publication date
WO2017114362A1 (zh) 2017-07-06
CN105634956B (zh) 2018-11-16

Similar Documents

Publication Publication Date Title
CN105634956A (zh) 一种报文转发方法、装置和系统
JP7004405B2 (ja) 仮想ネットワークにおける分散型フロー状態p2p設定のためのシステムおよび方法
CN108667695B (zh) 一种bras转控分离的备份方法和装置
US8897134B2 (en) Notifying a controller of a change to a packet forwarding configuration of a network element over a communication channel
EP3651485B1 (en) Bluetooth cluster online upgrade method and apparatus
US8549120B2 (en) System and method for location based address assignment in the distribution of traffic in a virtual gateway
US20220200898A1 (en) Compute-aware routing method and apparatus
CN108667575B (zh) 一种bras转控分离的备份方法和装置
CN101714996B (zh) 基于对等计算网络的认证系统及方法
CN108011754B (zh) 转控分离系统、备份方法和装置
CN104734955A (zh) 网络功能虚拟化的实现方法、宽带网络网关以及控制装置
US8855113B2 (en) Link state identifier collision handling
CN103701700A (zh) 一种通信网络中的节点发现方法及系统
JP2011160363A (ja) コンピュータシステム、コントローラ、スイッチ、及び通信方法
JP2002281010A (ja) マイクロモビリティ網における経路更新通知保護用鍵配布システム
CN101753458A (zh) 一种nd邻居表项的处理方法及装置
WO2012103708A1 (zh) 媒体访问控制mac地址保护方法和交换机
CN106789664B (zh) 一种路由聚合方法及装置
CN103731817B (zh) 一种数据传输的方法和设备
US10454884B2 (en) Terminal and multicast address distribution server
CN106982162B (zh) 用于转发业务流的方法、装置和系统
CN109743250A (zh) 组播报文的传输方法、第一网络设备和第二网络设备
CN104836734A (zh) 一种全新的即时通信路由方法和路由器
CN108632125B (zh) 一种组播表项管理方法、装置、设备及机器可读存储介质
CN107995125B (zh) 一种流量调度方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant