磊科无线路由器的无缝移动连接
脚本之家
一、传统IP转发机制不适用于在网络之间迁移的节点。因为IP地址(IPv4和IPv6)包含一个网络号和一个网卡地址,所以转发难度加大。网络号可用于将数据包转发到相应的网络;网卡地址则可用于选择网络节点。一旦节点移动到另一个网络,地址上的网络段就会失效。如果要在节点移动时更新终端IP地址,则需要修改节点软件,但是这种方法不适用于VM或移动设备。
二、在传统网络中,终端节点不会移动,需要发送数据包的节点会通过DNS查找或检查之前从该目标接收到的数据包,查找目标节点的终端标识符(End Point Identifier, EID)。EID就是目标节点的IP地址,而路由位置标识(Routing Locator, RLOC)部分则可以精确确定本地网络的目标地址。数据包将从本地网络发送到提供互联网通路的路由器。这台路由器负责使用标准路由协议确定如何到达目标网络。
三、LISP标准包含以下几个定义:
1、EID:终端标识符是终端初始化时分配到的IP地址,它通常由动态主机配置协议(Dynamic Host Configuration Protocol)确定。在网络迁移过程中,设备或虚拟机的EID不会发生变化。
2、ETR:出口通道路由器(Egress Tunnel Router)是负责将数据包从互联网传输到本地网络的路由器,而目标终端节点就位于本地网络中。
3、ITR:入口通道路由器是负责将数据包从本地网络传输到互联网的路由器,而源节点就位于本地网络中。由于数据包在两个方向移动,所以路由器将作为离开网络的数据包的ITR,和来自互联网,去往网络节点的数据包的ETR。
4、RLOC:路由位置标识是指IP地址的网络标识符部分。它可用于将数据包从ITR传输到ETR。
四、当节点移动时,传统的数据包转发方法就会失效。发送数据包的节点会通过DNS或之前通过传统方式接收到的数据包,学习目标的EID。然而,在移动网络中,EID所包含的RLOC是无效的。移动节点的EID是在节点初始化时分配的。当节点移动时,RLOC部分就不能再用于将数据包转发到移动目标。
五、LISP会在通向移动节点的数据包上添加一个额外IP头,从而解决这个问题。入口通道路由器(ITR)会通过位置标识/身份标识分离协议(LISP)定义的映射功能学习到移动节点的当前位置。当ITR接收到来自本地网络节点的数据包时,它就会查询LISP映射功能。映射功能会返回(响应)RLOC,用于确定当前位置到目标节点的路径。
六、然后,ITR会在离开的数据包前面添加一个传统包头,然后在其中添加从映射服务中学习到的RLOC。接着,数据包会通过标准路由协议转发到互联网。LISP不需要对任何路由协议或互联网核心路由器进行修改。
七、在到达目标网络时,接收端出口通道路由器会删掉所添加的包头。然后,它会将数据包从它的本地网络转发到目标节点。对于目标节点而言,接收的数据包就好像从未发生移动一样。所以LISP不要求对节点软件进行任何修改。
当一个ETR需要转发数据包但又不知道该使用哪一个RLOC时,它会发送一个“映射请求”到“映射解析器”。映射解析器会使用通过BPG学习到的信息确定相应的ETR。然后,映射解析器会将映射请求转发给ETR,ETR则会通过发送映射响应原始的ITR。ITR会在数据包上附加额外的包头信息,并且将接收到的RLOC添加在目标地址域中。