一种报文传输方法、相关设备和系统与流程

文档序号:15394567发布日期:2018-09-08 01:52阅读:149来源:国知局

本发明涉及通信领域,尤其涉及一种报文传输方法、相关设备和系统。



背景技术:

随着互联网中业务量和用户数量的增长,网络中的流量的增长速度越来越快,在现有的方案中需要对每个用户的上网行为进行准确的统计,例如:需要对用户的上网时间和消耗的流量进行统计,目前的方案对用户的流量进行统计的方案是:用户网关根据报文的源ip地址来选择将报文转发到哪个流量管理网元上,选择的流量管理网元将报文转发给网际网关,网际网关根据报文的目的ip地址将报文转发给网络中的服务器;网际网关接收服务器发送的响应报文,根据响应报文的的目的ip地址将报文转发到对应的流量管理网元上,流量管理网元将响应报文发送给用户网关,用户网关根据目的ip地址将响应报文转发到相应的终端上。通过上述方式,确保相同用户的正向流量和反向流量都经过相同的流量管理网元,以实现对用户流量的精确统计。

但是申请人发现用户在终端的ip地址发生变化的情况下,例如dhcp(dynamichostconfigurationprotocol,动态主机配置协议,简称dhcp)场景中,同一个ip地址可能会被多个终端使用,那么目前这种根据终端的ip地址统计终端流量的方案存在不准确的问题。



技术实现要素:

本发明实施例所要解决的技术问题在于,提供一种报文传输方法,实现了能用户流量进行准确的统计。

第一方面,本申请提供了一种报文传输方法,报文传输方法应用于流量管理系统,流量管理系统包括用户网关、多个流量管理网元和网际网关,每个流量管理网元用于监控用户的上网行为,例如监控用户的上网时长和消耗流量。每个流量管理网元包括用户端口和网际端口,用户端口表示流量管理网元与用户网关之间的端口,网际端口表示流量管理网元与网际网关之间的端口。其中,本申请中终端到互联网中服务器的称为正向,相应的终端发出的报文为正向报文;服务器到终端的方向称为反向,相应的服务器发出的报文为反向报文。本申请的报文传输方法包括:用户网关接收终端发送的请求报文,请求报文中携带五元组,五元组包括源ip地址、目的ip地址、源端口号、目的端口号和协议类型,用户网关中可预先设置有会话表,会话表的每个表项中存储有五元组和正向下一跳ip地址,会话表中的正向下一跳ip地址为多个流量管理网元的用户端口的ip地址。同时,用户网关中还存储有会话保持表,会话保持表中每个表项存储有mac地址和正向下一跳ip地址,会话保持表中的正向下一跳ip地址表示多个流量管理网元中某个流量管理网元的用户端口的ip地址。用户网关接收终端发送的请求报文,请求报文携带五元组,用户网关在会话表中查询是否存与五元组关联的正向下一跳ip地址,若为否,用户网关确定请求报文的源mac地址,此处请求报文的源mac地址为发送请求报文的终端的mac地址,用户网关在会话保持表中查询是否存在与源mac地址关联的正向下一跳ip地址,若为是,用户网关将请求报文发送给在会话保持表中查询的正向下一跳ip地址指示的流量管理网元的用户端口。

实施上述实施例,用户网关在接收终端发送的请求报文,根据请求报文的五元组在会话表中查询关联的正向下一跳ip地址,或者根据请求报文的源mac地址在会话保持表中查询关联的正向下一跳ip地址,这样可以确保同一用户的流量经过相同的流量管理网元,实现对用户流量的精确监控。

在第一方面的一种可能的实施方式中,用户网关在会话表中查询到与请求报文的五元组关联的正向下一跳ip地址的情况下,将请求报文发送给下一跳ip地址指示的流量管理网元的用户端口。

在第一方面的一种可能的实施方式中,用户网关在会话表和会话保持表中查询后发现均不存在关联的正向下一跳ip地址的情况下,用户网关根据预设的分流算法从多个流量管理网元中确定选择一个目标流量管理网元,以及确定目标流量管理网元的用户端口的ip地址,将该ip地址作为正向下一跳ip地址。在会话表中新建一个表项,将请求报文的五元组和正向ip地址绑定后存储在新建的表项中;用户网关在会话保持表中新建一个表项,将请求报文的源mac地址和正向下一跳ip存储在新建的表项中。

