报文转发系统、设备和方法与流程

文档序号:13915693阅读:301来源:国知局
报文转发系统、设备和方法与流程

本发明涉及通信技术,尤其涉及一种报文转发系统、设备和方法。



背景技术:

交换设备作为网络中的关键节点,在现有设备提供商的垄断之下开放的接口十分有限,网络中的很多开放想法和协议都无法进行测试与验证。OpenFlow作为一套开放接口、支持多控制的交换标准应运而生。OpenFlow将传统的物理固定的硬件改造成为动态可变的软件可定义网络(SDN,Software Defined Network),实现了控制面与转发面的分离。OpenFlow交换机(Switch)的组成部分包括流表(Flow Table)、安全通道(Secure Channel)和OpenFlow协议(OF Protocol)。流表中存储最核心的信息实现查找、转发、统计和过滤等功能,流表包括多个流表项(Flow entry),一个流表项对应一个转发规则,进入交换机的报文通过查找流表获得转发的目的端口。OpenFlow交换机通过OpenFlow协议经过一个安全通道(Secure Channel)连接到外部控制器(Controller),控制器对流表进行查询和管理。

将SDN架构引入到下一代分组核心网(SAE)网,分离网关的控制面功能和转发面功能。网关的控制面会将附着用户相对应的流表安装在网关的转发面上,从而实现对数据报文的转发。为附着用户创建承载的过程下:MME向网关控制面发送创建会话请求消息;网关控制面将创建会话请求中的用户信息封装在流表中发送给网关转发面,例如用户的隧道端点标识符(Tunnel end point ID,简称TEID)等;网关转发面向网关控制面回执流表安装响应消息,后续根据流表转发报文;网关控制面接收到流表安装响应消息后,向MME反馈创建会话响应消息,表明流表创建成功。

从上述流程中可以看到,每产生一个附着用户的承载都会在网关转发面上建立一个流表项,导致网关转发面的流表项数量与附着的用户数成正比例关系,然而,当前网关的转发面支持的流表项数量比较少的,与当前用户的需求有着数量级的差距。另外,大量的流表项数量也不利于转发面的硬件实现,导致转发面的性能降低。



技术实现要素:

本发明实施例提供一种报文转发系统、设备和方法,解决了网关转发面的流表项数量较多的技术问题,提高了转发面的性能。

第一方面,本发明实施例提供一种报文转发系统,包括:网关控制面实体和网关转发面实体,所述网关转发实体包括移动代理和交换机;

所述网关控制面实体,用于在建立承载过程中,向所述移动代理发送用户信息建立消息,所述用户信息建立消息包括所述承载的用户信息;

所述移动代理,用于接收到所述用户信息建立消息后,保存所述承载的用户信息;

所述交换机,用于接收到用户面报文后,在本地流表中没有查找到所述用户面报文匹配的流表项时,向所述移动代理发送包括所述用户面报文中匹配参数的流表项请求;所述移动代理,还用于接收到所述流表项请求后,在本地保存的用户信息中查找到与所述用户面报文中匹配参数对应的用户信息的情况下,根据查找到的用户信息生成所述用户面报文匹配的流表项,并向所述交换机发送生成的流表项;

所述交换机,还用于在所述流表中保存所述移动代理发送的流表项,并根据所述移动代理发送的流表项中指令集转发所述用户面报文。

第二方面,本发明实施例还提供一种交换机,网关转发实体包括移动代理和所述交换机;包括:

存储器,用于存储流表项;

收发器,用于接收用户面报文;

处理器,用于在所述流表中查找所述用户面报文匹配的流表项时,向移动代理发送包括所述用户面报文中匹配参数的流表项请求;

所述收发器,还用于所述处理器在所述流表中没有查找到所述用户面报文匹配的流表项时,向移动代理发送包括所述用户面报文中匹配参数的流表项请求;

所述收发器,还用于所述移动代理在本地保存的用户信息中查找到与所述用户面报文中匹配参数对应的用户信息的情况下,接收所述移动代理发送的流表项;

所述处理器,还用于在所述流表中保存所述移动代理发送的流表项;

所述收发器,还用于根据所述移动代理发送的流表项中指令集转发所述用户面报文。

第三方面,本发明实施例提供一种移动代理,网关转发实体包括所述移动代理和交换机,所述移动代理包括:

收发器,用于在建立承载过程中,接收网关控制面实体发送的用户信息建立消息,所述用户信息建立消息包括所述承载的用户信息;

