报文处理方法、bng及bng集群系统的制作方法

文档序号:9923778阅读:1659来源:国知局
报文处理方法、bng及bng集群系统的制作方法
【技术领域】
[0001]本发明实施例涉及计算机网络技术,尤其涉及一种报文处理方法、BNG及BNG集群系统。
【背景技术】
[0002]由于宽带接入服务器(Broadband Remote Access Server,BRAS)具有灵活的接入认证方式、有效的地址管理功能、强大的用户管理功能,且能提供丰富灵活的业务及控制功能,BRAS作为宽带接入网关(Broadband Network GatewayJI^lBNGWtl—种类型被广泛运用于网络中。
[0003]现有技术中,通常采用双机BNG或者单机虚拟带宽接入网关(vitual BroadbandNetwork Gateway,简称vBNG)。其中,双机BNG中包括:一台主用BNG和一台备份BNG;所述备份BNG实时备份所述主用BNG中的用户信息,以便当所述主用BNG发生故障时,所述备份BNG接管所述主用BNG的业务;单机vBNG是指一个虚拟机中部署一个vBNG。
[0004]然而,由于每台BNG或vBNG的处理能力有限,因此,现有技术中的双机BNG或者vBNG只能处理有限数量个用户的消息报文,系统的可扩展能力差。

【发明内容】

[0005]本发明实施例提供一种报文处理方法、BNG及BNG集群系统,不仅增强了系统的可扩展性,还实现了自动负载均衡。
[0006]第一方面,本发明实施例提供一种报文处理方法,所述方法应用于宽带接入网关BNG集群系统;所述BNG集群系统包括:至少两个BNG,所述至少两个BNG包括第一 BNG,所述第一BNG基于分布式哈希表DHT算法管理至少一个用户;所述方法包括:
[0007]所述第一BNG接收来自第一用户的用户报文,并判断所述第一 BNG是否为所述第一用户的归属BNG;所述第一用户的归属BNG为管理所述第一用户的BNG;
[0008]若确定所述第一BNG是所述第一用户的归属BNG,则所述第一 BNG处理所述用户报文;若确定所述第一 BNG不是所述第一用户的归属BNG,则所述第一 BNG根据P2P路由表将所述用户报文向所述第一用户的归属BNG转发,以使所述第一用户的归属BNG处理所述用户报文;其中,所述P2P路由表用于指示所述第一BNG的至少一个后继BNG。
[0009]本发明中,当所述BNG集群系统中的第一BNG接收来自第一用户的用户报文时,所述第一 BNG通过判断所述第一 BNG是否为所述第一用户的归属BNG;进一步地,若确定所述第一 BNG是所述第一用户的归属BNG,则所述第一 BNG处理所述用户报文;若确定所述第一 BNG不是所述第一用户的归属BNG,则所述第一 BNG根据P2P路由表将所述用户报文向所述第一用户的归属BNG转发,以使所述第一用户的归属BNG处理所述用户报文。可见,本发明中,所述BNG集群系统包括至少两个BNG,当然也可包括多个BNG,可见,增强了系统的可扩展性,同时通过引入具有自组织的P2P技术不仅简化了网络和设备的配置管理和维护,还可实现自动负载均衡。
[0010]结合第一方面,在第一方面的第一种可能的实现方式中,所述判断所述第一BNG是否为所述第一用户的归属BNG,包括:
[0011]所述第一BNG根据所述第一用户的哈希值以及所述第一 BNG的ID进行判断;其中,所述第一用户的哈希值用于唯一标识所述第一用户,所述第一BNG的ID用于唯一标识所述第一 BNG;
[0012]若所述第一用户的哈希值属于所述第一BNG的ID范围,则确定所述第一BNG是所述第一用户的归属BNG;
[0013]若所述第一用户的哈希值不属于所述第一BNG的ID范围,则确定所述第一BNG不是所述第一用户的归属BNG。
[0014]可见,本发明中的每个BNG基于DHT算法都管理至少一个用户,当第一BNG收到用户报文时,通过判断所述第一 BNG是否为所述第一用户的归属BNG,若确定自身为所述第一用户的归属BNG时,则处理所述用户报文;若确定自身不是所述第一用户的归属BNG时,则将所述用户报文向所述第一用户的归属BNG转发。可见,不仅增强了系统的可扩展性,还可实现自动负载均衡。
[0015]结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述第一BNG根据P2P路由表将所述用户报文向所述第一用户的归属BNG转发,包括:
[0016]所述第一BNG将所述第一用户的哈希值与所述至少一个后继BNG的ID进行比较;其中,每个所述后继BNG的ID用于唯一标识所述后继BNG;
[0017]若所述第一用户的哈希值属于第一后继BNG的ID范围,则确定所述第一后继BNG为所述第一用户的归属BNG,并将所述用户报文发送给所述第一后继BNG;其中,所述第一后继BNG为所述至少一个后继BNG中的BNG ;
[0018]若所述第一用户的哈希值不属于所述至少一个后继BNG中任意一个后继BNG的ID范围,则将所述用户报文发送给第二后继BNG,以使所述第二后继BNG将所述用户报文向所述第一用户的归属BNG转发;其中,所述第二后继BNG为所述第一用户的哈希值与所述至少一个后继BNG中ID的差值最小所对应的BNG。
[0019]结合第一方面、第一方面的第一种至第二种任一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述第一BNG根据P2P路由表将所述用户报文向所述第一用户的归属BNG转发,包括:
[0020]所述第一BNG封装所述用户报文,并根据所述P2P路由表将封装后的用户报文向所述第一用户的归属BNG转发。
[0021]结合第一方面、第一方面的第一种至第三种任一种可能的实现方式,在第一方面的第四种可能的实现方式中,若所述用户报文为所述第一用户的上线请求报文,所述判断所述第一 BNG是否为所述第一用户的归属BNG之前,还包括:
[0022]所述第一BNG判断所述第一用户是否已经上线;
[0023]确定所述第一用户未上线。
[0024]结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述第一BNG判断所述第一用户是否已经上线,包括:
[0025]所述第一BNG根据所述第一用户的标识信息以及用户上线表判断所述第一用户是否已经上线;其中,所述第一用户的标识信息包括以下信息中的任意一种或多种信息的组合:源媒体访问控制MAC地址、源IP地址及虚拟局域网VLAN标签;所述用户上线表中包括:已经上线用户的MAC地址、已经上线用户的用户源端口、已经上线用户的用户类型、已经上线用户的用户状态、已经上线用户的用户IP地址以及已经上线用户的用户VLAN标签。
[0026]结合第一方面的第四种或第五种可能的实现方式,在第一方面的第六种可能的实现方式中,所述第一BNG判断所述第一用户是否已经上线之后,还包括:
[0027]若确定所述第一用户已上线,则所述第一BNG将所述用户报文转发至网络。
[0028]结合第一方面、第一方面的第一种至第六种任一种可能的实现方式,在第一方面的第七种可能的实现方式中,所述方法还包括:
[0029]所述第一BNG实时备份第二BNG的用户信息;其中,所述第二BNG为所述第一BNG的前驱BNG,所述第一BNG为所述第二BNG的热备份节点;
[0030]当检查到所述第二BNG发生故障时,所述第一 BNG直接接管所述第二 BNG的业务;[0031 ]所述第一 BNG启动稳定化过程更新拓扑信息。
[0032]结合第一方面的第七种可能的实现方式,在第一方面的第八种可能的实现方式中,所述第一BNG直接接管所述第二BNG的业务,包括:
[0033]所述第一 BNG将自身的MAC地址通知给所述第二 BNG的用户;
[0034]所述第一BNG向网络侧发送用于指示路由更新的协议报文。
[0035]可见,本发明中,通过引入P2P技术实现BNG的热备方案,不仅具有良好的可扩展性,同时系统的可靠性增强。
[0036]结合第一方面、第一方面的第一种至第六种任一种可能的实现方式,在第一方面的第九种可能的实现方式中,所述第一BNG接收来自第一用户的用户报文BNG之前,还包括:
[0037]所述第一BNG获取BNG列表;其中,所述BNG列表中包括:所述BNG集群系统中的至少一个 BNG;
[0038]所述第一BNG加入所述BNG集群系统中。
[0039]结合第一方面的第九种可能的实现方式,在第一方面的第十种可能的实现方式中,所述第一BNG加入所述BNG集群系统中,包括:
[0040]所述第一BNG向第三BNG发送查询请求;其中,所述第三BNG为所述BNG列表中的一个BNG;所述查询请求用于:查询所述第三BNG的直接后继BNG的ID;
[0041 ] 所述第一 BNG向所述第三BNG的直接后继BNG发送第一通知消息;所述第一通知消息用于指示:所述第三BNG的直接后继BNG将所述第一 BNG作为前驱BNG;
[0042]所述第一BNG向所述第三BNG发送第二通知消息;所述第二通知消息用于指示:所述第三BNG将所述第一 BNG作为直接后继BNG。
[0043]结合第一方面的第十种可能的实现方式,在第一方面的第十一种可能的实现方式中,所述第一BNG向第三BNG发送查询请求之前,还包括:
[0044]所述第一 BNG根据DHT算法计算所述第一 BNG的ID。
[0045]可见,本发明中,通过引入P2P技术实现BNG的加入方案,具有良好的可扩展性。
[0046]结合第一方面、第一方面的第一种至第^种任一种可能的实现方式,在第一方面的第十二种可能的实现方式中,所述方法还包括:
[0047]所述第一BNG将保存的用户信息迀移至第四BNG;其中,所述第四BNG为所述第一BNG的直接后继BNG;
[0048]所述第一BNG向第二BNG发送第三通知消息;其中,所述第二BNG为所述第一BNG的前驱BNG;所述第三通知消息用于指示:所述第二 BNG将所述第四BNG作为所述第二 BNG的直接后继BNG;
[0049]所述第一BNG向所述第四BNG发送第四通知消息;所述第四通知消息用于指示:所述第四BNG将所述第二 BNG作为所述第四BNG的前驱BNG。
[0050]第二方面,本发明实施例提供一种宽带接入网关BNG,所述BNG为第一BNG,所述第一 BNG属于BNG集群系统;所述BNG集群系统包括:至少两个BNG,所述第一 BNG基于分布式哈希表DHT算法管理至少一个用户;所述第一 BNG包括:
[0051]接收模块,用于接收来自第一用户的用户报文;
[0052]第一判断模块,用于判断所述第一BNG是否为所述第一用户的归属BNG;所述第一用户的归属BNG为管理所述第一用户的BNG;
[0053]处理模块,用于若所述第一判断模块确定所述第一BNG是所述第一用户的归属BNG,则处理所述用户报文;
[0054]转发模块,用于若所述第一判断模块确定所述第一BNG不是所述第一用户的归属BNG,则根据P2P路由表将所述用户报文向所述第一用户的归属BNG转发,以使所述第一用户的归属BNG处理所述用户报文;其中,所述P2P路由表用于指示所述第一BNG的至少一个后继BNG0
[0055]结合第二方面,在第二方面的第一种可能的实现方式中,所述第一判断模块用于:
[0056]根据所述第一用户的哈希值以及所述第一BNG的ID进行判断;其中,所述第一用户的哈希值用于唯一标识所述第一用户,所述第一BNG的ID用于唯一标识所述第一BNG;
[0057]若所述第一用户的哈希值属于所述第一BNG的ID范围,则确定所述第一BNG是所述第一用户的归属BNG;
[0058]若所述第一用户的哈希值不属于所述第一BNG的ID范围,则确定所述第一BNG不是所述第一用户的归属BNG。
[0059]结合第二方面或第
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1