在第一方面的一种可能的实施方式中,用户网关接收多个流量管理网元中某个流量管理网元发送的响应报文,根据响应报文的五元组在会话表中查询是否存在关联的反向下一跳ip地址,若为是,根据查询到的反向下一跳ip地址的指示将响应报文发送给终端;若为否,丢弃响应报文。

第二方面,本申请提供了一种报文传输方法,包括:

网际网关接收多个流量管理网元中某个流量管理网元通过网际端口发送请求报文,请求报文携带五元组,网际网关在会话表中查询是否存在与请求报文的五元组关联的正向下一跳ip地址,正向下一跳ip地址表示互联网中服务器的ip地址,若为是,根据正向下一跳ip地址的指示将请求报文转发至互联网中相应的服务器。

在第二方面的一种可能的实施方式中,网际网关在会话表中查询不存在与请求报文的五元组关联的正向下一跳ip地址的情况下,根据请求报文的目的ip地址在路由表中查询关联的正向下一跳ip地址,根据查询到的正向下一跳ip地址的指示将请求报文转发到互联网中相应的服务器。同时,网际网关获取请求报文的源mac地址,此处的源mac地址为流量管理网元的网际端口的mac地址,网际网关可利用arp协议反查流量管理网元的网际端口的ip地址,网际网关在会话表中创建表项,将请求报文的五元组、正向下一跳ip地址和反向下一跳ip地址进行绑定后存储在创建的表项中。

结合第二方面的一种可能的实施方式中,网际网关接收网络侧返回的响应报文,网际网关根据响应报文的五元组在会话表中查询是否存在关联的反向下一跳ip地址,若为是,将响应报文发送给反向下一跳ip地址指示的流量管理网元的网际端口;若为否,网际网关丢弃该响应报文。

第三方面,本申请提供了一种流量管理网元列表的维护方法,包括:用户网关关联有多个流量管理网元,用户网关为每个流量管理网元的用户端口分配ip地址,根据每个流量管理网元的用户端口的mac地址和分配的ip地址生成用户端口列表。用户网关为每个流量管理网元的网际端口分配ip地址,根据每个流量管理网元的网际端口的mac地址和分配的ip地址生成网际端口列表,此时用户网关和网际网关并不知道每个流量管理网元上用户端口和网际端口的映射关系,因此用户网关向待探测的流量管理网元发起探测,探测的过程包括:用户网关向流量管理网元发送探测请求报文,探测请求报文的源ip地址为用户网关的ip地址,目的ip地址为网际网关的ip地址,正向下一跳ip地址为待探测的流量管理网元的用户端口的ip地址,用户网关根据正向下一跳ip地址将探测请求报文通过用户端口发送给流量管理网元,流量管理网元将探测请求报文通过网际端口发送给网际网关,网际网关获取接收到的探测请求报文的源mac地址,此时探测请求报文的源mac地址为待探测的流量管理网元的网际端口的mac地址,用户网关根据arp协议反查源mac地址对应网际端口的ip地址,该ip地址为待探测的流量管理网元的网际端口的ip地址,网际网关向用户网关返回流量管理网元的网际端口的ip地址和mac地址,用户网关判断探测请求报文中携带的mac地址和ip地址是否位于网际端口列表中,若为是,用户网关建立待探测的流量管理网元的用户端口和网际端口的绑定关系,并将绑定关系通知给网际端口。根据上述的探测方法,用户网关可以探测到每个流量管理网元上用户端口和网际端口的绑定关系。

第四方面,本申请提供了一种用户网关,该用户网关具有实现上述方法中用户网关行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。

一种可能的实现方式中,所述用户网关包括:

另一种可能的实现方式中,所述用户网关包括:接收器、发射器、存储器和处理器;其中,所述存储器中存储一组程序代码,且所述处理器用于调用所述存储器中存储的程序代码,执行第一方面、第三方面、第一方面各个可能的实施方式中的报文传输方法。

基于同一发明构思,由于该装置解决问题的原理以及有益效果可以参见上述各可能的用户网关的方法实施方式以及所带来的有益效果,因此该装置的实施可以参见方法的实施,重复之处不再赘述。

