《移动IP技术》由会员分享,可在线阅读,更多相关《移动IP技术(164页珍藏版)》请在金锄头文库上搜索。
1、移动IP技术,第11章 移动IP技术,11.1 引言11.2 移动IP的基本原理11.3 移动IP的控制报文11.4 安全机制11.5 隧道技术11.6 路由转发11.7 移动IPv611.8 移动IPv6与移动IPv4的比较,移动IP的产生与发展,自1991年以来,展开了在因特网上支持主机漫游的研究工作,提出了一些支持主机漫游的协议。IETF也成立了移动IP工作组,专门从事移动IP协议的标准化研究。1996年10月公布RFC 2002文档,提出了移动IP协议标准。2004年6月发布了RFC 3775文档“Mobility Support in IPv6”。,如何与一位到处旅行朋友保持联系?,
2、假设你有一位喜欢旅行的朋友,她经常变更地址,那么你如何找到她? 可能的途径翻遍电话号码本?询问她的父母?希望她能随时告知当前的位置,我怎么能找到她?,移动场景之一,计算机通过无线上网实际上没有移动的概念,移动场景之二,将笔记本从办公室移动到宿舍、餐厅、咖啡馆用户是移动的但在移动期间不需要保持连接,移动场景之三,坐在移动的火车汽车上访问Internet绝对的移动环境,从网络的观点看移动性,移动节点的地址是否重要?,移动电话系统用户电话号码在穿越多个移动服务网络时保持不变网络移动用户?汽车驾驶员希望在行驶过程中保持与远程应用服务器的TCP连接不中断应用程序必须知道远程实体的IP地址和端口号移动实体
3、在移动时保持IP地址不变应用程序不必关心移动用户是否改变IP地址,支持移动的网络及移动需求,支持移动的网络任何时候、任何地点都能提供可靠的因特网访问移动对网络应用和高层协议应该是透明的移动需求移动性:越来越多用户要求因特网能支持移动性透明性:移动对于IP上层协议来说都是透明的易使用:移动应该像GSM移动手机那样便于操作路由:移动应该与所有路由协议兼容并能优化路由安全:移动不应该降低因特网的安全性,11.1 引言,分组在最后一跳被丢弃,移动IP解决的问题,IP分组如何到达移动主机?修改路由信息 改变移动主机的IP地址 移动IP解决了以上两种方法所面临的问题。使移动主机不需要改变IP地址就能够收发
4、IP分组不需要修改路由器的路由表信息,并能在节点移动时保持其所有正在进行的通信。移动对网络应用和高层协议应该是透明的,11.2 移动IP的基本原理,1. 基本概念,家乡地址是移动节点在家乡网络上的一个长期IP地址例如162.105.203.99,R1,R2,R3,外地代理(FA)处于MN所访问网络中,代表移动节点执行移动功能,通信对端CN是与MN通信的对等节点,移动节点MN,从一个网络切换到另一个网络,转交地址CoA是MN在外地网络中的地址例如162.105.129.88,外地网络是MN当前驻留的网络, 例如Net2,162.105.129.0/24,家乡网络是MN的永久家乡, 例如Net1,
5、162.105.203.0/24,因特网,家乡链路是与移动节点的家乡地址具有相同网络前缀的链路,是移动节点在家乡网络时的链路,外地链路(是网络前缀与移动节点家乡地址网络前缀不同的链路,家乡代理(HA)代表在远程的MN执行移动功能,家乡代理和外地代理统称为移动代理,在移动IP中也叫漫游管理路由器RSR。移动节点MN在同一个IP网络内的移动称为漫步,跨越IP网络的移动称为漫游。对漫步的处理由AP负责完成,主要涉及MN从一个单元切换到另一个单元。对漫游的处理由RSR负责完成。在网络之间移动时,为了不断开正在进行的连接,就要求移动节点保持IP地址不变。若一个移动节点在移动过程中保持IP地址不变,移动性
6、对应用程序是透明的。,从网络层观点看,移动性的各种程度,mobile wireless user,在一个建筑物(同一个子网)内移动,从网络层来看是非移动的。与同一个AP相关联,从链路层来看是非移动的。,mobile user在接入网之间移动,同时保持进行的连接。移动节点应该保持IP地址不变。,mobile user在接入网之间移动,在网间移动时关机,2. 移动IP概念模型,永久地址162.105.203.99,HA,外地网络162.105.129.0/24, 移动,家乡网络162.105.203.0/24,通信者,FA, 位置更新, 注册,MN直接应答CN,通过隧道转发,转交地址162.105
7、.129.88,3. 移动IP协议的操作步骤, 移动代理(即外地/家乡代理)通过代理通告报文通告它的存在。 移动节点根据获取的代理通告报文,判断出自己是在家乡网络还是在外地网络。 当移动节点检测到它在家乡网络时,它就不需要移动服务。如果它从外地漫游回来(曾向家乡代理注册),它应该在家乡代理上注销注册信息。, 如果移动节点检测到自己已经漫游到外地网络,它就在外地网络上获取转交地址CoA。外地代理CoA:通过外地代理通告获得配置CoA:由外地网络分配获得 移动节点离开家乡网络后,它通过发送注册请求报文、接收注册应答报文,向家乡代理注册CoA。可以通过它的外地代理完成也可以由移动节点直接完成。 发往
8、移动节点家乡地址的分组被家乡代理拦截,使用隧道技术发往移动节点的CoA,在隧道的对端(外地代理或移动节点本身)拆封后转交给移动节点。 在相反方向,当移动节点发送分组时,它使用标准的IP路由机制,无须家乡代理的介入。,4. 两种转交地址CoA,有两种转交地址:外地代理CoA和配置CoA ,也叫共处CoA 。相对应,有两种模式来获取CoA 。在第一种模式中,外地代理CoA是外地代理通过代理通告报文中提供的一个CoA得到的。这个CoA是外地代理的IP地址。外地代理就是隧道的端口。在第二种模式中,配置CoA是由移动节点通过其它方法获取的CoA。移动节点就是隧道的端口,自己完成隧道技术的分组解封装。,发
9、往移动节点的分组的转发-两种情况,家乡代理,主机,路由器,外地代理,使用外地代理转交地址的移动节点,使用配置转交地址的移动节点,原始IP分组经过的路径经隧道封装的IP分组经过的路径,5. 三角路由,家乡代理HA,外地网络162.105.129.0/24,家乡网络162.105.203.0/24,通信者,外地代理FA,漫游,三角路由,11.3 移动IP的控制报文,11.3.1 代理发现11.3.2 注册,移动IP三个主要功能, 代理发现。通过代理发现,移动节点可以判定它的当前位置,并得到一个转交地址; 注册。通过注册,移动节点向外地代理请求服务,并通知家乡代理它的转交地址; 路由技术。当移动节点
10、连接在外地链路上时,对它发出的或发往它的分组进行路由的机制。为了实现这些功能,定义了一些用于移动IP的控制报文。在RFC2002/3220/3344中定义了代理发现报文和注册报文。,代理发现报文是对ICMP路由器发现报文的扩展使用ICMP路由器发现报文的扩展项,类型字段,指出扩展项规定的类型。类型值的定义:为0,1字节扩展,没有长度字段和数据字段;为16,移动代理通告扩展;为19,前缀长度扩展。长度字段,以字节为单位说明本扩展项的数据字段长度,不包括类型字段和长度字段。扩展数据字段,为本扩展项的特别数据。数据的格式和长度由类型字段和长度字段决定。,用于移动IP的报文,代理发现报文,基于ICMP
11、路由器发现报文,即路由器通告报文和路由器请求报文实现代理通告报文和代理请求报文。注册控制报文注册请求报文。利用注册控制报文,移动节点能够动态地向它的家乡代理报告当前移动节点的转交地址注册应答报文控制报文使用UDP传输,端口号为434。在注册控制报文中还定义了注册扩展项:移动-家乡认证、移动-外地认证、外地-家乡认证。,11.3.1 代理发现,代理发现是移动节点在一个新的链路上发现代理、检测自己当前所在位置的重要控制机制。移动节点使用代理发现,检测自己是在家乡网络还是在外地网络,或者是否已经从一个网络漫游到另一个网络。移动节点、外地代理和家乡代理一起实现代理发现功能。,1代理通告报文,移动代理在
12、本网络上广播或多播代理通告报文。移动节点可以判定该网络上是否有代理存在并能判定代理的标识(IP地址)和功能。代理通告报文和代理请求报文,是基于ICMP路由器发现报文 RFC1256中定义的路由器通告报文以及路由器请求报文实现的。代理通告报文的结构图,封装代理通告报文的IP分组首部字段,224.0.0.1多播地址,表示本地网络所有主机和路由器255.255.255.255本地广播地址。,ICMP路由器通告报文格式,类型字段,其值为9。代码字段,说明是家乡代理通告报文,还是普通路由器通告报文。如果代码值0,说明是代理通告报文。,地址数目字段和地址对长度字段:分别表明列出的路由器地址和优先权对的数目
13、,以及每对所包含的字节数。对于IP地址,地址对长度等于8(4字节地址加上4字节优先级)。生存时间字段,本通告报文的最大的有效生存时间。,移动代理通告扩展,类型字段,1字节长,其值为16。长度字段,1字节长,扩展数据部分的字节数,不包括类型字段和长度字段本身。其值为(6 + 4N),N是转交地址个数序号字段,表示移动代理初始化后发出的代理通告报文的数目。当移动代理重启时,序号复位成0,每发送一个代理通告报文,就将序号值增1。,(最大)注册生存时间字段,移动代理希望接收任何注册请求的最长生存时间(秒),值为0xffff,生存时间无限。“必须注册” R标志位。一般情况下当采用外地代理CoA时,应该向
14、外地代理注册。当采用配置CoA时,不要求通过外地代理注册。R比特=1时,要求移动节点必须向外地代理注册,即使它用的是配置CoA;R比特=0时,不强求采用配置CoA的移动节点经过外地代理注册。“代理忙” B标志位。将比特设置成1来表示忙,说明它不能接收更多的注册。“家乡代理” H标志位。如果H比特为1,则说明在这条链路上提供家乡代理服务。,“外地代理” F标志位。如果F比特为1,则说明在这条链路上提供外地代理服务。“允许最小封装” M标志位。如果M比特为1,使用最小封装接收隧道分组。“通用路由封装” G标志位。如果G比特为1,使用通用路由封装接收隧道分组。“Van Jacobson 首部压缩”
15、V标志位。若V置为1,使用Van Jacobson首部压缩时。保留,设置为0,接收方可以忽视该字段。CoA字段,为该外地代理分配给移动节点的CoA。若F置位,一个代理通告报文至少包含一个CoA。CoA的数目由长度字段指定。,前缀长度扩展,类型字段,为19。长度字段,前缀长度扩展部分的大小。如果用N表示ICMP路由器通告部分中路由器地址个数,则长度字段值为N。前缀长度,说明ICMP路由器通告部分中所列出的路由器地址的网络前缀位数。前缀长度1表示路由器地址1的网络前缀长度;前缀长度2表示路由器地址2的网络前缀长度 ,2. 代理请求报文,移动节点使用代理请求报文,向移动代理发送代理通告报文。代理请求
16、报文除了它的IP首部的生存时间(TTL值)必须为1外,基本上等同于一个ICMP路由器请求报文。,3移动检测,假设,在移动节点所连接的网络上至少有一个代理。移动节点可以通过两种移动检测方法,来确定自己从一个网络移动到了另一个网络上。基于生存时间字段基于网络前缀。, 基于生存时间字段,就是基于代理通告报文中ICMP路由器通告部分的生存时间字段。如果移动节点在规定的生存时间内没有收到同一代理的另一个通告报文,那么,它就认为或者是已经离开了原来的网络,或者那个代理已经不能使用了。, 基于网络前缀方法,需要在代理通告报文中包含前缀长度扩展。假设移动节点向一个外地代理注册了,并且还记录了代理通告报文中的信息。这时移动节点又收到了另一个外地代理的代理通告报文。由于同一个网络上可能有多个外地代理,移动节点必须判定它收到的两个通告报文是否来自同一个网络。如果是,它就不必再向新的外地代理注册了;如果不是,即通告报文来自另一个网络,移动节点肯定改变了位置,因此需要向在新网络上的外地代理进行注册。,