处理器,用于在存储器中保存所述用户信息建立消息中所述承载的用户信息;

所述收发器,还用于交换机在本地流表查找所述用户面报文匹配的流表项,在本地流表中没有查找到所述用户面报文匹配的流表项时,接收所述交换机发送的包括所述用户面报文中匹配参数的流表项请求;

所述处理器,还用于在所述存储器查找与所述用户面报文中匹配参数对应的用户信息,在查找到与所述用户面报文中匹配参数对应的用户信息的情况下,根据查找到的用户信息生成所述用户面报文匹配的流表项;

所述收发器,还用于向所述交换机发送生成的流表项。

第四方面,本发明实施例提供一种报文转发方法,网关用户面实体包括交换机和移动代理,所述方法包括:

接收到用户面报文后,交换机在本地流表查找所述用户面报文匹配的流表项;所述流表中流表项包括匹配域和指令集;

所述交换机在本地流表中没有查找到所述用户面报文匹配的流表项时,向移动代理发送包括所述用户面报文中匹配参数的流表项请求;

所述移动代理在本地保存的用户信息中查找到与所述用户面报文中匹配参数对应的用户信息的情况下,所述交换机接收并保存所述移动代理发送的流表项;

所述交换机根据所述移动代理发送的流表项中指令集转发所述用户面报文。

第五方面,本发明实施例提供一种建立承载方法,网关用户面实体包括交换机和移动代理,包括:

在建立承载过程中,移动代理接收并保存网关控制面实体发送的用户信息建立消息,所述用户信息建立消息包括所述承载的用户信息;

当交换机在本地流表中没有查找到所述用户面报文匹配的流表项时,所述移动代理接收所述交换机发送的包括所述用户面报文中匹配参数的流表项请求;所述流表项包括匹配域和指令集;

所述移动代理在本地查找与所述用户面报文中匹配参数对应的用户信息;

在查找到与所述用户面报文中匹配参数对应的用户信息的情况下,根据查找到的用户信息生成所述用户面报文匹配的流表项,并向所述交换机发送生成的流表项。

上述技术方案中,位于网关转发面上的交换机接收到用户面报文后,在本地如果没有查找到该用户面报文匹配的流表项,向位于网关转发面上的移动代理发送流表项请求,从移动代理获取该用户面报文匹配的表项。移动代理接收到流表项请求后,根据查找到的与该用户面报文中匹配参数对应的用户信息,动态生成该用户面报文匹配的流表项并发送给交换机,交换机保存移动代理发送的流表项并根据接收到的流表项转发该用户面报文。其中,与用户面报文中匹配参数对应的用户信息是为附着用户建立的承载的用户信息,由网关控制面实体在为附着用户建立承载的过程中下发给移动代理。由于,移动代理发送给交换机的流表项是交换机接收到的用户面报文匹配的流表项,因而,交换机本地保存的流表项是有业务的承载的流表项即有业务的附着用户的流表项,而不是所有附着用户的流表项,减少了交换机保存的流表项数量,提高了位于网关转发面上的交换机的性能。

附图说明

图1为本发明实施例提供的一种报文转发系统结构示意图;

图2为本发明实施例提供的一种创建承载方法流程图;

图3为本发明实施例提供的一种报文转发方法流程图;

图4为本发明实施例提供的另一种报文转发方法流程图;

图5为本发明实施例提供的一种修改承载方法流程图;

图6为本发明实施例提供的一种删除承载方法流程图;

图7为本发明实施例蝗供的一种交换机结构示意图;

图8为本发明实施例提供的一种移动代理结构示意图。

具体实施方式

本发明实施例在网关转发面上增加了移动代理实体,负责维护与用户移动行为相关的内容、例如与创建承载、删除承载、或修改承载等移动行为相关的内容,网关转发面上的交换机只负责报文的转发,使得MS上保存的流表项数量与当前有业务的附着用户数量相关,与当前的附着用户数量无关。

流表项包含匹配域字段(match field)、计数器(counters)和指令集(instructions),不同的厂商可以根据各自的需求设计功能各异的流表。流表项的匹配域包括输入接口、报文的源IP地址、目的IP地址和TEID等。目前,匹配域有36种匹配项。流表的计数器统计流量的信息,例如活动表项、查找次数、发送包次数等,可以针对每张流表、每个流、每个端口、每个队列进行维护。流表项的指令集标明与流表项匹配的数据包应该执行的指令。流表项的指令集分为必备动作(Required Actions)和可选动作(Optional Actions)。三个必备动作为:将流转发到给定端口;封装并转发此流的报文到交换机上的控制器,由控制器决定是否在流表中增加流;丢弃此报文。可选动作包括:设置数据包的queue id,指定数据包ouput到端口的哪个queue;支持VLAN和MPLS tag;设置或修改不同头域的值;修改IPv4TTL、IPv6Hop Limit或者MPLS TTL。

