(控制理论与控制工程专业论文)移动ip协议的研究与实现.pdf_第1页
(控制理论与控制工程专业论文)移动ip协议的研究与实现.pdf_第2页
(控制理论与控制工程专业论文)移动ip协议的研究与实现.pdf_第3页
(控制理论与控制工程专业论文)移动ip协议的研究与实现.pdf_第4页
(控制理论与控制工程专业论文)移动ip协议的研究与实现.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(控制理论与控制工程专业论文)移动ip协议的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 学科专业:控制理论与控制工程 论文题目: t0 6 5 7 3 9 移动i p 协议的研究与实现 硕士生:周晓燕导师:周立峰教授 f 近几年,互联网发展非常迅速,人们对移动接入互联网的需求越来越强烈, 、,7 7 - 移动互联网已初具规模j 移动互联网的物理网络主要采用g s m 或c d m a 移动通信 网络构建。而实现移动互联网的关键是在为提供移动性支持在上层协议方面所作 的工作。移动互联网的实现需要整个t c p i p 协议栈的配合,本课题研究和实现 的移动i p 协议正是i p 协议对移动互联网提供的核心支持:处理主机移动的问题。 本论文首先分析了移动i p v 4 与移动i p v 6 协议设计目标、功能实体与工 作机制。然后着重阐述了移动i p v 4 的实现细节,并给出了自行设计和实现的移 动i p v 4 的家乡代理和移动节点模块。 关键词:移动互联网、i p v 4 i p v 6 ,移动i p a b s t r a c t m a j o r :a u t o m a t i cc o n t r o lt h e o r ya n de n g i n e e r i n g s u b j e c t : s t u d y a n d i m p l e m e n t a t i o n o fm o b i l ei p m a s t e r :z h o u x i a o y a n a d v i s o r :p r o f z h o u l i f e n g w i t ht h es w i r ld e v e l o p m e n to fi n t e m e t ,t h e r ei sah i g hd e m a n do fa c c e s s i n g i n t e m e tw h e np e o p l ea r e w a n d e r i n ga l l a r o u n dt h e w o r l d c o n s e q u e n t l ym o b i l e i n t e m e ti sc o m i n gi n t ob e i n g ,r e l a y i n go ne x i s t i n gc d m ao rg s m p h y s i cn e t w o r k s h o w e v e rt h ek e yi s s u e sa r es t i l la d d r e s s e db yu p p e rl a y e r ss o l u t i o n st o m o b i l i t y m o b i l ei pd e s i g n e da n d i m p l e m e n t e d i nt h i sp r o j e c tc a n s u p p l yt h ec o r em o b i l i t yi ni p l a y e r i nt h i sd i s s e r t a t i o nt h ea u t h o r f i r s t l ya n a l y s e sc o n c e p t s a n df u n c t i o n b a s e d c o n s t i t u e n t so fm o b i l ei p v 4a n dm o b i l ei p v 6 ,t h e ne m p h a t i c a l l yd e s c r i b e sm o b i l e i p v 4m o 血l e s k e yw o r d s :m o b i l ei n t e r n e t | i p v 4 | i p v 6f m o b i l ei p 第一章概述 1 1 提出移动l p 的背景 1 9 9 5 年以来移动通信和互联网成为当今世界发展最快、市场潜力最大、前 景最诱人的两大业务。迄今,全球移动用户已近4 亿,互联网用户已逾2 亿。据 预测,到2 0 0 2 年,两者的全球用户数都有可能超过5 亿;并且人们在移动中对 数据的需要量将超过对话音的需要量。t c p i p 对移动性的支持也因此成为移动 中数据( 甚至语音) 通信的关键技术。 但在现行t c p i p 中并没有提供主机的移动性。网络的路由方式基于i p 地址 的网络号前缀( i p 地址= 网络号+ 主机号,共32 位) ,它要求连接在同一网段 的所有节点公用同一个网络号前缀,每个通信进程由i p 地址和t c p 端口号唯一 识别,因此节点的i p 地址就唯确定了它的接入位置,可见其现有工作方式不 能支持i p 的移动。如果一个移动节点( 计算机) 在不改变其i p 地址的情况下连 接到一个别的网络上,那么现行的路由协议将不能把数据正确传递给它。在这种 情况下,这台移动主机要么重新设置它的i p 地址来表明它新的接入点,要么向 网上广播特定于它的路由信息。但是,这两种方法有时都是不能接受的:改变移 动主机的i p 地址必然会中断已经建立的传输层或更高层的连接( 如f t p 和t e l n e t 会话) ,而第二种方法会使路由表迅速增大,更不可取。总而言之,在现行的互 联网协议下,如果移动主机在保持其i p 地址不变的情况下接入其他网络,就不 能正确路由;但若改变其i p 地址,就会失去已经建立连接。这个问题的根源在 于在互联网结构中,i p 地址起着双重的作用:从传输层和应用层的角度来看, i p 地址是一个通信端点的标识;在网络层,i p 地址是数据路由的依据。所以, 要使节点在移动时保持其高层会话,其i p 地址必须保持不变。 为了解决这个问题,曾经提出了几种解决方案。第一个支持主机移动的协议 是由哥伦比亚大学的j o h n 设计的m o b i l e i p ,其主要思想是使用虚拟移动子网 和i p i p 封装。与此同时,s o n y 公司的f u m i ot e r q o k a 设计了另种移动协议, 虚拟i p ( v i p ) ,它使用了特殊的路由器来记忆移动节点的位置,并定义了新的 i p 头选项来传递数据。不久,i b m 的c p e r k i n g 和y r e c k t e r 也提出了一种支 持移动的协议,它利用丁现何的i p 协议中的可选功能松散源选径( l oc ) s e s o u r c er o u t i n g ) 来支持主机的移动。 1 9 9 4 年,a m y i e s 和c p e r k e n s 分析了前三种协议的优缺点,重新提出了 m o b i l ei p ,并将它提交给了 e t f ,这个协议发展成了下面我们将要详细讨论的 “移动 p v 4 协议”。就在这一年,c a r n e g i em e l i o n 大学提出了m h r p 协议,它 的思想类似于松散源选径,不同之处是源选径是利用i p 头的选项,而m h r p 重新 定义了一种封装协议来代替源选径。 不管是m h r p 还是m i p ,在安全性上都存在严重的问题。因此,a m y l e s 、 c p e r k e n s 和d b j o h n s o n 共同制定了i m h p ,它引入了一种新的安全机制并提出 了简单认证的概念,后来这一概念被i p v 6 所借鉴,将移动性考虑纳入到i p v 6 。 移动i p 作为一种“通用”的移动解决方案,它保持原有的i p ,满足不同介 质上的和不同子网上的移动。这样,它可以: 不会中断许多以i p 做配置数据库的应用。 设想将来在服务器上需要移动支持,现有方案无法解决对移动服务器的访 问。而移动i p 可以完成。 当某些应用需要根据源地址进行认证时,移动i p 使用固定i p 地址可以保 证原有权限。 缓解了i p v 4 的i p 紧张问题。 制定支持节点移动的协议在国际上也是个热点课题,c m u 、纽约大学、f t p s o f t w a r e 、i b m 、m o t o r o l a 、n o k i a 、s u n 等研究机构都在进行这方面的研究。现 在,i e t f 正式提出了移动i p 协议,它与现行的互联网协议兼容,是对i p 的扩 展,使其支持节点的移动。我的目标是研究这个协议并在l i n u x 平台上基本实现 它。移动i p 协议的提出,可以说是网络技术发展的必然,对这个协议进行研究, 能很好地把握技术的发展方向,有很好的理论和实用价值。 目前移动i p 的r f c 有:r f c2 0 0 2 定义了移动i p 协议;r f c2 0 0 3 、2 0 0 4 、 1 7 0 1 定义了移动i p 中的三种隧道技术:r f c2 0 0 5 叙述了移动i p 的应用;r f c2 0 0 6 定义了移动i p 的管理信息库。 1 2移动互联网与移动i p 前景 移动互联网的建立依赖于以下关键技术: 一各种接入技术的发展例如无线局域网技术中的i e e e 8 0 2 1 l 、h o m er f 及 无线个人网技术中的b i u e t o o t h 所提供的资源共享,“个人代理”所提供的智能 化服务等。 一各种接入技术的融合 移动i p 提供“广域”移动性。 一传输层对无线、移动环境的适应例如,无线t c p 。 一上层应用对无线、移动环境的适应例如,w a p 。我们可以认为,若移动 i p 与t c p 在支持实时业务上取得进展,以及解决了在速率差别极大的介质上的 切换,移动i p 将不仅仅局限于解决移动计算的问题,而将朝向w i r e l e s si p 前 进,作为一种支持多媒体( m u l t i m e d i a ) 的移动通信的方案,与第三代蜂窝系统 相结合与竞争。并且,我们有理由相信基于i p 的网络系统更利于第四代移动通 信系统的多功能( f l u l t i f u n c t i o n ) 通信、数据采集、控制等的实现。 移动i p 与无线i p 在移动通信中的位置,如图所示。 第二章移动i p v 4 协议 移动i p v 4 是人们在i p 上尝试提供移动性支持的第一步,虽然移动 p v 4 存 在三角形路由、入口过滤等问题,但它体现了移动i p 的基本思想:并且出于条 件限制,我们的程序仍然在i p v 4 上实现。虽然i p v 6 对移动性的支持是否纳入 i p v 6 协议本身尚有争议,但我们相信在i p v 6 上,人们对移动的需要必将推动移 动i p v 6 的发展完善。因此,我们在论文中将对移动i p v 4 与移动i p v 6 进行系统 的描述,重点仍在移动i p v 4 上。 2 1 移动i p v 4 协议概述 根据i p 路由的原理,如果一个主机改变了与互联网的连接点,移动到了一 个具有不同网络前缀的子网,那么发向它原来地址的数据将不能正确地到达它新 的位置。另外,随着固定网的发展,以及移动通信的引入,i p 地址出现严重短 缺,即使为移动节点分配经常使用的几个i p 地址也是有困难的。 于是,我们希望当主机移动到新的网络子网,在保持其原来i p 地址的情况 下,能实现正常通信。为此i e t f 提出了移动i p 协议,它是对i p 协议的补充, 提供i p 层上的跨介质、跨子网的广域移动能力,并且强调这种移动的用户透明 即不要求用户对主机做任何的手动配置,做到通信与位置无关。同i p 一样,移 动i p 也属网络层,与下层物理网络无关,这一点符合互联网网络层的设计原则。 移动i p 提供的广域移动性与不同介质、相同子网间的局域移动性是不同的, 相同子网间的移动容易实现,如各种链路层桥接技术。移动i p 所提供的广域移 动性对移动互联网是至关重要的,它是各种接入技术、终端设备、末端用户应用 程序间的黏合剂。 针对提供广域移动性的目标,移动i p 协议设计目标是: 改变数据链路层的互联网接入点时,仍能保持通信; 使用原i p 地址始终能进行正常通信,并允许特殊情况下保持原身份使 用临时地址进行通信; 可与其它没有移动功能的节点通信: 保证安全性。 此外,在具体实施中,从减少网络通信流量方面考虑,要求路由表更新的次 数尽量少:从实现方面考虑,要求尽量简化移动节点的实现软件。 容易看出移动i p 的主要功能是管理移动主机当前接入点信息、对上 层协议屏蔽主机移动。由于i p v 4 和 p v 6 协议的差异,移动i p v 4 与移动i p v 6 在 实现以上两大功能时均存在差异,因此我们将对它们分别讲述。 2 i 1 移动i p v 4 的设计方案 移动 p v 4 中的移动性管理机制类似于移动电话中漫游移动台的机制,如图 2 一l 所示。在蜂窝移动通信系统中,当m s ( m o b i l es t a r i o n ,移动台,即手机) 漫游到新的b s ( b a s es n a t i o n ,基站) 覆盖区时,根据新的b s 的广播信息,m s 检测到不同的b s 标识码。此时, 1 m s 通过新的b s 向其所在m s c ( m o b i l es w i t c hc e n t e r ,移动业务交换 中心) 发送位置更新请求。 2 m s c 把位置更新报文送至h l r ( h o m el o c a t i o nr e g i s t e r ,归属位置寄 存器) ,同时给出自己和 i s 的识别码。 3 h l r 给出对该m s c 的应答,m s c 更新v l r ( v i s i t o rl o c a t i o nr e g i s t e r , 来访者位置寄存器) 信息。 4 最后,通过b s 通知m s ; 5 6 同时,h l r 通知旧v l r 删除此m s 的相关信息,v l r 回复应答给h l r 。 一里) ( 1 蓬雾霉精u 商萨麓为 图2 一l蜂寓移动通信系统示虑图 借助蜂窝系统中移动管理机制,移动i p v 4 的设计方案中也实现了类似于 m s c 、h l r 、v l r 的功能实体,用来管理移动节点的位置信息,并对移动节点参与 的通信屏蔽移动节点的移动。移动i p v 4 中实现h l r 功能的是“家乡代理”( h o m e a g e n t ) ,它是移动节点最初被分配i p 地址所在子网或链路( 即“家乡网络”或 “家乡链路”) 上的路由器或主机。因为在家乡子网或链路内部是不需要移动:p 支持的,所以m s c 和v l r 在移动i p v 4 中只在移动节点移出h l r 所在子网,即在 ,毗 夕 噼圄 f # 由i pr j t 泌的州j c 4 j j 唯( 蚺6 儿 “外地网络”或“外地链路”时需要,它们由“外地代理”( f o r e i g na g e n t ) 实 现。 说明一点,在以下讨论中我们倾向于使用“家乡链路”和“外地链路”,是 因为“链路”往往比“网络”一词更能准确地描述移动状态下的网络环境在 无线通信网上,看到的常常是一条通信链路,而看不到一个网络。 2 1 2 移动i p v 4 的功能实体 如图2 2 ,移动i p v 4 定义了三个特定的实体: 移动节点( m o b ii en o d e ,m n ) 一台主机或路由器。它在保持i p 地址不变( 始终使用家乡i p 地址) 的情况 下从一个网络或子网移动到另一个网络或子网。 家乡代理( h o m ea g e n t ,h a ) 有一个端口在移动节点家乡链路上的一台主机或路由器。当移动节点离开家 乡链路时,它截获发往移动节点的分组并转发给移动节点,它还保持有关移动节 点当前位置的记录。 外地代理( f o r e i g na g e n t ,f a ) 位于移动节点访问的链路上的一台主机或路由器。它为移动节点提供路由服 务,作为移动节点在该链路上的缺省路由器:帮助移动节点通知它的家乡代理其 转交地址,和h a 合作将分组传送给离开家乡网络的移动节点。 作为h a 或f a ,或者兼有二者功能的计算机叫作“移动代理”( m o b i l i t y a g e n t ) ,通常是用路由器充当的。如果一个网络上具有移动代理,则称这个网络 是“支持移动的”( m o b i l i t ys u p p o r t ) 。 图22 移动 v 4 功能蛮体 移动i p v 4 为了实现节点的当前位置与其家乡网络地址的映射,允许某移动 节点拥有两个i p 地址:“家乡地址”( h o m ea d d r e s s ) 和“转交地址”( c a r e o f 凰粼 煅 一 萝 c l 需 蚪毫t 麝 一 牛 凰黼 a d d r e s s ) 。家乡地址是移动节点在家乡网络上分配的长期的i p 地址,在移动节 点移动的过程中它一直保持不变而且所有移动节点发送的数据都以它作为源地 址。转交地址是当移动节点接入一个外地网络时得到的一个临时的地址,它标识 移动节点新的接入点和传送数据的隧道的终点。在移动i p v 4 中提供两种得到转 交地址的方式: 外地代理转交地址( f o r e i g na g e n tc a r e o fa d d r e s s ) 这是由一个外地代理通过其代理宣告报文( a g e n ta d v e r t i s e m e n tm e s s a g e ) 提供给移动节点的转交地址。在这种情况下,这个转交地址是这个外地代理的 i p 地址。这时,该外地代理是隧道的末端,当收到隧道来的分组时,外地代理 将分组解封装并将原始分组传送给移动节点。这种方式允许多个移动节点共享一 个转交地址,即一个外地代理为多个移动节点服务,这对节约本来就很紧张的 p v 4 的地址来说无疑是个很好的选择。当然这也意味着必须依赖外地代理。 配置转交地址( c o l o c a t e dc a r e o fa d d r e s s ) 移动节点在外地网络上通过其它方式得到的i p 地址。移动节点需要将这个 转交地址与它的一个网络接口进行绑定。这个地址可以是动态地通过d h c p 得到 的临时i p 地址,也可以是一个分配给移动节点在它访问此外地网络时用的长期 的i p 地址。在这种情况下,移动节点自己作为隧道的末端并解封装隧道传过来 的数据。这种方式的好处是移动节点不需要f a 的支持,这在m n 访问没有配备 f a 的网络时很有用,但这要求在被访问的网络上有空闲的i p 地址,同时移动节 点的操作系统的内核必须支持解封装操作。 2 1 3 移动i p v 4 的工作机制 移动i p v 4 工作机制包括“代理发现”( a g e n td i s c o v e r y ) 机制、“注册” ( r e g i s t r a r i o n ) 机制和隧道( t u n n e l i n g ) 与路由。 在家乡链路上每个移动主机必须有一个“家乡代理”来为自己维护当前位置 信息,这个位置由“转交地址”来确定。移动主机的家乡地址与它当前转交地址 的有时效限制的联合,称为“移动绑定”,或简称为“绑定”。每当一个移动主机 得到一个新的转交地址时,它必须生成一个新的绑定来向家乡代理“注册”,使 家乡代理即时更新移动主机的当前位置信息。一个家乡代理可以同时为多个移动 主机提供服务。 当一个移动主机连接到家乡链路之外的“外地链路”时,可以通过下述两种 方法来获得转交地址。通常情况下移动主机使用“代理发现”协议在外地链路上 发现一个“外地代理”,然后移动主机向这个外地代理进行注册,并使用此外地 瞎j 山i p 叭泌的m 咒o l 吣 鹅8 砸 代理的i p 地址作为自己的转交地址。外地代理的主要功能是为这个移动主机转 发分组。另外,移动主机也可以通过其他方法( 如d h c p r f c 2 1 3 l ,d r a f t s t a n d a r d ) 在外地链路上获得个临时i p 地址来作为自己的转交地址,在这种 情况下移动主机不需要依赖外地代理。 当移动主机离丌家乡链路时,它的家乡代理把发往移动主机的所有分组转发 到移动主机的当前位置。家乡代理可以使用“代理a r p ”( p r o x ya r p ) 或其他 有效方法在家乡链路上截获发往移动主机的分组。对于每个截获的分组,家乡代 理使用“隧道”技术把它们发送到移动主机的当前转交地址。 如果转交地址是外地代理的i p 地址,那么这个外地代理是隧道的终端,此 时外地代理从分组中移走隧道报头,并把剩余部分发送到移动主机。如果移动主 机使用一个临时地址作为转交地址,那么分组将直接通过隧道传送到移动主机。 在一个网络上,一台路由器可以同时具有家乡代理和外地代理的功能,也可 以用两台或多台路由器分别提供家乡代理和外地代理服务。 移动i p v 4 的具体工作过程如图2 - 3 所示: 1 移动代理( f a 和h a ) 在各自所在链路上周期性地广播“代理宣告报文” ( a g e n ta d v e r t i s e m e n lm e s s a g e ) 来表明它的存在,移动节点也可以发送“代 理请求报文”( a g e n ts o i c i t a t i o nm e s s a g e ) 来要求得到代理宣告报文。 2 当移动节点收到一个代理宣告报文时,它根据报文内容确定自己是在家 乡链路上还是在外地链路上。当一个移动节点在它的家乡链路上时,它和其它固 定节点没有区别,这时h a 不起作用。 3 当移动节点离开家乡链路而连接到一个外地链路上时,它得到一个转交 地址。 4 移动节点向h a 注册转交地址,必要时通过f a 。 5 6 发往移动节点的家乡链路的数据被h a 截获,隧道到转交地址,在隧 道的另一端解封装后,传送给移动节点( 6 ) 或直接被移动节点获得( 5 ) 。 搏动i p 胁嫂的 ”圮1 j 实i 砒( * 9 窜乡代州轲f 外地代州w 删镛f 即 幡消n 髓龋l 的所f l 垃? i 胖接 收这个椰n 机e 帆 -,_-_。l- 4 侈功肖a 向窜乡代,l ! i - kj l j l # 尘地址 2 稚埘? ,二卅代州j - 播 0 且h t 妊,i 匕血垃们坫雀参迸辩证址外 地址路 l p 粗 代,l l 地j i l : l n ,j 精 l 气。陀m p 代坤j 播 找址个:f a 叠i i a 口 f a 帕转交地蚓 3 连n 外地链帑1 帕棒功节点从代理j l 播 钔n 巾 斗刊转尘地址 f e 册戍荐 3 _,-_-。-。-。-。-_。-。 5 a 求乡代理蔫ij e 他鼎l 勰广艋埘伟功钳j ! 三絮告 5 bi q 此嗳琦; 发 :穆柚* ,l 宗当地址 帕也 5 c 窜乡化娜谴取诺托转曲缸点窜孝地 l 的乜坪遗吐琏砸进”e 的轼交地址 6 仆比f t 腓 l 硅遗取m 雠蚺敦埘也j i :谴过外地链料遵翁侈曲钍 圈2 移动l p “【忤机斛 接下来,我们将具体介绍移动i p v 4 工作机制的三个主要部分 代理发现( a g e n td i s c o v e r y ) 注册( r e g i s t r a t i o n ) 参裔 隧道( t u n n e l i n g ) 与路由 2 2 代理发现 移动节点利用代理发现机制完成以下功能: 判定它当前连在家乡链路上还是外地链路上。 检测它是否切换了链路。 当连在外地链路上时,得到一个转交地址。 在某些特定类型的网络上,数据链路层可以完成代理发现的功能,但为了支 持在数据链路层不具有此功能的网络,必须制定代理发现的标准协议,支持移动 主机在各种类型网络上的代理发现。 下面将说明移动节点、外地代理和家乡代理如何协同完成这些功能,还将介 绍当移动节点连接的链路不具备支持这些功能的能力时它可以有哪些选择。 代理发现由两条简单的报文构成。第一条报文是“代理宣告报文”( a g e n t a d v e r t i s e m e n tm e s s a g e ) ,代理( 家乡的、外地的) 利用这个报文向移动节点宣 布它们的存在和功能。当一个节点在一条链路上被配置成家乡代理或外地代理, 或同时被配置成这两者时,它就在这条链路上广播或组播代理宣告报文,这使得 连到这条链路上的移动节点可以判定该链路上是否有代理存在。如果有,则判定 它们的标识( i p 地址) 和功能是什么。 第二条报文是“代理请求报文”( a g e n ts o l i c i t a t i o nm e s s a g e ) ,当移动节 点没有耐心等待下一个周期发送的代理宣告报文时,它可以发送代理请求报文。 这个报文的唯一目的就是让链路上的所有代理立即发送个代理宣告报文。有 时,移动节点快速地切换链路,而代理发送代理宣告报文的频率相比而言就太慢 了,这时代理请求报文就非常有用了。 代理宣告报文( a g e n ta d v e r t i s e m e n tm e s s a g e ) 和代理请求报文( a g e n t s o l i c i t a t i o nm e s s a g e ) 与 c m p 路由器发现报文( r o u t e rd i s c o v e r ym e s s a g e ) r f c l 2 5 6 ,p r o p o s e ds t a n d a r d 中定义的“路由器宣告报文”( r o u t e r a d v e r t i s e m e n tm e s s a g e ) 以及“路由器请求报文”( r o u t e rs o l i c i t a t i o n m e s s a g e ) 非常相似,事实上,移动i p 利用了这两个报文的格式,并对它们进行 了扩展以完成代理发现。 需要指出的是,由于密钥管理上的困难,移动i p 不要求对上述两种报文进 行确认。 竖坐业必型塑啦1 2 2 1 报文格式 移动i p 中定义的“代理请求报文”是移动i p r f c 2 0 0 2 ,p r o p o s e ds t a n d a r d 对 r f c l 2 5 6 中定义的i c m p 路由器请求报文借鉴而来,二者几乎一模样,唯一 的区别是代理请求报文中的i p 分组的生存时间域必须置成l 。图2 - 4 给出了代 理请求报文的格式。当家乡代理或外地代理接收到这条报文时,它必须马上响应 一条代理宣告报文。代理路由器请求报文的类型域取值为1 0 。 山旦;! ! ! ! ! 盟89 ;1234 567b9 :, h 赢! fj m 再 十t ! i 盘驹 j 耽也h i :t 移曲拈点竹永乡j 也址 而而夏曩丽巍函甭丽戚西丽砸两丽 侏斜 f p 撤 r f c 7 q i c m b 路1 1 1 嚣i 求 i r f c l 2 5 6 l 图2 4代理i 青, j t 报文 同样,“代理宣告报文”也是移动i p 通过对i c m p 路由器宣告报文进行扩展 而来,如图2 4 所示。这条报文必须包含移动代理广播扩展,前缀长度扩展项可 选。 图2 - 5f e 理宜告报支 ,p 报让 【r f c 7 9 i c m p 路: : j _ 插 【r f c l 2 5 6 l 移曲代雕捕扩删 i r f 0 0 0 1 舸蟛k 膨扩城 fr f 进) 【r f c 2 0 ( 1 2 i ( 1 ) i p 报头 代理宣告报文中的r f ) 报头被移动节点用束判定它是连接在家乡链路还是外 地链路上,判定方法如下: 如果源r p 地址的网络f i 缀与移动节点家乡地址的网络前缀相等特别 地,当发送广播的是移动节点的家乡代理时,源i p 地址与移动节点的家乡代理 的地址相等那么移动节点就连接在家乡链路上。移动节点会检查自己移动绑 定的情况,如果它原本在家乡链路上,则无需任何处理;如果它先前曾连在外地 链路上,现回到了家乡链路上,它就要向家乡代理进行移动注销。另外,移动节 点还可能需要广播一些主动a r p ,表示它不再需要家乡代理为它作代理a r p ,给 出自己的i p 地址与数据链路层地址的绑定。 反之,移动节点没有连在家乡链路上。此时,它启动“移动检测”算法,判 定从上一次收到代理宣告报文到现在,它是否又移动到了一条新链路上。如果是, 它就需要一个新的转交地址并重新向家乡代理注册。 ( 2 ) i c m p 路由器宣告 类型( t y p e ) 域为9 的i c m p 报文为宣告报文。 代码( c o d e ) 域取值可为1 6 或0 。当家乡代理和外地代理将代码值设为1 6 , 表示移动代理不处理普通路由。因此,这时要求外地代理必须能将移动节点发送 的数据转发给台缺省的普通路由器。当它们将代码值设为0 时,表示它们可以 处理普通路由,即允许链路上的其它节点将它们作为路由器。 校验和( c h e c k s u m ) 用来检测接收到的报文是否有错。 生存时间( l i f e t i m e ) 域,表明代理发送广播的频率, r f c 2 0 0 2 中建议以 生存时间的1 3 为周期发送代理广播,这个值主要用于“移动检测”过程。请注 意,不要把它与下面将看到的移动代理广播扩展中的注册生存时间 ( r e g i s t r a t i o nl i f e t i m e ) 域混淆。 地址数( n u ma d d r s ) 域和地址宽度( a d d re n t r ys i z e ) 域分别表明列出的 路由器地址优先权( r o u t e ra d d r e s s p r e f e r e n c el e v e l ) 对的数目,以及每 对包含多少字节。对于i p 地址,地址宽度等于8 ( 4 字节地址加上4 字节优先权) 。 如果该报文的“总长度域”值比根据地址数和地址宽度计算出的要大,那么接收 到的报文的其它部分就被认为是扩展部分。如果其中有一个扩展部分为“移动代 理广播扩展”,那么接收到的这个报文就是代理宣告报文;否则,接收的报文就 是般i c m p 路由器宣告报文。 地址数、地址宽度、路由器地址和优先权,所有这些域主要与路由的关系紧 密。代理广播时可以包含代理和其他的更多路由器地址。外地代理为了减少自己 f # 曲i p 协议的删圮i 实脱( 第1 3 且 的负担或不愿意充当移动节点发送数据时的缺省路由器,可能将自己地址的优先 权设得比别的地址优先权低,减少充当缺省路由器的可能。 ( 3 ) 移动代理广播扩展 类型域取值为16 表示是移动代理广播扩展。 长度域则给出了扩展数据部分的字节数,不包括类型域和长度域本身,即, 6 + 4 n ,n 为转交地址数目。 当一个代理重启时,它将序号域( s e q u e n c en u m b e r ) 复位成0 ,每发送一 个代理宣告报文就将序号加l 。移动节点可以从序号域看出它的代理是否重启了。 如果是,移动节点就假设该代理重启后不再知道它的存在,因此需重新向这个代 理注册。 注册生存时间域( r e g i s t r a t i o nl i f e t i m e ) 表示移动代理愿意接收注册请 求的时间段,以秒为单位。 强制注册标志位r ( r e g i s t r a t i o nr e q u i r e d ) 置位时强制移动节点必须向 此代理注册。一般是因为某i s p 对该链路有控制权,只对成功注册节点提供路由 服务。如果移动节点在该链路上使用的配置转交地址,它也必须向此代理注册。 代理忙标志位b ( b u s y ) 置位时表示该代理不能接受新的节点的注册。对家 乡代理而言,它应始终准备为新的移动节点服务。而外地代理则可能因负担太重 而无法为新的节点服务,但它必须继续发送代理宣告报文,表示自己工作正常, 并给出网络前缀信息。 家乡代理标志位h ( h o m ea g e n t ) 置位时表示该代理在发送此广播的链路上 充当家乡代理。 外地代理标志位f ( f o r e i g na g e n t ) 置位时表示该代理在发送此广播的链 路上充当外地代理。 最小封装m ( m i n i m a le n c a p s u l a t i o n ) 置位时表示代理进行隧道封装时采 用 r f c 2 0 0 4 ,p r o p o s e ds t a n d a r d 中定义的最小封装。 g r e 封装( g r ee n c a p s u l a t i o n ) 置位时表示代理进行隧道封装时采用 r f c i t o i ,i n f o r m a t i o n a l 中定义的通用路有封装。 v a n7 a c o b s o n 报头压缩标志位v ( v a nj a c o b s o nh e a d e rc o m p r e s s i o n ) 置 位时表示该代理在该链路上支持 r f c l l 4 4 ,p r o p o s e ds t a n d a r d 中定义的v a n j a c o b s o n 报头压缩。 保留位( r e s e r v e d ) 为o ,被收方忽略。 转交地址域( c a r e - o fa d d r e s s e s ) 列出外地代理的一个或多个转交地址。 如果f 置位,则此域必须包含至少一个转交地址。如果移动节点从某个外地代理 发来的代理宣告报文中选择了转交地址,那么该宵点就应注册到这个外地代理 上。 ( 4 ) 前缀长度扩展 前缀长度扩展部分指出该代理广播中i c m p 路由器宣告部分所列出的路由器 地址的网络前缀长度,但它不暗示转交地址的网络前缀长度。因为外地代理只需 要有一个端口连在移动节点所在外地链路上就可以,因此,外地代理转交地址的 网络前缀不一定与移动节点所在链路的网络前缀一致。路由器地址的网络前缀信 息用于“移动检测”。 类型域取值为1 9 ,表示是前缀长度扩展。 长度域取值与i c m p 路由器宣告部分的地址数域取值相同。 若干个前缀长度域按i c m p 路由器宣告部分列出的地址顺序排列,每个字节 的前缀长度域给出所对应地址的前缀长度。 2 2 2 移动节点的“移动检测” 移动节点时刻被动监听或主动请求链路上的路由器宣告报文和代理宣告报 文,以此获得自己的位置信息,也就是说,移动节点通过“代理发现”进行“移 动检测”。 假设移动节点所在链路上存在至少一个代理,那么移动节点可以通过两种方 法来进行移动检测:一种通过生存时间域,一种通过网络前缀。 方法一:通过生存时间域进行移动检测 根据 r f c 2 0 0 2 的建议,家乡代理和外地代理需频繁地发送移动代理广播, 其频率大约比生存时间域中标示的要快二倍。如果一个移动节点已经注册到一个 外地代理上,但在生存时间域规定的时间内却没有收到来自该代理的广播,那么 移动节点就可以认为它已移动到另一链路上,或该代理已经发生故障。无论怎样, 此时移动节点都要向下一个发来代理宣告报文的外地代理注册。如果没有收到任 何广播,它就发出一个代理请求报文去主动询问。 方法二:通过网络前缀进行移动检测 移动节点从前后两个相邻移动代理宣告报文中计算出网络前缀并加以比较: 如果不同,它就可以认为两个宣告报文是从不同的链路上接收到的;否则就是从 同一链路上接收到的。 当移动节点将新收到的移动代理宣告报文中的网络前缀与它当前正注册的 # j 山i p 咖汉的宄。,典j 她( 第1 5 艇) 外地代理的网络前缀比较后,发现它已移动到新链路上了,就应向在新链路上的 外地代理进行注册。 上述方法的前提是移动节点始终能收到移动代理宣告报文。问题是这种前提 并非总是成立的。 当移动节点收不到任何宣告报文时,它将首先设法在家乡链路上通信。此时, 它假设正连在家乡链路上,而家乡代理又j 下好出现故障( 否则,家乡代理会发送 代理宣告报文) 。这时,移动节点只需简单地按在家乡链路上正常的方式进行通 信。例如,可以向它在家乡链路上使用的缺省路由器发送i c m p 回应请求报文 ( i c m pe c h or e q u e s t ) ,如果这台缺省路由器给出了应答,那么移动节点连在它 的家乡链路上,这样就可以继续通信了。 如果缺省路由器没有应答,那么移动节点可以认为它正连在一条外地链路 上。这时,移动节点可以设法通过d h c p ( d y n a m i ch o s tc o n f i g u r a t i o np r o t o c 0 1 ) r f c 2 1 3 1 服务器得到一个地址。如果成功了,移动节点就可以将这个地址作为 配置转交地址,并向它的家乡代理注册。 如果d h c p 服务器没有应答,那么使用移动节点的人可以为它手工配置个 i p 地址作为配置转交地址。如果还不行,那么这个移动节点就无法移动工作了。 这种结局并不是移动i p 的问题,因为使用d h c p 和手工配置都不行,传统的固定 节点也同样无法上网工作。 假设移动节点已经得到一个配置转交地址,即使没有任何代理广播,它也必 定可以判断自己是否从一条链路移动到了另一条链路上。判断的方法有两种。 第一种方法:t o p 进程监测。在它已打开的t c p 连接上检查最近有没有转发 进行。如果没有,移动节点就可以得出结论,在上一次注册后它已经移动过了。 第二种方法:链路帧检查。移动节点可以将它的网络接口驱动器置于接收所 有帧的模式。在这种模式下,移动节点可以检查链路上的所有帧,而不只是发给 它的帧。如果这些帧中没有一个网络前缀与它的转交地址的网络前缀一样,它就 可以推断已从获得转交地址的那条链路移动到一条新链路上了。如果这样,移动 节点应得到一个新的转交地址并向它的家乡代理注册。当然,移动节点必须知道 各种链路的网络前缀长度才可判断它转交地址的网络前缀与当前链路的网络前 缀是否相等。 注意,上述两种方法都需要网络层以外的帮助。这里的网络层指i p 和i c m p 。 这是一个传输层和数据链路层帮助更完善地提供移动功能的例子。 掺二由i l ,脚议的f i j f 冗j 典j 地( 第l n 砸 2 3 注册 注册是移动节点通知其家乡代理它的当l ;1 移动绑定,并要求家乡代理将发送 到其家乡网络上的报文转发给它的过程。移动i p 为移动节点提供了灵活的注册 机制。 注册的过程发生在代理发现之后。当移动节点发现它移动回家乡链路上时, 它就向家乡代理注销移动绑定,并开始像固定主机或路由器那样进行通信即不 再使用移动i p 功能。当移动节点发现它连在一条外地链路上时,它就得到一个 转交地址,并进行注册:如果得到的是外地代理转交地址,则通过外地代理向家 乡代理注册该地址:如果得到的配置转交地址,则直接向家乡代理注册。 移动节点注册机制完成如下主要功能: 当节点离开家乡网络时,要求转发服务。 通知家乡代理它当前接入位置。 更新即将过期的注册。 当移动节点回到家乡网络时,取消注册,即注销移动。 另外,还有其它几个注册过程,可以使移动节点: 同时保持多个注册。这种情况下,所有分组将被隧道到每个有效的转交地 址。 取消某一个特定的转交地址注册而保持其它的移动绑定。 在没有家乡代理信息的情况下,移动主机可以通过注册动态地得到家乡代 理地址。 移动i p 定义了两种不同的注册过程:一种是通过外地代理来转发注册请求 和应答;另一种直接由移动节点和家乡代理完成。当移动代理使用外地代理转交 地址时,它必须通过外地代理来完成注册;如果它用配置转交地址或它回到家乡 网络,则直接向家乡代理注册。 两种注册方式都是在移动节点和家乡代理之间交换注册请求和注册应答报 文。 2 3 1 注册报文 移动i p v 4 注册报文包括“注册请求报文”( r e g i s t r a t i o nr e q u e s tm e s s a g e ) 和“注册应答报文”( r e g i s t r a r i o nr e p l ym e s s a g e ) 。注册报文放在u d p 数据报 侈出l p 胁i 义的川究,实j 岵f 聃l7 “) 的数据部分。与代理发i 见报文相同,注册报文由个短的定长部分加上一个或多 个变长的扩展部分构成。 移动节点通过注册请求报文向家乡代理注册,从而创建或更新一个移动绑 定。当收到一个注册请求时,移动代理将返回一个注册应答报文,其中包含有关 注册结果的信息。 图2 6 给出了注册请求报文的格式,有r p 报头、u d p 报头和扩展部分。图 2 7 则只给出了注册应答的定长部分,这是它与注册请求报文唯一不同的部分。 由于注册涉及通信者的身份合法性问题,因此注册报文需要进行安全认证。 两种注册报文都要有移动一家乡认证扩展( m o b i l e - h o m ea u t h e n t i c a t i o n e x t e n s i o n ) ,它的作用是证明报文发送者的真实身份。此外,移动i p 允许定义 任何有用的扩展,并将它们包含在注册请求和注册应答报文中。 r f c 2 0 0 2 定义 的其它扩展有:移动一外地认证扩展、外地一家乡认证扩展。这些扩展分别用于移 动节点和外地代理以及外地代理和家乡代理之间的认证。 ( 1 ) i p 报头 移动i p 注册过程中对i p 报头的主要操作就是填写源地址和目的地址。根据 移动i p 规定的三种注册类型,即移动节点用外地代理广播的转交地址向外地代 理注册( 外地代理再负责中继注册请求给家乡代理,参见2 3 3 节) 、移动节点 用配置转交地址向家乡代理注册、移动节点回到家乡链路时向家乡代理注销,则 源目的地址组合分别为:家乡地址外地代理地址、配置转交地址家乡代理地 址、家乡地址家乡代

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论