发明内容
本发明要解决的技术问题是提出一种广播报文中继方法、系统和接入服务路由器,实现位于不同接入服务路由器下的用户之间广播报文互通。
本发明提供了一种广播报文中继方法,包括:
接入服务路由器配置访问控制信息;
所述接入服务路由器接收到来自用户设备方向的广播报文后,以所述接入服务路由器的位置标识作为隧道源地址,将满足所述访问控制信息的接入服务路由器的位置标识分别作为隧道目的地址对所述广播报文进行隧道封装处理后发送。
进一步的,上述方法还可具有以下特点,所述方法还包括:
将网络划分为一个或多个域,并配置所述接入服务路由器所属的域;
所述访问控制信息包括所述接入服务路由器允许访问的域,所述满足所述访问控制信息的接入服务路由器是指属于所述允许访问的域中的接入服务路由器。
进一步的,上述方法还可具有以下特点,所述配置所述接入服务路由器所属的域包括:
由所述接入服务路由器自身配置或者由身份位置寄存器(ILR)配置所述接入服务路由器所属的域。
进一步的,上述方法还可具有以下特点,所述由ILR配置包括:
所述接入服务路由器接入到网络中后,发送注册请求给所述ILR;
所述ILR接收到所述接入服务路由器的注册请求后,如果所述注册请求中未携带域标识,则为所述接入服务路由器配置域标识,或者,配置默认的域标识,并将所述域标识发送给所述接入服务路由器。
进一步的,上述方法还可具有以下特点,所述方法还包括:
所述ILR在接收到所述接入服务路由器的注册请求后,将所述接入服务路由器的位置标识和域标识保存在本地的接入服务路由器位置标识信息列表中,并将所述接入服务路由器位置标识信息列表发送给所述接入服务路由器,以及,将该接入服务路由器的位置标识和域标识发送给其它接入服务路由器;
所述接入服务路由器保存所述接入服务路由器位置标识信息列表。
进一步的,上述方法还可具有以下特点,所述方法还包括:
所述接入服务路由器离线时,发送注销请求至所述ILR;
所述ILR接收到所述注销请求后,在本地接入服务路由器位置标识信息列表中删除所述接入服务路由器的位置标识和域标识,并通知其它接入服务路由器删除该注销的接入服务路由器的位置标识和域标识。
进一步的,上述方法还可具有以下特点,使用头结点数组和存储节点存储所述接入服务路由器位置标识信息列表,其中:
所述头结点数组包括:域标识域、计数域和第一后向指针域:
所述域标识域中指示域标识;
所述计数域中指示所述域标识域中指示的域中管理的接入服务路由器的个数;
所述第一后向指针域指向存储节点;
所述存储节点包括:前向指针域,接入服务路由器位置标识值域和第二后向指针域,其中:
所述前向指针域指向前驱节点;
所述接入服务路由器位置标识值域指示接入服务路由器的位置标识;
所述第二后向指针域指向后继节点,当前存储节点为尾节点时所述第二后向指针域为指定值,表明当前为尾节点。
本发明还提供一种接入服务路由器,包括访问控制模块和中继模块,其中:
所述访问控制模块用于:配置访问控制信息;
所述中继模块用于:接收到来自来自用户设备方向的广播报文后,以所述接入服务路由器的位置标识作为隧道源地址,将满足所述访问控制信息的接入服务路由器的位置标识分别作为隧道目的地址对所述广播报文进行隧道封装处理后发送。
进一步的,上述接入服务路由器还可具有以下特点,所述接入服务路由器还包括域管理模块,用于配置所述接入服务路由器所属的域标识,或者,接收身份位置寄存器(ILR)为所述接入服务路由器配置的域标识或默认的域标识;
所述访问控制模块是用于配置所述接入服务路由器允许访问的域;
所述中继模块是用于将属于所述允许访问的域中的接入服务路由器的位置标识分别作为隧道目的地址对所述广播报文进行隧道封装处理后发送。
进一步的,上述接入服务路由器还可具有以下特点,所述域管理模块还用于:在所述接入服务路由器接入到网络中时,向所述ILR进行注册,接收并保存所述ILR发送的接入服务路由器位置标识信息列表,所述接入服务路由器位置标识信息列表中包括当前网络中的接入服务路由器的位置标识和域标识。
进一步的,上述接入服务路由器还可具有以下特点,所述域管理模块还用于:当所述接入服务路由器离线时,在所述ILR中注销自身的位置标识和域标识。
进一步的,上述接入服务路由器还可具有以下特点,所述域管理模块还用于接收所述ILR在有新接入服务路由器注册或注销时发送的所述新注册或注销的接入服务路由器的位置标识和域标识,在本地接入服务路由器位置标识信息列表中增加或删除所述新注册或注销的接入服务路由器的位置标识和域标识。
进一步的,上述接入服务路由器还可具有以下特点,所述域管理模块还用于使用头结点数组和存储节点存储所述接入服务路由器位置标识信息列表:
所述头结点数组包括:域标识域、计数域和第一后向指针域:
所述域标识域中指示域标识;
所述计数域中指示所述域标识域中指示的域中管理的接入服务路由器的个数;
所述第一后向指针域指向存储节点;
所述存储节点包括:前向指针域,接入服务路由器位置标识值域和第二后向指针域,其中:
所述前向指针域指向前驱节点;
所述接入服务路由器位置标识值域指示接入服务路由器的位置标识;
所述第二后向指针域指向后继节点,当前存储节点为尾节点时所述第二后向指针域为指定值,表明当前为尾节点。
本发明还提供一种广播报文中继系统,包括上述接入服务路由器,还包括身份位置寄存器(ILR),其中:
所述ILR包括注册单元,所述注册单元用于:在接收到所述接入服务路由器的注册请求时,如果所述注册请求中未携带域标识,则为所述接入服务路由器配置域标识,或者,配置默认的域标识,并将所述域标识发送给所述接入服务路由器,如果所述注册请求中携带域标识,则将该域标识作为该接入服务路由器的域标识。
进一步的,上述系统还可具有以下特点,所述ILR还包括存储单元,其中:
所述注册单元还用于:在接收到所述接入服务路由器的注册请求时,将所述接入服务路由器的位置标识和域标识保存在存储单元中的接入服务路由器位置标识信息列表中,并将所述接入服务路由器位置标识信息列表发送给所述接入服务路由器,以及,将该接入服务路由器的位置标识和域标识发送给其它接入服务路由器;
所述存储单元用于:存储所述接入服务路由器位置标识信息列表。
进一步的,上述系统还可具有以下特点,所述ILR还包括注销单元,用于:接收到所述接入服务路由器的注销请求时,在所述存储单元存储的接入服务路由器位置标识信息列表中删除所述接入服务路由器的位置标识和域标识,并通知其它接入服务路由器删除该注销的接入服务路由器的位置标识和域标识。
进一步的,上述系统还可具有以下特点,所述存储单元用于使用头结点数组和存储节点存储所述接入服务路由器位置标识信息列表:
所述头结点数组包括:域标识域、计数域和第一后向指针域:
所述域标识域中指示域标识;
所述计数域中指示所述域标识域中指示的域中管理的接入服务路由器的个数;
所述第一后向指针域指向存储节点;
所述存储节点包括:前向指针域,接入服务路由器位置标识值域和第二后向指针域,其中:
所述前向指针域指向前驱节点;
所述接入服务路由器位置标识值域指示接入服务路由器的位置标识;
所述第二后向指针域指向后继节点,当前存储节点为尾节点时所述第二后向指针域为指定值,表明当前为尾节点。
通过以上方法和系统,提供了一种身份与位置分离网络中广播报文中继方法,实行不同ASR之间报文广播。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
本发明实施例提供一种广播报文中继方法,在身份与位置分离网络中,通过ILR为其所管理区域内的所有接入服务路由器ASR提供的分域机制,可以灵活的控制广播报文在ASR中传输范围,解决了广播报文在路由区之间不能互通问题,高效的实现广播报文在身份与位置分离网络中的中继。包括:
接入服务路由器配置访问控制信息;
所述接入服务路由器接收到来自用户设备方向的广播报文后,以所述接入服务路由器的位置标识作为隧道源地址,将满足所述访问控制信息的接入服务路由器的位置标识分别作为隧道目的地址对所述广播报文进行隧道封装处理后发送。
其中,所述方法还包括:将网络划分为一个或多个域,并配置所述接入服务路由器所属的域;
所述访问控制信息包括所述接入服务路由器允许访问的域,所述满足所述访问控制信息的接入服务路由器是指属于所述允许访问的域中的接入服务路由器。
其中,所述配置所述接入服务路由器所属的域包括:
由所述接入服务路由器自身配置或者由ILR配置所述接入服务路由器所属的域。
其中,所述由ILR配置包括:
所述接入服务路由器接入到网络中后,发送注册请求给所述ILR;
所述ILR接收到所述接入服务路由器的注册请求后,如果所述注册请求中未携带域标识,则所述ILR为所述接入服务路由器配置域标识,或者,配置默认的域标识,并将所述域标识发送给所述接入服务路由器。其中,如果所述注册请求中携带域标识,则ILR将该域标识作为该接入服务路由器的域标识。
其中,所述ILR在接收到所述接入服务路由器注册请求后,将所述接入服务路由器的位置标识和域标识保存在本地的接入服务路由器位置标识信息列表中,并将所述接入服务路由器位置标识信息列表发送给所述接入服务路由器,以及,将该接入服务路由器的位置标识和域标识发送给其它接入服务路由器;
所述接入服务路由器保存所述接入服务路由器位置标识信息列表。
其中,所述方法还包括:
所述接入服务路由器离线时,还发送注销请求至所述ILR;
所述ILR接收到所述注销请求时,在本地接入服务路由器位置标识信息列表中删除所述接入服务路由器的位置标识和域标识,并通知其它接入服务路由器删除该注销的接入服务路由器的位置标识和域标识。
其中,使用头结点数组和存储节点存储所述接入服务路由器位置标识信息列表:
所述头结点数组包括:域标识域、计数域和第一后向指针域:
所述域标识域中指示域标识;
所述计数域中指示所述域标识域中指示的域中管理的接入服务路由器的个数;
所述第一后向指针域指向存储节点;
所述存储节点包括:前向指针域,接入服务路由器位置标识值域和第二后向指针域,其中:
所述前向指针域指向前驱节点;
所述接入服务路由器位置标识值域指示接入服务路由器的位置标识;
所述第二后向指针域指向后继节点,当前节点为尾节点时所述第二后向指针域为指定值,表明当前为尾节点。
其中,所述方法还包括:所述接入服务路由器接收到发往用户设备方向的广播报文后,在所述接入服务路由器的接入用户中广播该广播报文。
其中,上述广播报文可以是NETBIOS报文,也可以是其它类型的广播报文,下面以NETBIOS报文为例对本发明进行说明,其它类型的广播报文类似。
本发明实施例提供一种NETBIOS报文在身份与位置分离网络中的中继的方法,其中图1是对身份与位置分离网络的网络架构进行描述。如图1所示,UE(User Equipment,用户设备)配置AID(Access Identification,身份标识);ASR为接入服务路由器,配置RID(Router Identifier,位置标识);身份位置寄存器(Identification&Location Register,ILR)基本功能包括:域处理功能模块、映射信息<areaID,AID,RID>等的维护功能、ASR位置标识信息列表的维护以及推送功能等;在某ASR上下线的UE,通过ASR需要向ILR通告用户的映射信息<areaID,AID,RID>,供ILR进行更新用户UE映射信息;上下线的ASR,需要向ILR通知自身所属的areaID(如果域ID在ASR上进行了配置)和RID等信息,供ILR更新域内ASR位置标识列表;
图中网络划分为两个区域:area1和area2,每一个域被一个ILR所维护管理,两个ILR通过基于DHT的全局数据库进行统一管理;当ASR11接收到用户UE1发送的NETBIOS报文时,首先进行域权限判断处理,如果具有area2的访问权限,将对NETBIOS报文进行隧道封装(可以采用GRE协议等多种协议来实现),分别发送到ASR12、ASR21以及ASR22等,目标接入服务路由器接收到NEBIOS报文后,进行GRE隧道解封装,然后在本地接入用户区广播报文,以使本地接入用户都可以接收到该NETBIOS报文,下文将对分域机制下ILR与ASR之间的交互过程进行描述。
ILR与ASR分域机制下交互过程
所述分域机制,是通过ILR统一管理域的划分,域ID即areaID全局唯一,以标识不同的域;ILR维护所管辖区域的ASR的位置标识信息,其中,域ID可以在ILR上进行配置,也可以在新上线的ASR上进行配置;
ILR上配置ASR域ID,并将所配置的域ID保存到ASR位置标识信息列表中,存储格式参见图8,在发送给ASR的注册响应报文中携带ASR所属的域ID,如果新注册的ASR在ASR端和ILR端均没有进行域ID配置,ILR将为ASR分配默认的域ID,并通过注册响应报文发送给新注册的ASR;
新上线的ASR上配置自身域ID,并在注册请求报文中将已配置的域ID发送给ILR,由ILR将注册请求报文中的域ID及对应ASR的RID,保存到ASR位置标识信息列表中,ILR发送给ASR的注册响应报文中不再携带域ID;
域ID的配置具体采用方式:可采用配置文件或配置命令,但并不限于此种配置方式。
ASR中维护域访问权限表,包括有访问权限的域ID及自身所属的域ID,当ASR接收到NETBIOS报文后,首先查询该域访问权限表,ASR将把具有访问权限的域ID内的ASR的RID作为隧道目的IP进行隧道封转并转发NETBIOS报文。如图11所示,具体流程如下:
S11100:新上线的ASR发送注册请求报文给ILR,携带自身位置标识RID,如果已经过配置过域ID,也将携带areaID,参数形式均以TLV的形式进行发送;
S11200:ILR接收到ASR发送的注册请求报文后,首先将对该注册请求报文进行处理;
S11300:ILR解析并判断注册请求报文中是否携带ASR端配置的域ID,即areaID,如果带有此参数,转S11301;否则,转S11310;
S11301:ILR首先解析出areaID,并将<areaID,RID>保存到ASR位置标识信息列表中,具体过程是根据areaID索引把ASR的RID添加到对应链表中;
S11302:ILR发送响应报文到新注册的ASR,其中响应报文中不再携带areaID参数信息,转S11400;
S11310:ILR端进行域ID配置,采用域配置文件或者域配置命令或其他方式进行域ID的配置;
S11320:如果域ID配置成功,转S11331;否者,转S11321;
S11331:ILR首先解析出areaID,并将<areaID,RID>保存到ASR位置标识信息列表中,根据areaID索引把ASR的RID添加到对应链表中;
S11332:ILR发送响应报文到新注册的ASR,其中响应报文中携带新配置的areaID参数信息,转S11400;
S11321:ILR将为ASR分配默认的域ID,即default_areaID,并根据默认域ID保存RID到ASR位置标识信息列表中,根据default_areaID索引把ASR的RID添加到对应链表中;
S11322:ILR发送响应报文到新注册的ASR,其中响应报文中携带默认的域ID,即default_areaID作为参数信息,转S11400;
S11400:ILR推送所维护的ASR位置标识信息列表到新注册的ASR,ASR接收到后发响应报文给ILR,并保存维护接收到的ASR的位置标识以及所属的域ID;
S11500:ILR推送新注册ASR的RID和所属的域ID信息到其他ASR,其他ASR接收到该RID和域ID后进行更新维护,具体的,将新注册的该RID和域ID添加到本地的ASR位置标识信息列表中,结束。
进一步的,当身份与位置分离网络中部署多个ILR,可以采取基于DHT的全局DB数据库对ILR进行全网管理和维护,其中,DB中维护每一个ILR的网络地址,以及所管辖下的所有域ID列表,保证ILR之间信息的互通性,本发明中以单一的ILR服务器下ASR划分为多个域的情况进行说明,其原理和方法同样适用于多个ILR属于一个域的情况。下文将对上述的ILR和ASR所维护的ASR位置标识信息列表存储方式和所采用的推送机制进行描述。
所述的分域机制中,网元ILR和ASR维护一个身份与位置标识分离网络中的在线ASR的位置标识RID及对应的域ID的数据库列表,实现形式可采用数组及双链表,但并不限于此种方式,也可以采用其他方式诸如哈希数组等来实现。下面给出一种实现方式。
每一个域ID对应一行,包括一个头结点和多个存储节点,如图8所示,具体描述如下:
定义头结点数组,其中包括areaID域、couter域、res域及后向指针next;其中:
areaID域为域标识,其根据ILR分域策略对所管理ASR域进行分域,表示对应双链表所维护的ASR所属于的某个域,areaID全局唯一;
couter域为本域所管理的ASR个数;
res域为保留节点用于信息的扩展;
next则指向ASR存储节点。
定义存储节点,包括前向指针pre、res域、ASR位置标识值域以及后向指针next;其中:
pre指向前驱节点;
res域为保留节点用于信息的扩展;
ASR位置标识值域指示ASR位置标识,该位置标识可采用IPV4或者IPV6格式;
next指向后继节点,如果为尾节点则值为null或其它指定值。
所述推送机制,即在身份与位置分离网络中,当某ASR的状态即上线或者下线发生变化时,ILR将对其位置标识RID以及对应的域ID发送到网络中其他ASR,并把ILR自身所维护的ASR位置标识列表信息发送到新上线的ASR的过程。
进一步的,某ASR上线和下线时,ILR将对该ASR位置标识信息RID以及配置的对应域ID进行保存和维护,同时ILR将以自身IP为隧道源IP,以其他的ASR的RID为隧道目的IP进行封装,将新上线的或新下线ASR的位置标识信息以及域ID(如果ASR上进行了配置)做为TLV参数形式,进行封装并送到其他的ASR;同样,ILR将以自身IP为源隧道IP,以新注册的ASR的RID为隧道目的IP,以所维护的ASR位置标识列表信息为TLV参数形式,进行报文封装并发送到新注册的ASR,各ASR接收到推送的报文信息后,更新自身所维护的ASR位置标识信息列表。
以上所述的ASR与ILR之间推送机制的实现,所采用的信息交互形式,参见图9中的ASR与ILR间信息交互形式的描述。
进一步的,身份与位置分离网络中的报文根据发送方向可以分为两种:outbound方向的报文和inbound方向的报文;其中,outbound方向是指来自UE方向的报文,即报文从UE发出,经过ASR隧道封装处理后发往身份与位置分离网络中的报文;inbound方向是指发往UE方向,即报文经由身份与位置分离网络发往目的ASR,并由目的ASR进行隧道解封装处理后发往UE的报文。
基于以上所述,在身份与位置分离网络中定义了消息以及实现交互过程的方法,主要交互过程包括:基本的NETBIOS报文中继广播过程、ASR注册过程、ASR离线过程、ASR对NETBIOS报文隧道封装转发过程、ASR对NETBIOS报文隧道解封装广播过程和用户对NETBIOS报文的响应过程。
基本的NETBIOS报文中继广播过程
一种身份与位置分离网络中基本的对NETBIOS报文进行中继的方法,即ASR对NETBIOS报文网络层目的IP进行全F(IPV6场景可用组播技术)隧道封装广播转发。如图2所示,具体步骤如下:
S200:ASR从outbound方向接收到报文,转S210;
S210:进行报文解析,如果为广播报文,继续对报文头部信息进行解析,判断是否为NETBIOS协议广播报文;如果不是,根据ASR路由器自身配置的处理策略对报文进行其他处理,结束;如果是,转S220;
S220:对NETBIOS报文进行隧道封装处理,包括:以自身ASR身份标识RID为隧道源IP,全F的广播地址(IPV4网络,IPV6网络中将使用组播技术进行转发)为隧道目的IP,对报文进行隧道封装并转发;
此处全F的广播地址代表ASR向所有其他ASR发送该广播报文。
S230:接收到隧道报文的ASR首先解析报文类型为NETBIOS报文,获得目的IP为全F,源隧道IP,查询本地域访问控制表;
S240:根据域访问控制表,判断源IP如果不在许可域内,将丢弃报文,否则,转S250;
S250:ASR在本地接入用户区域内进行报文广播,以使本地用户UE均可收到NETBIOS报文,结束。
上述实施方式简单易于实现,在身份与位置分离网络中,基于分域机制下,该实施例具有很好的可行性;下文将描述在身份与位置分离网络中,一种更有效的广播报文中继方式,即基于分域机制的采用ILR推送方式对NETBIOS报文中继方式的实现,对各实施例进行描述。
ASR注册过程
新的ASR接入到身份和位置分离网络,将向ILR注册自身的位置标识以及ASR自身配置的域ID(可选,如果没在ASR端配置,将在ILR进行配置),供ILR对ASR注册信息列表进行维护;ILR向新注册的ASR发送响应信息,响应信息中包括为该ASR配置的域ID信息(或者预设的域ID),同时,ILR向新加入的ASR推送ASR位置标识信息列表,向其他ASR推送新加入的ASR的注册信息和域ID,通过此种动态的推动机制,保证ILR和ASR所维护的ASR位置标识信息列表的实时同步性;如图3所示,其具体步骤如下:
S300:ASR在身份和位置分离网络中上线,系统启动成功,获知自身位置标识RID,配置具体业务域间访问权限,生成域访问权限表,许可该ASR在转发用户的NETBIOS报文时可以访问的域ID信息;
S310:ASR向ILR发送位置注册请求消息,并将自身位置标识RID以TLV参数的形式发送到ILR,如果在ASR上配置其所属的域ID,将把配置的域ID也作为一个TLV参数发送到ILR;
S320:ILR接收到新加入的ASR发送的位置注册请求消息后,将对ASR的注册信息进行注册登记处理,将该ASR的位置标识和域标识保存到数据库中的ASR位置标识信息列表中,如果ASR没配置域ID,将给该ASR赋予预设的域ID值:default ID,并保存;
S330:ILR进行ASR注册处理完成后,向新加入的ASR发送位置注册响应报文,其中,如果ASR没有配置域ID,将给该ASR发送ILR服务器所配置的域标识areaID(如果ILR也不进行域ID的配置,则为预设值defaultyID)作为响应报文的TLV值传送给新注册的ASR;
S340:ILR向新注册的ASR推送当前维护的ASR位置标识信息列表以及所属域标识areaID,报文操作类型为ILR推送信息发送请求;
S350:新注册的ASR接收到ILR推送的ASR信息列表,将向ILR发送ASR位置标识信息列表推送响应报文,报文操作类型为ASR推送信息接收应答;
S360:ILR向其他ASR推送新注册ASR的位置标识信息RID以及所属域标识areaID,报文操作类型为ILR推送信息发送请求;
S370:其他ASR在收到ILR所推送的新注册ASR位置标识信息后,将根据新注册的ASR的RID和域ID,执行离线ASR位置信息处理过程,在其维护的ASR位置标识信息列表中,添加新注册的ASR的RID记录;向ILR发送新ASR注册推送响应报文,其中,报文操作类型为ASR推送信息接收应答,结束。
ASR离线过程
当身份与位置分离网络中的ASR离线时,向映射服务器ILR发送ASR离线请求信息,信息中包括该离线ASR的位置标识RID及其域ID,当ILR完成对应的ASR注册信息的注销处理后,响应ASR的离线请求处理响应报文;然后ILR向其他ASR推送离线ASR的注册信息,包括该离线ASR的位置标识RID以及所属域ID;如图4所示,其具体步骤如下:
S400:当ASR由于下电或者其他原因从身份和位置分离网络中离线,则执行下线流程;
S410:ASR向映射服务器ILR发送ASR离线请求信息,并将自身位置标识RID以及所属域标识areaID作为TLV参数形式发送到ILR;
S420:ILR接收到即将离线的网元ASR发送的离线请求信息后,根据离线的ASR的位置标识RID信息,执行ASR离线处理过程,该离线ASR的位置标识信息将从数据库中的ASR位置标识信息列表中删除;
S430:ILR完成ASR下线处理过程后,将向离线的ASR发送离线请求的响应报文;
S440:ILR向身份与位置分离网络中其他ASR推送离线ASR的位置标识信息RID以及所属域标识areaID,其中,报文操作类型为ILR推送信息发送请求;
S450:其他ASR收到ILR所推送的离线ASR位置标识报文信息,将根据离线ASR的RID和域ID,执行离线ASR位置信息处理过程,在其维护的ASR位置标识信息列表中,删除掉离线ASR的RID记录;然后向映射服务器ILR发送离线ASR位置标识推送报文应答报文,其中,报文操作类型为ASR推送信息接收应答,结束。
ASR对NETBIOS报文隧道封装转发过程
当ASR接收到outbound方向的报文时,解析报文类型为NETBIOS报文时,根据自身所维护的域访问权限表和ASR位置标识信息列表,对NETBIOS报文进行依次隧道封装并转发;如图5所示,其具体步骤如下:
S500:网元ASR从outbound方向接收到广播报文,转S510;
S510:对接收到的报文判断是否为NETBIOS报文,如果为真,则执行步骤S520,如果为否,对报文进行其他处理,结束;
S520:ASR首先查询域访问权限表,根据具有访问权限的域ID,查询所维护的ASR位置标识信息列表,获得有访问权限的ASR的RID列表;
S530:ASR以查询到的有访问权限的ASR的RID作为隧道目的IP,以自身位置标识RID作为隧道源IP,进行NETBIOS报文隧道封装(其中包括GRE头的封装);
S540:ASR发送隧道封装后的NETBIOS报文,结束。
ASR对NETBIOS报文隧道解封装广播过程
ASR接收到inbound方向报文,解析报文类型为NETBIOS报文,将对NETBIOS报文进一步解封装,对ASR接入用户进行广播;如图6所示,其具体步骤如下:
S600:ASR从网络中inbound方向接收到报文;
S610:对接收到的隧道封装后的报文进行解封装,解封装包括去掉源RID、目的RID的IP头以及GRE头,然后进一步判断报文类型是否为NETBIOS报文,为真,转步骤S620,为否,对报文进行其他处理,结束;
S620:ASR把NETBIOS报文在接入用户内进行报文广播,以保证每个用户均可以接收到该NETBIOS报文,结束。
接入用户对NETBIOS报文的响应过程
UE收到报文后,进行解析处理,判断接收到的报文为NETBIOS报文,首先进行报文处理,然后根据报文内容中的源IP,自身IP进行响应报文封装并发送到ASR上,ASR接收到此报文后,查找映射表进行隧道封装并转发。如图7所示,其具体步骤如下:
S700:UE对接收到的报文进行解析,解析判断报文类型为NETBIOS报文,将进行报文处理,如果需要响应NETBIOS报文,将构造NETBIOS响应报文,并发送到ASR,转步骤S710,如果不需要响应NETBIOS报文,结束;
S710:ASR接收到UE发送的NETBIOS响应报文所要发送的目的端的AID即源NETBIOS报文发送端,将向ILR发送位置标识查询请求,查询目的AID对应的源ASR位置标识;
S720:ILR进行查找处理过程,并构造位置标识查询应答,其中携带查找到的位置标识RID,如果出现异常,则携带错误标识供本地ASR进一步处理异常;
S730:ILR向本地ASR发送所构造的位置标识查询应答,供本地ASR转发UE的NETBIOS响应报文使用;
S740:本地ASR解析ILR发送的位置标识查询应答,解析出位置标识RID,保存到本地映射表中,供下次转发直接使用,不需要再向ILR请求;
S750:根据解析出的RID信息,本地ASR进一步构造用户UE的NETBIO响应包并转发,流程结束。
上述的用户对NETBIOS报文的响应过程体现了ASR和ILR之间的信息交互的形式,为了保证可靠性传输,采用了请求和应答机制,具体实现通过可靠的TCP链接来实现,同样也可以采用其他传输机制,比如SCTP、UDP等机制进行信息传输。
以上各实施例的交互过程中,当出现报文处理异常时,在响应报文中将携带相应的错误码,以供相应ASR进行错误处理。
ASR与ILR间信息交互形式的描述
如图9所示,ILR和ASR之间信息交互所采用的报文封装格式,网元之间的交互信息,包括公共首部以及多个参数TLV,被封装在IP/TCP/UDP或其他高层协议中,本文实施例中以TCP为样例描述,TCP服务器监听端端口号默认值采用5050。
每个交互消息都具有一个公共首部,根据公共首部的操作类型,来判断交互消息的类型,进而决定TLV参数所需要的个数。其中公共首部的定义如下:
版本号,4bit:指示版本号,当前版本号为1。
首包协议标记,2bit:默认0表示IPV4,1表示IPV6;
保留标记,2bit:保留位。
操作类型,1byte:网元ASR与ILR之间根据此操作类型来判断交互消息的类型,1-10可以定义为UE与ASR之间的操作类型,不再列举,本文所述使用的操作类型为:
11=ILR推送信息发送请求(PUSH REQ)
12=ASR推送信息接收应答(PUSH ACK)
消息长度:2byte,表示报文的长度值,其中包括公共首部。
其中,TLV参数的结构定义如下:
类型(Type)+长度(Length)+值(Value)构成;
类型Type:2byte,标识该TLV所承载参数类型;
长度Length:2byte,用以标识该参数的长度,包括公共首部长度;
值Value:用以承载该参数的内容,长度由Length决定。
所述使用的TLV参数Type定义如下:
1=AID,请求移动终端的身份标识信息;
2=RID,请求某移动终端所属的ASR的位置标识信息;
3=返回码,交互过程中的响应消息信息;
4=areaID,推送ASR位置标识信息中所携带的对应域标识ID;
5=PUSH发送码,用户域中ASR注册或下线时,ILR用以推送到的ASR位置标识信息,以维护域内ASR所维护的ASR位置标识信息列表信息的实时同步和更新;
6=PUSH确认码,ASR接收到PUSH信息后发送的确认码;
以上为所述网元ASR与ILR之间通信所采用的信息交互中的报文封装格式,其目的是基于分域机制和PUSH机制情况下,网元ASR与ILR之间能正确的交互信息,所以具体实施并不局限于上述消息封装格式,也可以采用其他任何形式的交互方式来实现。
本发明还提供一种接入服务路由器,如图10所示,包括,访问控制模块和中继模块,其中:
所述访问控制模块用于:配置访问控制信息;
所述中继模块用于:接收到来自来自用户设备方向的广播报文后,以所述接入服务路由器的位置标识作为隧道源地址,将满足所述访问控制信息的接入服务路由器的位置标识分别作为隧道目的地址对所述广播报文进行隧道封装处理后发送。
其中,所述接入服务路由器还包括域管理模块,用于配置所述接入服务路由器所属的域,或者,接收所述ILR为所述接入服务路由器配置的域标识或默认的域标识;
所述访问控制模块是用于配置所述接入服务路由器允许访问的域;
所述中继模块是用于将属于所述允许访问的域中的接入服务路由器的位置标识分别作为隧道目的地址对所述广播报文进行隧道封装处理后发送。
其中,所述域管理模块还用于:在所述接入服务路由器接入到网络中时,向身份位置寄存器(ILR)进行注册,接收并保存所述ILR发送的接入服务路由器位置标识信息列表,所述接入服务路由器位置标识信息列表中包括当前网络中的接入服务路由器的位置标识和域标识。
其中,所述域管理模块还用于:当所述接入服务路由器离线时,在所述ILR中注销自身的位置标识和域标识。
其中,所述域管理模块还用于接收所述ILR在有新接入服务路由器注册或注销时发送的所述新注册或注销的接入服务路由器的位置标识和域标识,在本地接入服务路由器位置标识信息列表中增加或删除所述新注册或注销的接入服务路由器的位置标识和域标识。
其中,所述域管理模块还用于使用头结点数组和存储节点存储所述接入服务路由器位置标识信息列表,头结点数组和存储节点具体参见方法实施例。
其中,所述中继模块还用于:接收到发往用户设备方向的广播报文后,在所述接入服务路由器的接入用户中广播该广播报文。
本发明还提供一种广播报文中继系统,如图12所示,包括上述接入服务路由器,还包括身份位置寄存器(ILR),所述ILR包括注册单元,存储单元和注销单元,其中:
所述注册单元用于:在接收到所述接入服务路由器的注册请求时,如果所述注册请求中未携带域标识,则为所述接入服务路由器配置域标识,或者,配置默认的域标识,并将所述域标识发送给所述接入服务路由器,如果所述注册请求中携带域标识,则将该域标识作为该接入服务路由器的域标识。
其中,所述注册单元还用于:在接收到所述接入服务路由器的注册请求时,将所述接入服务路由器的位置标识和域标识保存在所述存储单元中的接入服务路由器位置标识信息列表中,并将所述接入服务路由器位置标识信息列表发送给所述接入服务路由器,以及,将该注册的接入服务路由器的位置标识和域标识发送给其它接入服务路由器;
所述存储单元用于:存储所述接入服务路由器位置标识信息列表;
所述注销单元用于:接收到所述接入服务路由器的注销请求时,在所述存储单元存储的本地接入服务路由器位置标识信息列表中删除所述接入服务路由器的位置标识和域标识,并通知其它接入服务路由器删除该注销的接入服务路由器的位置标识和域标识。
其中,所述存储单元还用于使用头结点数组和存储节点存储所述接入服务路由器位置标识信息列表,头结点数组和存储节点具体参见方法实施例。
本发明给出了一套在身份与位置分离网络中广播报文的中继方法和系统;其中包括:身份与位置分离网络中基于ILR统一管理的一种分域机制、ILR域管理功能、ILR向ASR同步ASR位置标识RID列表的推送机制、网元ILR和ASR所维护的ASR位置标识RID列表存储形式、ASR对广播报文的封装与解封装的传输方式以及ASR的域访问权限表的支持与配置等。但是,本发明并不局限于身份与位置分离网络,需要广播报文通过路由器进行互通的场景下,开发者均可以通过对根据本发明的分域机制以及对应ILR推送流程等进行修改重用,实现一套其他广播报文在其他网络中的relay的系统。比如,非身份与位置分离网络中,一种实现方式是将不同的局域网LANs穿过广域网WAN进行互相通信的场景,实现方法是在广域网WAN接入点增加网络层设备,以在不同的LAN之间建立连接通道,局域网之间的数据帧的可以通过,以达到不同的LAN之间可以互通。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。