本申请的第五方面提了供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行第一方面、第三方面、第一方面各个可能的实施方式中的报文传输方法。

本申请的又一方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行第一方面、第三方面、第一方面各个可能的实施方式中的报文传输方法。

第六方面,本申请提供了一种网际网关,该网际网关具有实现上述方法中网际网关行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。

一种可能的实现方式中,所述网际网关包括:

另一种可能的实现方式中,所述网际网关包括:接收器、发射器、存储器和处理器;其中,所述存储器中存储一组程序代码,且所述处理器用于调用所述存储器中存储的程序代码,执行第二方面和第二方面各个可能的实施方式中的报文传输方法。

基于同一发明构思,由于该装置解决问题的原理以及有益效果可以参见上述各可能的用户网关的方法实施方式以及所带来的有益效果,因此该装置的实施可以参见方法的实施,重复之处不再赘述。

本申请的第七方面提了供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第二方面和第二方面的各个可能的报文传输方法。

本申请的又一方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面和第二方面的各个可能的报文传输方法。

本申请的又一方面提供了一种流量计费系统,包括用户网关、多个流量管理网元和网际网关;

用户网关,用于接收请求报文;在用户网关的会话表中查询是否存在与请求报文的五元组关联的正向下一跳ip地址;若为否,获取请求报文的源mac地址,查询用户网关的会话保持表中是否存在与源ip地址关联的正向下一跳ip地址;若为是,将请求报文发送给正向下一跳ip地址指示的流量管理网元的用户端口;正向下一跳ip地址指示的流量管理网元属于多个流量管理网元;

流量管理网元,用于通过用户端口接收请求报文,以及将请求报文通过网际端口发送至网际网关;

网际网关,用于接收流量管理网元转发的请求报文;在网际网关的会话表中查询是否存在与五元组关联的正向下一跳ip地址;若为否,在路由表中查询请求报文的正向下一跳ip地址;获取请求报文的源mac地址,根据请求报文的源mac地址查询得到流量管理网元的ip地址,将查询得到的ip地址存储在表项中,作为反向下一跳ip地址;在网际网际的会话表中创建表项,将五元组、正向下一跳ip地址和反向下一跳ip地址进行绑定后存储在创建的表项中。

附图说明

为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。

图1是本发明实施例提供的一种流量计费系统的架构示意图;

图2是本发明实施例提供的一种报文传输方法的流程示意图;

图3是本发明实施例提供的一种报文传输方法的另一流程示意图;

图4是本发明实施例提供的一种报文传输方法的另一流程示意图;

图5是本发明实施例提供的一种流量管理网元的端口探测的流程示意图;

图6是本发明实施例提供的一种流量管理网元的端口探测的具体举例;

图7是本发明实施例提供的一种用户网关的结构示意图;

图8是本发明实施例提供的一种网际网关的结构示意图。

具体实施方式

下面结合本发明实施例中的附图对本发明实施例进行描述。

图1为本发明实施例涉及的一种流量计费系统的架构示意图,所述通信系统包括m个终端、接入网、用户网关、n个流量管理网元、网际网关和k个服务器,m、n和k为大于1的整数。n个流量管理网元中每个流量管理网元用于监控终端的流量,例如:监控终端的上网时长、消耗流量、数据网络类型等。每个流量管理网元设置有用户端口和网际端口,用户端口表示与终端相邻的接口,网际接口表示与服务器相连的端口,对于每个流量管理网元,用户端口和网际端口的ip地址和mac地址可以不相同。终端通过接入网与用户网关,本申请中的接入网包括但不限于全球移动通信系统(globalsystemformobilecommunication,gsm)接入网,码分多址(codedivisionmultipleaccess,cdma)系统接入网、宽带码分多址(widebandcodedivisionmultipleaccess,wcdma)接入网,全球微波互联接入(worldwideinteroperabilityformicrowaveaccess,wimax)接入网、长期演进(longtermevolution,lte)接入网,或者后续演进接入网。

