首页 > 网管 > 路由交换 > 正文

支持无缝迁移的路由:位置标识/身份标识

2020-05-13 13:51:37
字体:
来源:转载
供稿:网友

   位置标识/身份标识分离协议(Locator/ID Separation Protocol)提供了一种数据包路由方法,它可以在不改变终端软件的前提下实现虚拟机(VM)在服务器之间的无缝迁移,让移动设备在Wi-Fi和无线网络之间的无缝迁移。LISP IETF RFC草案计划将在今年秋季发布。在此之前发布的协议还有2012年初的RFC草案,以及2010年建立的几个公共域LISP实现和一个Beta网络。

  为什么需要位置标识/身份标识分离协议?

  传统IP转发机制不适用于在网络之间迁移的节点。因为IP地址(IPv4和IPv6)包含一个网络号和一个网卡地址,所以转发难度加大。网络号可用于将数据包转发到相应的网络;网卡地址则可用于选择网络节点。一旦节点移动到另一个网络,地址上的网络段就会失效。如果要在节点移动时更新终端IP地址,则需要修改节点软件,但是这种方法不适用于VM或移动设备。

  位置标识/身份标识分离协议如何工作?

  在传统网络中,终端节点不会移动,需要发送数据包的节点会通过DNS查找或检查之前从该目标接收到的数据包,查找目标节点的终端标识符(End Point Identifier, EID)。EID就是目标节点的IP地址,而路由位置标识(Routing Locator, RLOC)部分则可以精确确定本地网络的目标地址。数据包将从本地网络发送到提供互联网通路的路由器。这台路由器负责使用标准路由协议确定如何到达目标网络。

  位置标识/身份标识分离协议的定义

  LISP标准包含以下几个定义:

  EID--终端标识符是终端初始化时分配到的IP地址,它通常由动态主机配置协议(Dynamic Host Configuration Protocol)确定。在网络迁移过程中,设备或虚拟机的EID不会发生变化。

  ETR--出口通道路由器(Egress Tunnel Router)是负责将数据包从互联网传输到本地网络的路由器,而目标终端节点就位于本地网络中。

  ITR--入口通道路由器是负责将数据包从本地网络传输到互联网的路由器,而源节点就位于本地网络中。由于数据包在两个方向移动,所以路由器将作为离开网络的数据包的ITR,和来自互联网,去往网络节点的数据包的ETR.

  RLOC--路由位置标识是指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添加在目标地址域中。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表