Locator/ID分离协议提供了一种包路由方法,可以在不改变终端软件的情况下实现虚拟机(VM)在服务器之间的无缝迁移。
让移动设备在Wi-Fi和无线网络之间无缝迁移。LISP IETF RFC草案计划在今年秋天发布。在此之前,2012年初就有RFC草案。
以及几个公共域LISP实现和2010年建立的一个测试网络。
为什么需要位置识别/身份识别分离协议?
传统的IP转发机制不适合网络间的节点迁移。因为IP地址(IPv4和IPv6)包含网络号和网卡地址,所以转发更加困难。网络号可用于将数据包转发到相应的网络;网卡地址可用于选择网络节点。
一旦节点移动到另一个网络,该地址上的网段将失效。如果要在节点移动时更新终端IP地址,需要修改节点软件,但这种方法不适合VM或移动设备。
位置识别/身份识别分离协议是如何工作的?
在传统网络中,终端节点不会移动,需要发送数据包的节点会通过DNS查找或检查之前从目标收到的数据包,找到目标节点的端点标识符(EID)。
EID是目标节点的IP地址,路由定位器(RLOC)部分可以准确确定本地网络的目标地址。数据包将从本地网络发送到提供互联网接入的路由器。
该路由器负责确定如何使用标准路由协议到达目标网络。
位置标识/身份标识分离协议的定义
LISP标准包含以下定义:
EID -终端标识符是初始化时分配给终端的IP地址,通常由动态主机配置协议确定。在网络迁移的过程中,
设备或虚拟机的EID不会改变。
ETR出口隧道路由器是负责将数据包从互联网传送到本地网络的路由器,目标终端节点位于本地网络中。
ITR——网关路由器负责将数据包从本地网络传输到互联网,源节点位于本地网络中。由于数据包在两个方向上移动,路由器将充当离开网络的数据包的ITR,以及来自互联网的数据包的ITR,
去往网络节点的分组的ETR。
RLOC路由位置ID是指IP地址的网络标识符部分。它可以用来从ITR向ETR传输数据包。
当节点移动时,传统的数据包转发方法将失效。发送数据包的节点将通过DNS或以传统方式接收的数据包来学习目标EID。然而,在移动网络中,包含在EID中的RLOC是无效的。
移动节点的EID是在节点初始化时分配的。当节点移动时,RLOC部分不能再用于向移动的目标转发数据包。
LISP将通过在发往移动节点的数据包中添加额外的IP报头来解决这个问题。网关路由器(ITR)将通过由位置标识/身份分离协议(LISP)定义的映射功能来获知移动节点的当前位置。
当ITR从本地网络节点收到数据包时,它将查询LISP映射函数。映射函数返回(响应)RLOC,该函数用于确定从当前位置到目标节点的路径。
然后,ITR会在离开的数据包前面添加一个传统包头,然后在其中添加从映射服务中学习到的RLOC.接着,数据包会通过标准路由协议转发到互联网。LISP不需要对任何路由协议或互联网核心路由器进行修改。
在到达目标网络时,接收端出口通道路由器(ETR)会删掉所添加的包头。然后,它会将数据包从它的本地网络转发到目标节点。对于目标节点而言,接收的数据包就好像从未发生移动一样。
所以LISP不要求对节点软件进行任何修改。
ITR会缓存映射服务查询结果,所以不需要查询每一个后续数据包。如果在保持连接时目标节点发生移动,那么映射服务将会提供一个更新的RLOC.
位置标识/身份标识分离协议在移动性方面的好处
协议:
允许站点不对终端节点重新编号就可以切换互联网服务提供商
启用多宿主节点将负载分散到多个链路中
同时支持IPv4和IPv6,简化IPv4到IPv6的过渡
位置标识/身份标识分离协议的映射功能
接收到ITR请求之后,LISP映射功能会响应通向远程节点所需要的RLOC.提议的设计已经有好几个,但是当前的工作包括一些作为“映射服务器”和“映射解析器”的网络组件。
ETR会定期向映射服务器发送“映射注册”消息。映射注册消息会列举目前可以通过该ETR访问的EID.
映射服务器通过通用路由封装(Generic Router Encapsulation, GRE)通道连接。
每一个映射服务器都使用边缘网关巡视(Border Gateway Patrol, BGP)将来自所连ETR的EID信息分发到其他映射服务器。真正的EID到RLOC信息则存储在ETR上。
但是没有一个集中存储EID到RLOC映射的数据库。
当一个ETR需要转发数据包但又不知道该使用哪一个RLOC时,它会发送一个“映射请求”到“映射解析器”.映射解析器会使用通过BPG学习到的信息确定相应的ETR.然后,
映射解析器会将映射请求转发给ETR,ETR则会通过发送映射响应原始的ITR.ITR会在数据包上附加额外的包头信息,并且将接收到的RLOC添加在目标地址域中。