本申请中的终端是一种具有无限通信功能的设备,可以是具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备等。在不同的网络中终端可以叫做不同的名称,例如:用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置、蜂窝电话、无绳电话、会话启动协议(sessioninitiationprotocol,sip)电话、无线本地环路(wirelesslocalloop,wll)站、个人数字处理(personaldigitalassistant,pda)、5g网络或未来演进网络中的终端等。

本申请中的接入网包括用以提供无线通信功能的设备,根据接入网类型的不同,接入网中的设备包括但不限于:基站(例如:bts(basetransceiverstation,bts),节点b(nodeb,nb),演进型基站b(evolutionalnodeb,enb或enodeb),nr系统中的传输节点或收发点(transmissionreceptionpoint,trp或者tp)或者下一代节点b(generationnodeb,gnb),未来通信网络中的基站或网络设备)、中继站、接入点、车载设备、可穿戴设备,无线保真(wireless-fidelity,wi-fi)的站点、无线回传节点、小站、微站等等。

需要说明的是,本申请的用户网关和网际网关除了可采用图1中的集中式部署,还可以采用分布式部署的方式,即用户网关包括多个子网关,每个子网关管理不同范围的终端。网际网关包括多个子网关,每个字网关管理不同范围的服务器。

需要说明的是,本申请的m个流量管理网元可划分为三个池:主用池、备用池和故障池,主用池中包括当前工作的流量管理网元,备用于池中包括起备份作用的流量管理网元,故障池中包括发生故障的流量管理网元。在主用池中的某个流量管理网元发生故障的情况下,将该流量管理网元移到故障池中,同时将备用池中的某个流量管理网元移入主用池中。当故障池中的某个流量管理网元的故障恢复时,将该流量管理网元移入到备用池中。其中,用户网关可以向流量管理网元发送探测请求报文的方式检测该流量管理网元的健康状态:如果在预设时长内接收到探测请求报文对应的探测响应报文,表明流量管理网元为正常状态;如果在预设时长内未接收到探测请求报文对应的探测响应报文,表明流量管理网元为故障状态。

请参见图2,图2是本发明实施例提供的一种报文传输方法的流程示意图,该方法包括但不限于如下步骤:

s201、接收终端发送的请求报文。

具体地,终端通过接入网向对应的用户网关发送请求报文,请求报文可以是终端中的应用程序生成的。用户网关接收终端发送的请求报文,请求报文携带五元组,五元组包括源ip地址、目的ip地址、源端口号、目的端口号和协议类型,源ip地址表示终端的ip地址,目的ip地址表示互联网中服务器的ip地址,源端口号表示终端发送请求报文的端口的序号,目的端口号表示服务器上接收请求报文的端口序号,协议类型表示传输请求报文的协议的类型,协议类型包括但不限于tcp和udp等ip协议。其中,请求报文中除包括五元组,还可以包括源mac地址,源mac地址表示用户网关的上一个相邻设备的mac地址。

s202、在会话表中查询是否存在与请求报文的五元组关联的正向下一跳ip地址。

具体地,用户网关中可预先设置有会话表,会话表中包括多个表项,每个表项存储有五元组和正向下一跳ip地址,用户网关确定请求报文中携带的五元组,根据五元组在会话表中查询是否存在与五元组关联的表项,若存在,确定查询到的表项中存储的正向下一跳ip地址,执行s203。若会话表中不存在五元组关联的表项,执行s204。

s203、根据会话表中记录的正向下一跳ip地址将请求报文发送给流量管理网元的用户端口。

具体的,用户网关根据s202中查询到的正向下一跳ip地址确定对应的流量管理网元,将请求报文发送给该流量管理网元的用户端口。

s204、在会话保持表中查询是否存在与请求报文的源mac地址关联的正向下一跳ip地址。

具体的,用户网关预先设置有会话保持表,会话保持表中包括多个表项,每个表项存储有源mac地址和正向下一跳ip地址,用户网关在会话保持表中查询是否存在与请求报文的源mac地址关联的表项,若存在,确定查询到的表项中查询到的正向下一跳ip地址,执行s205。若会话保持表中不存在请求报文的源mac地址关联的表项,执行s206。其中,请求报文的源mac地址表示用户网关的上一个相邻的设备的mac地址,例如请求报文的源mac地址为终端的mac地址。