图1为本发明实施例提供的一种报文转发系统结构示意图。如图1所示,本实施例提供的系统包括:网关控制面实体11和网关转发面实体12。其中、网关转发面实体12包括移动代理121和交换机122。移动代理121和交换机122可以是网关转发面实体12上不同的逻辑模块,可以部署在同一物理位置,也可以部署在不同的物理位置。

所述网关控制面实体11,用于在建立承载过程中,向移动代理发送用户信息建立消息,用户信息建立消息包括所述承载的用户信息。

网关控制面实体在为附着用户建立承载的过程中,将该承载的用户信息下发给位于网关转发面上的移动代理,而不是将该承载的流表项下发给移动代理。流表项包括匹配域和指令集,其中,匹配域中包括有用户信息。一个附着用户有一个或多个承载,通常情况下,一个承载在流表中对应有两个流表项,分别对应于上行报文和下行报文。

其中,承载的用户信息至少包括国际移动用户识别码(International Mobile Subscriber Identification Number,简称IMSI、移动用户综合业务数字网(Mobile Subscriber International Integrated Service Digital Network,简称MSISDN)、TEID、IP地址和接入点名称(Access Point Name,简称APN)等信息。

所述移动代理121,用于根据所述用户信息建立消息,保存所述用户信息。可选地,用户信息建立消息中还可包括用户状态。

移动代理接收到用户信息建立消息后,在本地保存其中的用户信息。每建立一个承裁,网关控制面实体都向移动代理下发用户信息建立消息,因此,移动代理可保存所有承载的用户信息。移动代理中保存的用户信息的主键值可以是IMSI。

所述交换机122,用于接收到用户面报文后,在本地流表中没有查找到所述用户面报文匹配的流表项时,向所述移动代理发送包括所述用户面报文中匹配参数的流表项请求;所述流表项包括匹配域和指令集。进一步,所述交换机122,还用于接收到用户面报文后,在所述流表查找到所述用户信息匹配的流表项时,根据所述用户信息匹配的流表项中指令集转发所述用户面报文。

用户面报文中匹配参数可以包括源IP地址、目的IP地址和TEID等信息。交换机本地保存有流表。交换机接收到用户面报文后,将用户面报文中IP地址和TEID等匹配参数,与流表中各个流表项的匹配域进行匹配,如果流表中存在与该匹配参数匹配的流表项,则查找到与用户面报文匹配的流表项;如果流表中不存在与该匹配参数匹配的流表项,则没有查找到与用户面报文匹配的流表项。交换机在本地查找到与当前用户面报文匹配的流表项时,根据查找到流表项中指令集转发用户面报文。

所述移动代理121,还用于接收到所述流表项请求后,在本地保存的用户信息中查找到与所述用户面报文中匹配参数对应的用户信息的情况下,根据查找到的用户信息生成所述用户面报文匹配的流表项,并向所述交换机发送生成的流表项。所述交换机122,还用于在所述流表中保存所述移动代理发送的流表项,并根据所述移动代理发送的流表项中指令集转发所述用户面报文。

交换机在本地没有查找到用户面报文匹配的流表项时,向移动代理发送流表项获取请求。移动代理接收到流表项请求后,在本地保存的用户信息中查找与用户面报文中匹配参数对应的用户信息。移动代理在本地查找到对应的用户信息的情况下,移动代理根据查找到的用户信息,动态生成用户面报文匹配的流表项,并向交换机发送生成的流表项。流表项包括匹配域和指令集,指令集由动作组成。其中,匹配域包括查找到的用户信息中IP地址和TEID等信息,匹配域对应的动作是根据查找到的用户信息中APN得到对应的交换机端口。动作指的是将用户面报文发往交换机的哪个端口。MA维护有用户信息中APN与交换机端口之间的映射关系。MA生成流表项的指集时,根据查找到的用户信息中APN得到对应的交换机端口,作为匹配域中对应的动作。可选地,与用户面报文中匹配参数对应的用户信息中还包括用户状态,根据该用户信息生成的流表项中还可包括用户状态,当用户处于idle状态时,对应的流表项不能使用,秀户处于连接态时,对应的流表项可以使用。

交换机接收到移动代理发送的流表项后,保存在本地流表中,同时根据流表项中指令集转发当前接收到的用户面报文。初始阶段,交换机的流表中为空,没有流表项。交换机在处理接收到的用户面报文过程中,如果本地流表没有保存与当前用户面报文匹配的流表项,从移动代理获取流表项并根据流表项转发当前用户面报文。交换机还保存从移动代理获取到的流表项,从而在接收到同一承载的其它用户面报文时,交换机可以在本地流表中查找到匹配的流表项,而不需要从移动代理获取流表项。由于,交换机保存的从移动代理处获取的流表项,是与当前用户面报文匹配的流表项,因此,交换机本地保存的流表项是有业务的附着用户的流表项,不保存没有业务的附着用户的流表。因而交换机保存的不是所有附着有户的流表项。

可选地,所述移动代理121,还用于接收到所述流表项请求后,在本地没有查找到与所述用户面报文中匹配参数对应的用户信息的情况下,向所述交换机发送流表项获取失败消息,向所述交换机发送流表项获取失败消息。所述交换机122,还用于接收到所述流表项获取失败消息后,丢弃所述用户面报文。

移动代理在本地没有查找到与用户面报文中匹配参数对应的用户信息的情况下,移动代理向所述交换机发送流表项获取失败消息,交换机接收到流表项获取失败消息可以丢弃报文。

可选地,为减少交换机保存的流表项数量,所述交换机,还用于周期性统计保存的各个流表项的访问量,并删除访问量为零的流表项。

本实施例提供的转发系统中,位于网关转发面上的交换机接收到用户面报文后,在本地如果没有查找到该用户面报文匹配的流表项,向位于网关转发面上的移动代理发送流表项请求,从移动代理获取该用户面报文匹配的表项。移动代理接收到流表项请求后,根据查找到的与该用户面报文中匹配参数对应的用户信息,动态生成该用户面报文匹配的流表项并发送给交换机,交换机保存移动代理发送的流表项并根据接收到的流表项转发该用户面报文。其中,与用户面报文中匹配参数对应的用户信息是为附着用户建立的承载的用户信息,由网关控制面实体在为附着用户建立承载的过程中下发给移动代理。由于,移动代理发送给交换机的流表项是交换机接收到的用户面报文匹配的流表项,因而,交换机本地保存的流表项是有业务的承载的流表项即有业务的附着用户的流表项,而不是所有附着用户的流表项,减少了交换机保存的流表项数量,提高了位于网关转发面上的交换机的性能。

可选地,为附着用户修改承载后,该承载的用户信息会发生变化,为使移动代理保存的用户信息是该承载最新的用户信息,网关控制面实体还会指示移动代理修改该承载的用户信息,移动代理还会指示交换机删除或修改该用户信息匹配的流表项。

所述网关控制面实体,还用于在修改所述承载过程中,向所述移动代理发送用户信息修改消息,所述用户信息修改消息包括所述承载的用户信息的索引值。

所述移动代理,还用于根据所述用户信息修改修改所述承载的用户信息。

另外,移动代理还可以使交换机在本地流表中修改该承载的用户信息匹配的流表项。具体如下:

所述移动代理,还用于根据所述用户信息修改修改所述承载的用户信息,根据修改后的用户信息生成指令集,并向所述移动交换机发送流表项修改消息,所述流表项修改消息包括生成的所述指令集和待修改流表项中的匹配域的值;或,根据所述承载修改消息修改所述承载的用户信息。向所述移动交换机发送流表项删除消息,所述流表项删除消息包括待删除流表项中的匹配域的值。

所述交换机,还用于根据所述流表项删除消息,在所述流表中删除所述流表项删除消息指示的流表项;或,根据所述流表项修改消息,在所述流表中修改所述流表项删除消息指示的流表项中指令集。

可选地,用户去附着即删除承载后,移动代理不再需要保存该承载的用户信息,为减少移动代理保存的用户信息量,删除承载过程中,网关控制面实体还会指示移动代理删除该承载的用户信息,同时移动代理还会指示交换机删除该用户信息匹配的流表项。

所述网关控制面实体,还用于在删除所述承载过程中,向所述移动代理发送用户信息删除消息,所述用户信息删除消息包括所述承载的用户信息的索引值。所述移动代理,还用于根据所述用户信息删除消息,删除所述承载的用户信息,并向所述交换机发送流表项删除消息,所述流表项删除消息包括待删除流表项中匹配域的值。所述交换机,还用于接收到所述流表项删除消息后,在所述流表中删除所述流表项删除消息指示的流表项。

图2为本发明实施例提供的一种创建承载方法流程图。如图2所示,移动控制节点(Mobile Controller,简称MC)包括移动管理实体(Mobile Management Entity,简称MME)和GW-C,GW-C为网关控制面实体,网关转发面实体包括移动代理(Mobile Agent,简称MA)和移动交换机(Mobile Switch,简称MS)。为用户创建承载的过程中也是用户接入过程。如图2所示,本实施例提供的方法包括:

步骤21:MME向GW-C发送创建会话请求。创建会话请求可以是Create Session Report消息。创建会话请求用于为用户创建承载。

创建会话请求中包含的信息包括IMSI、MSISDN、TEID、IP地址、APN等,其他信息还包括PDN GW地址、RAT类型、默认EPS承载QoS、PDN类型、APN-AMBR、EPS承载ID、协议配置件选项PCO和切换指示等信息。

步骤22:GW-C根据创建会话请求为用户创建承载。

步骤23:GW-C根据创建会话请求中包含的信息生成该承载的用户信息,向MA发送用户信息建立消息,其中包括该承载的用户信息。其中,用户信息建立消息可以是自定义的User Profile Indicate消息。

GW-C根据创建会话请求中包含的信息为承载生成的用户信息至少包括IMSI、MSISDN、TEID、IP地址和APN等信息。

GW-C与MA之间的消息可以是修改后的OpenFlow消息,GW-C与MA之间的消息也可以通过GTP消息承载,也可以是自定义的消息格式,,本发明不对此进行限定。

步骤24:MA保存GW-C发送的用户信息,并向GW-C回复建立响应消息。其中,建立响应消息可以是自定义的User Profile Indicate Response消息。

步骤25:GW-C向MME回复创建会话响应。创建会话响应可以是Create Session Response消息。

MC为附着用户建立承载的过程中,将为该附着用户的承载的用户信息下发给MA。

图3为本发明实施例提供的一种报文转发方法流程图。本实施例的执行主体为位于网关转发面上的MS。如图3所示,本实施例提供的方法包括:

步骤31:MS接收到用户面报文后,在本地没有查找到所述用户面报文匹配的流表项时,向MA发送包括用户面报文中匹配参数的的流表项请求。

步骤32:MA在本地保存的用户信息中查找到与所述用户面报文中匹配参数对应的用户信息的情况下,向MS发送所述用户信息匹配的流表项。

步骤33:MS保存所述移动代理发送的流表项,并根据MA发送的流表项转发所述用户面报文。

用户面报文中匹配参数可以包括源IP地址、目的IP地址和TEID等信息。MS接收到用户面报文后,将用户面报文中IP地址和TEID等匹配参数,与流表中各个流表项的匹配域进行匹配,如果流表中存在与该匹配参数匹配的流表项,则查找到与用户面报文匹配的流表项;如果流表中不存在与该匹配参数匹配的流表项,则没有查找到与用户面报文匹配的流表项。MS在本地查找到与当前用户面报文匹配的流表项时,根据查找到流表项中指令集转发用户面报文。

MS本地保存有流表,初始阶段,流表为空。在处理接收到的用户面报文过程中,如果本地流表没有保存与当前用户面报文匹配的流表项,从移动代理获取流表项并根据流表项转发当前用户面报文。交换机还保存从移动代理获取到的流表项,从而在接收到同一承载的其它用户面报文时,交换机可以在本地流表中查找到匹配的流表项,而不需要从移动代理获取流表项。由于,交换机保存的从移动代理处获取的流表项,是与当前用户面报文匹配的流表项,因此,交换机本地保存的流表项是有业务的附着用户的流表项,不保存没有业务的附着用户的流表。因而交换机保存的不是所有附着有户的流表项。

图4为本发明实施例提供的另一种报文转发方法流程图。如图4所示,本实施例提供的方法包括:

步骤41:MS接收用户面报文。

步骤42:MS查找本地流表中是否存在所述用户面报文匹配的流表项。如果查找到执行步骤43,否则执行步骤49。

步骤43:在本地没有查找到所述用户面报文匹配的流表项时,MS向所述移动代理发送包括用户面报文中匹配参数的的流表项请求。

步骤44:MA在本地保存的用户信息中查找是否有与所述用户面报文中匹配参数对应的用户信息。如果查找到执行步骤45,否则执行步骤47。

MA保存的用户信息与承载一一对应,一个承载对应一则用户信息。

步骤45:在本地保存的用户信息中查找到与所述用户面报文中匹配参数对应的用户信息的情况下,MA根据查找到的用户信息生成所述用户面报文匹配的流表项,向MS发送所述用户面报文匹配的流表项。

移动代理在本地查找到对应的用户信息的情况下,移动代理根据查找到的用户信息,动态生成用户面报文匹配的流表项,并向交换机发送生成的流表项。流表项包括匹配域和指令集,指令集由动作组成。其中,匹配域包括查找到的用户信息中IP地址和TEID等信息,匹配域对应的动作是根据查找到的用户信息中APN得到对应的交换机端口。动作指的是将用户面报文发往交换机的哪个端口。MA维护有用户信息中APN与交换机端口之间的映射关系。MA生成流表项的指集时,根据查找到的用户信息中APN得到对应的交换机端口,作为匹配域中对应的动作。

步骤46:MS保存MA发送的所述用户面报文匹配的流表项,并根据所述用户面报文匹配的流表项转发用户面报文。

步骤47:MA在本地没有查找到与所述用户面报文中匹配参数对应的用户信息的情况下,向MS发送流表项获取失败消息。

步骤48:MS接收到MA发送的流表项获取失败消息后,丢弃用户面报文。

步骤49:MS根据查找到的用户面报文匹配的流表项中指令集转发用户面报文。

MS接收到用户面报文后,先在本地流表中查找用户面报文匹配的流表项,如果查找到匹配的流表项,根据查找到的流表项转发用户面报文,否则从MA获取动态生成的流表项,保存从MA获取的流表项并根据获取的流表项转发用户面报文。由于,MS保存的流表项是接收到的用户面报文匹配的流表项,因此,MS保存的是有业务的附着用户的流表项,而不是所有附着用户的流表项。

图5为本发明实施例提供的一种修改承载方法流程图。如图5所示,本实施例提供的方法包括:

步骤51:MME向GW-C发送修改承载请求。

步骤52:GW-C根据修改承载请求修改承载后,根据修改承载请求中包含的信息生成该承载的新用户信息,向MA发送用户信息修改消息,所述用户信息修改消息包括所述承载的用户信息的索引值和所述承载的新用户信息。其中,用户信息修改消息可以是自定义的User Profile Indicate消息。

步骤53:MA根据所述用户信息修改消息修改所述承载的用户信息。

MA根据用户信息修改消息包括的承载的用户信息的索引值,在本地查找到待修改的用户信息,将查找到的用户信息修改为所述承载的新用户信息。

步骤54:MA向GW-C回复修改响应消息。其中,修改响应消息可以是自定义的User Profile Indicate Response消息。

步骤55:GW-C向MME回复修改承载响应消息。

步骤56:MA根据修改后的用户信息生成指令集,并向MS发送流表项修改消息,流表项修改消息包括生成的所述指令集和待修改流表项中的匹配域的值。

步骤56和步骤54可以同时执行,步骤56也可以在步骤54之前执行。

步骤57:MS根据待修改流表项中的匹配域的值,在所述流表中修改所述流表项删除消息指示的流表项中指令集。

MS根据待修改流表项中的匹配域的值查找待修改的流表项,将查找到的流表项中指令集修改为流表项修改消息中携带的指令集。

步骤58:MS向MA回复流表项修改响应消息。

进一步,MA根据所述用户信息修改修改所述承载的用户信息后。还可以向MS发送发送流表项删除消息,所述流表项删除消息包括待删除流表项中的匹配域的值。MS根据待删除流表项中的匹配域的值在流表中查找到待删除的流表项,在所述流表中删除所述流表项删除消息指示的流表项。

MC为附着用户修改承载的过程中,将更新后的用户信息下发给MA,使MA更新本地保存的用户信息。

图6为本发明实施例提供的一种删除承载方法流程图。删除承载的过程也是用户去附着的过程。如图6所示,本实施例提供的方法包括:

步骤61:MME向GW-C发送删除承载请求。

步骤62:GW-C根据删除承载请求删除承载后,向MA用户信息删除消息,用户信息删除消息包括所述承载的用户信息的索引值。其中,用户信息删除消息可以是自定义的User Profile Indicate消息。

步骤63:MA根据用户信息删除消息,删除所述承载的用户信息。

步骤64:MA向GW-C回复删除响应消息。其中,删除响应消息可以是自定义的User Profile Indicate Response消息。

步骤65:GW-C向MME回复删除承载响应消息。

步骤66:MA向MS发送流表项删除消息,所述流表项删除消息包括待删除流表项中匹配域的值。

步骤67:MS根据流表项删除消息,在流表中删除流表项删除消息指示的流表项。

步骤68:MS向MA回复流表项删除响应消息。

MC为附着用户删除承载的过程中,在MA删除该承载的用户信息。

图7为本发明实施例蝗供的一种交换机结构示意图。如图7所示,本实施例提供的交换机包括:收发器71和处理器72以及存储器73。

存储器73,用于保存流表;所述流表中流表项包括匹配域和指令集;

收发器71,用于接收用户面报文;

处理器72,用于在所述流表中查找所述用户面报文匹配的流表项时,向移动代理发送包括所述用户面报文中匹配参数的流表项请求;

所述收发器71,还用于所述处理器在所述流表中没有查找到所述用户面报文匹配的流表项时,向移动代理发送包括所述用户面报文中匹配参数的流表项请求;

所述收发器71,还用于所述移动代理在本地保存的用户信息中查找到与所述用户面报文中匹配参数对应的用户信息的情况下,接收所述移动代理发送的流表项;

所述处理器72,还用于在所述流表中保存所述移动代理发送的流表项;

所述收发器71,用于根据所述移动代理发送的流表项中指令集转发所述用户面报文。

可选地,所述处理器,还用于在接收到所述用户面报文后,在所述流表查找到所述用户信息匹配的流表项时,根据所述用户信息匹配的流表项中指令集转发所述用户面报文。

可选地,所述处理器,还用于周期性统计所述流表中保存的各个流表项的访问量,并删除访问量为零的流表项。

本实施例可参见图1对应实施例和图3对应实施例中交换机的功能。

移动控制面实体在删除承载过程中,移动代理在交换机上删除根据该承载的用户信息生成的流表项:

所述收发器,还用于接收到所述移动代理发送的流表项删除消息,所述流表项删除消息包括待删除流表项中匹配域的值。

所述处理器,还用于在所述流表中删除所述流表项删除消息指示的流表项。

本实施例可参见图6对应实施例中交换机的功能。

移动控制面实体在修改承载过程中,移动代理在交换机上删除或修改根据该承载的旧用户信息生成的流表项:

所述收发器,还用于接收所述移动代理发送的流表项修改消息,所述流表项修改消息包括生成的所述指令集和待修改流表项中的匹配域的值;

所述处理器,还用于根据所述流表项修改消息,在所述流表中修改所述流表项删除消息指示的流表项中指令集。

本实施例可参见图5对应实施例中交换机的功能。

图8为本发明实施例提供的一种移动代理结构示意图。如图8所示,本实施例提供的交换机包括:收发器81和处理器82以及存储器83。

收发器81,用于在建立承载过程中,接收网关控制面实体发送的用户信息建立消息,所述用户信息建立消息包括所述承载的用户信息;

处理器82,用于在存储器83中保存所述用户信息建立消息中所述承载的用户信息;

所述收发器81,还用于交换机在本地流表查找所述用户面报文匹配的流表项,在本地流表中没有查找到所述用户面报文匹配的流表项时,接收所述交换机发送的包括所述用户面报文中匹配参数的流表项请求;所述流表项包括匹配域和指令集;

所述处理器82,还用于在所述存储器查找与所述用户面报文中匹配参数对应的用户信息,在查找到与所述用户面报文中匹配参数对应的用户信息的情况下,根据查找到的用户信息生成所述用户面报文匹配的流表项;

所述收发器81,还用于向所述交换机发送生成的流表项。

本实施例可参见图2对应实施例中交换机的功能。

可选地,删除承载过程中,移动代理内部处理如下:

所述收发器,还用于在删除所述承载过程中,接收所述网关控制面实体发送的用户信息删除消息,所述用户信息删除消息包括所述承载的用户信息的索引值;

所述处理器,还用于根据所述用户信息删除消息,删除所述存储器保存的所述承载的用户信息;

所述收发器,还用于向所述交换机发送流表项删除消息,所述流表项删除消息包括待删除流表项中匹配域的值。

本实施例可参见图6对应实施例中交换机的功能。

可选地,修改承载过程中,移动代理内部处理如下:

所述收发器,还用于在修改所述承载过程中,接收所述网关控制面实体发送的发送用户信息修改消息,所述用户信息修改消息包括所述承载的用户信息的索引值;

所述处理器,还用于根据所述用户信息修改消息,修改所述存储器保存的所述承载的用户信息;

所述收发器,还用于向所述移动交换机发送流表项删除消息,所述流表项删除消息包括待删除流表项中的匹配域的值。

可选地,所述处理器,还用于在修改所述承载的用户信息后。根据修改后的用户信息生成指令集;所述收发器,还用于向所述移动交换机发送流表项修改消息,所述流表项修改消息包括生成的所述指令集和待修改流表项中的匹配域的值。

本实施例可参见图5对应实施例中交换机的功能。

本发明还提供一种执行报文转发方法的交换机,网关转发实体包括移动代理和所述交换机,所述交换机包括:

存储单元,用于存储流表项;

收发单元,用于接收用户面报文;

处理单元,用于在所述流表中查找所述用户面报文匹配的流表项时,向移动代理发送包括所述用户面报文中匹配参数的流表项请求;

所述收发单元,还用于所述处理单元在所述流表中没有查找到所述用户面报文匹配的流表项时,向移动代理发送包括所述用户面报文中匹配参数的流表项请求;

所述收发单元,还用于所述移动代理在本地保存的用户信息中查找到与所述用户面报文中匹配参数对应的用户信息的情况下,接收所述移动代理发送的流表项;

所述处理单元,还用于在所述流表中保存所述移动代理发送的流表项;

所述收发单元,还用于根据所述移动代理发送的流表项中指令集转发所述用户面报文。

可选地,所述收发单元,还用于接收到所述移动代理发送的流表项删除消息,所述流表项删除消息包括待删除流表项中匹配域的值;所述处理单元,还用于在所述流表中删除所述流表项删除消息指示的流表项。

可选地,所述收发单元,还用于接收所述移动代理发送的流表项修改消息,所述流表项修改消息包括生成的所述指令集和待修改流表项中的匹配域的值;所述处理单元,还用于根据所述流表项修改消息,在所述流表中修改所述流表项删除消息指示的流表项中指令集。

可选地,所述处理单元,还用于在接收到所述用户面报文后,在所述流表查找到所述用户信息匹配的流表项时,根据所述用户信息匹配的流表项中指令集转发所述用户面报文。

可选地,所述处理单元,还用于周期性统计所述流表中保存的各个流表项的访问量,并删除访问量为零的流表项。

本发明还提供一种执行建立承载方法的移动代理,网关转发实体包括所述移动代理和交换机,所述移动代理包括:

收发单元,用于在建立承载过程中,接收网关控制面实体发送的用户信息建立消息,所述用户信息建立消息包括所述承载的用户信息;

处理单元,用于在存储单元中保存所述用户信息建立消息中所述承载的用户信息;

所述收发单元,还用于交换机在本地流表查找所述用户面报文匹配的流表项,在本地流表中没有查找到所述用户面报文匹配的流表项时,接收所述交换机发送的包括所述用户面报文中匹配参数的流表项请求;所述流表项包括匹配域和指令集;

所述处理单元,还用于在所述存储单元查找与所述用户面报文中匹配参数对应的用户信息,在查找到与所述用户面报文中匹配参数对应的用户信息的情况下,根据查找到的用户信息生成所述用户面报文匹配的流表项;

所述收发单元,还用于向所述交换机发送生成的流表项。

可选地,所述收发单元,还用于在删除所述承载过程中,接收所述网关控制面实体发送的用户信息删除消息,所述用户信息删除消息包括所述承载的用户信息的索引值;

所述处理单元,还用于根据所述用户信息删除消息,删除所述存储单元保存的所述承载的用户信息;

所述收发单元,还用于向所述交换机发送流表项删除消息,所述流表项删除消息包括待删除流表项中匹配域的值。

可选地,所述收发单元,还用于在修改所述承载过程中,接收所述网关控制面实体发送的发送用户信息修改消息,所述用户信息修改消息包括所述承载的用户信息的索引值;

所述处理单元,还用于根据所述用户信息修改消息,修改所述存储单元保存的所述承载的用户信息;

所述收发单元,还用于向所述移动交换机发送流表项删除消息,所述流表项删除消息包括待删除流表项中的匹配域的值。

可选地,所述处理单元,还用于在修改所述承载的用户信息后。根据修改后的用户信息生成指令集;

所述收发单元,还用于向所述移动交换机发送流表项修改消息,所述流表项修改消息包括生成的所述指令集和待修改流表项中的匹配域的值。

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

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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