位置和标识分离协议注册方法及装置的制造方法_2

文档序号:9828180阅读:来源:国知局
为发出该注册消息的TR的RL0C。
[0055] 本步骤中的BGP消息的格式如表1所示:
[0057] 表1本申请实施例中的BGP消息的格式
[0058] 其中,BGP消息头的格式如图3-2所示:
[0059] Type字段的已有取值及含义如下:
[0060] I-OPENGT^);
[0061] 2 - UPDATE (更新);
[0062] 3 - NOTIFICATION (通知);
[0063] 4 - KEEPALIVE (保活)。
[0064] 本申请实施例中,Type字段需要新增取值,该取值与现有取值不同即可,其含义 为:lisp notification(注册)消息,以表明BGP消息体中封装了 LISP注册消息。
[0065] 优选地,当本地LISP站点的EID发生变化时,TR构造 LISP注册消息,该消息携带 变化的EID,将该LISP注册消息封装到BGP消息的消息体中,并在该BGP消息的消息头中携 带LISP注册标志,将该BGP消息发送给MS。
[0066] 其中,当EID为新增EID时,LISP注册消息中该EID对应的TTL为预设非零值;当 EID为退出EID时,LISP注册消息中该EID对应的TTL为0。
[0067] 在实际应用中,TR也可维护一个更新EID列表,专用于存放变化的EID :新增的和 退出的EID,并周期性地遍历该列表,将该列表中的EID封装到LISP注册消息中,并将该 LISP注册消息封装到BGP消息中发送给MS。
[0068] 优选地,当TR接收到MS发来的用于获取EID的LISP请求报文时,将对应的EID 放入LISP注册消息中,并将该注册消息封装到BGP消息的消息体中,在该BGP消息的消息 头中携带LISP注册标志,将该BGP消息发送给MS。其中,若MS请求的EID在线,则LISP注 册消息中该EID对应的TTL为预设非零值;若MS请求的EID已退出,则LISP注册消息中该 EID对应的TTL为零。
[0069] 图4为本申请又一实施例提供的LISP注册方法流程图,其具体步骤如下:
[0070] 步骤401 :MS启动后,侦听到TR发来的TCP连接建立请求,与TR建立TCP连接。
[0071] 实际应用中,MS在绑定了 BGP协议的端口上侦听来自TR的TCP连接建立请求和 步骤402中的BGP邻居建立请求。
[0072] 步骤402 :与TR的TCP连接建立,MS接收TR发来的BGP邻居建立请求,与TR建立 BGP邻居。
[0073] 步骤403 :MS接收TR发来的BGP消息,根据BGP消息头中携带的LISP注册标志, 从BGP消息体中解析出LISP注册消息,从LISP注册消息中读取EID和该TR的RL0C。
[0074] 步骤404 :MS将读取的EID与TR的RLOC的映射关系放入本地映射数据库中。
[0075] 优选地,本步骤中,MS首先根据配置的密钥对LISP注册消息进行认证,认证通过, 判断读取的EID是否为授权EID,若是,则将该EID与该TR的RLOC的映射关系放入本地映 射数据库;否则,丢弃该EID。
[0076] 优选地,当MS发现与TR的BGP邻居断开时,在本地映射数据库中查找该TR对应 的所有映射关系,重置查找到的所有映射关系的老化定时器,当老化定时器超时时,删除对 应的映射关系。
[0077] 优选地,对于分布式LISP组网,MR与MS之间以及MS与MS之间都建立BGP邻居, 且MS将本地映射数据库中的所有TR与EID的映射关系都定时通过BGP消息同步到所有MR 与其它MS。
[0078] 优选地,当MS接收到ITR发来的用于请求EID对应的ETR的Map-Request消息时, 在映射数据库中查找到该EID对应的ETR后,直接将该ETR的RLOC携带在Map-Response 消息中返回给ITR,而不将Map-Request消息转发给ETR,以加快响应速度。
[0079] 优选地,当MS发现自身配置发生变化时,如:与TR间的注册密钥变化时,MS主动 向TR发送用于获取EID的LISP消息,以获取该TR的本地LISP站点的EID。
[0080] 其中,用于获取EID的LISP请求消息的格式可如图4-2所示:
[0081] 其中,各字段的含义如下:
[0082] Type :取值与已有取值不同即可,上述格式中Type = 5,以表示该LISP消息用于 获取EID ;
[0083] Record Count (记录计数):表示需要获取的EID的数目;
[0084] 其中,当请求所有EID时,可令Record Count = 1,同时令EID-Prefix = 0。
[0085] Nonee :消息序列号,用于唯一标识一次请求、响应,一次请求、响应的序列号必须 相同;
[0086] Key ID :密钥标识;
[0087] Authentication Data Length :认证数据长度;
[0088] Authentication Data :认证数据;
[0089] Record TTL :记录生命周期;
[0090] EID mask-len :EID 掩码;
[0091] EID-Prefix-AFI :EID 前缀地址族标识;
[0092] EID-Prefix :EID 前缀。
[0093] 其中,每一个EID对应一组Record TTL到EID-Prefix之间的字段。
[0094] 当TR接收到MS发来的LISP消息时,进行如下处理:
[0095] 步骤01 :根据Type字段确定出该消息为获取EID的消息;
[0096] 步骤02 :读取Record Count字段,根据Record Count的取值分如下几种情况:
[0097] a、若 Record Count = UEID-Prefix = 0,则确定MS 要获取所有EID,则将本地LISP 站点内的所有EID放入LISP注册消息中,同时将每个EID的TTL都设为预设非零值,将该 LISP注册消息封装到BGP消息的消息体中,同时在BGP消息的消息头中设置LISP注册标 志,将BGP消息发送到MS ;
[0098] b、若Record Count和所有EID-Prefix都不为0,则确定EID要获取部分EID,则针 对每个EID-Prefix,查询对应的EID的状态:在线还是退出,若在线,则将该EID放入LISP 注册消息中,同时将该EID的TTL设为预设非零值;若退出,则将该EID放入LISP注册消息 中,同时将该EID的TTL设为零;当将所有EID-Prefix对应的EID都放入LISP注册消息后, 将该LISP注册消息封装到BGP消息的消息体中,同时在BGP消息的消息头中设置LISP注 册标志,将BGP消息发送到MS。
[0099] 图5为本申请一实施例提供的LISP注册装置的组成示意图,该装置位于TR上,该 装置主要包括:BGP邻居建立模块和LISP注册模块,其中 :
[0100] BGP邻居建立模块:本TR启动后,向MS发起TCP连接建立请求;当与MS之间建立 TCP连接后,向MS发起BGP邻居建立请求。
[0101] LISP注册模块:当与MS建立BGP邻居后,构造 LISP注册消息,该注册消息携带本 地LISP站点的所有EID,将该LISP注册消息封装到BGP消息的消息体中,并在该BGP消息 的消息头中携带LISP注册标志,将该BGP消息发送给MS。
[0102] 优选地,所述装置进一步包括LISP注册更新模块,用于当本地LISP站点的EID发 生变化时,构造 LISP注册消息,该注册消息携带变化的EID,将该LISP注册消息封装到BGP 消息的消息体中,并在该BGP消息的消息头中携带LISP注册标志,将该BGP消息发送给MS。
[0103] 优选地,所述装置进一步包括EID获取应答模块,用于接收MS发来的用于获取EID 的LISP请求报文,将对应的EID放入LISP注册消息中,并将该注册消息封装到BGP消息的 消息体中,在该BGP消息的消息头中携带LISP注册标志,将该BGP消息发送给MS。
[0104] 本申请实施例提供的TR是可以软硬件结合的可编程设备,从硬件层面而言,TR的 硬件架构示意图具体可以参见图6。图6为本申请实施例提供的包含LISP注册装置的TR 的硬件结构示意图。该TR中包括:机器可读存储介质、CPU和其它硬件,其中:
[0105] 机器可读存储介质:存储指令代码;所述指令代码被CPU执行时完成的操作主要 为LISP注册装置完成的功能。
[0106] CPU:与机器可读存储介质通信,读取和执行机器可读存储介质中存储的所述指令 代码,完成上述LISP注册装置完成的功能。
[0107] 上述的LISP注册装置作为一个逻辑意义上的装置,其是通过CPU将机器可读存 储介质中对应的计算机程序指令读取到内存中运行形成的。当对应的计算机程序指令被执 行时,形成的LISP注册装置用于按照上述实施例中的LISP注册方法执行相应操作。
[0108] 图7为本申请另一实施例提供的LISP注册装置的组成示意图,该装置位于MS上, 该装置主要包括:BGP邻居建立模块和LISP注册处理模块,其中 :
[0109] BGP邻居建立模块:侦听到TR发来的TCP连接
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1