s205、根据会话保持表中记录的正向下一跳ip地址将请求报文发送给流量管理网元的用户端口。

具体的,用户网关根据s204查询到的正向下一跳ip地址确定对应的流量管理网元,用户网关将请求报文发送给确定的流量管理网元的用户端口上。

s206、根据预设的分流算法从多个流量管理网元中选择一个目标流量管理网元,确定目标流量管理网元的用户端口的ip地址,将该ip地址作为请求报文的正向下一跳ip地址。

具体的,用户网关预先给多个流量管理网元中每个流量管理网元的用户端口和网际端口分配了ip地址,分配ip地址的方法包括但不限于静态ip分配方法或动态ip分配方法。用户网关根据预设的分流算法从多个流量管理网元中选择一个目标流量管理网元,确定目标流量管理网元的用户端口的ip地址,将该ip地址作为请求报文的正向下一跳ip地址。

可选的,多个流量管理网元预先按照1、2、3……进行编号,用户网关获取请求报文的五元组,将五元组进行哈希运算后得到一个哈希值,将得到的哈希值与多个流量管理网元的数量进行求模,将得到的模值为目标流量管理网元的序号。

可选的,在请求报文同时携带ipv4地址和ipv6地址的情况下,用户网关根据请求报文的源mac地址进行哈希运算得到一个哈希值,将得到的哈希值与多个流量管理网元的数量进行求模,将得到的模值作为目标流量管理网元的序号。

可选的,在请求报文只携带ipv4地址或ipv6地址的情况下,用户网关根据请求报文的源ip地址进行哈希运算得到一个哈希值,将得到的哈希值与多个流量管理网元的数量进行求模,将得到的模值作为目标流量管理网元的序号。

s207、根据确定的正向下一跳ip地址发送请求报文。

具体的,用户网关根据s206确定的正向下一跳ip地址将请求报文发送给对应的流量管理网元的用户端口上。

s208、在会话表中创建表项,将五元组和确定的正向下一跳ip地址绑定后存储在创建的表项中。

具体的,用户网关在会话表中新建一个表项,将请求报文的五元组和s206确定的正向下一跳ip地址存储在创建的表项中,该表项中存储的五元组和正向下一跳ip地址具有绑定关系。

s209、在会话保持表中创建表项,将请求报文的源mac地址和确定的正向下一跳ip地址绑定后存储在创建的表项中。

具体的,用户网关在会话保持表中新建一个表项,获取请求报文的源mac地址,此处的请求报文的源mac地址为终端的mac地址,将请求报文的源mac地址和s206确定的正向下一跳ip地址进行绑定后存储在创建的表项中。

在本发明实施例中,流量管理网元通过用户端口接收用户网关发送的请求报文,可统计发出请求报文的终端的上网业务进行计费,例如根据上网流量或上网时长进行计费,流量管理网元将请求报文转发到对应的网际端口,通过网际端口将请求报文发送给网际网关。在网际网关为分布式部署的情况下,流量管理网元可以根据预设规则将请求报文发送给对应的网际网关,例如:采用随机方式、业务类型优先级方式或流量优先级方式发送请求报文。

在图2所描述的方法中,用户网关在接收终端发送的请求报文,根据请求报文的五元组在会话表中查询关联的正向下一跳ip地址,或者根据请求报文的源mac地址在会话保持表中查询关联的正向下一跳ip地址,这样可以确保同一用户的流量经过相同的流量管理网元,实现对用户流量的精确监控。

参见图3,为本发明实施例提供的一种报文传输方法的流程示意图,在本发明实施例中,所述方法包括:

s301、接收流量管理网元发送的请求报文。

具体的,网际网关接收流量管理网元发送的请求报文,请求报文中携带五元组。

s302、在会话表中查询是否存在与请求报文的五元组关联的正向下一跳ip地址。

具体的,网际网关预先设置有会话表,会话表包括多个表项,每个表项存储有五元组和下一跳ip地址,网际网关在会话表中查询是否存在请求报文的五元组关联的表项,若存在,确定表项中存储的下一跳ip地址,执行s303。若会话表中不存在请求报文的五元组关联的表项,执行s304。

s303、根据会话表中记录的下一跳ip地址转发请求报文。

