一种家庭网关服务功能的实现方法和服务器的制造方法

文档序号:7790423阅读:256来源:国知局
一种家庭网关服务功能的实现方法和服务器的制造方法
【专利摘要】一种家庭网关服务功能的实现方法和服务器。其中,方法可包括:服务器接收家庭网关RGW或网络侧转发的数据包;所述服务器根据所述数据包携带的信息识别出所述数据包的业务类型;所述服务器基于所述数据包的业务类型为与所述RGW连接的用户终端提供虚拟家庭网关服务。
【专利说明】一种家庭网关服务功能的实现方法和服务器
【技术领域】
[0001]本发明实施例涉及通信【技术领域】,尤其涉及一种家庭网关服务功能的实现方法和服务器。
【背景技术】
[0002]用户侧的家庭网关(RGW, Residential Gateway)是影响用户上网的关键网元之一,随着日益增长的网络用户,家庭网关的数量也越来越庞大,家庭网关的庞大数量也影响着 IPv6 (Internet Protocol Version6,下一代 IP 协议)的改造进展。
[0003]桥接模式下的家庭网关的部署方式请参阅如图1所示,为目前的一种家庭网关的部署结构示意图,其中,终端直接拨号上线,以一个家庭网关连接有两个用户(分别为终端I和终端2)为例,家庭网络中还连接有光网络终端(ONT,Optical Network Terminal), ONT通过光线路终端(0LT, Optical Line Terminal)和宽带远程接入服务器(BRAS, BroadbandRemote Access Server)相连接。
[0004]但是本发明的发明人在实现本发明的过程中发现,现有技术至少存在以下技术缺陷:
[0005]I)、桥接模式下的ONT并不支持IPv6的某些过渡技术,例如轻量级双栈(DS_Lite,DualStack-Lite)。
[0006]2)、用户自行购置的RGW多数不支持IPv6。
[0007]3)、RGff升级改造支持IPv6后带来了更高的故障率和更频繁的升级,例如L3-RGW相比于L2-RGW无论在软件配置上还是硬件结构上其故障率远高于后者。
[0008]4)、用户侧的RGW不断增加的流量使的流量策略日益复杂,导致家庭网络也非常复杂,RGff承载业务量巨大必然导致故障率增加,而支持IPv6后故障率将进一步的提升,并增加排障的复杂性。
[0009]5)、由于RGW部署在用户侧的家庭内,当IPv6演进以及新的业务引进时都需要对RGW进行升级或替换,需要专业技术人员上门服务,耗费大量的人力物力资源,导致运营商的新业务引入成本高,另外RGW的升级换代,也提高用户的成本。
[0010]综上现有技术的方案可知,在IPv6以及IPv6的过渡技术中RGW和网络的配合苦难,且RGW升级IPv6后将带来更高的故障率和更频繁的升级。

【发明内容】

