(计算机软件与理论专业论文)ipv6自动地址配置与邻居发现技术及实现.pdf_第1页
(计算机软件与理论专业论文)ipv6自动地址配置与邻居发现技术及实现.pdf_第2页
(计算机软件与理论专业论文)ipv6自动地址配置与邻居发现技术及实现.pdf_第3页
(计算机软件与理论专业论文)ipv6自动地址配置与邻居发现技术及实现.pdf_第4页
(计算机软件与理论专业论文)ipv6自动地址配置与邻居发现技术及实现.pdf_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

摘要 i p v 6 是“因特网协议第六版”的缩写,是由i e t f 设计的下一代因特网协议, 目的是取代当前的因特网协议第四版( i p v 4 ) 。i p v 4 在过去的应用中具有辉煌的 业绩,但随着应用的普及和深入,已经显露出许多弊端。其中最迫切需要解决的 问题是地址短缺问题,这一缺陷是i p v 4 自身无法解决的。i p v 6 对i p v 4 作了大 量的改进,包括增加了地址自动配置、安全性、移动性以及性能提高等方面,并 有效地解决了地址短缺问题。目前i p v 6 协议规范已基本规范成熟,已经开始逐 步进入商用。 本文对i p v 6 地址自动配置及邻居发现技术和实现做了较深入的探讨,阐述 了系统实现中提出的一些创新点。 全文共分六章。第一章为绪论部分,主要介绍i p v 4 和i p v 6 的发展现状以及 本文的目标和主要内容。第二、三章介绍i p v 6 地址自动配置和邻居发现协议的 产生背景及其基本工作原理,并根据对协议的理解着重阐述了协议的关键点和需 要特别明确的地方。第四章对本系统的功能需求进行了较为细致的分析和阐述。 第五章是本文的重点部分,详细论述了“i p v 6 地址自动配置及邻居发现”目标 系统的具体实现。对系统具体实现中使用到的核心数据结构、关键处理流程、系 统接口等进行了详细的说明,给出了系统实现中的核心处理流程与新算法。此外, 对于一些关键处理环节给出了详细的处理流程图和步骤说明。第六章为本文结束 章节,在对全文进行总结并讨论了在系统实现过程中需要注意的若干关键问题, 以及今后需要进一步完成的工作。 关键字:i p v 6 地址结构自动配置邻居发现自学习 a b s t r a c t i p v 6i st h ea b b r e v i a t i o no f “i n t e r n e tp r o t o c o lv e r s i o n 6 ( i p v 6 ) ”。i ti s t h en e x t g e n e r a t i o no fi n t e r a c tp r o t o c o ld e s i g n e db yi e t f , a n dd e s i g n e dt or e p l a c e i n t e r n e t p r o t o c o lv e r s i o n 4 ( i p v 4 ) ”,w h i c hh a sb r i l l i a n ta c h i e v e m e n ti np a s ty e a r s h o w e v e r , s o m a n y d e f e c t si n v o l v e di ni p v 4h a v ea p p e a r e dn o w , o f a l lt h e s ep r o b l e m s ,t h ea b s e n c e o fa d d r e s s e si sr e q u i r e dt ob er e s o l v e du r g e n t l y , w h i c hc a n tb er e s o l v e dc o m p l e t e l y b yi p v 4i t s e l f , w h i l ei p v 6c a r l n o w , m a n yn e w p r o t o c o l sa n dt e c h n o l o g i e sh a v eb e e n a d d e dt oi p v 6 ,s u c ha sa d d r e s sa u t o c o n f i g u r a t i o n ,s e c u r i t y ,t h em o b i l i t ya n db e t t e r p e r f o r m a n c ee t c ,a n dm o r ea n dm o r ea p p l i c a t i o n sa n dd e v i c e sb a s e do ni p v 6h a d b e e n p u ti nb u s i n e s sm a r k e ta n da c c e p t e db ys p ( s e r v i c ep r o v i d e r ) s t e pb ys t e p t h i sa r t i c l ed i s c u s st h e p r o t o c o l a n d f i g u r e o u t i m p l e m e n t a t i o n o fa d d r e s s a u t o - c o n f i g u r a t i o na n dn e i g h b o rd i s c o v e r yf o ri p v 6 ;f u r t h e r , t h e s i sh a sp r o v i d e d s o m ec r e a t i v em e t h o d si ni m p l e m e n t a t i o n s t h i st h e s i si s c o m p o s e do fs i xc h a p t e r s p r e f a c e i si nt h ef i r s t c h a p t e r ,w h i c h m a i n l yf o c u so nf i g u r i n go u tc u r r e n ts t a t u so f i p v 4a n di p v 6p r o t o c o l ,a n dc o n t e n t so f t h i st h e s i s ;t h es e c o n da n dt h i r dc h a p t e rd i s c u s st h eb a c k g r o u n da n df o u n d a t i o n t h e o r yo f i p v 6a d d r e s sa u t o - c o n f i g u r a t i o nm a d n e i g h b o rd i s c o v e r yp r o t o c o l ;b a s e do n s e l f c o m p r e h e n s i o n w i t h p r o t o c o le n o u g h d i s c u s s i o nw a s g i v e n o u tf o rs o m e c r u c e s ;t h ef o u r t hc h a p t e rm a i n l yu s e d t of i g u r e do u tt h ee x a c tf u c t i o n sa n df e a t u r e so f s y s t e m ;t h e f i f t h c h a p t e rg a v e o u tt h ee x a c t i m p l e m e n t i n g c o n t e n to fa d d r e s s a u t o c o n f i g u r a t i o na n dn e i g h b o rd i s c o v e r yf o r p v 6s y s t e m ;f u r t h e rm o r e ,t h i st h e s i s l i s to u ts o m e i m p o r t a n t d a t a s t r u c t u r e s ,p r o c e s sf l o w i n g a n d s y s t e m i n t e r f a c e s e t c ,p r o v i d eo fs o m ek e r n e lp r o c e s s i n gf l o wa n dn e wv i e w s ;f o rs o m ec o l l f u s i o n p r o c e s sp o i n t s ,f l o w i n gc h a r ta n dc l e a rn o t e so fe a c hp r o c e s s i n gs t e p a r et a k e na s n e c e s s a r y ;t h e s i x t h c h a p t e r i st h el a s t p a r t s ,w h i c h m a i n l yr e s p o n s i b l e i n g f o r s u m m a r i z ea l lt h i st h e s i sa n dd i s c u s s i n gs o m ec r u c i a lp o i n t s ,a tl a s tt h i st h e s i sg i v eo u t t h ef u r t h e rw o r k s n e e d i n g t ob ef i n i s h e di nf u t u r e k e yw o r d s :i p v 6 、a d d r e s s a r c h i t e c t u r e 、a u t o c o n f i g u r e 、n e i g h b o rd i s c o v e r y i i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:二萎旦耻日期:如。f 年f 月胁日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:姐 聊签商 导师签名: 2l 叁 日期:勺新年f 月f g 日 i p v 6 自动地址配置与邻居发现技术及实现 1 1i p v 4v s i p v 6 第童绪论 t c p i p 协议是目前最流行的网际互联协议,虽然它不是国际标准化组织制 定的,却已成为网际互联事实上的标准,并由单纯的t c p i p 协议发展成为一系 列以i p 为基础的t c p i p 协议簇。t c p i p 协议族为互联网提供了基本的通信机 制。互联网目前几乎覆盖了全球的每个角落,其飞速发展充分说明了t c p i p 协议取得了巨大的成功。目前互联网使用的是i n t e r n e t 协议第4 版本即i p v 4 。i p v 4 地址结构分为a 、b 和c 三类。a 类地址可用作1 2 6 个网络,每个网络可容纳 1 6 0 0 万个主机节点。b 类地址可用作1 6 0 0 0 个网络,每个网络可容纳6 5 0 0 0 个 主机节点。c 类地址可用作二百万左右的网络,每个网络可容纳2 5 4 个主机节点。 当1 9 8 1 年9 月t c p i p 协议开始发布时,当时互联网上大约只有1 0 0 0 台主机, 因此在当时i p v 4 所拥有的4 0 亿个地址简直就是天文数字,在分配i p 地址时也 就没必要太保守,从而导致早期的地址分配方案不尽合理,浪费比较严重。到目 前为止,a 类和b 类地址几乎已经用完,只有c 类地址还有余量。据预测,现 有的i p 地址将在2 0 0 5 至2 0 1 2 年左右消耗殆尽,这个问题被称为“网络泰坦尼 克危机”。 现有的互联网是在i p v 4 协议的基础上运行。i p v 6 是下版本的互联网协议, 它的提出最初是因为随着互联网的迅速发展,i p v 4 定义的有限地址空间将被耗 尽,地址空间的不足必将影响互联网的进一步发展;i p v 4 采用3 2 位地址长度, 只有大约4 3 亿个地址,估计在2 0 0 5 2 0 1 0 年间将被分配完毕。i p v 6 重新定义 了地址空间,采用1 2 8 位地址长度,几乎可以不受限制地提供地址。按保守方法 估算i p v 6 实际可分配的地址,整个地球每平方米面积上可分配1 0 0 0 多个地址。 在i p v 6 的设计过程中除了一劳永逸地解决地址短缺问题以外,还考虑了i p v 4 中解决不好的其它问题。i p v 6 的主要优势体现在以下几方面:扩大地址空削、 提高网络的整体吞吐量、改善服务质量( q o s ) 、安全性有更好的保证、支持b f 插 即用和移动性、更好实现多播功能。 显然,i p v 6 的优势能够对上述挑战直接或间接地作出贡献。其中最突出的 是i p v 6 大大地扩大了地址空间,恢复了原来因地址受限而失去的端到端连接功 l p v 6 自动地址配置与邻居发现投术及实现 能,为互联网的普及与深化提供了基本条件。当然,i p v 6 也并非十全十美、一 劳永逸,不可能解决所有问题。i p v 6 只能在发展中不断完善,不可能在一夜之 间发生,过渡需要时间和成本,但从长远看,i p v 6 有利于互联网的持续和长久 发展。 1 2i p v 6 自动地址配置与邻居发现协议的背景与意义 为了简化主机i p 配置机制,i p v 6 支持有状态和无状态两种地址配 置方式。在i p v 4 中,动态宿主机配置协议d h c p 实现了主机i p 地址及 其相关配置的自动设置,i p v 6 承继i p v 4 的这种自动配置服务,并将其 称为无状态自动配置。除了无状态自动配置,i p v 6 还采用了一种被称 为无状态自动配置的自动配置服务。在无状态自动配置过程中,在线 主机自动获得本地路由器的地址前缀以及链路局部地址以及相关配 置。 无状态自动配置是i p v 6 最有吸引力和最有用的新特性之。它允 许本地链路地址上的结点根据路由器在本地链路上公告的信息自动配 置单播i p v 6 地址。 1 3 该技术的发展现状 1 3 1i p v 6 的特点 大的地址空间 1 2 8 b i t 的地址方案,为将来数十年提供了足够的i p 地址。 全球可达性 巨大的地址空间为数十亿新设备,如p i ) a ,蜂窝设备和8 0 2 1 1 系统 等提供了全球统一的i p v 6 地址,使得几乎每种设备都是全球可达的。 编址地址转换 一个较大的地址空间可以在地址空间内使用多层等级结构,如图 卜1 所示。每层都有助于聚合i p 地址空间,增强地址分配功能。提供商 和组织机构可以有层叠的等级机构,管理其所辖范围内空间的分配。 i p v 6 自动地址配置与邻居发现技术及实现 拙 站点 绍织结i 旬 层n 提麟 层一2 嬲 层一l 提蹦 i n t g m e t i 曲目拙机构 1 强例t s 地址5 弘目镀影 嗣 圈1 - 11 2 8 b i t 地址空间使用多等级层玖结构 聚台 较大的i p v 6 地址空问足以给i s p 和组织机构分配大的块地址。给 整个网络以足够大的前缀,能够使他只使用一个前缀而目i s p 可以把 所有的克服前缀路由聚合到一个前缀并发布给ip v 6 网络。路由聚合促 进丁高效的和可扩展的路由选择。 多重地址 使用i p v 6 拥有很大很多的地址空问,能够为一个纽纵同时使用多 个前缀,”个连接到多个is p 的组纵得到这些l s p i p v6 地址空问的部 分前缀,这允许不破坏全球路由选择表而实现多点接入。 自动配最 自动配置是1 p v 6 带来的新功能由于具有较大的地址空间,i p v 6 被设计成能够在保持全球唯一性的同时自动配置( r f c 2 45 2 ) 殳备上的 地址。在本地链路上的i p v 6 路由器发送网络类型信息,如本地链路的 i p v 6 前缀和默认i p v 6 路由。本地链路上的所有i p v 64 - - 机监听这个信 息,然后自己配置它们的i p v 6 地址和默认路由器。自动配置是一种机 制,每个i p v 5 主机和服务器将链路层地址卧e u i6 州均格式附j :| 存j h 公告的全球唯一单榴i p v 6 地址前缀后面。 重新编址 熏新编址是指网络前缀发生更改后,该网络内的主机i p 地址必须 做相应的更改。这对于由于i p v 4 不支持地址自动配置( 有状念晌) ,蚓 i p v 6 自动地址配置与邻居发现技术及实现 一一_-_-_-_-_一 此i p v 4 的重新编址是一件非常麻烦的事情,i p v 6 支持地址的自动编址, 当i p v 6 的地址前缀发生更改后,路由器会重新通告新的前缀给主机以 便主机生成新的i p v 6 地址。 多播使用 i p v 6 中不再采用i p v 4a r p 的广播,而是采用多播代替。通过对不 同的功能使用不同的和特殊多播组,把广播请求发稚到尽可能少的主 机,以尽可能的利用网络,减少网络资源的耗费,防止类似i p v 4 广播j x l 暴。 高效包头 新的i p v 6 包头比i p v 4 数据包头简单。i p v 4 包头的6 个字段在【p v 6 包头中被去掉了。基本的i p v 6 包头长度固定,而i p v 4 包头在使用选项 字段时是可以变长的。较少的i p v 6 字段和固定的长度意味着路由器转 发i p v 6 数据包耗费较少的c p u 周期,这直接有利于网络性能。i p v 6 去 掉了i p v 4 包头具有的校验和字段以提高路由选择效率,同时i p v 6 还 采用了不同于i p v 4 的分段处理方式。 流标签 i p v 6 在包头中包含个新的标签字段,结点可以使用这个特殊字 段来请求对一定的包序列进行特殊处理。流标签字段主要在端点站处 理而不是路由器。 扩展包头 在i p v 4 数据包中选项字段( r f c 7 9 1 ) 可能出现在包头的尾部。如果 i p v 4 包头带选项字段是变长的,路径上的所有路由器必须计算包中这 个可变字段的长度,即使选项字段只被主机使用。i p v 6 使用新的方式管 理包头中的可选信息一扩展包头,而非在包头的尾部采用变长选项字 段。扩展包头有包头中称为下一个包头的字段连接而形成一个包头链。 在使用的i p v 6 的每个扩展包头中都有下一个包头字段,不同的i p v 6 应用需要定义许多类型的扩展包头。 移动性 i p v 6 内置移动性,而不像i p v 4 那样作为其附加功能。 安全性 t p v 6 的每种实现中都包括i p s e c ,使得i p v 6i n t e r n e t 是潜在的端 i p v 6 自动地址配置与邻居发现技术及实现 到端的安全性( r f c 2 5 2 7 ) 。 过渡 i p v 4 所组成的网络到i p v 6 的过渡是新协议的另外一个基础部分。 i p v 6 提供多种i p v 4 到i p v 6 的过渡机制: i p v 4 网络上的双栈、n a t p t 、隧道技术等。 1 3 2i p v 6 的发展现状 由i p 地址危机产生和发展起来的i p v 6 作为下一代互联网协议已 经得到了各方的公认,未来互联网的发展离不开i p v 6 的支持和应用; 甚至被认为是后起发展网络国家追赶“发达”国家的一个良好机遇。 正因为如此,目前各方面都在加紧对i p v 6 的研究和应用开发。但是 i p v 6 的发展主要需要政府和厂商两方面的支持。 1 政府支持 许多国家对i p v 6 技术都已经引起足够的重视,并且都采取了一“! 切实可行的措施,尤其是一些欧洲国家。作为互联网络的发源地,美 国也在积极地进行i p v 6 的研究和建设。中国对于i p v 6 技术的态度是 “积极跟踪、把握机遇、稳妥推进”,并且在部分地区实行了网上实 验。中国政府密切关注着i p v 6 的发展,目前中国高校和科研机构已经 与国外一些运营商合作,对i p v 6 进行研究实验。但是该协议在中国的 大规模应用还要有一段时间。 2 ,厂商支持 i p v 6 作为下一代互联网协议已经引起了各地区、各运营商的足够 重视,因为所有的人都已经认识到这样一种前景:谁能够率先在i p v 6 方面有所作为,谁就能够在未来的竞争中占住有利位置。在众多的设 备提供商和运营商的努力下,i p v 6 协议已经从实验室走向了应用阶段。 已有5 0 多个国家和地区加入有关i p v 6 的研究。法、日、美等国的研 究机构,i b m 、s u n 、日立等公司,分别研制开发了不同平台上的i p v 6 系统软件和应用软件:美国思科、加拿大北电网络、n o k i a 等路由器厂 商已经开发出了面向i p v 6 网络的路由器产品。操作系统方面,基于丌 放源码的l ib u x 对i p v 6 提供了比较强的支持,s u n 、i b m 、惠普和微软 的最新操作系统都提供了1 p v 6 支持。 l p v 6 自动地址配置与邻居发现技术及实现 因此,从整体上来讲,i p v 6 的技术已经成熟,标准也基本完普, 一些网络基础设施和核心设备都己陆续开始支持其使用,但是在具体 实施的问题上,由于经济利益上的关系,在目前还没有普遍推广,而 是处于与i p v 4 相互并存和过渡的阶段。 1 4 本课题的目标和内容 本文主要阐述了i p v 6 邻居发现协议以及i p v 6 地址自动配置原理, 同时对邻居发现协议及地址自动配嚣的具体实现做了阐述;最后论文 还特别阐述了本课题在实际运用中的一些创新之处。 具体的原理分析和协议阐述见二、三章;具体的设计实现技术见 四、五章节:本课题的创新点主要集中在第五章的5 ,4 、5 5 节阐述。 一! ! 堑旦垫垫塾望墼兰型生垄里垫查墨塞塑 第二章ip v 6 地址结构模型 2 1ip v 6 地址前缀 i p v 6 地址前缀与i p v 4 中的c i d r 相似,并写入c i d r 表示法中。ip v 6 地址前缀表示为: i p v 6 a d d r e s s p r e f i x l e n g t h其中, “i p v 6 一a d d r e s s ”是用上面任意一种表示法表示的i p v 6 地址, “p r e f i x l e n g t h ”是一个十进制值,表示前缀由多少个最左侧相邻位 构成。例如: f e c o :0 :0 :1 :12 3 4 6 4 。 地址的前6 4 位“f e c o :0 :0 :l ”构成了地址的前缀。在i p v 6 地址 中,地址前缀用于表示i p v 6 地址中有多少位表示子网。 2 2lp v 6 地址类型 i p v 6 地址是独立接口的标识符,所有的i p v 6 地址都被分配到接口 而非节点。由于每个接口都属于某个特定节点,因此节点的任意一个 接口地址都可用来标识一个节点。i p v 6 有三种类型地址: 在r f c 2 3 7 3 中指定了几种i p v 6 类型的寻址方案( i p v 6 寻址结构) 。 r f c 2 3 7 3 为i p v 6 定义了多种地址格式,i p v 6 地址大致分为以下几类, 如表2 一l 和图2 1 所示: 单播单一接口的地址;发送到单 衙地址的数据包被送到由该地址 标识的接口。 任意播一组接口的地址;大多数情况下,这些接口属于不同的节点。 发送到任意播送地址的数据包被送到由该地址标识的其中一 个接口。由于使用任意播送地址的标准尚在不断完善中,所 以目前我们目前暂时不支持任意播送。 多播一组接口的地址( 通常分属不同节点) 。发送到多播地址的数 据包被送到由该地址标识的每个接口。 i p v 6 自动地址配置与邻居发现技术及实现 i p v 6 寻址结构中的地址类型 表2 1i p v 6 地址分类 多播 l 单播 ll任意播 分配的地址li 被请求节点地址1 _ j 1 - - 一 f f 0 0 :8f f 0 2 :1 :f f 0 0 :0 0 0 0 1 0 4 i 本地链路地址 f e 8 0 :1 0 可聚台全球地址 2 0 0 1 :1 6 2 0 0 2 :1 6 3 f f e :1 6 本地站点地址 f e c o :1 0 来指定地址 和环回地址 :1 2 8 :1 1 2 8 本地链路i ! f e 8 0 :1 0 1 1 1 兰! 皇竺! ! |l 兰窒! ! :! 兰兰j f e c o :1 0 0 :0 :0 :0 :0 :0 :9 6 图2 1i p v 6 地址类型 与i p v 4 不同,在i p v 6 中没有广播地址,因为这一功能已被多播 功能代替。 2 2 1 本地链路地址 本地链路地址是受限单播地址。一个节点启动i p v 6 协议栈,启动 时节点的每一个接1 3 自动配置一个本地链路地址。本地链路地址只用 于本地链路范围,不能在任何子网间路由。本地链路地址以f e 8 0 :l 0 为前缀,如图2 2 所示: 图2 - 2 本地链路地址结构 2 2 2 本地站点地址 本地链路地址是另一种受限单播地址。仅在一个站点内使用,本 地站点地址不能象本地链路地址一样默认被使用,而是必须被指定。 耋| 筹蒜一 喾1 裟m 鸵 i p v 6 自动地址配置与邻居发现技术及实现 本地链路地址与r f c l 9 18 “私有i n t e r n e t 地址分配”所定义的i p v 4 私有地址类似,如;l o 0 0 0 8 ,1 7 2 0 0 0 1 6 ,1 9 2 16 8 0 0 2 4 。本地链路 地址不能在全球i p v 6 网络上路由。 本地站点地址由前缀f e c 0 :1 0 ,5 4 b i t s 子网标识和用作低6 4 比特 e u i 一6 4 格式的接口标识符所组成,如图2 - 3 所示: 2 2 3 可聚合全球单播地址 图2 - 3 本地链路地址结构 可聚合全球单播地址与i p v 4 中用于通信的地址类似。可聚合全球 单播地址是i p v 6 网络最常用数据流量的i p v 6 地址:可聚合全球单播 地址使用严格的路由前缀聚合以限制全球因特网路由选择表的大小。 前缀为:2 0 0 1 :0 4 1 0 :0 1 1 0 :0 0 0 2 :6 4 日 聚合全球单播地址 i提供商站点接口标识 i 一。卧。一r 一6 4 8 。惦一 !卜1 6 b n 8 1: 图2 - 4 可聚台全球单捅地址a j 结构 可聚合全球单播地址的结构如图2 - 4 所示: 提供商:从提供商接收到的前缀,至少4 8 。 站点:利用提供商分配给组织机构的一个4 8 前缀,该组织机构 就可能将网络分为多达6 5 5 3 5 个子网。组织机构能够使用所收到的前 缀的4 9 6 4 b i t 来划分子网。 接口标识:主机部分使用的每个节点的接口标识符。 i p v 6 自动地址配置与邻居发现技术及实现 2 2 4 多播地址 个多播源发送的单个数据包可以到达多个目的地。多播地址i j “ 缀为:f f 0 0 :8 。在i p v 6 网络中,本地链路上的所有i p v 6 节点通过 监听多播就能够知道所有的邻居节点和邻居路由器,这与i p v 4 有极大 的差别。 多播地址。;范,围 含义描述 f f 0 r :1 i 节,篱曩蠢| 所有节点在本地接口范围的所有节点 f f , o :搿2 j 囊,辫瓣戮j ,:囊蠹 ,转孑毳熙审影辫二j 磐枣弛壤目范围的所有路由器 鳘鳓蓊黪誉鬻辫蕊誊疆瓣镬鬻囊 掰篝煮鬻。i j 囊b ? k i j 牲攀地链路范嘲的所有节点 叠稻嚣2 - 瑟蒸 i 幂蜒磷麟溪攀 所有路由器:在本地链路范围的所有跆由器 ! 赫谣:2 、j _ 妻 ! 麟攀霪 所毒路。由,琴曩誓 在一个站点范同内的所有路由 。- 量j 毫。菇 ? ,_ 豢鬻粼 ;穗 i 翳;嚣l 蔫l i辑“。舞誊一i j s 。l 箍:;。 图2 - 5 保留多播地址举例 1 ) 被请求节点多播地址 i p v 6 对于节点或者路由器的接口上配置的每个单播或任意播地址 都自动启用一个对应的被请求节点多播地址。被请求节点多播地址受 限于本地链路地址,其结构如图2 6 所示: 2 0 0 1 = = 4 5 f f 对应的多。 一一6 4 b i t s i i 卜:一一一b 珥bs l 单播或任摄 j j : 一2 4 b i t s - i l 一10 4 b i t s 制 图2 - 6 被请求节点多捅地址 用途: 代替i p v 4 中的a r p ; 重复地址检测( d a d ) ; 2 ) 以太网之上的多播映射 一1 0 一 一一一一一一 ! ! 堑旦垫些些翌篁皇塑壁垄翌垫查墨塞堡 i p v 6 有一个多播地址到以太链路层地址( m a c ) 的特殊映射。其 构造如如图2 - 7 所示: 眦:0 1 的蝌 k 一锄。一 l 昂眩0 0 0 d0 0 。o0 d 0 0 0 0 。00 0 0 d0 0 。0 0 0 1 2 2 5 任播地址 h 一一一q 8 b i t s 一 图2 7 以太网多播映射 主要用于移动i p v 6 中发现距离主机最近的节点。 2 2 6 环回地址 :l 12 8 2 2 7 未指定地址 :1 2 8 2 2 8 内嵌i p v 4 的i p v 6 地址 【x xxxxxdddd il ijjj l 1 6 b i t ll 8 b i t l l 0 0 0 0 l1 0 0 l f 黑l 嚣f llli 图2 8 内嵌i p v 4 的i p v 6 地址 两种i p v 6 地址内嵌有i p v 4 地址 i p v 6 自动地址配置与邻居发现技术及实现 与i p v 4 兼容的i p v 6 地址: 用于在i p v 4 网络上建立隧道以传输i p v 6 数据包。用于 i p v 6 n a t - p t 。例如:0 :0 :0 :0 :0 :0 :1 1 1 ,1 。 映射i p v 4 的i p v 6 地址: 仅用于拥有i p v 6 和i p v 4 双协议栈节点的本地范围。节点仅在 内部使用该类地址,节点外部永远不会知道这些地址,不应作为 i p v 6 地址出现在线路上。例如:0 :0 :0 :0 :0 :f f f f :1 1 1 1 。 l p v 6 自动地址配置与奄【f 居发现技术及实现 第三章邻居发现协议( n d p ) 如r f c 2 4 6 l “i p v 6 的邻居发现”中所定义,邻居发现协议( n d ) 是i p v 6 的个关键协议。而且邻居发现协议定义了一个伞型结构如图 3 1 所示,定义了这些机制: 图3 一】n d 协议包括内容 替代i p v 4 的a r p 因为a r p 在i p v 6 中被去掉了,所以i p v 6 提供了一种新的确定本 地链路上结点链路层地址的方法。这个机制混合使用i c m p 6 消息和多 播地址。 无状态自动配置 这个机制允许本地链路上的节点混合使用i c m p 6 消息和多播地 址,主机自己自动地配置i p v 6 地址。 路由重定向 路由器向一个i p v 6 节点发送i c m p 6 消息,通知它在相同的本地 地址链路上存在一个更好的达到目的网络的路由器地址。 i p v 6 自动地址配置与邻居发现技术及实现 3 1 邻居发现协议与lp v 4 地址解析协议的区别 i p v 6 不再执行地址解析协议( a r p ) 或反向地址解析协议( r a r p ) , 而以邻居发现协议中的相应功能代替。i p v 6 邻居发现协议与i p v 4 地址 解析协议主要区别如下: i p v 4 中地址解析协议a r p 是独立的协议,负责i p 地址到链路 层地址的转换,对不同的链路层协议要定义不同的a r p 协议。i p v 6 中 邻居发现协议n d p 包含了a r p 的功能,且运行于因特网控制报文协议 ( i c m p v 6 ) 上,更具有一般性,包括更多的内容,而且适用于各种链路 层协议。 a r p 协议以及i c m p v 4 路由器发现和i c m p v 4 重定向报文基于广 播,而n d p 协议的邻居发现报文基于高效的组播和单播。 可达性检测是用于确认相应i p 地址代表的主机或路由器是否还 能收发报文,i p v 4 没有统一的解决方案。n d p 中定义了可达性检测过 程,保证i p 报文不会发送给”黑洞”。 3 2 邻居发现与邻居通告 3 2 1 n d 的功能描述 n d ( 邻居发现) 处在i p v 6 协议栈的i p 层,使用i c m p v 6 封装格式 承载n d 报文。它相当于i p v 4 中的a r p 、路由器发现( r d i s c ) 、报文重 定向的功能,它把这三个模块统一在一个层面上,形成了一个完备的 协议。另外它还实现了地址自动配置和地址冲突检测的功能。在i p v 6 协议栈中,n d 是一个比较完整和独立的协议模块。 下面是r f c 2 4 6 1 和r f c 2 4 6 2 对n d 的功能描述: r o u t e r d is c o v e r y :主机如何定位在同一链路上的路由器。 p r e f i x d is c o v e r y :主机如何发现在同一链路上的o d l in k 地 址前缀。 p a r a m e t e r d is c o v e r y :节点如何获得链路参数值( 如m t u 、 h o p l i m i t 等) 。 s t a t e l e ss a d d r 8 s s a u t o c o n f i g u r a t i o n :节点接口i p 地址的自 i p v 6 自动地址配置与邻居发现技术及实现 动配置。 a d d r e s s r e s 0 1 u t i o d :给出i p 目的地址如何获知0 n l i n k 目 的地的链路层地址。替代了a r p 和r a r p ,帮助节点从目的i p 地址中确定本地节点( 即邻居) 的链路层地址。 n e x t h o p d e t e r m i n a t i o n :找到下一跳目的地址的算法。可用 于确定包的下一个目的地,即可确定包的目的地是否在本地链 路上。如果在本地链路,下一跳就是目的地;否则,包需要选 路,下一跳就是路由器,邻居发现可用于确定应使用的路由器。 n e i g h b o r u n r e a c h a b i l i t y d e t e c t i o r :节点检测邻居是否依然 存在。帮助节点确定邻居( 目的节点或路由器) 是否可达。 d u p l ic a t e a d d r e ss d e t e c t i o n :地址冲突检测,节点如何知道 使用的地址没有被其他节点使用。 r e d i r e c t :报文重定向,路由器通告主机有更佳路径的下一跳。 有时节点选择的转发路由器对于待转发的包而占并非路径最 佳。这种情况下,该转发路由器可以对节点进行重定向,使它 将包发送给更佳的路由器。例如,节点将发往i n t e r n e t 的包 发送给为节点所在的内部网服务的默认路由器,该内部网路由 器可以对节点进行重定向,以使其将包发送给连接在唰一本地 链路上的路径更佳i n t e r n e t 路由器。 3 2 2i c m p v 6 ( r f c 2 4 6 3 ) 简介 对应的i p v 6n e x t h e a d e r 字段的值为5 8 ,注意该值与ip v 4 中表示 i c m p 的值不同。本文档只定义n d 相关的消息格式,不描述使用过程; 使用方式在文档下面章节进行说明。 该协议用于: 报告在报文处理过程中遇到错误。 执行例如故障诊断等网络层的其他功能。 该协议是i p v 6 的一个组成部分,必须被各节点完全实现。 i c m p v 6 消息的一般格式如下: i p v 6 自动地址配置与邻居发现技术及实现 匕豢麓誊燮鬻黎辫_ i 梳s s 巍e b 。d vi 图3 - 2i c m p v 6 包格式 注意: c h e c k s u m 校验和用于检测i c m p v 6 头和部分i p v 6 头的数据( 即 i c m p v 6 相关的伪头,和t c p 、u d p 类似,但是i p v 4 中对于i c m p 没有要 求类似的伪头的校验) 。 报文有两种消息:差错消息和信息消息。 1 ) 差错消息的m e ss a g e t y p e 范围:0 1 2 7 。已定义差错消息如下: 目的地址不可达;报文太长;超时;参数错误; 2 ) 信息消息的m e s s a g e t y p e 见表3 - i : $ 露藩露瀚i c m p v 6 消息:爨型、j 鐾籀 攀豫攀! 鬻譬譬消息名称 鬻蠢震譬邕稍莒黉瑟簇蘸嚣:i j 鬻 誊:1 蘸幽劳求孙r s ) 辫糕戮臻鬻瓣羹豁辫轰灞 i i 甍。j 潞、由通告期 1, 麟戳i 鬻粪餮鬻麟i 莲1 j 麓誊蘸遴瞄l 疆壤i 0 n s 誊) 一 辫攀鹾翼! 曼曼麟黼黪赛黎熬爹囊夔魄辫;_ 1 ( n 幻 爹箨弱嚣鬻漆黪_ j j 一“一i。萌苗萱定向+ 表3 1 实现n d 机制使用的i c m p v 6 消息 3 2 3 邻居发现与邻居通告替代a r p 在i p v 4 中本地链路结点用a r p 来确定其它结点的链路层地址;每 个结点都维护一个独自的a r p 缓存,缓存中包含a r p 熟悉的结点链路 层地址。在i p v 6 中对结点链路层地址的确定采用邻居请求消息( i c m p 13 5 ) ,邻居通告消息( i c m p 13 6 ) 和被请求结点多播地址 ( f f 0 2 :1 :f f x x :x x x x ) 的组合。 在i p v 6 中使用n d 比i p v 4 的a r p 的效率高很多: 在i p v 6 中,只有关一t l , 这个机制的邻居结点爿。会在他们的协议 栈中处理邻居请求和邻居公告消息。在i p v 4 中,a r p 广播消息 用来发现一个结点的链路层地址,但是a r p 的广播发送迫使本 地链路上所有结点都接收a r p 广播消息并发送给其i p v 4 仂、议 i p v 6 自动地址配置与邻居发现技术及实现 栈处理,这极大的影响了系统效率。 在i p v 6 中结点在相同的请求中互相交换链路层地址。在i p v 4 中需要两个a r p 广播消息才能得到相同的效果。 在i p v 6 中邻居表项过期后,i p v 6 要验证邻居缓存中的i p v 6 地 址和链路层地址的可达性。在i p v 4 中的a r p 中,表项过期后 直接被删除。 发现本地链路上结点的链路层地址的原理如下图3 3 一寻 链路层地址 图3 3 发现本地链路上结点的链路层地自r 步骤1 : 使用f e c 0 :1 :0 :0 :1 :a 的结点a 要传送数据包到相同本地链路上 的使用的i p v 6 地址f e c 0 :1 :0 :0 :1 :b 的目的结点b 。然后结点a 不知 道结点b d e 链路层地址。结点a 发送类型为】3 5 的i c m p v 6 消息( 邻居 请求) 到本地链路,他的本地站点地址f e c 0 :1 :0 :0 :1 :a 作为 _ p v 6 的 源地址,与 f e c 0 :1 :0 :0 :1 :b 对应的请求结点多播地址 f f 0 2 :l :f f 0 1 :b 作为目的地址,发送结点a 的源链路层地址 o o :5 0 :3 e :e 4 :4 c :0 0 作为i c m p v 6 消息的数据a 这个帧的源链路地址是结点a 的链路层地址0 0 :5 0 :3 e :e 4 :4 c :0 0 。 这个帧的且的链路层地址3 3 :3 3 :f f :0 1 :0 0 :0 b 是i p v 6 目的地址 i p v 6 自动地址配置与邻居发现技术及实现 f f 0 2 :1 :f f o l :b 的多播映射。 步骤2 : 侦听本地链路上多播地址的结点b 获取这个邻居请求消息,应为 目的i p v 6 地址f f 0 2 :1 :f f 0 1 :b 代表它的i p v 6 地址f e c o :1 :0 :0 :1 :b 相对应的被请求结点多播地址。 步骤3 : 结点b 发送个邻居通告消息应答,用它的本地站点地址 f e c o :1 :0 :0 :1 :b 作为i p v 6 源地址,本地站点地址f e c o :1 :0 :0 :1 :a 作为目的i p v 6 地址。它还在i c m p v 6 消息中包括了它的链路层地址 0 0 :5 0 :3 e :e 4 :4 b :0 1 。 在接收到邻居请求和邻居通告消息后,结点a 和结点b 相互知道 了对方的链路层地址。获取到的链路层地址被保存在邻居缓存中。邻 居请求消息也可以用于验证邻居发现表( 邻居缓存) 中邻居结点的可 达性。但是

温馨提示

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

评论

0/150

提交评论