具体的,网际网关根据下一跳ip地址将请求报文转发给互联网中的设备。

s304、获取请求报文的源mac地址。

具体的,网际网关获取请求报文的源mac地址,请求报文中可携带该源mac地址,此处的源mac地址为流量管理网元的网际端口的mac地址。

s305、根据请求报文的目的ip地址查询路由表得到正向下一跳ip地址。

s306、根据请求报文的源mac地址查询关联的ip地址,将查询到的ip地址作为反向下一跳ip地址。

s307、在会话表中创建表项,将请求报文的五元组、正向下一跳ip地址和反向下一跳ip地址绑定后存储在创建的表项中。

s308、根据正向下一跳ip地址转发请求报文。

从图3的实施例可以看出,网际网关在接收到用户的请求报文后,直接根据请求报文的源mac地址反查出反向下一跳ip地址,这样网际网关在接收到请求报文对应的响应报文时,直接可通过查会话表得到反向下一跳ip地址,避免查路由表消耗大量时长,减少报文传输时延。

参见图4,为本发明实施例提供的一种报文传输方法的流程示意图,在本发明实施例中,所述方法包括:

s401、接收服务器发送的响应报文。

具体的,网际网关接收服务器发送的响应报文。

s402、在会话表中查询是否存在与响应报文的五元组关联的反向下一跳ip地址。

s403、根据会话中记录的反向下一跳ip地址将请求报文发送给流量管理网元的网际端口。

s404、丢弃响应报文。

参见图5,为本发明实施例提供的一种报文传输方法的流程示意图,在本发明实施例中,所述方法包括:

s501、用户网关生成探测请求报文。

具体的,用户网关关联多个流量管理网元,每个流量管理网元具有用户端口和网际端口,用户网关为每个用户端口和每个网际端口分配ip地址,用户网关根据多个流量管理网元的用户端口生成用户端口列表,用户端口列表中每个表项存储有用户端口的ip地址和mac地址。同时,用户网关根据多个流量管理网元的网际端口生成网际端口列表,网际端口列表中每个表项存储有网际端口的ip地址和mac地址。用户网关生成探测请求报文,探测请求报文的源ip地址为用户网关的ip地址,正向下一跳ip地址为待探测的流量管理网元的用户端口的ip地址,目的ip地址为网际网关的ip地址。

s502、用户网关向流量管理网元发送探测请求报文。

具体的,用户网关根据探测请求报文的正向下一跳ip地址,将探测请求报文发送给待探测的流量管理网元。

s503、流量管理网元将探测请求报文从用户端口转发至网际端口。

具体的,流量管理网元从用户端口接收用户网关发送的探测请求报文,将探测请求报文转发到对应的网际端口,同时将探测请求报文的源mac地址修改为流量管理网元的网际端口的mac地址。

s504、流量管理网元将探测请求报文发送给网际网关。

具体的,流量管理网元根据探测请求报文中携带的目的ip地址,将探测请求报文发送给网际网关。

s505、网际网关获取探测请求报文的源mac地址,查询源mac地址关联的ip地址。

具体的,网际网关接收探测请求报文,获取探测请求报文携带的源mac地址,此时的源mac地址为流量管理网元的mac地址。

s506、根据源mac地址和查询到的ip地址生成探测响应报文。

具体的,网际网关可根据arp协议反查流量管理网元的网际端口的ip地址,将待探测的流量管理网元的网际端口的ip地址和mac地址填入探测响应报文中。

s507、网际网关向用户网关发送探测响应报文。

s508、查询源mac地址和ip地址是否位于网际端口列表中。

具体的,用户网关接收探测响应报文,获取探测响应报文中携带的mac地址和ip地址,该mac地址和ip地址为待探测的流量管理网元的网际端口的ip地址和mac地址,用户网关查询上述的mac地址和ip地址是否位于网际端口列表中,若为是,执行s509。

s509、用户端口和网际端口进行绑定。

具体的,用户网关将用户端口的ip地址及mac地址和网际端口的ip地址及mac地址进行绑定,

s510、用户网关向网际网关通知绑定关系。

具体的,用户网关向网际网关通知s509中确定的用户端口和网际端口的绑定关系,网际网关根据绑定关系得知待探测的流量管理网元的用户接口和网际接口的mac地址和ip地址。

