移动互联网导论(第3版)

移动互联网导论(第3版)
作者: 编者:傅洛伊//王新兵
出版社: 清华大学
原售价: 99.00
折扣价: 75.30
折扣购买: 移动互联网导论(第3版)
ISBN: 9787302519751

作者简介

内容简介

第5章chapter5 第5章移 动 IP5.1概述〖*4/5〗5.1.1移动IP的出现背景因特网的飞速发展和移动设备(笔记本电脑、掌上电脑)的大量涌现,推动了人们对移动设备接入网络的研究,人们不再满足于单一的、固定的因特网接入方式,而是希望能够提供灵活的上网方式,移动设备用户希望能够和桌面固定用户一样接入同样的网络,共享网络资源和服务。无线互联网的发展,要求IP网络能够提供对移动性的良好支持。 根据IP地址结构和寻址模式的特点,每一个IP地址都归属一个网络,当把一台桌面计算机从一个网络移动到另一个网络时,首先要从原网络上断开,再连接到新的网络上,并且还要重新配置IP地址。这样的方式对于一个需要频繁移动的移动设备来说,显然不能适用。 在IP网络中,路由决策是由目标IP地址的网络前缀部分决定,这就意味着拥有同一条链路接口的所有网络节点的IP地址必须拥有相同的网络前缀。移动节点对于通信有这样一个要求,即它可以将自己的接入点(PointOfAttachment,POA)从一条链路转向另一条链路,但同时必须保持已有通信不中断,并且在新的链路上使用与原来相同的IP地址。根据现有的IP技术,当一个节点改变链路时,其IP地址的网络前缀必然要发生改变,这就意味着基于网络前缀的路由算法无法将数据包传送到节点的当前位置。移动IP提供了一种机制,使得一个移动节点可以连接到任意链路,但同时可以不必改变其永久IP地址。 移动IP是因特网针对节点的移动特性在网络层提出的一种解决方案。事实上,可以将移动IP看作一种路由协议,它在特定节点建立路由表,以保证IP数据包可以被传送到那些未连接在家乡链路上的节点处。 5.1.2移动IP设计目标及设计要求 移动IP协议作为节点移动性带来的若干问题的一种解决方案,其设计应当满足以下几点基本要求。◆移动互联网导论(第3版)第◆5章移动IP(1) 一个移动节点在改变其链路层的接入点之后应当仍然能够与其他节点进行通信,这意味着基于网络前缀的路由算法不能继续使用。 (2) 一个移动节点通信时,应当只需要使用其家乡(永久)IP地址,无论其当前的接入点在哪里,都意味着那些需要改变IP地址的解决方案是不可行的。 (3) 一个移动节点应当能够与那些没有移动IP功能的固定设备进行通信,而不需要修改协议。 (4) 考虑到移动节点通常是使用无线方式接入,涉及无线信道带宽、误码率与电池供电等因素,应尽量简化协议,减少协议开销,提高协议效率。 (5) 移动节点不应比Internet上的其他节点面临新的或更多的安全威胁。 基于以上几点要求,移动IP的设计目标如下。 (1) 包括移动IP在内的所有协议都需要传送网络中各种节点的路由更新。因此,移动IP的一个设计目标就是使得这些更新的规模和频率尽量小。 (2) 移动设备的内存和处理器的处理能力通常都是有限的,因此,移动IP的设计应当尽量简洁,以保证这些设备上的相关软件的实现较为简易。 (3) 由于IPv4地址空间的有限性,移动IP的设计应当尽量避免出现一个节点同时拥有多个地址的情况。如果使用的是IPv6地址,则不需要考虑这一点,因为IPv6的地址空间要远大于IPv4。 5.1.3移动IP的发展历史 移动IP的研究始于1992年。1992年,IETF成立移动IP工作组,并开始制定移动IPv4的标准草案。研究IPv4的主要文档包括RFC 2002(定义了移动IPv4),RFC 1701、RFC 2003与RFC 2004(定义了移动IPv4中的3种隧道技术),RFC 2005(定义了移动IPv4的应用)以及RFC 2006(定义了移动IPv4的管理信息库 MIB)。1996年6月,IESG通过了移动IP标准草案,同年11月公布建议标准。 5.2移动IP 下面具体讲解移动IP及其算法,首先给出移动IP中的两点假设。 (1) 假设单播数据包(即只有一个接收者的那些数据包)的路由不需要使用其源IP地址。也就是说,移动IP假设所有的单播数据包的路由基于目标IP地址,而通常使用到的其实只是目标地址的网络前缀部分。 (2) 假设因特网一直存在,并且可以在任何时候、在任何一对节点之间传播数据。 5.2.1基本术语 以下是移动IP算法中常用的基本术语。 移动节点(MN): 位置经常发生变化,即经常从一个链路切换到另一个链路的节点(主机)。 家乡地址: 移动节点所拥有的永久IP地址。一般不会改变,除非其家乡网络的编址发生变化。对于和移动节点通信的主机来说,它会一直与移动节点的家乡地址进行通信。 家乡链路: 一个移动节点的家乡子网掩码所定义的链路。标准的IP路由机制会将目标地址为某一节点的IP地址的数据包发送到其家乡链路。 家乡代理(HA): 移动节点家乡链路上的一台路由器,主要用于保持移动节点的位置信息,当移动节点外出时,负责把发给移动节点的数据包转发给移动节点。 转交地址(CoA): 当移动节点切换到外地链路时,与该节点相关的一个IP地址。当移动节点和其他节点通信时,并不直接使用转交地址作为目的地址或源地址,若没有转交地址就不能维持通信。当家乡代理向移动节点转发数据时,要用转交地址做隧道的出口地址。转交地址可以分为配置转交地址和外地代理转交地址两类。 通信节点(CN): 一个移动节点的通信对象。 外地代理(FA): 移动节点所在外地链路上的一台路由器,当移动节点的转交地址由它提供时,用于向移动节点的家乡代理通报转交地址、作为移动节点的默认路由器、对家乡代理转发来的隧道包进行解封装,并交付给通信节点。 隧道(tunnel): 一种数据包封装技术,广义上讲,就是把一个数据包封装在另一个数据包的数据净荷中进行传输。在移动IP中,当家乡代理截获发给移动节点的数据时,就要把原始数据封装在隧道包内,隧道包目的地址是转交地址。当外地代理(或移动节点)收到这个隧道包后,解封装该包,把里面的净荷提交给移动节点(或上层)。 5.2.2移动IP的基本操作原理 每一个移动节点都拥有两个IP地址: 一个唯一的家乡地址和一个用于路由的转交地址。转交地址可以是静态分配的,也可以是动态分配的。 移动IP协议采用了代理的概念。家乡代理截取给移动节点的数据包,将其打包并转交给移动节点所注册的转交地址。外地代理是与移动节点建立连接的路由器,因此移动节点通过外地代理与家乡代理通信,更新自己的位置信息。 5.2.3移动IP的工作过程 移动IP有3个基本的工作过程: 代理发现、注册以及隧道封装与分组路由。移动IP的基本操作流程如图51所示。 图51移动IP的基本操作流程 5.2.3.1代理发现 代理发现指的是一个移动节点通过代理通告发现新的接入点以及获得转交地址的过程。这个过程中,移动节点确定了自己应该连接到哪一条链路以及自己是否改变了网络的接入点。如果节点成功接入到外地链路中,那么其会获得转交地址,并且会被允许向代理发送代理请求。代理发现是通过ICMP数据包实现的。代理发现的过程如图52所示。 图52代理发现的过程示意图 代理发现过程定义了代理通告(agent advertisement)和代理请求(agent solicitation)两个消息。 在所连接的网络上,家乡代理和外地代理定期广播“代理通告”消息,以宣告自己的存在。代理通告消息是ICMP路由器布告消息的扩展,它包含路由器IP地址和代理通告扩展信息。移动节点时刻监听代理通告消息,以判断自己是否漫游出家乡网络。若移动节点从自己的家乡代理接收到一条代理通告消息,它就能推断已返回家乡,并直接向家乡代理注册,否则移动节点将选择是保留当前的注册,还是向新的外地代理进行注册。代理通告的信息格式如图53所示。 图53代理通告的信息格式 外地代理周期性地发送代理通告消息,若移动节点需要获得代理信息,它可发送一条ICMP代理请求消息。任何代理收到代理请求消息后,应立即发送回信。代理请求与ICMP路由器请求消息格式相同,只是它要求将IP的TTL域置为1。代理请求的信息格式如图54所示。 图54代理请求的信息格式 为了配合代理发现机制,移动节点应当满足以下几个条件。 (1) 在没有收到代理通告以及没有通过其他方式获得转交地址时,移动节点应当能够发送代理请求信息,并且节点必须能够限制发送代理请求信息的速度(按照二进制指数后退算法)。 (2) 移动节点应当能够处理到达的代理通告,区分出代理通告消息和ICMP路由器的通告消息。如果通告消息多于一个,则取出第一个地址开始注册。移动节点收到代理通告后,即使已经获得可配置的转交地址,也必须向外地代理注册。 (3) 如果移动节点在生存时间内没有收到来自同一个代理的代理通告,则可假设自己已经失去和这个代理的连接。如果移动节点收到另一个代理的通告,则应当立即尝试与该代理进行连接。 (4) 当移动节点收到家乡代理的通告时可确信自己已返回家乡,应当向家乡代理进行注销。 代理发现过程的流程图如图55所示。 图55代理发现过程的流程图 5.2.3.2注册 注册过程示意图如图56所示。移动节点发现自己的网络接入点从一条链路切换到另一链路时,就要进行注册。另外,由于注册信息有一定的生存时间,所以移动节点在没有发生移动时也要注册。移动IP的注册功能: 移动节点可得到外地链路上外地代理的路由服务;可将其转交地址通知家乡代理;可使要过期的注册重新生效。外,移动节点在回到家乡链路时,需要进行注销。 图56注册过程示意图 注册的其他功能: 可同时注册多个转交地址,此时归属代理通过隧道技术,将发往移动节点归属地址的数据包发往移动节点的每个转交地址;可在注销一个转交地址的同时保留其他转交地址;在不知道归属外地代理的情况下,移动节点可通过注册,动态获得外地代理地址。 移动IP的注册过程一般在代理发现机制完成之后进行。当移动节点发现已返回家乡链路时,就向家乡代理注册,并开始像固定节点或路由器那样通信,当移动节点位于外地链路时,能得到一个转交地址,并通过外地代理向归属代理注册这个地址。 移动IP的注册操作使用UDP数据报文,包括注册请求和注册应答两种消息。移动节点通过这两种注册消息,向家乡网络注册新的转发地址。 注册过程中,外地代理为移动节点生成转交地址并通知其家乡代理,其工作原理如图57所示。 图57外地代理的工作原理 注册请求过程: 如果移动节点不知道家乡代理地址,它就向家乡网络广播注册(直接广播)。之后每个有效的家乡代理给予响应,移动节点采用某个有效家乡代理的地址进行注册请求。一次有效的注册完成之后,家乡代理会为移动节点创建一个条目,其中包含移动节点的转交地址、表示字段和此次注册的生存期。每个外地代理会维护一个访问列表,其中包含移动节点的链路层地址、移动节点的家乡地址、UDP注册源端口,家乡代理的IP地址、标识字段、注册生存期、当前或未处理注册的剩余生存期。注册过程中信息传递的流程如图58所示。 图58注册过程中信息传递的流程 移动节点可以通过两种方式向家乡代理发送注册请求,即通过外地代理发送注册请求和直接发送注册请求。两种方式的过程分别如图59和图510所示。 图59通过外地代理发送注册请求示意图 图510直接发送注册请求示意图 发送注册请求成功之后,家乡代理会为移动节点创建一个移动绑定,同时将移动节点的家乡地址与当前的转交地址绑定在一起,并设置生存期。移动节点在此绑定信息超时之前必须延长绑定,否则该绑定将会失效,移动节点需要重新注册。家乡代理会发送注册回复信息,指出注册请求是否成功。如果移动节点是通过外地代理注册的,那么注册应答消息应当由外地代理转发。注册请求可以被拒绝,而拒绝的来源既可以是家乡代理,也可以是外地代理。注册请求和注册应答消息通过UDP报文传输,这是因为UDP的开销小,并且在无线环境下的性能优于TCP。 如果移动节点回到了家乡网络,则必须在家乡链路上进行注册(注销其移动绑定信息),其过程如图511所示。 图511注销过程示意图 对于移动节点来说,注册及注销过程有以下几点要求。 (1) 移动节点需要能够进行网络掩码的配置。 (2) 只要检测到连接网络发生变化就发起注册。 (3) 移动节点必须能够发送注册请求,其IP源地址为转交地址或家乡地址,IP目的地址为外地代理的地址或家乡代理地址。 (4) 移动节点必须能够处理注册回复,判断自己发出的注册是否成功。 (5) 注册请求发送失败时移动节点必须进行重传。 外地代理位于移动节点和家乡代理之间,是注册请求的中继,如果其为移动节点提供转交地址,则还有为移动节点拆封数据分组的任务。外地代理中有配置表和注册表,为移动节点保存相关信息。另外,外地代理还需要处理注册请求,包括对消息的有效性检查和将请求转发到家乡代理。在接收注册回复时,外地代理需要检查信息的格式是否正确,并将应答转发到相应的移动节点。 在注册过程中,家乡代理从移动节点接收注册请求,更新自己关于该节点的绑定记录,并为每个请求启动一个应答作为响应。 注册过程中的分组格式如图512所示。 图512注册过程中的分组格式 5.2.3.3隧道封装与分组路由 所谓隧道,实际上是路由器把一种网络层协议封装到另一个协议中以跨过网络传送到另一个路由器的处理过程。发送路由器将被传送的协议包进行封装,经过网络传送,接收路由器解开收到的包,取出原始协议;在传输过程中的中间路由器并不在意封装的协议是什么。这里的封装协议,称为传输协议,是跨过网络传输被封装协议的一种协议。隧道技术是一种点对点的连接,必须在连接的两端配置隧道协议。 隧道技术是一种数据包封装技术,它是将原始IP包(其包头中包含原始发送者和最终目的地)封装在另一个数据包(称为封装的IP包)的数据净荷中进行传输。在移动IP中,隧道包目的地址就是转交地址,当外地代理(或移动节点)收到这个隧道包后,解封装该包,把里面的净荷提交给移动节点。 在家乡网络中,移动主机的操作与标准的固定主机相同;当移动主机移动到外地网络,且完成移动IP的注册过程后,可以在外地网络上继续通信。在外地网络上的通信需要采用隧道技术。封装是隧道技术的核心,所谓封装是指把一个完整的IP分组当作数据,放在另一个IP分组内,原IP分组的IP地址称为内部地址,新的IP分组的IP地址称为外部地址。IP封装如图513所示。 隧道技术就是在隧道的起点将IP分组封装,并将外部地址设置为隧道终点的IP地址。封装的IP分组经标准的IP路由算法传递到隧道的终点。在隧道的终点,将封装的IP分组进行拆分。 当移动节点在外区网上时,家乡代理需要将原始数据包转发给已登记的外地代理。这时,家乡代理使用IP隧道技术,将原始IP数据包封装在转发的IP数据包中,从而使原始IP数据包原封不动地转发到处于隧道终点的转交地址处。在转交地址处解除隧道,取出原始数据包,并将原始数据包发送到移动节点。隧道转发过程示意图如图514和图515所示。 图513IP封装示意图 图514隧道转发过程示意图(一) 图515隧道转发过程示意图(二) 隧道转发过程如下。 (1) 通信节点发送给移动节点的报文被家乡代理截获,包括目的地是移动节点的报文被家乡代理截获和家乡代理截获在家乡网络上的数据包。 (2) 家乡代理对数据包进行封装并通过隧道传输给移动节点的转交地址。 (3) 在隧道的终点(外地代理或移动节点本身),数据包被拆封,然后递交给移动节点。 (4) 对于移动节点发送的数据包采用的是标准的IP路由。 移动IPv4主要有3种隧道技术,分别是IP in IP、最小封装以及通用路由封装。家乡代理和外地代理必须能够使用IPinIP封装来支持分组的隧道传输。最小封装和通用路由封装是移动IP协议提供的另外两种可选的封装方式。 IP in IP封装由RFC 2003定义。在IP in IP技术中,整个IP数据包被直接封装,成 全面深入地介绍移动互联网的基础知识;理论与实践结合,设计了7个移动互联网案例