数据报文的处理方法及接入服务路由器
技术领域
本发明涉及移动通信技术领域,尤其涉及一种数据报文的处理方法及接入服务路由器。
背景技术
业界目前提出了多种新的移动管理技术,其本质思想是用户身份和位置分离技术。现有技术中已有有关身份标识和位置分离(Subscriber Identifier&LocatorSeparation Network,SILSN)的解决方案,如基于主机的实现如主机标识协议(HIP)技术,以及基于路由器的实现如位置身份分离协议(LISP)技术,每种实现中又有相关的多种技术进行支持,这些方案中终端用户的身份标识(文中表示为AID)在移动过程中不改变,根据终端的位置另行分配位置标识(文中表示为RID)来实现数据报文的路由和转发。
图1示出了一种身份标识和位置分离(SILSN)的网络架构,该SILSN架构的网络拓扑划分为拓扑关系上没有重叠的接入网和骨干网,接入网位于骨干网的边缘,负责所有终端的接入,骨干网负责接入的终端间数据报文的路由和转发。该网络中,AID作为终端的用户身份标识,在终端移动过程中始终保持不变;RID是网络为终端分配的位置标识,在骨干网使用。应说明的是,不同的SILSN架构可以有不同的名称,但实质是一样的。
SILSN架构中,终端可以是移动终端、固定终端和游牧终端中的一种或多种,如手机、固定电话、电脑和服务器等等。
SILSN架构中,接入网用于为终端提供二层(物理层和链路层)接入手段,维护终端与接入服务路由器(ASR)之间的物理接入链路。
SILSN架构中,骨干网的主要网元包括:
接入服务路由器(Access Service Router,ASR)是骨干网的边缘路由器,用于为终端分配RID,维护终端的AID-RID映射信息,到身份位置寄存器(Identity LocationRegister,ILR)登记注册和查询终端的AID-RID绑定关系,以及实现数据报文的路由和转发等。终端须经过ASR接入骨干网。ASR为终端分配的RID包含该ASR的地址信息,或者说指向本ASR,将该RID作为数据报文的目的地址时,该数据报文将被路由到该ASR。
通用路由器(Common Router,CR),骨干网的核心路由器,用于根据数据报文中的RID进行选路,转发以RID为目的地址的数据报文。
ILR用于保存和维护归属用户终端的身份标识和位置标识映射信息,文中也写为AID-RID映射信息,处理对终端位置的注册、去注册和查询;
可选地,骨干网还可以包括:
互联服务节点(Internet Service Router,ISR),具有与传统IP网络、ASR和ILR的接口,用于实现身份、位置分离网络与传统IP网络的互联互通。
可以看出,ASR为了实现报文的正常转发,需要在终端接入时为该终端分配RID,并需要到ILR注册该用户的AID与RID的绑定,以更新ILR中的该终端的绑定的RID。在一个示例中,ASR为每个终端维护该终端的对端信息(也可称为终端与通信对端的连接信息,或终端与通信对端的通信关系信息),其中包含该终端AID及其通信对端AID的对应关系信息,还可以包括该终端的AID-RID映射信息。
身份位置分离网络一般设计使用IP地址作为身份标识,以对应用程序和终端设备的透明支持,即应用程序套接字连接的还是IP地址,而不必改动。其实,这个IP地址的含义已不是普通意义上的可路由的IP地址。
身份位置分离网络可解决IP地址二义性带来的一系列问题,但也存在很多应用上的问题,最主要的是目前广泛使用的IPv4地址空间有限,而身份标识也不能重用现有已分配的公网IP地址,否则会导致身份标识和公网地址不可区分,因此,需要解决标识空间的问题。
发明内容
本发明提供了一种数据报文的处理方法及接入服务路由器,以解决数据报文转发过程中的身份标识空间有限的问题。
本发明提供了一种数据报文的处理方法,该方法包括:
接入服务路由器(ASR)接收终端发送的数据报文,保存所述数据报文中携带的IP地址和端口号与所述终端的身份标识(AID)中的IP地址和所述ASR选择的端口号的对应绑定关系,并将所述数据报文携带的IP地址和端口号对应地替换为所述AID中的IP地址和所述ASR选择的端口号,其中,所述AID由IP地址和二进制端口号的任意N位表示,N为大于等于1小于二进制端口号位数的整数;
所述ASR发送完成替换后的数据报文。
优选地,所述ASR接收终端发送的数据报文之前,所述方法还包括:
所述ASR接收所述终端发送的注册信令,根据所述注册信令查询身份位置寄存器(ILR)获得所述终端的AID;
所述ASR为终端分配IP地址,保存所述IP地址和所述AID的绑定关系。
优选地,所述ASR保存所述数据报文中携带的IP地址和端口号与终端身份标识(AID)中的IP地址和所述ASR选择的端口号的对应绑定关系,包括:
所述ASR根据数据报文中携带的IP地址和所述绑定关系获得终端的AID,保存所述数据报文中携带的IP地址和端口号与所述AID中的IP地址和所述ASR选择的端口号的对应绑定关系。
优选地,所述ASR选择的端口号为所述ASR在所述AID中二进制端口号的N位固定的端口号范围内选择的一个所述终端未使用的端口号。
优选地,所述二进制端口号的任意N位包括所述二进制端口号的高N位。
优选地,当所述二进制端口号位数为16时,所述二进制端口号的高N位优选为二进制端口号的高3位、高4位、高5位或高6位。
优选地,所述ASR发送完成替换后的数据报文之后,所述方法还包括:
所述ASR接收所述数据报文的响应数据报文,根据所述响应数据报文中携带的IP地址和端口号以及所述ASR保存的所述对应绑定关系,获知所述终端的IP地址和端口号,并向所述终端发送所述响应数据报文。
优选地,所述ASR接收服务器发送的回应数据报文,根据所述回应数据报文中携带的目的地址和端口号确定接收所述回应数据报文的终端的AID。
本发明还提供了一种接入服务路由器(ASR),该ASR包括:
替换模块,用于所述ASR作为源ASR时,接收终端发送的数据报文,保存所述数据报文中携带的IP地址和端口号与所述终端的身份标识(AID)中的IP地址和所述ASR选择的端口号的对应绑定关系,并将所述数据报文携带的IP地址和端口号对应地替换为所述AID中的IP地址和所述ASR选择的端口号,其中,所述AID由IP地址和二进制端口号的任意N位表示,N为大于等于1小于二进制端口号位数的整数;
发送模块,用于发送所述替换模块完成替换后的数据报文。
优选地,所述ASR还包括:
查询模块,用于在所述替换模块接收终端发送的数据报文之前,接收所述终端发送的注册信令,根据所述注册信令查询身份位置寄存器(ILR)获得所述终端的AID;
保存模块,用于为终端分配IP地址,保存所述IP地址和所述AID的绑定关系。
优选地,所述替换模块保存所述数据报文中携带的IP地址和端口号与终端身份标识(AID)中的IP地址和所述ASR选择的端口号的对应绑定关系,是用于:
根据数据报文中携带的IP地址和所述保存模块保存的所述绑定关系获得终端的AID,保存所述数据报文中携带的IP地址和端口号与所述AID中的IP地址和所述ASR选择的端口号的对应绑定关系。
优选地,所述ASR选择的端口号为所述ASR在所述AID中二进制端口号的N位固定的端口号范围内选择的一个所述终端未使用的端口号。
优选地,所述二进制端口号的任意N位包括所述二进制端口号的高N位。
优选地,当所述二进制端口号位数为16时,所述二进制端口号的高N位优选为二进制端口号的高3位、高4位、高5位或高6位。
优选地,所述ASR还包括:获知模块,用于接收所述发送模块发送的所述数据报文的响应数据报文,根据所述响应数据报文中携带的IP地址和端口号以及所述ASR保存的所述对应绑定关系,获知所述终端的IP地址和端口号,并向所述终端发送所述响应数据报文。
优选地,所述ASR还包括:
确定模块,用于所述ASR作为目的ASR时,接收服务器发送的回应数据报文,根据所述回应数据报文中携带的目的地址和端口号确定接收所述回应数据报文的终端的AID。
上述数据报文的处理方法及接入服务路由器,实现了在对应用和终端不做改动的情况下,提供足够多的身份标识空间。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为现有SILSN网络架构的示意图;
图2为本发明身份位置分离网络的身份标识示意图一;
图3是本发明身份位置分离网络的身份标识示意图二;
图4是本发明实施例的终端注册流程图;
图5是本发明实施例的数据报文处理流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
本发明实施例提供了一种数据报文的处理方法,该方法包括:
步骤一、接入服务路由器(ASR)接收终端发送的数据报文,保存所述数据报文中携带的IP地址和端口号与所述终端的身份标识(AID)中的IP地址和所述ASR选择的端口号的对应绑定关系,并将所述数据报文携带的IP地址和端口号对应地替换为所述AID中的IP地址和所述ASR选择的端口号,其中所述AID由IP地址和二进制端口号的任意N位表示,N为大于等于1小于二进制端口号位数的整数;
其中,所述ASR接收终端发送的数据报文之前,所述方法还包括:所述ASR接收所述终端发送的注册信令,根据所述注册信令查询身份位置寄存器(ILR)获得所述终端的AID;所述ASR为终端分配IP地址,保存所述IP地址和所述AID的绑定关系。
具体地,所述ASR根据数据报文中携带的IP地址和所述绑定关系获得终端的AID,保存所述数据报文中携带的IP地址和端口号与所述AID中的IP地址和所述ASR选择的端口号的对应绑定关系。所述ASR选择的端口号为所述ASR在所述AID中二进制端口号的N位固定的端口号范围内选择的一个所述终端未使用的端口号。
另外,所述二进制端口号的任意N位包括所述二进制端口号的高N位。当所述二进制端口号位数为16时,所述二进制端口号的高N位优选为二进制端口号的高3位、高4位、高5位或高6位。当然,该二进制端口号的任意N位可根据需要灵活设置,高N位仅是一种示例。
如图2所示,身份标识采用IPv4地址加上二进制端口号高5位的方式来表示,5位端口号二进制高位确定后,剩余11位二进制端口号为该用户可用的端口号范围,为2048个。目前,终端可用端口号范围为1024到65535,故同一IPv4地址加二进制端口号高5位可以有31个标识,从而标识空间足够多,如采用二进制端口号高6位来确定,则同一IPv4地址可以有63个标识。以下以二进制端口号高5位作为身份标识的一部分举例,但方案不局限于使用二进制端口号高5位作为身份标识的一部分。
给终端分配的IP地址可以为私网IPv4地址或公网IPv4地址,ASR完成用户数据包中的IP地址、端口与给用户分配的AID中的IPv4地址与端口号范围内的一个未使用端口之间的转换。
当身份位置分离网络的身份标识演进到使用IPv6地址后,由于身份标识的相对固定性及对用户的便利性,需要继续保留用户原有的IPv4的身份标识,这时,可采用IPv4加高五位端口号的身份标识嵌入IPv6地址的方式,即采用特定前缀的IPv6地址,最后37位(IPv4地址加5位端口号高位)二进制位为身份标识,如图3所示。
步骤二、所述ASR发送完成替换后的数据报文。
所述ASR发送完成替换后的数据报文之后,所述方法还包括:
所述ASR接收所述数据报文的响应数据报文,根据所述响应数据报文中携带的IP地址和端口号以及所述ASR保存的所述对应绑定关系,获知所述终端的IP地址和端口号,并向所述终端发送所述响应数据报文。
上述操作是ASR作为源ASR时完成的,另外,当所述ASR为目的ASR时,还可以接收服务器发送的回应数据报文,根据所述回应数据报文中携带的目的地址和端口号确定接收所述回应数据报文的终端的AID。
上述数据报文处理方法中,采用IP地址和二进制端口号的任意N位表示的AID表示终端的AID,有效地扩展了身份标识空间,且不需要对终端做改动。
下文以实施例的方式说明在身份位置分离网络SILSN中使用IP地址和二进制端口号的高N位表示的AID进行的应用。需要说明的是,本发明的流程也可广泛适用于其它身份位置分离架构。
实施例一
本实施例基于图1描述的SILSN身份位置分离网络架构,在图4示出了一种终端注册SILSN网络的流程,以端口号5位二进制高位为AID一部分为例,该过程包括:
步骤401、终端的注册信令被发送到ASR;
步骤402、ASR根据终端的IMSI查询ILR,获取终端的AID(IP地址加5位二进制端口号高位);
步骤403、ILR返回ASR用户的AID;
步骤404、ASR给用户分配IP地址,同时做用户AID与用户PDP上下文中的IP地址的绑定;此分配给用户的IP地址可为ASR自身分配的私网地址、也可为用户AID中的IP地址部分;
步骤405、ASR给用户分配一个其自身的地址RID,向ILR注册用户AID、RID的绑定;
步骤406、ILR返回AID、RID绑定结果给ASR;
步骤407、ASR返回终端用户PDP上下文及在步骤404中给用户分配的IP地址。
进一步地,在步骤402中,可同时携带RID信息,用于ILR注册AID、RID的绑定,则步骤405,步骤406可省略。
上述实施例以二进制端口号高5位为例说明,但不限定高5位,根据实际情况,也可使用6位或4位等二进制端口号高位为身份标识的一部分,二进制端口号高位的位数的确定取决于用户身份标识数目的多少与给每一用户分配的可用端口数目的平衡,但本发明实施例的思想适用于任意二进制端口号高位的长度。
实施例二
本实施例基于图1描述的SILSN身份位置分离网络架构,在图5示出了一种终端数据报文的处理流程,以端口号3位二进制高位为AID一部分为例,服务器AID采用公网IP地址,不加端口号信息;可以将不加端口号信息的AID与加端口号信息的AID通过AID中IP地址的前缀部分加以区分(类似子网划分的形式,对AID使用的IP地址进行地址段分配):
步骤501、终端向ASR发送数据报文,源IP地址为ASR为其分配的IP地址,目的IP地址为服务器的AID;服务器的AID为公网IP地址;
步骤502、源ASR在用户AID的端口号高3位固定的端口号范围内取一个未使用的端口Port1,将数据报文的源IP地址,端口号与用户AID中的IP地址及选择的Port1做绑定,同时替换用户IP包头的源IP地址,端口号为AID中的IP地址及Port1;
步骤503、源ASR根据数据报文IP头的目的地址(服务器AID),查询本地AID,RID映射缓存,如果本地没有缓存,则根据服务器AID查询ILR,获取服务器AID对应的RID;
步骤504、源ASR对数据报文进行隧道封装,外层IP头的源IP地址为终端的RID,目的IP地址为服务器的RID;
步骤505、目的ASR收到数据包后,去除外层隧道封装,根据内层IP头的目的IP地址为服务器的AID,向服务器转发数据包;
步骤506、服务器向目的ASR发送发往终端的回包,目的IP地址为终端AID中的IP地址,目的端口为Port1;
步骤507、目的ASR根据数据报文IP头的目的地址(终端AID中的IP地址)及端口号高位(Port1的高3位二进制值),查询本地AID,RID映射缓存,如果本地没有缓存,则根据终端AID查询ILR,获取终端AID对应的RID;
步骤508、目的ASR对数据报文进行隧道封装,外层IP头的源IP地址为服务器的RID,目的IP地址为终端的RID;
步骤509、源ASR去除隧道封装,根据内层IP包头的目的IP地址和端口号查找本地缓存,将目的IP地址替换为终端的IP地址,将端口号替换为终端的端口号。并将数据包转发给终端。
本实施例以端口号的高5位及高3位二进制值作为AID的一部分为例说明,但不局限于使用高5位或高3为二进制值作为AID的一部分,实际上,可以使用任意位数的高位二进制值作为AID的一部分,取决于AID空间大小和用户可用端口号范围的平衡。
本发明实施例还提供了一种接入服务路由器(ASR),该ASR包括替换模块和发送模块,其中:
替换模块,用于所述ASR作为源ASR时,接收终端发送的数据报文,保存所述数据报文中携带的IP地址和端口号与所述终端的身份标识(AID)中的IP地址和所述ASR选择的端口号的对应绑定关系,并将所述数据报文携带的IP地址和端口号对应地替换为所述AID中的IP地址和所述ASR选择的端口号,其中,所述AID由IP地址和二进制端口号的任意N位表示,N为大于等于1小于二进制端口号位数的整数;
发送模块,用于发送所述替换模块完成替换后的数据报文。
其中,所述二进制端口号的任意N位包括所述二进制端口号的高N位。当所述二进制端口号位数为16时,所述二进制端口号的高N位优选为二进制端口号的高3位、高4位、高5位或高6位。
另外,所述ASR还包括:查询模块,用于在所述替换模块接收终端发送的数据报文之前,接收所述终端发送的注册信令,根据所述注册信令查询身份位置寄存器(ILR)获得所述终端的AID;保存模块,用于为终端分配IP地址,保存所述IP地址和所述AID的绑定关系。
具体地,所述替换模块保存所述数据报文中携带的IP地址和端口号与终端身份标识(AID)中的IP地址和所述ASR选择的端口号的对应绑定关系,是用于:根据数据报文中携带的IP地址和所述保存模块保存的所述绑定关系获得终端的AID,保存所述数据报文中携带的IP地址和端口号与所述AID中的IP地址和所述ASR选择的端口号的对应绑定关系。所述ASR选择的端口号为所述ASR在所述AID中二进制端口号的N位固定的端口号范围内选择的一个所述终端未使用的端口号。
进一步地,所述ASR还包括:获知模块,用于接收所述发送模块发送的所述数据报文的响应数据报文,根据所述响应数据报文中携带的IP地址和端口号以及所述ASR保存的所述对应绑定关系,获知所述终端的IP地址和端口号,并向所述终端发送所述响应数据报文。
上述功能模块是在该ASR为源ASR时具有的,另外,所述ASR还包括:确定模块,用于所述ASR作为目的ASR时,接收服务器发送的回应数据报文,根据所述回应数据报文中携带的目的地址和端口号确定接收所述回应数据报文的终端的AID。
上述ASR可以使用IP地址和二进制端口号的任意N位表示的AID为终端提供服务,并且可以提供足够多的身份标识空间。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,上述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。