实施上述实施例,用户网关在接收终端发送的请求报文,根据请求报文的五元组在会话表中查询关联的正向下一跳ip地址,或者根据请求报文的源mac地址在会话保持表中查询关联的正向下一跳ip地址,这样可以确保同一用户的流量经过相同的流量管理网元,实现对用户流量的精确监控。

参见图6,下面根据图6的例子对本方实施例的用户端口和网际端口的绑定关系进行说明:用户网关与流量管理网元1和流量管理网元2连接,网际网关与流量管理网元1和流量管理网元2连接,用户网关还与网际网关连接。用户网关的ip地址为1.1.1.254,网际网关的ip地址为2.2.2.254,用户网关接收流量管理网元1发起的dhcp请求,dhcp请求中携带流量管理网元1的用户端口的mac地址1-1-1,将为流量管理网元1的用户端口分配的ip地址和mac地址进行绑定。流量管理网元1通过网际网关向用户网关发送dhcp请求,请求用户网关为流量管理网元1的网际端口分配ip地址,dhcp请求中携带流量管理网元1的网际端口的mac地址,用户网关接收到该dhcp请求,为流量管理网元1的网际端口分配ip地址为2.2.2.1。同理,用户网关为流量管理网元2的用户端口分配的ip地址为1.1.1.2,为流量管理网元2的网际端口分配的ip地址为2.2.2.2。用户网关生成用户端口列表(mac:1-1-1,ip:1.1.1.1)、(mac:3-3-3,ip:1.1.1.2),用户网关生成网际端口列表:(mac:2-2-2,ip:2.2.2.1)、(mac:4-4-4,2.2.2.2)。

以流量管理网元1为例,用户网关需要探测流量网元1上用户端口和网际端口的ip地址,用户网关向流量管理网元1发送探测请求报文,探测请求报文携带的源ip地址为用户网关的ip地址1.1.1.254,正向下一跳ip地址为流量管理网元1的用户端口的ip地址:1.1.1.1,目的ip地址为网际网关的ip地址2.2.2.254,用户网关根据正向下一跳ip地址:1.1.1.1将探测请求报文发送流量管理网元1的用户端口,流量管理网元1将探测请求报文转发到相应的网际端口,以及将探测请求报文的源mac地址更新为网际端口的mac地址:2.2.2.1,网际网关接收探测请求报文,获取探测请求报文中携带的源mac地址,根据arp协议反查到源mac地址关联的ip地址为2.2.2.1,网际网关将源mac地址和查询到的ip地址填入到探测响应报文中,网际网关向用户网关返回探测响应报文,用户网关接收探测请求报文,获取探测响应报文中携带的mac地址和ip地址,查询网际端口列表中时长存在探测响应报文中携带的mac地址和ip地址,若为是,表明mac地址:2-2-2和ip地址2.2.2.1为流量管理网元1的网际端口的地址信息,用户网关将(mac:1-1-1,ip:1.1.1.1)与(mac:2-2-2,ip:2.2.2.1)进行绑定,以及将绑定关系通知给网际网关。

用户网关对流量管理网元2的用户端口和网际端口的探测可参照对流量管理网元1的探测,此处不再赘述。

请参见图7,图7是本发明实施例提供的一种用户网关70,该用户网关70包括处理器701、存储器702和通信接口703,所述处理器701、存储器702和通信接口703通过总线相互连接。

存储器402包括但不限于是随机存储记忆体(英文:randomaccessmemory,简称:ram)、只读存储器(英文:read-onlymemory,简称:rom)、可擦除可编程只读存储器(英文:erasableprogrammablereadonlymemory,简称:eprom)、或便携式只读存储器(英文:compactdiscread-onlymemory,简称:cd-rom),该存储器402用于相关指令及数据。收发器703用于接收和发送数据。

处理器701可以是一个或多个中央处理器(英文:centralprocessingunit,简称:cpu),在处理器701是一个cpu的情况下,该cpu可以是单核cpu,也可以是多核cpu。

该用户网关70中的处理器701用于读取所述存储器702中存储的程序代码,执行以下操作:

接收请求报文;其中,所述请求报文携带五元组;