[0011]本发明实施例提供了一种家庭网关服务功能的实现方法和服务器,能够使家庭网关在IPv6的改造过程中透明化,降低家庭网关升级IPv6后带来的故障率和频繁升级。
[0012]第一方面,本发明实施例提供一种虚拟家庭网关服务功能的实现方法,包括:
[0013]服务器接收家庭网关RGW或网络侧转发的数据包;
[0014]所述服务器根据所述数据包携带的信息识别出所述数据包的业务类型;
[0015]所述服务器基于所述数据包的业务类型为与所述RGW连接的用户终端提供虚拟家庭网关服务。
[0016]结合第一方面,在第一方面的第一种可能的实现方式中,所述服务器接收家庭网关RGW或网络侧转发的数据包,包括:
[0017]所述服务器接收所述RGW转发的上行数据包,所述上行数据包由用户终端发送给所述RGW ;或,
[0018]所述服务器接收网络侧发送的下行数据包。
[0019]结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,当所述数据包为上行数据包时,所述服务器基于所述数据包的业务类型为与所述RGW连接的用户终端提供虚拟家庭网关服务,包括:
[0020]若所述上行数据包的业务类型为动态主机配置协议DHCP请求,所述服务器为所述用户终端分配私网互联网第四版本协议IPv4地址或下一代互联网协议IPv6地址;或,
[0021]若所述上行数据包的业务类型为拨号上网请求,所述服务器对所述用户终端进行用户接入认证;或,
[0022]若所述上行数据包的业务类型为向网络侧发送上行数据,所述服务器按照家庭防火墙的功能对所述上行数据包进行分析,决定是否对所述上行数据包放行,若决定放行则向所述网络侧发送所述上行数据包。
[0023]结合第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,当所述数据包为下行数据包时,所述服务器基于所述数据包的业务类型为与所述RGW连接的用户终端提供虚拟家庭网关服务,包括:
[0024]若所述下行数据包的业务类型为向所述用户终端发送下行数据,所述服务器按照家庭防火墙的功能对所述下行数据包进行分析,决定是否对所述下行数据包放行,若决定放行向所述RGW发送所述下行数据包;或,
[0025]若所述下行数据包的业务类型为向所述用户终端发送下行数据,所述服务器对所述下行数据包进行杀毒,将杀毒后的下行数据包向所述RGW发送。
[0026]结合第一方面,在第一方面的第四种可能的实现方式中,所述服务器基于所述数据包的业务类型为与所述RGW连接的用户终端提供虚拟家庭网关服务,包括:
[0027]在所述用户终端上线后,所述服务器对所述用户终端进行用户管理和用户上线信息维护。
[0028]结合第一方面,在第一方面的第五种可能的实现方式中,所述服务器基于所述数据包的业务类型为与所述RGW连接的用户终端提供虚拟家庭网关服务,包括:
[0029]若所述数据包的业务类型为发送上下行数据,所述服务器对所述数据包的源IP地址和源端口号进行网络地址转换NAT。
[0030]结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,所述服务器对所述数据包的源IP地址和源端口号进行网络地址转换NAT,包括:
[0031]判断所述数据包是否命中已经存在的流表;
[0032]若命中所述流表,按照所述流表中记录的NAT表项进行源IP地址和源端口号的转换;
[0033]若没有命中所述流表,根据所述数据包的源IP地址以及所述服务器中预置的IP及端口映射关系生成NAT表项;[0034]将生成的所述NAT表项更新到流表中,按照更新后的流表中记录的NAT表项进行源IP地址和源端口号的转换。
[0035]结合第一方面的第五种可能的实现方式,在第一方面的第七种可能的实现方式中,若所述数据包为上行数据包,所述服务器基于所述数据包的业务类型为与所述RGW连接的用户终端提供虚拟家庭网关服务,还包括:
[0036]所述服务器对所述数据包的源IP地址和源端口号进行网络地址转换NAT之后,所述服务器对NAT转换后的上行数据包进行IPv6隧道的封装;
[0037]所述服务器将IPv6隧道封装后的上行数据包发送给边界路由器BR,由所述BR对IPv6隧道封装后的上行数据包进行解封装,然后发送给网络侧。
[0038]结合第一方面的第五种可能的实现方式,在第一方面的第八种可能的实现方式中,若所述服务器从BR接收到下行数据包,所述服务器基于所述数据包的业务类型为与所述RGW连接的用户终端提供虚拟家庭网关服务,还包括:
[0039]所述服务器对所述数据包的源IP地址和源端口号进行网络地址转换NAT之前,所述服务器对所述下行数据包进行IPv6隧道的解封装;
[0040]所述服务器对所述数据包的源IP地址和源端口号进行网络地址转换NAT,具体为:
[0041]所述服务器对IPv6隧道解封装后的下行数据包的源IP地址和源端口号进行NAT ;
[0042]所述服务器基于`所述数据包的业务类型为与所述RGW连接的用户终端提供虚拟家庭网关服务,还包括:
[0043]所述服务器对IPv6隧道解封装后的下行数据包的源IP地址和源端口号进行NAT之后,所述服务器将NAT转换后的下行数据包发送给所述RGW。
[0044]结合第一方面,在第一方面的第九种可能的实现方式中,若所述数据包为上行数据包,所述服务器基于所述数据包的业务类型为与所述RGW连接的用户终端提供虚拟家庭网关服务,包括:
[0045]所述服务器对所述上行数据包进行IPv6隧道的封装;
[0046]所述服务器将IPv6隧道封装后的上行数据包发送给BR,由所述BR对IPv6隧道封装后的上行数据包进行IPv6隧道解封装并进行NAT,然后发送给网络侧。
[0047]结合第一方面,在第一方面的第十种可能的实现方式中,若所述服务器从BR接收到下行数据包,所述服务器基于所述数据包的业务类型为与所述RGW连接的用户终端提供虚拟家庭网关服务,包括:
[0048]所述服务器对所述下行数据包进行IPv6隧道的解封装;
[0049]所述服务器将IPv6隧道解封装后的下行数据包发送给所述RGW。
[0050]结合第一方面的第五种可能的实现方式,在第一方面的第^ 种可能的实现方式中,若所述数据包为上行数据包,所述上行数据包的源IP地址为IPv6地址且源端口号为所述用户终端的端口号,所述服务器对所述数据包的源IP地址和源端口号进行网络地址转换NAT,包括:
[0051]将所述IPv6地址按照流表转换为公网IPv4地址,将所述用户终端的端口号按照流表转换为公网端口号;[0052]若所述数据包为下行数据包,所述下行数据包的源IP地址为公网IPv4地址且源端口号为公网端口号,所述服务器对所述数据包的源IP地址和源端口号进行网络地址转换NAT,包括:
[0053]将所述公网IPv4地址按照流表转换为IPv6地址,将所述公网端口号按照流表转换为用户终端的端口号。
[0054]第二方面,本发明实施例还提供一种服务器,包括:
[0055]接收模块,用于接收家庭网关RGW或网络侧转发的数据包;
[0056]业务类型获取模块,用于根据所述数据包携带的信息识别出获取所述数据包的业务类型;
[0057]虚拟家庭网关服务模块,用于基于所述数据包的业务类型为与所述RGW连接的用户终端提供虚拟家庭网关服务。
[0058]结合第二方面,在第二方面的第一种可能的实现方式中,所述接收模块,具体用于接收所述RGW转发的上行数据包,所述上行数据包由用户终端发送给所述RGW ;或,接收网络侧发送的下行数据包。
[0059]结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,当所述数据包为上行数据包时,所述虚拟家庭网关服务模块,具体用于若所述上行数据包的业务类型为动态主机配置协议DHCP请求,为所述用户终端分配私网互联网第四版本协议IPv4地址或下一代互联网协议IPv6地址;或,若所述上行数据包的业务类型为拨号上网请求,对所述用户终端进行用户接入认证;或,若所述上行数据包的业务类型为向网络侧发送上行数据,按照家庭防火墙的功能对所述上行数据包进行分析,决定是否对所述上行数据包放行,若决定放行向所述网络侧发送所述上行数据包。
[0060]结合第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方式中,当所述数据包为下行数据包时,所述虚拟家庭网关服务模块,具体用于若所述下行数据包的业务类型为向所述用户终端发送下行数据,按照家庭防火墙的功能对所述下行数据包进行分析,决定是否对所述下行数据包放行,若决定放行向所述RGW发送所述下行数据包,或,若所述下行数据包的业务类型为向所述用户终端发送下行数据,对所述下行数据包进行杀毒,将杀毒后的下行数据包向所述RGW发送。
[0061]结合第二方面,在第二方面的第四种可能的实现方式中,所述虚拟家庭网关服务模块,具体用于在所述用户终端上线后,对所述用户终端进行用户管理和用户上线信息维护。
[0062]结合第二方面,在第二方面的第五种可能的实现方式中,若所述数据包的业务类型为发送上下行数据,所述虚拟家庭网关服务模块,包括:NAT转换子模块,用于对所述数据包的源IP地址和源端口号进行网络地址转换NAT。
[0063]结合第二方面的第五种可能的实现方式,在第二方面的第六种可能的实现方式中,所述NAT转换子模块,包括:判断子单元、第一 NAT转换子单元、NAT表项生成子单元、第二 NAT转换子单元,其中,
[0064]所述判断子单元,用于判断所述数据包是否命中已经存在的流表,若命中所述流表,触发所述第一 NAT转换子单元执行,若没有命中所述流表,触发所述NAT表项生成子单元和第二 NAT转换子单元执行;[0065]所述第一 NAT转换子单元,用于若命中所述流表,按照所述流表中记录的NAT表项进行源IP地址和源端口号的转换;
[0066]所述NAT表项生成子单元,用于若没有命中所述流表,根据所述数据包的源IP地址以及所述服务器中预置的IP及端口映射关系生成NAT表项;
[0067]所述第二 NAT转换子单元,用于将生成的所述NAT表项更新到流表中,按照更新后的流表中记录的NAT表项进行源IP地址和源端口号的转换。
[0068]结合第二方面的第五种可能的实现方式,在第二方面的第七种可能的实现方式中,若所述数据包为上行数据包,所述虚拟家庭网关服务模块还包括:第一封装子模块和第一发送子模块,其中,
[0069]所述第一封装子模块,用于所述NAT转换子模块对所述上行数据包进行NAT转换后,对NAT转换后的上行数据包进行IPv6隧道的封装;
[0070]所述第一发送子模块,用于将IPv6隧道封装后的上行数据包发送给边界路由器BR,由所述BR对IPv6隧道封装后的上行数据包进行解封装,然后发送给网络侧。
[0071]结合第二方面的第五种可能的实现方式,在第二方面的第八种可能的实现方式中,若所述服务器从BR接收到下行数据包,所述虚拟家庭网关服务模块还包括:第一解封装子模块和第二发送子模块,其中,
[0072]所述第一解封装子模块,用于所述NAT转换子模块对所述下行数据包进行NAT转换之前,对所述下行数据包进行IPv6隧道的解封装;
[0073]所述NAT转换子模块,具体用于对IPv6隧道解封装后的下行数据包的源IP地址和源端口号进行NAT ;
[0074]所述第二发送子模块,用于将NAT转换后的下行数据包发送给所述RGW。
[0075]结合第二方面,在第二方面的第九种可能的实现方式中,若所述数据包为上行数据包,所述虚拟家庭网关服务模块包括:第二封装子模块和第一发送子模块,其中,
[0076]所述第二封装子模块,用于对所述上行数据包进行IPv6隧道的封装;
[0077]所述第一发送子模块,用于将IPv6隧道封装后的上行数据包发送给BR,由所述BR对IPv6隧道封装后的上行数据包进行IPv6隧道解封装并进行NAT,然后发送给网络侧。
[0078]结合第二方面,在第二方面的第十种可能的实现方式中,若所述服务器从BR接收到下行数据包,所述虚拟家庭网关服务模块包括:第二解封装子模块和第二发送子模块,其中,
[0079]所述第二解封装子模块,用于对所述下行数据包进行IPv6隧道的解封装;
[0080]所述第二发送子模块,用于将IPv6隧道解封装后的的下行数据包发送给所述RGff0
[0081]结合第二方面的第五种可能的实现方式,在第二方面的第十一种可能的实现方式中,若所述数据包为上行数据包,所述上行数据包的源IP地址为IPv6地址且源端口号为所述用户终端的端口号,所述NAT转换子模块,具体用于将所述IPv6地址按照流表转换为公网IPv4地址,将所述用户终端的端口号按照流表转换为公网端口号;
[0082]若所述数据包为下行数据包,所述下行数据包的源IP地址为公网IPv4地址且源端口号为公网端口号,所述NAT转换子模块,具体用于将所述公网IPv4地址按照流表转换为IPv6地址,将所述公网端口号按照流表转换为用户终端的端口号。[0083]第三方面,本发明实施例还提供一种服务器,包括:输入装置、输出装置、存储器和处理器;
[0084]其中,所述处理器执行以下步骤:
[0085]通过输入装置接收家庭网关RGW或网络侧转发的数据包;
[0086]根据所述数据包携带的信息识别出所述数据包的业务类型;
[0087]基于所述数据包的业务类型为与所述RGW连接的用户终端提供虚拟家庭网关服务。
[0088]结合第三方面,在第三方面的第一种可能的实现方式中,所述处理器具体用于执行以下步骤:
[0089]接收所述RGW转发的上行数据包,所述上行数据包由用户终端发送给所述RGW ;或,
[0090]接收网络侧发送的下行数据包。
[0091]结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述处理器具体用于执行以下步骤:当所述数据包为上行数据包时,
[0092]若所述上行数据包的业务类型为动态主机配置协议DHCP请求,为所述用户终端分配私网互联网第四版本协议IPv4地址或下一代互联网协议IPv6地址;或,
[0093]若所述上行数据包的业务类型为拨号上网请求,对所述用户终端进行用户接入认证;或,
[0094]若所述上行数据包的业务类型为向网络侧发送上行数据,按照家庭防火墙的功能对所述上行数据包进行分析,决定是否对所述上行数据包放行,若决定放行向所述网络侧发送所述上行数据包。
[0095]结合第三方面的第一种可能的实现方式,在第三方面的第三种可能的实现方式中,所述处理器具体用于执行以下步骤:当所述数据包为下行数据包时,
[0096]若所述下行数据包的业务类型为向所述用户终端发送下行数据,按照家庭防火墙的功能对所述下行数据包进行分析,决定是否对所述下行数据包放行,若决定放行向所述RGW发送所述下行数据包;或,
[0097]若所述下行数据包的业务类型为向所述用户终端发送下行数据,对所述下行数据包进行杀毒,将杀毒后的下行数据包向所述RGW发送。
[0098]结合第三方面,在第三方面的第四种可能的实现方式中,所述处理器具体用于执行以下步骤:
[0099]在所述用户终端上线后,对所述用户终端进行用户管理和用户上线信息维护。
[0100]结合第三方面,在第三方面的第五种可能的实现方式中,所述处理器具体用于执行以下步骤:
[0101]若所述数据包的业务类型为发送上下行数据,对所述数据包的源IP地址和源端口号进行网络地址转换NAT。
[0102]结合第三方面的第五种可能的实现方式,在第三方面的第六种可能的实现方式中,所述处理器具体用于执行以下步骤:
[0103]判断所述数据包是否命中已经存在的流表;
[0104]若命中所述流表,按照所述流表中记录的NAT表项进行源IP地址和源端口号的转换;
[0105]若没有命中所述流表,根据所述数据包的源IP地址以及所述服务器中预置的IP及端口映射关系生成NAT表项;
[0106]将生成的所述NAT表项更新到流表中,按照更新后的流表中记录的NAT表项进行源IP地址和源端口号的转换。
[0107]结合第三方面的第五种可能的实现方式,在第三方面的第七种可能的实现方式中,所述处理器具体用于执行以下步骤:
[0108]若所述数据包为上行数据包,对所述数据包的源IP地址和源端口号进行网络地址转换NAT之后,对NAT转换后的上行数据包进行IPv6隧道的封装;
[0109]将IPv6隧道封装后的上行数据包发送给边界路由器BR,由所述BR对IPv6隧道封装后的上行数据包进行解封装,然后发送给网络侧。
[0110]结合第三方面的第五种可能的实现方式,在第三方面的第八种可能的实现方式中,所述处理器具体用于执行以下步骤:若所述服务器从BR接收到下行数据包,
[0111]对所述数据包的源IP地址和源端口号进行网络地址转换NAT之前,对所述下行数据包进行IPv6隧道的解封装;
[0112]对IPv6隧道解封装后的下行数据包的源IP地址和源端口号进行NAT ;
[0113]对IPv6隧道解封装后的下行数据包的源IP地址和源端口号进行NAT之后,将NAT转换后的下行数据包发送给所述RGW。
[0114]结合第三方面,在第三方面的第九种可能的实现方式中,所述处理器具体用于执行以下步骤:若所述数据包为上行数据包,
[0115]对所述上行数据包进行IPv6隧道的封装;
[0116]将IPv6隧道封装后的上行数据包发送给BR,由所述BR对IPv6隧道封装后的上行数据包进行IPv6隧道解封装并进行NAT,然后发送给网络侧。
[0117]结合第三方面,在第三方面的第十种可能的实现方式中,所述处理器具体用于执行以下步骤:若所述服务器从BR接收到下行数据包,
[0118]对所述下行数据包进行IPv6隧道的解封装;
[0119]将IPv6隧道解封装后的下行数据包发送给所述RGW。
[0120]结合第三方面的第五种可能的实现方式,在第三方面的第十一种可能的实现方式中,所述处理器具体用于执行以下步骤:若所述数据包为上行数据包,所述上行数据包的源IP地址为IPv6地址且源端口号为所述用户终端的端口号,将所述IPv6地址按照流表转换为公网IPv4地址,将所述用户终端的端口号按照流表转换为公网端口号;
[0121]若所述数据包为下行数据包,所述下行数据包的源IP地址为公网IPv4地址且源端口号为公网端口号,将所述公网IPv4地址按照流表转换为IPv6地址,将所述公网端口号按照流表转换为用户终端的端口号。
[0122]从以上技术方案可以看出,本发明实施例具有以下优点:
[0123]本发明实施例中,若RGW接收到数据包,由RGW将数据包转发给服务器进行识别,在识别出数据包的业务类型后,服务器基于该数据包的业务类型为与RGW连接的用户终端提供虚拟家庭网关服务,而若网络侧接收到数据包,由网络侧将数据包转发给服务器进行识别,在识别出数据包的业务类型后,服务器基于该数据包的业务类型为与RGW连接的用户终端提供虚拟家庭网关服务。由于RGW将数据包转发给了服务器,由服务器提供虚拟家庭网关服务,可见RGW的家庭网关服务功能被转移到了服务器中,并且对于网络侧发送的数据包,服务器也基于该数据包的业务类型为用户终端提供了虚拟家庭网关服务,而不再由RGW来提供家庭网关服务功能。故当RGW的家庭网关服务功能转移到服务器之后,使得RGW的功能得到了简化,使得家庭网络在IPv6的部署和演进中是透明的、无感知的。由于服务器通常部署在网络的汇聚层,具有更方便的维护机制,可以降低维护和升级的成本,也同时降低了家庭设备的故障率。
【专利附图】

【附图说明】
[0124]图1为现有技术中的一种家庭网关的部署结构示意图;
[0125]图2为本发明实施例提供的一种家庭网关服务功能的实现方法的流程方框示意图;
[0126]图3-a为发明实施例中家庭网关服务功能的实现方法应用于NAT444场景下的实现过程示意图;
[0127]图3-b为本发明实施例中家庭网关服务功能的实现方法应用于MAP-E场景下的实现过程示意图;
[0128]图3-c为本发明实施例中家庭网关服务功能的实现方法应用于DS-Lite场景下的实现过程示意图;
[0129]图3-d为本发明实施例中家庭网关服务功能的实现方法应用于NAT64场景下的实现过程示意图;
[0130]图4_a为本发明实施例提供的一种服务器的组成结构示意图;
[0131]图4-b为本发明实施例提供的一种NAT转换子模块的组成结构示意图;
[0132]图4-c为本发明实施例提供的一种虚拟家庭网关服务模块的组成结构示意图;
[0133]图4_d为本发明实施例提供的另一种虚拟家庭网关服务模块的组成结构示意图;
[0134]图4_e为本发明实施例提供的另一种虚拟家庭网关服务模块的组成结构示意图;
[0135]图4_f为本发明实施例提供的另一种虚拟家庭网关服务模块的组成结构示意图;
[0136]图5为本发明实施例提供的另一种服务器的组成结构示意图。
【具体实施方式】
[0137]本发明实施例提供了一种家庭网关服务功能的实现方法和服务器,能够使家庭网关在IPv6的改造过程中透明化,降低家庭网关升级IPv6后带来的故障率和频繁升级。
[0138]为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域的技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0139]本发明的说明书和权利要求书中术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单
J Li ο[0140]以下分别进行详细说明。
[0141]本发明虚拟家庭网关服务功能的实现方法的一个实施例,可应用于服务器中,尤其是宽带远程接入服务器(BRAS,Broadband Remote Access Server)中,该方法可包括:月艮务器接收家庭网关(RGW, Residential Gateway)或网络侧转发的数据包;上述服务器根据上述数据包携带的信息识别出上述数据包的业务类型;上述服务器基于上述数据包的业务类型为与上述RGW连接的用户终端提供虚拟家庭网关服务。
[0142]请参阅图2所示,本发明一个实施例提供的虚拟家庭网关服务功能的实现方法方法,可以包括如下步骤:
[0143]201、服务器接收RGW或网络侧转发的数据包。
[0144]在本发明实施例中,RGW通常部署在用户侧,RGW可以连接一个用户终端,也可以连接有多个用户终端,在后续实施例中,以RGW连接有一个用户终端为例进行说明,当然同样也适用于RGW与多个用户终端相连接的应用场景。服务器部署在网络侧,服务器与RGW相连接,在实际应用中,本发明实施例中描述的服务器具体可以指的是BRAS,也可以是单独的一个网元部署在网络侧,也可以作为单独的一个服务模块部署在BRAS中,此处仅作说明。
[0145]在本发明的一些实施例中,服务器从RGW或网络侧接收到数据包,通常可以指的是如下两种情形:服务器接收RGW转发的上行数据包,其中,上述上行数据包由用户终端发送给上述RGW ;或,上述服务器接收网络侧发送的下行数据包。
[0146]需要说明的是,现有技术中家庭网关从用户终端接收到数据包后不仅执行二层转发业务,同时也执行三层转发业务,由于三层以及三层以上业务处理方法繁多且复杂,比如三层防火墙、数字生活网络联盟(DLNA,Digital Living Network Alliance)等三层以上的报文内容处理业务,这使得RGW的结构较为复杂,即现有技术中RGW在接收到用户终端发送的数据包后通常需要执行家庭网关的服务功能对该数据包进行业务处理,而本发明实施例中RGW在接收到数据包后直接转发给服务器,由服务器来进行后续的业务处理,从而对RGW来说大大简化了 RGW的功能,也将RGW从繁重的工作负荷中解脱出来,使得RGW的结构简化,也就会降低RGW在软件配置和硬件结构上的故障率,对于今后IPv6的部署和演进,对于RGff来说是透明的,无感知的。
[0147]202、上述服务器根据上述数据包携带的信息识别出上述数据包的业务类型。
[0148]在本发明实施例中,服务器从RGW或网络侧接收到数据包后,由服务器对该数据包携带的信息进行识别,从中识别出该数据包的业务类型。
[0149]需要说明的是,现有技术中服务器在接收到数据包后,通常只进行转发,而不会执行家庭网关的任何功能,因为现有的家庭网关功能都是在RGW中实现的,例如,现有的服务器接收到RGW发送的上行数据包后通常只进行转发,转发到网络侧的网元中,如服务器将上行数据包转发到运营商级网络地址转换(CGN, Carrier-Grade Network AddressTranslation),由于现有的RGW通常还负责三层以上转发功能,如RGW对上行数据包进行网络地址转换(NAT, Network Address Translation)后才发送到服务器,服务器再将上行数据包转发到CGN,而CGN通常也会上行数据包进行NAT,也就是说,现有的IPv4地址扩展方案中,通常会进行两级的NAT,而两级的NAT对有的应用程序而言并不能完全的兼容,例如:
(I)、使用两级NAT后,BT软件下载速度变慢;(2)、现网超级节点数量减少,影响Skype使用;(3)、花生壳(DDNS)不能用;(4)、家庭网络监控软件无法使用。[0150]在本发明实施例中服务器的处理方式与现有技术不同,在收到数据包后对数据包携带的信息进行判断,从中识别出数据包的业务类型,其中数据包携带的信息具体可以指发送该数据包的发送端信息、接口信息等等,通过发送端信息可以获取到发送端所属的群组,从而识别出数据包的业务类型以用于服务器为用户终端提供虚拟家庭网关服务。这与现有技术中服务器只进行单纯的转发是不同的,本发明实施例中服务器实现的功能是从RGff中转移到服务器由服务器来实现。
[0151]需要说明的是,本发明实施例中服务器对数据包携带的信息进行判断,从中识别出该数据包的业务类型之后,服务器就可以通过数据包的业务类型应该采取什么样的业务处理。其中,数据包的业务类型具体可以指多种情况,例如,业务类型可以指用户终端需要拨号上网,或用户终端发起get请求访问网络,或网络侧对用户终端的请求进行响应,或网络侧向用户终端发送其需要下载的数据。
[0152]203、服务器基于上述数据包的业务类型为与上述RGW连接的用户终端提供虚拟家庭网关服务。
[0153]在本发明实施例中,RGW中将承载在网络层以上的功能转移到服务器中来实现,按照现有的实现方式通常由RGW为用户终端提供虚拟家庭网关服务,而本发明实施例中,服务器可以实现三层以上的功能,基于数据包的业务类型为用户终端提供虚拟家庭网关服务。通过对RGW的简化,使得在IPv6部署和演进过程中RGW是透明的、无感知的,故可以减少对RGW的维护,降低维护的成本,而只需要维护设置在网络的接入层的服务器即可,维护起来更方便,维护成本更低。
[0154]需要说明的是,本发明实施例中由服务器来为用户终端提供虚拟家庭网关服务,故当在RGW中部署IPv6对RGW的升级换代就需要在服务器中进行,即需要在服务器中部署IPv6,这样部署IPv6难度就显著降低了。并且本发明实施例中,服务器可以兼容IPv6的各种过渡技术,以及可以实现不同过渡技术的平滑演进。其中,常用的IPv6过渡技术有NAT444、双栈、无状态地址和端口复用-封装技术(MAP-E, Mapping Address andPort-Encapsulation)、轻量级双栈(DS-Lite, Dual Stack-Lite)>NAT64 等。接下来结合步骤203的多种实现方式对本发明实施例中服务器能够兼容IPv6的过渡技术做出详细说明,请参照后续举例说明。
[0155]在本发明的一些实施例中,步骤203服务器基于上述数据包的业务类型为与上述RGW连接的用户终端提供虚拟家庭网关服务,具体可以包括:在用户终端上线后,服务器对用户终端进行用户管理和用户上线信息维护。例如对用户建立的会话进行管理,对用户的操作日志进行更新,以及对用户进行认证管理等等。需要说明的是,本发明实施例中,并不是RGW的所有功能都可以转移到服务器中来实现,例如:RGW本身仍然保留接口功能和部分管理功能,如RGW的链路层特性(指的是物理层和链路层等功能),RGff保留的管理功能具体可以包括 DLNA 和 TR-69 协议(Technical Report069)o
[0156]在本发明的另一些实施例中,当数据包为上行数据包时,步骤203服务器基于数据包的业务类型为与RGW连接的用户终端提供虚拟家庭网关服务,具体可以包括如下步骤:
[0157]Al、若上述上行数据包的业务类型为动态主机配置协议(DHCP,Dynamic HostConfiguration Protocol)请求,服务器为上述用户终端分配私网IPv4地址或IPv6地址;或,
[0158]A2、若上述上行数据包的业务类型为拨号上网请求,服务器对上述用户终端进行用户接入认证;或,
[0159]A3、若上述上行数据包的业务类型为向网络侧发送上行数据,服务器按照家庭防火墙的功能对上述上行数据包进行分析,决定是否对上述上行数据包放行,若决定放行向上述网络侧发送上述上行数据包。
[0160]其中,步骤A1中,通过步骤202获知用户终端发起了 DHCP请求,则服务器就需要为用户终端分配IP地址,在IPv6的过渡技术NAT444场景、MAP-E场景、DS-Lite场景下,服务器为用户终端分配一个私网IPv4地址,在IPv6的过渡技术NAT64场景下,服务器为用户终端分配一个IPv6地址,服务器此处实现的是网络管理功能,在现有技术中这需要由RGW来实现的功能可以转移到服务器中,由服务器来完成为用户终端分配IP地址。步骤A2中,通过步骤202获知用户终端发起拨号上网请求,则服务器需要对用户终端进行用户接入认证,服务器实现的是网络管理功能,在现有技术中这需要由RGW来实现的功能可以转移到服务器中,由服务器来完成对用户终端的接入认证。步骤A3中,用户终端向网络侧发起一个get请求,并在get请求中携带需要下载内容的URL (UniformResourceLocator,统一资源定位符)地址,则服务器通过步骤202获知是用户终端向网络侧发送上行数据,则月艮务器可以使用家庭防火墙的功能,拦截用户终端的上行数据包,对该上行数据包进行分析,并根据用户设置的决策来决定是否对该上行数据包放行,若用户的决策没有限制该类型数据包,将该上行数据包转发到网络侧,以实现用户终端通过网络下载数据,服务器此处执行的是安全功能,在现有技术中这需要由RGW来实现的功能可以转移到服务器中,由服务器来完成对用户终端的数据包进行拦截。
[0161]在本发明的另一些实施例中,当数据包为下行数据包时,步骤203服务器基于数据包的业务类型为与RGW连接的用户终端提供虚拟家庭网关服务,具体可以包括如下步骤:
[0162]A4、若上述下行数据包的业务类型为向上述用户终端发送下行数据,服务器按照家庭防火墙的功能对上述下行数据包进行分析,决定是否对上述下行数据包放行,若决定放行向上述RGW发送上述下行数据包,或,
[0163]A5、若上述下行数据包的业务类型为向上述用户终端发送下行数据,服务器对上述下行数据包进行杀毒,将杀毒后的下行数据包向上述RGW发送。
[0164]其中,步骤A4中针对下行数据包服务器提供家庭防火墙的功能,服务器此处执行的是安全功能,在现有技术中这需要由RGW来实现的功能可以转移到服务器中,由服务器来完成对用户终端的数据包进行拦截。对于步骤A5,在网络侧向用户终端发送下行数据时,服务器可以执行杀毒软件的功能,对网络侧发送的下行数据包进行杀毒,杀毒后再将下行数据包发送给RGW,此处服务器同样执行安全功能,而现有技术中这是由RGW来完成的。
[0165]在本发明的另一些实施例中,步骤203服务器基于数据包的业务类型为与RGW连接的用户终端提供虚拟家庭网关服务,具体可以包括如下步骤:
[0166]A6、若上述数据包的业务类型为发送上下行数据,服务器对上述数据包的源IP地址和源端口号进行网络地址转换(NAT, Network Address Translation)。
[0167]具体的,步骤A6服务器对数据包的源IP地址和源端口号进行NAT,可以包括:[0168]A61、判断上述数据包是否命中已经存在的流表,若命中上述流表执行步骤A62,若没有命中上述流表执行步骤A63和A64。
[0169]A62、若命中上述流表,按照上述流表中记录的NAT表项进行源IP地址和源端口号的转换;
[0170]A63、若没有命中上述流表,根据上述数据包的源IP地址以及服务器中预置的IP及端口映射关系生成NAT表项;
[0171]A64、将生成的上述NAT表项更新到流表中,按照更新后的流表中记录的NAT表项进行源IP地址和源端口号的转换。
[0172]需要说明的是,在本发明实施例中流表是由多个NAT表项组成,每个表项就是一个转发规则,通常数据包通过查询流表来获得转发的目的端口。例如,对于用户终端发出的数据包,其源IP地址为服务器分配给该用户终端的私网IP地址,在该数据包命中流表后根据流表中记录的NAT表项,将该私网IP地址转换为公网IP地址。
[0173]在数据包没有命中流表的情况下,服务器需要执行NAT的功能,根据数据包中的私网IP地址(即源IP地址),生成NAT表项,根据数据包中的源地址(私网IP地址)、源端口号,结合服务器内部记录的IP及端口映射关系,生成新的源IP地址(即公网IP地址)和新的源端口号,这两组源IP地址和源端口号就可以组成一个NAT表项。当家庭设备的一个数据报文过来匹配流表时,命中了源IP地址和源端口号,服务器就将此报文的源IP地址、源IP端口号修改为新的源IP地址和新的源端口号,另外可以理解的是,生成NAT表项后存储到流表中,以便于下次数据包能够命中该流表,从而按照流表转换源IP地址和源端口号。
[0174]需要说明的是,本发明实施例中服务器此处执行的是网络功能(例如NAT转换),在现有技术中这需要由RGW来实现的功能可以转移到服务器中,由服务器来完成数据包的NAT转换。针对于不同的IPv6过渡技术,本发明实施例中服务器对数据包的NAT转换在具体实现时也有不同的实现方式,接下来分别结合具体的应用场景对多种IPv6过渡技术在进行NAT转换时给出详细的说明。
[0175]在NAT444的应用场景中,RGff不再执行NAT功能,而是当RGW从用户终端接收到上行数据包后,直接转发给服务器,由服务器将上行数据包的私网IPv4地址转换为公网IPv4地址,然后服务器向网络侧发送上行数据包。当网络侧向服务器发送下行数据包时,服务器执行NAT功能,将下行数据包的公网IPv4地址转换为私网IPv4地址,然后服务器将下行数据包转发给RGW。
[0176]在MAP-E场景下,步骤203服务器基于上述数据包的业务类型为与上述RGW连接的用户终端提供虚拟家庭网关服务,除了包括步骤A6服务器对数据包的源IP地址和源端口号进行NAT之外,还可以包括如下步骤:
[0177]A7、若上述数据包为上行数据包,服务器对NAT转换后的上行数据包进行IPv6隧道的封装;
[0178]AS、服务器将IPv6隧道封装后的上行数据包发送给边界路由器(BR,BorderRouter),由上述BR对IPv6隧道封装后的上行数据包进行解封装,然后发送给网络侧。
[0179]其中,在MAP-E场景下,服务器在进行NAT转换后需要进行IPv6隧道的封装,也就是在上行数据包上添加IPv6报文头,封装好后发给BR,其中BR对IPv6隧道封装后的上行数据包进行解封装,即去掉IPv6报文头,然后由BR将上行数据包发送给网络侧,可见,在本发明实施例中,只需要由服务器进行一次NAT转换即可完成整个数据的传输,这与现有技术中RGW和CGN分别进行一次NAT (即两级NAT)相比,可以实现应用程序的NAT穿越,从而能够兼容目前大多数的应用程序,例如BT、Skype等等。
[0180]在MAP-E场景下,若服务器从BR接收到下行数据包,步骤203服务器基于上述数据包的业务类型为与上述RGW连接的用户终端提供虚拟家庭网关服务,除了包括步骤A6服务器对数据包的源IP地址和源端口号进行NAT之外,还可以包括如下步骤:
[0181]A60、在步骤A6执行之前,服务器对上述下行数据包进行IPv6隧道的解封装;
[0182]步骤A6服务器对数据包的源IP地址和源端口号进行NAT,具体为:
[0183]服务器对IPv6隧道解封装后的下行数据包的源IP地址和源端口号进行NAT ;
[0184]那么,服务器对IPv6隧道解封装后的下行数据包的源IP地址和源端口号进行NAT之后,步骤203还包括如下步骤A9:
[0185]A9、服务器将NAT转换后的下行数据包发送给RGW。
[0186]其中,在MAP-E场景下,前面描述的是上行数据包的处理方法,此处描述的是下行数据包的处理方法,若服务器从BR接收到下行数据包,服务器需要执行NAT功能,由于MAP-E场景中下行数据包是封装有IPv6隧道的,故在进行NAT之前需要先进行IPv6隧道的解封装,然后才能执行NAT,并且在执行NAT之后,服务器才将NAT转换后的下行数据包发送给 RGW。
[0187]在DS-Lite场景下,步骤203服务器基于上述数据包的业务类型为与上述RGW连接的用户终端提供虚拟家庭网关服务,可以包括如下步骤:
[0188]A10、若上述数据包为上行数据包,服务器对上述上行数据包进行IPv6隧道的封装;
[0189]All、服务器将IPv6隧道封装后的上行数据包发送给BR,由BR对IPv6隧道封装后的上行数据包进行IPv6隧道解封装并进行NAT,然后发送给网络侧。
[0190]其中,DS-Lite场景和MAP-E场景的不同之处在于,对于上行数据包而言,DS-Lite场景下服务器服务器需要先进行IPv6隧道的封装,然后将封装后的上行数据包发给BR,故服务器需要先进行IPv6隧道的封装,然后BR在解封装后,再对上行数据包进行NAT。
[0191 ] 在DS-Lite场景下,若服务器从BR接收到下行数据包,BR会首先对下行数据包进行NAT转换,然后BR对NAT转换后的下行数据包进行IPv6隧道的封装,然后在发给服务器,故步骤203服务器基于上述数据包的业务类型为与上述RGW连接的用户终端提供虚拟家庭网关服务,具体可以包括如下步骤:
[0192]A12、服务器对下行数据包进行IPv6隧道的解封装;
[0193]A13、服务器将IPv6隧道解封装后的下行数据包发送给RGW。
[0194]其中,DS-Lite场景和MAP-E场景的不同之处在于,对于下行数据包而言,DS-Lite场景下BR在执行NAT之后进行了 IPv6隧道的封装,故服务器从BR接收到下行数据包后,服务器需要先进行IPv6隧道的解封装,然后再将下行数据包转发给RGW。
[0195]在NAT64的应用场景中,当数据包为上行数据包时,上行数据包的源IP地址为IPv6地址且源端口号为上述用户终端的端口号,步骤A6服务器对数据包的源IP地址和源端口号进行NAT,包括:
[0196]将IPv6地址按照流表转换为公网IPv4地址,将用户终端的端口号按照流表转换为公网端口号。
[0197]当数据包为下行数据包,下行数据包的源IP地址为公网IPv4地址且源端口号为公网端口号,步骤A6服务器对数据包的源IP地址和源端口号进行NAT,包括:
[0198]将公网IPv4地址按照流表转换为IPv6地址,将公网端口号按照流表转换为用户终端的端口号。
[0199]其中,在NAT64的应用场景下,服务器分配给用户终端的IP地址为IPv6地址,故需要服务器将源IP地址(IPv6地址)转换为公网IPv4地址,或,将源IP地址(公网IPv4地址)转换为IPv6地址。
[0200]由以上实施例可知,若RGW接收到数据包,由RGW将数据包转发给服务器进行识另O,在识别出数据包的业务类型后,服务器基于该数据包的业务类型为与RGW连接的用户终端提供虚拟家庭网关服务,而若网络侧接收到数据包,由网络侧将数据包转发给服务器进行识别,在识别出数据包的业务类型后,服务器基于该数据包的业务类型为与RGW连接的用户终端提供虚拟家庭网关服务。由于RGW将数据包转发给了服务器,由服务器提供虚拟家庭网关服务,可见RGW的家庭网关服务功能被转移到了服务器中,并且对于网络侧发送的数据包,服务器也基于该数据包的业务类型为用户终端提供了虚拟家庭网关服务,而不再由RGW来提供家庭网关服务功能。故当RGW的家庭网关服务功能转移到服务器之后,使得RGW的功能得到了简化,使得家庭网络在IPv6的部署和演进中是透明的、无感知的。由于服务器通常部署在网络的汇聚层,具有更方便的维护机制,可以降低维护和升级的成本,也同时降低了家庭设备的故障率。
[0201]为便于更好的理解和实施本发明实施例的上述方案,下面举例相应的应用场景来进行具体说明。
[0202]接下来以本发明实施例中描述的服务器为BRAS作为例子进行详细说明,本发明实施例中描述的RGW具体指的是路由型RGW,并且未来网络将以路由型RGW为主,本发明实施例中路由型RGW仅包括接口功能和部分管理功能(DLNA、TR-69),其中,接口功能、DLNA,TR-69为RGW的基本功能。
[0203]本发明实施例中路由型RGW所包括的三层以及以上的功能将上移到BRAS中,BRAS可以实现如下功能:
[0204]1、简化用户接入流程:将用户认证、DHCP地址分配等功能集成到BRAS ;
[0205]2、解决NAT穿越问题:将RGff和CGN的NAT合并,减少用户流量进行NAT的次数,并支持通过uPnP (Universal Plug and Play,通用即插即用)开放端口 ;
[0206]3、RGW集中管理:只需要升级和维护BRAS即可,大幅提升RGW的升级和维护效率。
[0207]在未来的IPv6演进中,不同的IPv6方案对RGW都有不同的要求,而RGW海量部署的特点决定了运营商无法轻易的升级和替换。而本发明实施例中通过将RGW的主要功能(如网络层以上功能)集中到BRAS,实现统一管理,解决了 RGW升级和维护困难的问题。进而有力的支持了网络向IPv6的演进,对各种IPv6的过渡技术都有很好的支持。
[0208]接下来结合IPv6的过渡技术进行举例说明:
[0209]请参阅如图3_a所示,为本发明实施例中家庭网关服务功能的实现方法应用于NAT444场景下的实现过程示意图,RGW分别与一个用户终端(即PC,Personal Computer)相连接,并且RGW和BRAS相连接,BRAS能够实现现有技术中路由型RGW在网络层及以上的功能,含用户管理、NAT等。BRAS具体可以包括BAS (Broadband Remote Access Server,宽带接入服务)板、vHome (虚拟家庭网关服务)板、网板、上行板,其中,
[0210]BAS板,主要用于负责用户管理和用户上线信息维护;
[0211]vHome板,同时兼做CGN板,主要用于负责为用户私网IPv4流量进行NAT,转换为公网IPv4流量;
[0212]上行板是接口板,主要用于与上一层的设备连接,收发数据;
[0213]网板,主要用于不同单板(例如BAS板、vHome板、上行板)之间交换数据,相当于发挥总线的功能。
[0214]需要说明的是,本发明实施例中BRAS为每个用户终端分配1个公网IPv4地址及一段连续的端口,为用户上网期间使用。RGW主要实现桥接型RGW的功能,其中,桥接型RGW指的是工作在二层的RGW,功能简单,没有路由功能,需要用户终端进行拨号,而路由型RGW指的是工作在三层的RGW,可以直接拨号,RGW可以下挂多台用户终端。
[0215]请参阅如图3_b所示,为本发明实施例中家庭网关服务功能的实现方法应用于MAP-E场景下的实现过程示意图,RGW分别与一个用户终端(即PC)相连接,并且RGW和BRAS相连接,BRAS连接BR,BRAS能够实现现有技术中路由型RGW在网络层及以上的功能,含用户管理、NAT等。BRAS具体可以包括BAS板、vHome板、网板、上行板,其中,
[0216]BAS板,主要用于负责用户管理和用户上线信息维护;
[0217]vHome板,主要用于负责为用户私网IPv4流量进行NAT,转换为公网IPv4流量,然后封装入IPv6隧道,透传给BR处理。
[0218]上行板是接口板,主要用于与上一层的设备连接,收发数据;
[0219]网板,主要用于不同单板(例如BAS板、vHome板、上行板)之间交换数据,相当于发挥总线的功能。
[0220]需要说明的是,本发明实施例中BR实现报文的IPv6隧道封装/解封装和报文的基于端口转发,与BRAS之间通过IPv6隧道连接,BR为每个用户终端分配1个公网IPv4地址及一段连续的端口,为用户上网期间使用。RGW主要实现桥接型RGW的功能,包括接口功能、DLNA、TR-69等管理功能。
[0221]请参阅如图3-c所示,为本发明实施例中家庭网关服务功能的实现方法应用于DS-Lite场景下的实现过程示意图,RGW分别与一个用户终端(即PC)相连接,并且RGW和BRAS相连接,BRAS连接BR,BRAS能够实现现有技术中路由型RGW在网络层及以上的功能,含用户管理等。BRAS具体可以包括BAS板、vHome板、网板、上行板,其中,
[0222]BAS板,主要用于负责用户管理和用户上线信息维护;
[0223]vHome板,主要用于将用户私网IPv4流量封装入IPv6隧道后,透传给BR处理,BR负责为用户私网IPv4流量进行NAT,转换为公网IPv4流量。
[0224]上行板是接口板,主要用于与上一层的设备连接,收发数据;
[0225]网板,主要用于不同单板(例如BAS板、vHome板、上行板)之间交换数据,相当于发挥总线的功能。
[0226]需要说明的是,本发明实施例中BR实现报文的IPv6隧道封装/解封装、NAT转换和报文的基于端口转发,与BRAS之间通过IPv6隧道连接,BR为每个用户终端分配1个公网IPv4地址及一段连续的端口,为用户上网期间使用。RGW主要实现桥接型RGW的功能,包括接口功能、DLNA、TR-69等管理功能。
[0227]请参阅如图3-d所示,为本发明实施例中家庭网关服务功能的实现方法应用于NAT64场景下的实现过程示意图,RGW分别与一个用户终端(即PC)相连接,并且RGW和BRAS相连接,BRAS能够实现现有技术中路由型RGW在网络层及以上的功能,含用户管理、NAT等。BRAS具体可以包括BAS板、vHome板、网板、上行板,其中,
[0228]BAS板,主要用于负责用户管理和用户上线信息维护;
[0229]vHome板,同时兼做CGN板,主要用于负责为用户IPv6流量进行NAT,转换为公网IPv4流量;
[0230]上行板是接口板,主要用于与上一层的设备连接,收发数据;
[0231]网板,主要用于不同单板(例如BAS板、vHome板、上行板)之间交换数据,相当于发挥总线的功能。
[0232]需要说明的是,本发明实施例中BRAS为每个用户终端分配I个公网IPv4地址及一段连续的端口,为用户上网期间使用。RGW主要实现桥接型RGW的功能,包括接口功能、DLNA, TR-69等管理功能。
[0233]通过以上举例说明可知,本发明实施例解决如下问题:首先针对IPv6部署/演进要求RGW替换及周边系统改造,本发明实例中vHome板能够简化RGW功能,使得家庭网络在IPv6部署和演进过程中是透明、无感知的,避免了由于IPv6引入导致RGW功能复杂化的问题;其次,针对两级NAT穿越对应用的影响,本发明实施例通过vHome方案,将RGW与CGN结合,用户访问网络仅进行一次NAT,用户可以通过UPnP开放vHome中的端口,实现应用对端口开放的需求;最后,针对RGW的运维高成本,本发明实施例可以简化RGW和家庭网络,减少网络故障,简化故障定位,提高用户体验,减少用服中心建设、上门维修和RGW替换,降低OPEX (OperatingExpense,管理支出)。
[0234]需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0235]为便于更好的实施本发明实施例的上述方案,下面还提供用于实施上述方案的相
关装置。
[0236]请参阅图4-a所示,本发明实施例提供的一种服务器400,可以包括:接收模块401、业务类型获取模块402和虚拟家庭网关服务模块403,其中,
[0237]接收模块401,用于接收家庭网关RGW或网络侧转发的数据包;
[0238]业务类型获取模块402,用于根据所述数据包携带的信息识别出所述数据包的业务类型;
[0239]虚拟家庭网关服务模块403,用于基于所述数据包的业务类型为与所述RGW连接的用户终端提供虚拟家庭网关服务。
[0240]在本发明的一些实施例中,接收模块401,具体用于接收所述RGW转发的上行数据包,所述上行数据包由用户终端发送给所述RGW ;或,接收网络侧发送的下行数据包。
[0241]在本发明的另一些实施例中,当所述数据包为上行数据包时,虚拟家庭网关服务模块403,具体用于若所述上行数据包的业务类型为动态主机配置协议DHCP请求,为所述用户终端分配私网互联网第四版本协议IPv4地址或下一代互联网协议IPv6地址;或,若所述上行数据包的业务类型为拨号上网请求,对所述用户终端进行用户接入认证;或,若所述上行数据包的业务类型为向网络侧发送上行数据,按照家庭防火墙的功能对所述上行数据包进行分析,决定是否对所述上行数据包放行,若决定放行向所述网络侧发送所述上行数据包。
[0242]在本发明的另一些实施例中,当所述数据包为下行数据包时,虚拟家庭网关服务模块403,具体用于若所述下行数据包的业务类型为向所述用户终端发送下行数据,按照家庭防火墙的功能对所述下行数据包进行分析,决定是否对所述下行数据包放行,若决定放行向所述RGW发送所述下行数据包,或,若所述下行数据包的业务类型为向所述用户终端发送下行数据,对所述下行数据包进行杀毒,将杀毒后的下行数据包向所述RGW发送。
[0243]在本发明的另一些实施例中,虚拟家庭网关服务模块403,具体用于在所述用户终端上线后,对所述用户终端进行用户管理和用户上线信息维护。
[0244]在本发明的另一些实施例中,若所述数据包的业务类型为发送上下行数据,虚拟家庭网关服务模块403,包括:NAT转换子模块4031,用于对所述数据包的源IP地址和源端口号进行网络地址转换NAT。
[0245]具体的,请参阅如图4-b所示,在本发明的一些实施例中,NAT转换子模块4031,包括:判断子单元40311、第一 NAT转换子单元40312、NAT表项生成子单元40313、第二 NAT转换子单元40314,其中,
[0246]所述判断子单元40311,用于判断所述数据包是否命中已经存在的流表,若命中所述流表,触发所述第一 NAT转换子单元40312执行,若没有命中所述流表,触发所述NAT表项生成子单元40313和第二 NAT转换子单元40314执行;
[0247]所述第一 NAT转换子单元40312,用于若命中所述流表,按照所述流表中记录的NAT表项进行源IP地址和源端口号的转换;
[0248]所述NAT表项生成子单元40313,用于若没有命中所述流表,根据所述数据包的源IP地址以及所述服务器中预置的IP及端口映射关系生成NAT表项;
[0249]所述第二 NAT转换子单元40314,用于将生成的所述NAT表项更新到流表中,按照更新后的流表中记录的NAT表项进行源IP地址和源端口号的转换。
[0250]请参阅如图4-c所示,在本发明的一些实施例中,若所述数据包为上行数据包,虚拟家庭网关服务模块403,除了包括NAT转换子模块4031之外,可以包括:第一封装子模块4032和第一发送子模块4033,其中,
[0251 ] 所述第一封装子模块4032,用于所述NAT转换子模块4031对所述上行数据包进行NAT转换后,对NAT转换后的上行数据包进行IPv6隧道的封装;
[0252]所述第一发送子模块4033,用于将IPv6隧道封装后的上行数据包发送给边界路由器BR,由所述BR对IPv6隧道封装后的上行数据包进行解封装,然后发送给网络侧。
[0253]请参阅如图4-d所示,在本发明的一些实施例中,若所述服务器从BR接收到下行数据包,虚拟家庭网关服务模块403,除了包括NAT转换子模块4031之外,可以包括:第一解封装子模块4034和第二发送子模块4035,其中,
[0254]所述第一解封装子模块4034,用于所述NAT转换子模块4031对所述下行数据包进行NAT转换之前,对所述下行数据包进行IPv6隧道的解封装;
[0255]所述NAT转换子模块4031,具体用于对IPv6隧道解封装后的下行数据包的源IP地址和源端口号进行NAT ;
[0256]所述第二发送子模块4035,用于将NAT转换后的下行数据包发送给所述RGW。
[0257]请参阅如图4_e所示,在本发明的一些实施例中,若所述数据包为上行数据包,虚拟家庭网关服务模块403,可以包括:第二封装子模块4036和第一发送子模块4033,其中,
[0258]所述第二封装子模块4036,用于对上行数据包进行IPv6隧道的封装;
[0259]所述第一发送子模块4033,用于将IPv6隧道封装后的上行数据包发送给BR,由所述BR对IPv6隧道封装后的上行数据包进行IPv6隧道解封装并进行NAT,然后发送给网络侧。
[0260]请参阅如图4-f所示,在本发明的一些实施例中,若所述服务器从BR接收到下行数据包,虚拟家庭网关服务模块403,包括:第二解封装子模块4037和第二发送子模块4035,其中,
[0261]所述第二解封装子模块4037,用于所述下行数据包进行IPv6隧道的解封装;
[0262]所述第二发送子模块4035,用于将IPv6隧道解封装后的的下行数据包发送给所述 RGW。
[0263]在本发明的另一些实施例中,所述数据包为上行数据包,所述上行数据包的源IP地址为IPv6地址且源端口号为所述用户终端的端口号,所述NAT转换子模块4031,具体用于将所述IPv6地址按照流表转换为公网IPv4地址,将所述用户终端的端口号按照流表转换为公网端口号;
[0264]所述数据包为下行数据包,所述下行数据包的源IP地址为公网IPv4地址且源端口号为公网端口号,所述NAT转换子模块4031,具体用于将所述公网IPv4地址按照流表转换为IPv6地址,将所述公网端口号按照流表转换为用户终端的端口号。
[0265]需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,其带来的技术效果与本发明方法实施例相同,具体内容可参见本发明前述所示的方法实施例中的叙述,此处不再赘述。
[0266]综上如图4-a至4-f所示的实施例,若RGW接收到数据包,由RGW将数据包转发给服务器进行识别,在识别出数据包的业务类型后,服务器基于该数据包的业务类型为与RGW连接的用户终端提供虚拟家庭网关服务,而若网络侧接收到数据包,由网络侧将数据包转发给服务器进行识别,在识别出数据包的业务类型后,服务器基于该数据包的业务类型为与RGW连接的用户终端提供虚拟家庭网关服务。由于RGW将数据包转发给了服务器,由服务器提供虚拟家庭网关服务,可见RGW的家庭网关服务功能被转移到了服务器中,并且对于网络侧发送的数据包,服务器也基于该数据包的业务类型为用户终端提供了虚拟家庭网关服务,而不再由RGW来提供家庭网关服务功能。故当RGW的家庭网关服务功能转移到服务器之后,使得RGW的功能得到了简化,使得家庭网络在IPv6的部署和演进中是透明的、无感知的。由于服务器通常部署在网络的汇聚层,具有更方便的维护机制,可以降低维护和升级的成本,也同时降低了家庭设备的故障率。
[0267]本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质存储有程序,该程序执行包括上述方法实施例中记载的部分或全部布置。[0268]接下来介绍本发明实施例提供的另一种服务器,请参阅图5所示,服务器500包括:
[0269]输入装置501、输出装置502、处理器503和存储器504 (其中服务器500中的处理器503的数量可以一个或多个,图5中以一个处理器为例)。在本发明的一些实施例中,输入装置501、输出装置502、处理器503和存储器504可通过总线或其它方式连接,其中,图5中以通过总线连接为例。
[0270]其中,处理器503,用于执行如下步骤:通过输入装置接收家庭网关RGW或网络侧转发的数据包;根据所述数据包携带的信息识别出所述数据包的业务类型;基于所述数据包的业务类型为与所述RGW连接的用户终端提供虚拟家庭网关服务。
[0271]在本发明的一些实施例中,处理器503具体用于执行以下步骤:通过输入装置接收所述RGW转发的上行数据包,所述上行数据包由用户终端发送给所述RGW ;或,通过输入装置接收网络侧发送的下行数据包。
[0272]在本发明的一些实施例中,处理器503具体用于执行以下步骤:当所述数据包为上行数据包时,若所述上行数据包的业务类型为动态主机配置协议DHCP请求,为所述用户终端分配私网互联网第四版本协议IPv4地址或下一代互联网协议IPv6地址;或,若所述上行数据包的业务类型为拨号上网请求,对所述用户终端进行用户接入认证;或,若所述上行数据包的业务类型为向网络侧发送上行数据,按照家庭防火墙的功能对所述上行数据包进行分析,决定是否对所述上行数据包放行,若决定放行向所述网络侧发送所述上行数据包。
[0273]在本发明的一些实施例中,处理器503具体用于执行以下步骤:当所述数据包为下行数据包时,若所述下行数据包的业务类型为向所述用户终端发送下行数据,按照家庭防火墙的功能对所述下行数据包进行分析,决定是否对所述下行数据包放行,若决定放行向所述RGW发送所述下行数据包;或,若所述下行数据包的业务类型为向所述用户终端发送下行数据,对所述下行数据包进行杀毒,将杀毒后的下行数据包向所述RGW发送。
[0274]在本发明的一些实施例中,处理器503具体用于执行以下步骤:在所述用户终端上线后,对所述用户终端进行用户管理和用户上线信息维护。
[0275]在本发明的一些实施例中,处理器503具体用于执行以下步骤:若所述数据包的业务类型为发送上下行数据,对所述数据包的源IP地址和源端口号进行网络地址转换NAT0
[0276]在本发明的一些实施例中,处理器503具体用于执行以下步骤:判断所述数据包是否命中已经存在的流表;若命中所述流表,按照所述流表中记录的NAT表项进行源IP地址和源端口号的转换;若没有命中所述流表,根据所述数据包的源IP地址以及所述服务器中预置的IP及端口映射关系生成NAT表项;将生成的所述NAT表项更新到流表中,按照更新后的流表中记录的NAT表项进行源IP地址和源端口号的转换。
[0277]在本发明的一些实施例中,处理器503还用于执行以下步骤:对所述数据包的源IP地址和源端口号进行网络地址转换NAT之后,对NAT转换后的上行数据包进行IPv6隧道的封装;
[0278]将IPv6隧道封装后的上行数据包发送给边界路由器BR,由所述BR对IPv6隧道封装后的上行数据包进行解封装,然后发送给网络侧。
[0279]在本发明的一些实施例中,处理器503具体用于执行以下步骤:若所述服务器从BR接收到下行数据包,对所述数据包的源IP地址和源端口号进行网络地址转换NAT之前,对所述下行数据包进行IPv6隧道的解封装;对IPv6隧道解封装后的下行数据包的源IP地址和源端口号进行NAT ;对IPv6隧道解封装后的下行数据包的源IP地址和源端口号进行NAT之后,将NAT转换后的下行数据包发送给所述RGW。
[0280]在本发明的一些实施例中,处理器503具体用于执行以下步骤:若所述数据包为上行数据包,对所述上行数据包进行IPv6隧道的封装;将IPv6隧道封装后的上行数据包发送给BR,由所述BR对IPv6隧道封装后的上行数据包进行IPv6隧道解封装并进行NAT,然后发送给网络侧。
[0281]在本发明的一些实施例中,处理器503具体用于执行以下步骤:若所述服务器从BR接收到下行数据包,对所述下行数据包进行IPv6隧道的解封装;将IPv6隧道解封装后的下行数据包发送给所述RGW。
[0282]在本发明的一些实施例中,处理器503具体用于执行以下步骤:若所述数据包为上行数据包,将所述IPv6地址按照流表转换为公网IPv4地址,将所述用户终端的端口号按照流表转换为公网端口号;若所述数据包为下行数据包,将所述公网IPv4地址按照流表转换为IPv6地址,将所述公网端口号按照流表转换为用户终端的端口号。
[0283]由上述实施例可知,若RGW接收到数据包,由RGW将数据包转发给服务器进行识另IJ,在识别出数据包的业务类型后,服务器基于该数据包的业务类型为与RGW连接的用户终端提供虚拟家庭网关服务,而若网络侧接收到数据包,由网络侧将数据包转发给服务器进行识别,在识别出数据包的业务类型后,服务器基于该数据包的业务类型为与RGW连接的用户终端提供虚拟家庭网关服务。由于RGW将数据包转发给了服务器,由服务器提供虚拟家庭网关服务,可见RGW的家庭网关服务功能被转移到了服务器中,并且对于网络侧发送的数据包,服务器也基于该数据包的业务类型为用户终端提供了虚拟家庭网关服务,而不再由RGW来提供家庭网关服务功能。故当RGW的家庭网关服务功能转移到服务器之后,使得RGW的功能得到了简化,使得家庭网络在IPv6的部署和演进中是透明的、无感知的。由于服务器通常部署在网络的汇聚层,具有更方便的维护机制,可以降低维护和升级的成本,也同时降低了家庭设备的故障率。
[0284]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0285]以上对本发明所提供的一种家庭网关服务功能的实现方法和服务器进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在【具体实施方式】及应用范围上均会有改变之处,因此,本说明书内容不应理解为对本发明的限制。
【权利要求】
1.一种虚拟家庭网关服务功能的实现方法,其特征在于,包括: 服务器接收家庭网关RGW或网络侧转发的数据包; 所述服务器根据所述数据包携带的信息识别出所述数据包的业务类型; 所述服务器基于所述数据包的业务类型为与所述RGW连接的用户终端提供虚拟家庭网关服务。
2.根据权利要求1所述的方法,其特征在于,所述服务器接收家庭网关RGW或网络侧转发的数据包,包括: 所述服务器接收所述RGW转发的上行数据包,所述上行数据包由用户终端发送给所述RGff ;或, 所述服务器接收网络侧发送 的下行数据包。
3.根据权利要求2所述的方法,其特征在于,当所述数据包为上行数据包时,所述服务器基于所述数据包的业务类型为与所述RGW连接的用户终端提供虚拟家庭网关服务,包括: 若所述上行数据包的业务类型为动态主机配置协议DHCP请求,所述服务器为所述用户终端分配私网互联网第四版本协议IPv4地址或下一代互联网协议IPv6地址;或, 若所述上行数据包的业务类型为拨号上网请求,所述服务器对所述用户终端进行用户接入认证;或, 若所述上行数据包的业务类型为向网络侧发送上行数据,所述服务器按照家庭防火墙的功能对所述上行数据包进行分析,决定是否对所述上行数据包放行,若决定放行则向所述网络侧发送所述上行数据包。
4.根据权利要求2所述的方法,其特征在于,当所述数据包为下行数据包时,所述服务器基于所述数据包的业务类型为与所述RGW连接的用户终端提供虚拟家庭网关服务,包括: 若所述下行数据包的业务类型为向所述用户终端发送下行数据,所述服务器按照家庭防火墙的功能对所述下行数据包进行分析,决定是否对所述下行数据包放行,若决定放行向所述RGW发送所述下行数据包;或, 若所述下行数据包的业务类型为向所述用户终端发送下行数据,所述服务器对所述下行数据包进行杀毒,将杀毒后的下行数据包向所述RGW发送。
5.根据权利要求1所述的方法,其特征在于,所述服务器基于所述数据包的业务类型为与所述RGW连接的用户终端提供虚拟家庭网关服务,包括: 在所述用户终端上线后,所述服务器对所述用户终端进行用户管理和用户上线信息维护。
6.根据权利要求1所述的方法,其特征在于,所述服务器基于所述数据包的业务类型为与所述RGW连接的用户终端提供虚拟家庭网关服务,包括: 若所述数据包的业务类型为发送上下行数据,所述服务器对所述数据包的源IP地址和源端口号进行网络地址转换NAT。
7.根据权利要求6所述的方法,其特征在于,所述服务器对所述数据包的源IP地址和源端口号进行网络地址转换NAT,包括: 判断所述数据包是否命中已经存在的流表;若命中所述流表,按照所述流表中记录的NAT表项进行源IP地址和源端口号的转换;若没有命中所述流表,根据所述数据包的源IP地址以及所述服务器中预置的IP及端口映射关系生成NAT表项; 将生成的所述NAT表项更新到流表中,按照更新后的流表中记录的NAT表项进行源IP地址和源端口号的转换。
8.根据权利要求6所述的方法,其特征在于,若所述数据包为上行数据包,所述服务器基于所述数据包的业务类型为与所述RGW连接的用户终端提供虚拟家庭网关服务,还包括: 所述服务器对所述数据包的源IP地址和源端口号进行网络地址转换NAT之后,所述服务器对NAT转换后的上行数据包进行IPv6隧道的封装; 所述服务器将IPv6隧道封装后的上行数据包发送给边界路由器BR,由所述BR对IPv6隧道封装后的上行数据包进行解封装,然后发送给网络侧。
9.根据权利要求6所述的方法,其特征在于,若所述服务器从BR接收到下行数据包,所述服务器基于所述数据包的业务类型为与所述RGW连接的用户终端提供虚拟家庭网关服务,还包括: 所述服务器对所述数据包的源IP地址和源端口号进行网络地址转换NAT之前,所述服务器对所述下行数据包进行IPv6隧道的解封装; 所述服务器对所述数据包的源IP地址和源端口号进行网络地址转换NAT,具体为:所述服务器对IPv6隧道解封装后的下行数据包的源IP地址和源端口号进行NAT ;所述服务器基于所述数据包的业务类型为与所述RGW连接的用户终端提供虚拟家庭网关服务,还包括: 所述服务器对IPv6隧道解封装后的下行数据包的源IP地址和源端口号进行NAT之后,所述服务器将NAT转换后的下行数据包发送给所述RGW。
10.根据权利要求1所述的方法,其特征在于,若所述数据包为上行数据包,所述服务器基于所述数据包的业务类型为与所述RGW连接的用户终端提供虚拟家庭网关服务,包括: 所述服务器对所述上行数据包进行IPv6隧道的封装; 所述服务器将IPv6隧道封装后的上行数据包发送给BR,由所述BR对IPv6隧道封装后的上行数据包进行IPv6隧道解封装并进行NAT,然后发送给网络侧。
11.根据权利要求1所述的方法,其特征在于,若所述服务器从BR接收到下行数据包,所述服务器基于所述数据包的业务类型为与所述RGW连接的用户终端提供虚拟家庭网关服务,包括: 所述服务器对所述下行数据包进行IPv6隧道的解封装; 所述服务器将IPv6隧道解封装后的下行数据包发送给所述RGW。
12.根据权利要求6所述的方法,其特征在于,若所述数据包为上行数据包,所述上行数据包的源IP地址为IPv6地址且源端口号为所述用户终端的端口号,所述服务器对所述数据包的源IP地址和源端口号进行网络地址转换NAT,包括: 将所述IPv6地址按照流表转换为公网IPv4地址,将所述用户终端的端口号按照流表转换为公网端口号;若所述数据包为下行数据包,所述下行数据包的源IP地址为公网IPv4地址且源端口号为公网端口号,所述服务器对所述数据包的源IP地址和源端口号进行网络地址转换NAT,包括: 将所述公网IPv4地址按照流表转换为IPv6地址,将所述公网端口号按照流表转换为用户终端的端口号。
13.一种服务器,其特征在于,包括: 接收模块,用于接收家庭网关RGW或网络侧转发的数据包; 业务类型获取模块,用于根据所述数据包携带的信息识别出获取所述数据包的业务类型; 虚拟家庭网关服务模块,用于基于所述数据包的业务类型为与所述RGW连接的用户终端提供虚拟家庭网关服务。
14.根据权利要求13所述的服务器,其特征在于,所述接收模块,具体用于接收所述RGW转发的上行数据包,所述上行数据包由用户终端发送给所述RGW;或,接收网络侧发送的下行数据包。
15.根据权利要求14所述的服务器,其特征在于,当所述数据包为上行数据包时,所述虚拟家庭网关服务模块,具体用于若所述上行数据包的业务类型为动态主机配置协议DHCP请求,为所述用户终端分配私网互联网第四版本协议IPv4地址或下一代互联网协议IPv6地址;或,若所述上行数据包的业务类型为拨号上网请求,对所述用户终端进行用户接入认证;或,若所述上行数据包的业务类型为向网络侧发送上行数据,按照家庭防火墙的功能对所述上行数据包进行分析,决定是否对所述上行数据包放行,若决定放行向所述网络侧发送所述上行数据包。
16.根据权利要求14所述的服务器,其特征在于,当所述数据包为下行数据包时,所述虚拟家庭网关服务模块,具体用于若所述下行数据包的业务类型为向所述用户终端发送下行数据,按照家庭防火墙的功能对所述下行数据包进行分析,决定是否对所述下行数据包放行,若决定放行向所述RGW发送所述下行数据包,或,若所述下行数据包的业务类型为向所述用户终端发送下行数据,对所述下行数据包进行杀毒,将杀毒后的下行数据包向所述RGW发送。
17.根据权利要求13所述的服务器,其特征在于,所述虚拟家庭网关服务模块,具体用于在所述用户终端上线后,对所述用户终端进行用户管理和用户上线信息维护。
18.根据权利要求13所述的服务器,其特征在于,若所述数据包的业务类型为发送上下行数据,所述虚拟家庭网关服务模块,包括=NAT转换子模块,用于对所述数据包的源IP地址和源端口号进行网络地址转换NAT。
19.根据权利要求18所述的服务器,其特征在于,所述NAT转换子模块,包括:判断子单元、第一 NAT转换子单元、NAT表项生成子单元、第二 NAT转换子单元,其中, 所述判断子单元,用于判断所述数据包是否命中已经存在的流表,若命中所述流表,触发所述第一 NAT转换子单元执行,若没有命中所述流表,触发所述NAT表项生成子单元和第二NAT转换子单元执行; 所述第一 NAT转换子单元,用于若命中所述流表,按照所述流表中记录的NAT表项进行源IP地址和源端口号的转换;所述NAT表项生成子单元,用于若没有命中所述流表,根据所述数据包的源IP地址以及所述服务器中预置的IP及端口映射关系生成NAT表项;所述第二 NAT转换子单元,用于将生成的所述NAT表项更新到流表中,按照更新后的流表中记录的NAT表项进行源IP地址和源端口号的转换。
20.根据权利要求18所述的服务器,其特征在于,若所述数据包为上行数据包,所述虚拟家庭网关服务模块还包括:第一封装子模块和第一发送子模块,其中,所述第一封装子模块,用于所述NAT转换子模块对所述上行数据包进行NAT转换后,对NAT转换后的上行数据包进行IPv6隧道的封装;所述第一发送子模块,用于将IPv6隧道封装后的上行数据包发送给边界路由器BR,由所述BR对IPv6隧道封装后的上行数据包进行解封装,然后发送给网络侧。
21.根据权利要求18所述的服务器,其特征在于,若所述服务器从BR接收到下行数据包,所述虚拟家庭网关服务模块还包括:第一解封装子模块和第二发送子模块,其中,所述第一解封装子模块,用于所述NAT转换子模块对所述下行数据包进行NAT转换之前,对所述下行数据包进行IPv6隧道的解封装;所述NAT转换子模块,具体用于对IPv6隧道解封装后的下行数据包的源IP地址和源端口号进行NAT ;所述第二发送子模块,用于将NAT转换后的下行数据包发送给所述RGW。
22.根据权利要求13所述的服务器,其特征在于,若所述数据包为上行数据包,所述虚拟家庭网关服务模块包括:第二封装子模块和第一发送子模块,其中,所述第二封装子模块,用于对所述上行数据包进行IPv6隧道的封装;所述第一发送子模块,用于将IPv6隧道封装后的上行数据包发送给BR,由所述BR对IPv6隧道封装后的上行数据包进行IPv6隧道解封装并进行NAT,然后发送给网络侧。
23.根据权利要求13所述的服务器,其特征在于,若所述服务器从BR接收到下行数据包,所述虚拟家庭网关服务模块包括:第二解封装子模块和第二发送子模块,其中,所述第二解封装子模块,用于对所述下行数据包进行IPv6隧道的解封装;所述第二发送子模块,用于将IPv6隧道解封装后的的下行数据包发送给所述RGW。
24.根据权利要求18所述的服务器,其特征在于,若所述数据包为上行数据包,所述上行数据包的源IP地址为IPv6地址且源端口号为所述用户终端的端口号,所述NAT转换子模块,具体用于将所述IPv6地址按照流表转换为公网IPv4地址,将所述用户终端的端口号按照流表转换为公网端口号;若所述数据包为下行数据包,所述下行数据包的源IP地址为公网IPv4地址且源端口号为公网端口号,所述NAT转换子模块,具体用于将所述公网IPv4地址按照流表转换为IPv6地址,将所述公网端口号按照流表转换为用户终端的端口号。
25.一种服务器,其特征在于,包括:输入装置、输出装置、存储器和处理器;其中,所述处理器执行以下步骤:通过输入装置接收家庭网关RGW或网络侧转发的数据包;根据所述数据包携带的信息识别出所述数据包的业务类型;基于所述数据包的业务类型为与所述RGW连接的用户终端提供虚拟家庭网关服务。
26.根据权利要求25所述的服务器,其特征在于,所述处理器具体用于执行以下步骤:接收所述RGW转发的上行数据包,所述上行数据包由用户终端发送给所述RGW ;或,接收网络侧发送的下行数据包。
27.根据权利要求26所述的服务器,其特征在于,所述处理器具体用于执行以下步骤:当所述数据包为上行数据包时,若所述上行数据包的业务类型为动态主机配置协议DHCP请求,为所述用户终端分配私网互联网第四版本协议IPv4地址或下一代互联网协议IPv6地址;或,若所述上行数据包的业务类型为拨号上网请求,对所述用户终端进行用户接入认证;或, 若所述上行数据包的业务类型为向网络侧发送上行数据,按照家庭防火墙的功能对所述上行数据包进行分析,决定是否对所述上行数据包放行,若决定放行向所述网络侧发送所述上行数据包。
28.根据权利要求26所述的服务器,其特征在于,所述处理器具体用于执行以下步骤:当所述数据包为下行数据包时,若所述下行数据包的业务类型为向所述用户终端发送下行数据,按照家庭防火墙的功能对所述下行数据包进行分析,决定是否对所述下行数据包放行,若决定放行向所述RGW发送所述下行数据包;或,若所述下行数据包的业务类型为向所述用户终端发送下行数据,对所述下行数据包进行杀毒,将杀毒后的下行数据包向所述RGW发送。
29.根据权利要求25所述的服务器,其特征在于,所述处理器具体用于执行以下步骤:在所述用户终端上线后,对所述用户终端进行用户管理和用户上线信息维护。
30.根据权利要求25所述的服务器,其特征在于,所述处理器具体用于执行以下步骤:若所述数据包的业务类型为发送上下行数据,对所述数据包的源IP地址和源端口号进行网络地址转换NAT。
31.根据权利要求30所述的服务器,其特征在于,所述处理器具体用于执行以下步骤:判断所述数据包是否命中已经存在的流表;若命中所述流表,按照所述流表中记录的NAT表项进行源IP地址和源端口号的转换;若没有命中所述流表,根据所述数据包的源IP地址以及所述服务器中预置的IP及端口映射关系生成NAT表项;将生成的所述NAT表项更新到流表中,按照更新后的流表中记录的NAT表项进行源IP地址和源端口号的转换。
32.根据权利要求30所述的服务器,其特征在于,所述处理器具体用于执行以下步骤:若所述数据包为上行数据包,对所述数据包的源IP地址和源端口号进行网络地址转换NAT之后,对NAT转换后的上行数据包进行IPv6隧道的封装;将IPv6隧道封装后的上行数据包发送给边界路由器BR,由所述BR对IPv6隧道封装后的上行数据包进行解封装,然后发送给网络侧。
33.根据权利要求30所述的服务器,其特征在于,所述处理器具体用于执行以下步骤:若所述服务器从BR接收到下行数据包,对所述数据包的源IP地址和源端口号进行网络地址转换NAT之前,对所述下行数据包进行IPv6隧道的解封装;对IPv6隧道解封装后的下行数据包的源IP地址和源端口号进行NAT ; 对IPv6隧道解封装后的下行数据包的源IP地址和源端口号进行NAT之后,将NAT转换后的下行数据包发送给所述RGW。
34.根据权利要求25所述的服务器,其特征在于,所述处理器具体用于执行以下步骤:若所述数据包为上行数据包, 对所述上行数据包进行IPv6隧道的封装; 将IPv6隧道封装后的上行数据包发送给BR,由所述BR对IPv6隧道封装后的上行数据包进行IPv6隧道解封装并进行NAT,然后发送给网络侧。
35.根据权利要求25所述的服务器,其特征在于,所述处理器具体用于执行以下步骤:若所述服务器从BR接收到下行数据包, 对所述下行数据包进行IPv6隧道的解封装; 将IPv6隧道解封装后的下行数据包发送给所述RGW。
36.根据权利要求30所述的服务器,其特征在于,所述处理器具体用于执行以下步骤:若所述数据包为上行数据包,所述上行数据包的源IP地址为IPv6地址且源端口号为所述用户终端的端口号,将所述IPv6地址按照流表转换为公网IPv4地址,将所述用户终端的端口号按照流表转换为公网端口号; 若所述数据包为下行数据包,所述下行数据包的源IP地址为公网IPv4地址且源端口号为公网端口号,将所述公网IPv4地址按照流表转换为IPv6地址,将所述公网端口号按照流表转换为用户终端的端口号。
【文档编号】H04L29/12GK103650424SQ201380000968
【公开日】2014年3月19日 申请日期:2013年8月20日 优先权日:2013年8月20日
【发明者】马云, 李鉴, 孙广煜, 杨熹 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1