在会话表中查询是否存在与所述请求报文的五元组关联的正向下一跳ip地址;

若为否,获取所述请求报文的源mac地址;

查询会话保持表中是否存在与所述源ip地址关联的正向下一跳ip地址;

若为是,所述用户网关将所述请求报文发送给正向下一跳ip地址指示的流量管理网元的用户端口。

可选的,处理器701还用于执行:

在所述会话表中查询存在所述五元组关联的正向下一跳ip地址;

将所述请求报文发送给流量管理网元。

可选的,处理器701还用于执行:

在所述会话表中不存在与所述报文的五元组关联的正向下一跳ip地址,且所述会话保持表中不存在与所述源mac地址关联的正向下一跳ip地址的情况下,

根据所述五元组中的一个或多个参数从多个流量管理网元中确定目标流量管理网元,将所述目标流量管理网元的用户端口的ip地址作为目标正向下一跳ip地址;

在所述会话表中创建表项,将所述五元组和所述目标正向下一跳ip地址进行绑定后存放在建立的表项中;

在会话保持表中建立表项,将源mac地址和所述目标正向下一跳ip地址进行绑定后存储在建立的表项中。

可选的,处理器701执行所述根据所述五元组中的一个或多个参数从多个流量管理网元中确定目标管理网元包括:

对五元组中的一个或多个参数进行哈希运算得到一个哈希值;

确定多个流量管理网元的数量,将所述哈希值和所述数量取模运算后得到所述目标管理网元的序号。

需要说明的是,各个操作的实现还可以对应参照图2至4所示的方法实施例的相应描述。

综上所述,通过实施本发明实施例,用户网关在接收终端发送的请求报文,根据请求报文的五元组在会话表中查询关联的正向下一跳ip地址,或者根据请求报文的源mac地址在会话保持表中查询关联的正向下一跳ip地址,这样可以确保同一用户的流量经过相同的流量管理网元,实现对用户流量的精确监控。

请参见图8,图8是本发明实施例提供的一种网际网关80,该网际网关80包括处理器801、存储器802和通信接口803,所述处理器801、存储器802和通信接口803通过总线相互连接。

存储器402包括但不限于是随机存储记忆体(英文:randomaccessmemory,简称:ram)、只读存储器(英文:read-onlymemory,简称:rom)、可擦除可编程只读存储器(英文:erasableprogrammablereadonlymemory,简称:eprom)、或便携式只读存储器(英文:compactdiscread-onlymemory,简称:cd-rom),该存储器402用于相关指令及数据。收发器803用于接收和发送数据。

处理器801可以是一个或多个中央处理器(英文:centralprocessingunit,简称:cpu),在处理器801是一个cpu的情况下,该cpu可以是单核cpu,也可以是多核cpu。

该网际网关80中的处理器801用于读取所述存储器802中存储的程序代码,执行以下操作:

通过网际端口接收流量管理网元发送的请求报文;其中,所述请求报文携带五元组;

在会话表中查询是否存在与所述五元组关联的正向下一跳ip地址;

若为否,在路由表中查询所述请求报文的正向下一跳ip地址;

获取所述请求报文的源mac地址,根据所述请求报文的源mac地址查询得到流量管理网元的ip地址,将查询得到的ip地址存储在所述表项中,作为反向下一跳ip地址;

在所述会话表中创建表项,将五元组、正向下一跳ip地址和反向下一跳ip地址进行绑定后存储在创建的表项中。

可选的,处理器801还用于执行:

接收所述请求报文对应的响应报文;

在所述会话表中查询是否存在与所述响应报文关联的表项;

若为是,根据关联的表项确定反向下一跳ip地址,根据所述反向下一跳ip地址将所述响应报文发送给流量管理网元的网际端口;

若为否,丢弃所述响应报文。

上述实施例可看出,网际网关在接收到用户的请求报文后,直接根据请求报文的源mac地址反查出反向下一跳ip地址,这样网际网关在接收到请求报文对应的响应报文时,直接可通过查会话表得到反向下一跳ip地址,避免查路由表消耗大量时长,减少报文传输时延。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:rom或随机存储记忆体ram、磁碟或者光盘等各种可存储程序代码的介质。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1