




已阅读5页,还剩57页未读, 继续免费阅读
(计算机应用技术专业论文)ipv6在小设备中的实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学位论文独创性声明 本人所导交的学位论文是我在导师的指导f 进行的研究j :作及取得的研究成果。据我所 知,除文中已经注明引用的内容外,本论文不包含其他个人已经发表或撰写过的研究成果。 对本论文的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示感谢。 作者签名:j 丛蕉垒。日期:! 篁:i : 学位论文使用授权声明 本人完全了解华东师范大学有关保留和使用学位论文的规定,学校有权保留学位论文并 向国家主管部i 1 或其指定机构送交论文的电子版和纸质版。有权将学位论文用于1 f 赢利目的 的少量复制并允许论文进入学校图 5 馆被查阅。有权将学位论文的内容编入有关数据库进行 检索。有权将学位论文的标题和摘要汇编出版。保密的学位论文在解密后适用本规定。 学位论文作者签名:邀导师签名:至垩盼 1 2 1 期:坦生: 罗日期:2 区咝:t 砌 华东师范大学硕士学位论文 摘要 摘要 i p v 6 协议,作为下一代的因特网协议,已经有了广泛的应用前景。尤其在未来的家庭 网络及各类网络小设备中,i p v 6 在端对端通讯、安全性等多方面比i p v 4 更具有优势。但目 前而言,多数对i p v 6 协议饯的实现部属于商业化产品,而公开源代码的实现又大多是面向 p c 主机并非面向网络小设备,这影响了在网络小设备中使用i p v 6 协议的进一步研究。本文 所做的工作就是基于网络小设备平台,设计并实现i p v 6 及其相关协议,并向上层应用提供 一个简单易用的编程接口。 本文采用了基于a r m 7 t d m ic p u 为核心的开发平台,并根据小设备的特点对i p v 6 协 议栈进行了裁剪并加以实现。整个协议技采用i p v 6 i p v 4 混合栈的框架,实现了i p v 6 协议, 邻居发现协议和i c m p v 6 协议。并在此基础上移植了l w l p 协议栈中的t c p 协议和u d p 协 议。另外,还实现了与该l p v 6 协议栈相关的编程接口s m a l ls o c k e t 。该接口与标准的套 接字接口相兼容,并针对i p v 6 协议对编程接口进行了扩展。 为了对已实现的i p v 6 协议栈及编程接口进行测试,本文使用s m a l ls o c k e t 接口编写了 一个运行于i p v 6 协议栈之上的w e b 服务器,并搭建了一个简单的i p v 6 试验阿,对协议栈 及w e b 服务器进行测试。最后,对所做工作作了总结并展望了将来有待于完善和改进的方 面。 关键字:i p v 6 ,小设各,混台栈 i v 华东师范大学硕士学位论文 a b s t r a c t a b s t r a c t i p v 6 ,t h en e wi n t e m e tp r o t o c o l ,h a saw i d ea p p l i c a t i o np e r s p e c t i v ei nt h en e a rf u t u r e p a r t i c u l a r l yi n t h ea p p l i c a t i o no fh o m en e t w o r ka n ds m a l ln e t w o r kd e v i c e ,i p v 6h a sm o r e a d v a n t a g e st h a ni p v 4d o e si nt h ea s p e c t so f p 2 pc o m m u n i c a t i o n ,s e c u r i t ya n ds oo l lb u ta tp r e s e n t , m o s ti p v 6i m p l e m e n t a t i o n sa r ec o m m e r c i a le m b e d d e ds t a c kp r o d u c t sw h o s es o u r c ea r es t r i c t l y p r o t e c t e do ro p e ns o i l r c eo n e sw h i c ha r ed e s i g n e do n l yf o rp cp l a t f o r m ,t h el a c ko fo p e ns o u r c e e m b e d d e di p v 6s t a c kh a sb e c o m eab a r r i e rt of u r t h e rr e s e a r c ho ni t t h i sp a p e ri sd e d i c a t e dt o d e s i g na n di m p l e m e n ta ni p v 6s t a c ko ns m a l ld e v i c ep l a t f o r m ,a n da l s ot op r o v i d ea l le a s y - u s ea p i f o ru p p e rl a y e r t h i sp a p e rd e v e l o p sat a i l o r e d ,e m b e d d e di p v 6s t a c ko na l la r m 7 t d m ic p up l a t f o r m i t i m p l e m e n t sa l li p v 6 i p v 4h y b r i ds t a c ki n c l u d i n gt h ef u n c t i o n so fi p v 4 ,i p v 6 ,n e i b o u rd i s c o v e r y a n di c m p v 6 ,p o r t st c pa n du d po fl w l po v e ri pl a y e r b a s e do nt h es t a c k ,t h i sp a p e r i m p l e m e n t sap r o g r a m m i n gi n t e r f a c ef o rt h eu s e r , w h i c hi sc a l l e d “s m a l ls o c k e t ”t h i si n t e r f a c ei s c o m p a t i b l et os o c k e t ss t a n d a r d ,a n di se x t e n d e df o ri p v 6s u p p o r t t ot e s tt h ew h o l es t a c ka n dp r o g r a m m i n gi n t e r f a c e ,t h i sp a p e ri m p l e m e n t sas i m p l ew e b s e r v e ru s i n gs m a l ls o c k e ta n dc o n s t r u c t sa ni p v 6 i p v 4n e t w o r k f i n a l l y , as u m u pa n dp r o b l e m s e x p e c t e dt ob es o l v e da r eg i v e n k e y w o r 凼:v 6 ,s m a l ld e v i c e ,h y b r i ds t a c k v 华东帅范大学硕士学位论文 绪论 第1 章绪论 1 1 小设备中实现i p v 6 协议栈的目的和意义 i p v 6 1 是“因特网互联协议第六版( i n t e r n e tp r o t o c o lv e r s i o ns i x ) ”的缩写。i e t f 在1 9 9 8 年底制定了i p v 6 的草案,旨在取代使用了2 0 多年的因特网互联协议第四版( i p v 4 ) 2 。 在过去的2 0 多年里,以i p v 4 为核心的互联网技术得到迅速的发展,但随着网络规模的 扩大和上网人数的增多,随之而来的问题也越来越引起了世界范围内广泛的关注。其中比较 显著的问题是i p 地址资源的匮乏而这正是所有新加入因特网的计算机以及其他网络数字 化设备所迫切需要的。与i p v 4 的3 2 位地址不同,i p v 6 采用长度为1 2 8 位的地址,地址空 间几乎可以视为无限。另外,在i p v 6 的设计过程中不仅地址短缺问题得到了完全的解决, 同时还兼顾考虑了在i p v 4 中解决不好的其它问题,如端到端i p 连接、服务质量、安全性、 组播、移动性等。 国际的i p v 6 试验网- - - - 6 b o n e 在1 9 9 6 年成立。到目前为止,6 b o n e 已经扩展到全球5 0 多个 国家和地区,成为i p v 6 研究者、开发者和实践者的主要平台。我国的教育和科研计算机网 ( c e r n e t ) 国家网络中心于1 9 9 8 年6 月加入6 b o n e ,同年1 1 月成为其骨干网成员。目前, c e r n e t 建立了“i p v 6 试验床( i p v 6 t e s t b e d ) ”,作为i p v 6 的试验网络。国内建设得比较完 善的i p v 6 试验网包括:中国教育网i p v 6 试验床、中国科技大学i p v 6 示范网、北京邮电大 学i p v 6 试验床等。 最近,我国已经开始着手构筑i p v 6 商用网。中国信息产业部在2 0 0 3 年1 1 月底到1 2 月召开的“第2 次中国互联网大会”上宣布,将着手实施名为“中国下一代互联网示范工程 ( c n g i :c h i n a n e x tg e n e r a t i o ni n t e r n e t ) ”的新一代互联网计划。按计划,中国将在2 0 0 5 年底以前投资1 4 亿元构筑连接中国各主要城市的i p v 6 商用骨干网。2 0 0 0 年正式开始i p v 6 商用服务,届时将形成全球最大规模的i p v 6 商用网。 在国外,2 0 0 1 年3 月日本在e - j a p a r t 重点计划中,已经确定在2 0 0 5 年完成互联网 向i p v 6 的过渡。在欧洲欧理会i p v 6 特派组也确定了其工作目标:2 0 0 3 年推出i p v 6 服务, 在2 0 0 0 年5 月份在3 g p p 的基本协议中采用i p v 6 。 随着因特网的不断发展,各种小设各的网络化也正在形成世界性潮流。数字电视将可与 互联网等通信网络连接,其他家电产品也纷纷进入数字化网络化行列,如数码相机、数码光 盘录像机、能上网的冰箱等等。而绝大部分的这些网络化小设备目前还只采用i p v 4 协议栈。 这极大的妨碍了这些小设备在未来因特网中的应用。所以在小设备中实现i p v 6 协议栈是具 有比较大的意义。 华东师范大学硕士学位论文 1 2 国内外研究情况 目前,国外已经有不少面向小设备的i p v 6 协议栈产品。例如m a x i m 公司已经开发出了 应用于小设备的i p v 6 协议栈商业化产品。该产品实现了i p v 6 i p v 4 双栈并向应用层提供 了一个j a v a 运行环境t i n i 接口。而i n t e r n i c h e 所实现用于小设备的协议栈套件,不仅包 括了基本的i p v 6 i p v 4 协议,甚至还包括i p s e c 协议及动态配置密钥的i k e 协议。 在国内也有多家企业正致力于推动i p v 6 应用的发展。2 0 0 3 年6 月,b i i 公司( 天地互 连信息技术有限公司) 建立了国内首家i p v 6 应用演示中心,展现i p v 6 应用的最新成果。该 中心通过高速数据专线,连接美国、日本、韩国、欧洲等国家的i p v 6 实验网。该中心将陆 续引入各种支持i p v 6 的小设备,例如:支持i p v 6 的工业探头感应器、支持i p v 6 的电冰箱、 电视机、微波炉、电灯、网络游戏机以及支持i p v 6 的家庭网络智能控制系统。 尽管i p v 6 在各种小设备中已经有了多种的应用,但是目前公开源代码的面向小设备的 i p v 6 实现还很少。本课题就是立足于这样的出发点根据小设备特性实现i p v 6 的协议栈 及相关接口。 1 3 研究工作及内容 本文的研究目标是i p v 6 协议栈在小设备中的实现。其主要的研究内容包括: 针对小设备的特性,对i p v 6 协议( 包括与之相关的邻居发现协议 1 1 和i c 3 1 p v 6 协议 1 9 ) 进行裁剪并加以实现: 向上层应用提供简单易用的a p i 接口,使上层应用能够方便使用i p v 6 协议栈。 2 华东师范大学硕士学位论文 i p v 6 协议原理 2 1i p v 6 协议概述 第2 章i p v 6 协议原理 i p v 6 协议 1 由i e t f 制定,在扩大i p 地址空间的同时也针对i p v 4 协议的一些固有缺 点做了改进,并且在服务质量、安全性和移动性等多方面也增加了很多新的特性。 2 1 1i p v 4 协议的限制 i p v 4 协议 2 自1 9 8 1 年制定以来,被普遍认为有较强的健壮性和互操作性,也比较容 易实现,所以一直都没有做本质性的修改。但随着因特网的发展,i p v 4 也慢慢暴露出不足, 这主要体现在以下几个方面: i p 地址空间的匮乏:i p v 4 地址采用4 个字节,理论上应该有4 ,2 9 4 ,9 6 7 ,2 9 6 个地址可供 分配。但是现在的i p 地址分配策略并不合理,美国占有了大部分的i p v 4 地址,导致其他国 家无i p 地址可用。另外,因为因特网的迅猛发展,加入因特网的计算机及其他数字设备越 来越多,使得可用的i p 地址更加稀少。面对这种情况,现在普遍使用一种网络地址转换技 术n a t 3 来复用比较少的公网i p 地址。但使用这样的技术也会带来新的问题,例如降 低了网络的连通性,转换网关容易成为数据传输的瓶颈。n a t 技术无法从根本上解决i p 地 址空间不足的问题。 越来越庞大的路由表:由于历史的原因,i p v 4 地址的层次结构缺乏统一的分配和管理, 并且多数i p 地址空间的结构只有两层或者三层,这导致主干路由器中存在大量的路由表项。 庞大的路由表增加了路由查找和存储的开销成为目前影响提高因特网效率的一个瓶颈。 复杂的地址配置:i p v 4 的地址配置以及其他相关网络参数的配置需要人为的设定或者使 用有状态的主机配置协议,例如d h c p 4 。这使得接入因特网的数字设备在实现上更为复杂, 无法真正做到即插即用。 缺乏q o s 5 的支持:尽管在i p v 4 头部有类似的q o s 字段t o s 字段,但现在因特网 上的大部分路由器对该字段的支持相当有限。而i p v 4 中也没有很好的标识用于区分实时传 输的数据流。这种种因素导致i p v 4 无法对q o s 进行很好的支持。 安全性问题:i p v 4 没有太多安全性方面的考虑,所有的数据都以明文的形式传输,没有 加密,也没有验证。这使得许多需要有安全保障的应用不得不在传输层,甚至在应用层上来 确保传输数据的安全性,增加了上层应用的复杂性。 华东师范大学硕士学位论文 i p v 6 协议原理 2 1 2i p v 6 协议的新特点 针对i p v 4 协议在实际应用中的种种不足,i p v 6 协议做了以下改进: 巨大的地址空间:i p v 6 的地址长度是1 2 8 位,也就是说约有3 4 1 0 ”个地址,这一地址 空间几乎可以说是无限的。在i p v 6 地址空间中可以允许设计多层次的网络地址分配策略, 便于网络地址的管理和聚集。由于不再需要n a t 技术来做地址转换,这就方便了端到端的通 讯,提高了网络连通性。 较小的路由表:因为i p v 6 采用分级的、可聚集的地址管理模式,使得核心路由器只需要 维护比较小的路由表就可以完成原来的转发任务,这样提高了路由表的查找时间,降低了存 储空间,从而提高了效率。 即插即用的配置:i p v 6 不仅支持有状态的地址配置方式,也支持无状态的自动地址配置 方式 1 8 。在这种配置过程中,主机将自动获得本网的网络前缀,默认网关地址以及其他网 络参数,并根据这些参数自动生成可用的本机i p 地址,而无需手工配置。 - q o s 的支持:i p v 6 报文头部定义了数据流标签字段和业务流优先级宇段。分别适用于目前 两种主流的q o s 服务模型综合业务模型( i n t s e r v ) 6 和区分业务模型( d i f f s e r v ) 7 。 因为这些字段存在于i p v 6 的头部,所以即使报文已经加密也能得到很好的q o s 的支持。 内建的安全性:i p v 6 规定了i p s e c 8 来保证信息在传输中的安全性。其中包括两种扩展 头部认证头 9 和封装安全载荷 1 0 。i p s e c 支持数据完整性检查,数据正确性验证, 数据加密等多种安全特性,并提供传输模式和隧道模式的数据传输。 此外,i p v 6 提供了一些其他的新特性。例如:i p v 6 采用邻居发现协议 1 1 取代原来的 a r p 协议 1 2 ,采用扩展头部取代i p v 4 的选项字段,并且引入了一类新的寻址模型任 播 1 。 2 1 3i p v 6 协议和i p v 4 协议的简单比较 图2 1 简单总结了i p v 4 协议和i p v 6 协议的特性。 i p v 4 协议i p v 6 协议 i p 地址采用3 2 位。i p 地址采用1 2 8 位。 必须手工配置i p 地址或者采用有状支持无状态的地址配置方法。 态的主机配置协议。 i p 地址 采用a r p 协议解析链路层的地址。采用邻居发现协议解析链路层的 地址。 可以使用广播地址进行全网广播。 广播地址不被支持,取而代之的 是组播地址。 华东师范大学硕士学位论文i p v 6 协议原理 i p 头部包含校验和。i p 头部不包括校验和,由上层协 议负责数据的校验。 i p 头部 i p 头部中包含选项。采用扩展头部替代选项。 i p 分片由主机或者路由器完成。i p 分片全部由主机完成。 使用i g m p 管理本地网络的组成员。 使用m l d 协议管理本地网络的组 组播 成员。 缺乏对q o s 的支持。引入了数据流标签字段和业务流 q o s 优先级字段,对q o s 较好的支持。 安全性对i p s e c 的支持是可选的。必须支持i p s e c 。 使用a 资源记录把主机名映射到i p v 4使用- 蛆从资源记录把域名映射到 的地址。 i p v 6 的地址。 d n s 在i n - a d d r a r p a 域中使用p t r 资源记 在i p 6 i r l 域中使用p t r 资源记 录把i p v 4 地址映射到主机名。 录把i p v 4 地址映射到主机名。 2 2 i p v 6 地址架构 图2 1i p v 4 协议和i p v 6 协议的比较 i p v 6 协议的地址架构 1 3 定义了i p v 6 地址的表示形式、寻址模型及各类地址。 2 2 1i p v 6 的地址表示形式 用文本方式表示的i p v 6 地址有三种规范的形式: 1 优先选用的形式是x :x :x :x :x :x :x :x ,其中x 是8 个1 6 位地址段的十六进制值。例 如: f e d c :b a 9 8 :7 6 5 4 :3 2 1 0 :f e d c :b a 9 8 :7 6 5 4 :3 2 1 0 1 0 8 0 :0 :0 :0 :8 :8 0 0 :2 0 0 c :4 1 7 a 每一组数值前面的0 可以省略,但是在每一个地址段中至少有一个数值( 以下2 中描述的情 况除外) 。 2 在分配某种形式的i p v 6 地址时,会用到包含长串0 位的地址。为了简化包含0 位地 址的书写。可以使用“:”符号简化多个o 位的1 6 位组。“:”符号在一个地址中只能出现 一次。该符号也可以用来压缩地址中前部和尾部的0 。举例来说: 1 0 8 0 :0 :0 :0 :8 :8 0 0 :2 0 0 c :4 1 7 a f f 0 1 :0 :0 :0 :0 :0 :0 :1 0 1 0 :0 :0 :0 :o :0 :0 :l o :0 :0 :0 :0 :0 :0 :o 华东师范大学硕士学位论文 i p v 6 协议原理 可以压缩表示为如下形式 1 0 8 0 :8 :8 0 0 :2 0 0 c :4 1 7 a f f o l :1 0 1 :1 3 ,在涉及i p v 4 和i p v 6 节点混合的这样一个节点环境时,有时需要采用另一种表达方式, 即x :x :x :x :x :x :d d d d ,其中x 是地址中6 个高阶1 6 位地址段的十六进制值,d 是地址中4 个 低阶8 位地址段的十进制值( 按照i p v 4 标准表示) 。例如: 0 :0 :0 :0 :0 :0 :1 3 1 6 8 3 0 :0 :0 :0 :0 :f f f f :1 2 9 1 4 4 ,5 2 3 8 也可以压缩表示为如下形式: :1 3 1 6 8 3 :f f f f :1 2 0 1 4 4 5 2 3 8 2 2 2i p v 6 的寻址模型 i p v 6 寻址模型与i p v 4 很相似。每个单播地址标识一个单独的网络接口。i p 地址被指定给 网络接口而不是节点,因此一个拥有多个网络接口的节点可以具备多个i p v 6 地址,其中任何 一个i p v 6 地址都可以代表该节点。一个网络接口还能与多个单播地址相关联,但个单播地 址只能与一个网络接口相关联。每个网络接口必须至少具备一个单播地址。 在i p v 6 的寻址模型中除去了广播。因为同一链路上的大量广播意味着该链路上的所有节 点都必须处理所有广播,但是其中绝大部分节点往往会因为接收到的数据与自己无关而最终 忽略该广播。大量广播会造成网络性能大幅度的下降。而把广播在子网之间进行转发则会导 致更多的问题。因此i p v 6 采用面向“所有节点”的组播地址来替代那些必须使用广播的情况。 同时,对那些原来使用了广播地址的场合,则使用一些范匿受限的组播地址。采用这种方法 对于原来由广播携带的数据感兴趣的节点可以加入一个组播地址,而其他对该信息不感兴趣 的节点则可以忽略发往该地址的数据。 i p v 6 的组播与i p v 4 的组播很相似。对某个组的数据感兴趣的主机首先要通知路由器申请 加入该组播地址,声明成为该组播组的一个成员。于是路由器将会转发发往该组播地址的数 据到本地链路上,这样加入到该组搔组的主机就可以从本机所在链路上获取自己感兴趣的数 据。i p v 4 是通过i g m p 协议 1 5 完成对本地链路中的组成员管理工作,而在i p v 6 中,取而代之 的是5 l l d ( m u l t l e a s tl i s t e n e rd i s e o v e r y ) 1 7 。 在i p v 6 中引入了一种新的寻址模型任播。任播与组播比较相似。组播地址可以由多 个节点共享。加入到该组播地址的所有节点均期待着接收发给该地址的所有数据。同样,任 播地址也是由多个节点共享,不同的是,只有一个节点期待接收发给任播地址的数据包。任 6 华东师范大学硕士学位论文 i p v 6 悱议原理 播适用某些类型的服务,尤其是对于客户机和服务器之间不需要有特定关系的一些服务,例 如域名服务器和时间服务器。 2 2 3i p v 6 的地址类型及地址空间 如上文所述,i p v 6 中地址有三种类型:单播地址,组播地址和任播地址。 1 单播地址:一个单接口标识符,送往单播地址的数据将被传送到该地址所标识的接口 上。一个i p v 6 单播地址通常包括两个字段,其中一个字段用来标识网络,称为子网前缀 s u b n e tp r e f i x ) ,而另一个字段则用来标识该网络上节点的接口,称为接口标识符 ( i n t e r f a c ei d e n t i f i e r ) 。子网前缀还可被划分为几个部分,分别标识不同的网络部分。 i p v 6 单播地址包括下面几种类型: 可聚集全球单播地址( a g g r e g a t a b l eg l o b a lu n i c a s ta d d r e s s ) 1 4 :其通用格式如图 2 2 所示。 全球路由前缀子冈标识符接口标识符 图2 2 全球可聚集的单播地址格式 其中全球路由前缀( g l o b a lr o u t i n gp r e f i x ) 用于分配给各个站点,该前缀可以采用层次 化的结构。而子网标识符( s u b n e ti d ) 用于标识站点内部的链路。接口标识符用于标识链 路上的接口,在相同网络前缀的情况下必须保证唯一性。接口标识符可以取自链路层的地址, 采用修订过的e u i 一6 4 格式( m o d i f i e de u i - 6 4f o r m a t ) 。 i e e e8 0 2 地址 c c c c c c u g c c c c c c u gl 王l u l l ll l l l l 儿0 e u i 6 4 标识符 c c c c c c u g 1 l l l l l l ll l l l l l l 0 修订过的e u i - 6 4 标识符 图2 3 接口标识符的形成 华东师范大学硕士学位论文 i p v 6 协议原理 从图中可以看到,4 8 位的链路层地址被均分为两个部分,在两部分之间插入f f f e ,这样就可 以形成e u i - 6 4 标识符,然后把全球唯一位( u 位) 取反,形成接口标识符例如:姒c 地址为 0 0 a a - o o 一3 卜2 a l c 其对应的接口标识符为2 a a :f f :f e 3 f :2 a 1 c 。除了那些最高三位全为0 的地 址所有其他的可聚集全球单播地址都必须符合图2 2 的格式,而最高三位为0 的地址可以有自 己的地址格式。 嵌入i p v 4 地址的i p v 6 地址( i p v 6a d d r e s s e sw i t he m b e d d e di p v 4a d d r e s s e s ) :i p v 6 提供 两类嵌有i p v 4 地址的特殊地址。这两类地址高8 0 位均为0 ,低价3 2 位包含i p v 4 地址。当中间 的1 6 位被置为0 时,则指示该地址为i p v 4 兼容地址( i p v 4 一c o m p a t i b l ei p v 6a d d r e s s ) :当中 间的l6 位坡置为f f f f 时则指示该地址为i p v 4 映象地址( i p v 4 一m a p p e di p v 6a d d r e s s ) 。 0 0 0 0 3 0 0 00 0 0 0 i p v 4 地址 i p v 4 兼容地址 0 0 0 03 0 0 0 n n i p v 4 地址 i p v 4 映象地址 图2 4 嵌入i p v 4 地址的i p v 6 地址格式 i p v 4 兼容地址用于那些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 4 的节点,本文的设计中就采用该类地址 格式表示本节点的i p v 4 地址。 本地使用的单播地址:有两类本地使用的单播地址链路本地地址和站点本地地址。格 式分别如图2 5 。 1 u 1 1 1 l o l o0 0 0 0o o o o 接口标识符 链路本地地址 站点本地地址 图2 5 本地使用的单播地址格式 其中链路本地地址仅仅用于本地链路,可以用于自动地址配置,邻居发现及本地链路的通讯。 而站点本地地址仅用于一个站点内部的各个节点之间的通讯。边界路由器不应该把包含该类 地址的数据包路由到站点以外。站点本地地址类似于i p v 4 中的私有地址。 未确定地址( u n s p e c i f i e da d d r e s s ) :未确定地址用全0 表示“:”。该地址是特殊的 单播地址,不能分配给任何节点,它仅仅用于表示缺少合适的地址。例如:一个主机在初始 8 华东师范大学硕士学位论文 i p v 6 协议原理 化时没有自己的i p 地址,此时它所发送的请求i p 地址的报文中填写的就是末确定地址。 环回地址( l o o p b a c ka d d r e s s ) :i p v 6 中的环回地址是:l 。该地址用于节点本地调试。 2 组播地址( m u l t i c a s ta d d r e s s ) :一组接口( 一般属于不同节点) 的标识符。送往该 类型地址的数据将被传送到该地址标识的所有接口上。组播地址的格式如图2 6 。 1 1 1 1 l l l l标志范围 组标识符 图2 6i p v 6 组播地址的格式 其中标志字段最低位t 是临时地址位,指示该地址是不是临时分配的组播地址。而范围字段 则指出了该组播地址的传播范围,包括链路范围( 范围= 2 ) 、站点范围( 范围= 5 ) 以及全球 范围( 范围= e ) 等。而组标识符标识了一个组播组,可能是永久分配的( 由全球因特网编号 机构进行分配) 也可能是临时分配的。其中有几个永久分配的组播地址是预定义的,例如: f f 0 2 :l 链路范围的全部节点组地址 f f 0 2 :2链路范围的全部路由器组地址 f f 0 5 :2站点范围的全部路由器组地址 还有一类预定义的组地址,称为被请求节点组播地址,该类组播地址属于链路范围的组播地 址。每一个单播地址都有相对应的被请求节点组播地址,其格式如下:f f 0 2 :l :f f x x :x x x x , 其中最后三个字节的x 取自该单播地址的最后三个字节,例如:地址为4 0 3 7 :1 :8 :2 0 e :8 c 6 c 的节点其对应的被请求节点组播地址是f f 0 2 :1 :f f o e :8 c 6 c 。所有拥有某个单播地址的节点 都自动地加入与之对应的被请求节点组,该类地址用于邻居发现。 在i p v 6 中,对组播地址映射到链路层地址的方法也做了修改。i p v 6 组播地址其对应的m a c 地址的格式是:3 3 3 3 一x x - ) ( ( 一x x - x x ,最后的四个字节取自组播地址的最后四个字节。例如: 被请求节点组播地址f f 0 2 :1 :f f 3 f :2 a i c 所对应的m a c 地址就是:3 3 3 3 一f f 一3 f - 2 a l c 。 3 任播地址( a n y c a s ta d d r e s s ) :一组接口( 一般属于不同节点) 的标识符。送往该类 型地址的数据将被传送到该地址标识的一个接口上( 根据路由协议中的距离的计算方法而确 定的“最近”的一个) 。任播地址不能作为在数据包中的源地址,而且目前任播地址也不能 分配给主机,只能分配给路由器。 任播地址是从单播地址空间中分配而来,可用任何一种符合规定的单播地址格式。这样, 任播地址和单播地址在语法上是无法区别的。当一个单播地址分配给多个接口的时候,则这 个单播地址就成为了一个任播地址,而分配到该地址的节点必须显式的配置,以便知道这是 一个任播地址。 标准中也预定义了一类任播地址子网路由器任播地址( s u b n e tr o u t e ra n y c a s t a d d r e s s ) 。发往子网路由器任播地址的数据包会被发送到子网中的一个路由器。设计该地址 的目的是为了让节点可以与链路上任意的一个路由器进行通讯。 任播地址在实际应用过程中还存在诸多问题 1 6 ,本文不再赘述。图2 7 显示了i p v 6 的 9 华东师范大学硕士学位论文 p v 6 协议原理 地址空间的分配情况。 分配 网络前缀( 二进制) - - 所占地址空间的比率 未分配( 注1 ) 0 0 0 00 0 0 01 2 5 6 未分配0 0 0 00 0 0 11 2 5 6 为n s a p 分配保留 2 6 0 0 0 00 0 11 1 2 8 未分配 0 0 0 00 l 1 6 4 未分配 0 0 0 011 3 2 未分配 0 0 0 1 1 1 6 可聚集全球单播地址 0 0 l i 8 未分配 0 1 0i 8 未分配 0 1 l 1 8 未分配 1 0 01 8 未分配1 0 11 8 未分配 1 1 0 1 8 未分配1 1 1 01 1 6 未分配1 1 1 101 3 2 未分配 1 1 1 11 0 1 6 4 未分配 1 1 1 1l l o 1 1 2 8 未分配1 l l ll l l 00 1 5 1 2 链路本地地址 1 1 l l1 u 01 0 1 1 0 2 4 站点本地地址 1 1 l l1 1 1 01 l 1 1 0 2 4 组播地址1 1 1 l 1 1 1 1 1 2 5 6 注1 :未确定地址和嵌入i p v 4 地址的i p v 6 地址不包括在内。 图2 7i p v 6 的地址空间 2 2 4 节点拥有的i p 地址 简单说来,一个有一块网络适配器的i p v 4 主机通常为该网络适配器分配一个i p v 4 地址。 但作为一个i p v 6 的主机,一般会为每一个网络适配器分配一个或多个i p 地址,通常包括以下 三类单播地址: 华东师范大学硕士学位论文 i p v 6 协议原理 每一个接口都有一个链路本地地址,该地址只能在本地链路使用。 此外每一个接口还可以拥有多个全局的单播地址或站点本地地址。 环回接口拥有一个环回地址( :1 ) 。 而对i p v 6 路由器而言,除了以上这几类单播地址之外,还拥有: 对每一个连接的子网都有一个子网路由器任播地址。 可能还有其他的任播地址。 此外,i p v 6 主机也自动加入以下组播地址: 节点范围的全部节点组地址( f f 0 1 :1 ) 。 链路范围的全部节点组地址( f f 0 2 :1 ) 。 与每一个单播地址相对应的被请求节点组地址。 i p v 6 路由器还要额外自动地加入以下各组: 节点范围的全部路由器组地址( f f 0 1 :2 ) 。 链路范围的全部路由器组地址( f f 0 2 :2 ) o 站点范围的全部路由器组地址( f f 0 5 :2 ) 。 2 2 5i p v 6 地址与i p v 4 地址的比较 i p v 6 的地址空间扩大了但很多在i p v 4 中使用的i p 地址在i p v 6 中都有相应的对应地址 其寻址模型也没有太大的变化。图2 8 总结了两类地址的相似点和不同点。 i p v 4 地址 i p 、,6 地址 组播地址( 2 2 4 0 0 0 8 )组播地址( f f 0 0 :8 ) 有广播地址 没有广播地址,链路范围中的广播地址可以 由链路范围的全部节点组地址替代 未确定地址( 0 0 0 0 )未确定地址( :) 环回地址( 1 2 7 0 0 1 )环回地址( :1 ) 公网i p 地址 可聚集全球i p 地址 专用i p 地址( 1 0 0 0 0 8 ,1 7 2 1 6 0 0 1 2 ,站点本地地址 1 9 2 1 6 8 0 0 1 6 ) 自动专用i p 寻址( l p i p a ) 地址链路本地地址 ( 1 6 9 2 5 4 0 0 1 6 ) 采用点分十进制的地址表示方法采用冒号分隔的十六进制的地址表示方法 网络号表示采用子网掩码或者网络前缀长度 网络号表示只采用网络前缀长度的方法 的表示方法 图2 8i p v 6 地址和i p v 4 地址的比较 华东师范大学硕士学位论文 球v 6 协议原理 2 3 i p v 6 头部 i p v 6 的地址长度尽管是i p v 4 地址的四倍,但头部却只有i p v 4 的两倍。i p v 6 对包文头部做 了大量的修改简化,提高了数据包文处理及转发的效率。 2 3 1i p v 6 头部结构 i p v 6 头部包括8 个字段,总长度为4 0 字节的,并且头部的大小是固定的。而i p v 4 中包含 至少1 2 个不同字段,长度在没有选项时为2 0 字节,但在包含选项时可达6 0 字节。i p v 6 使用了 固定格式的头部并减少了需要检查和处理的字段的数量,这将使得选路的效率更高。而i p v 6 中的选项是加在单独的扩展头中并在i p 头部和扩展头中通过“下一头部”字段来指出是否 包含下一个扩展头。通过这种方法,选项只有在必要的时候才进行检查和处理。 头部的简化使得i p 的某些工作方式发生了变化。首先,所有头部长度统一,因此不再需 要头部长度字段。此外,i p v 6 中的分片只能由源节点进行,该包所经过的中间路由器不能再 进行任何分片。这样就可以在头部中去掉包标识符和偏移字段。最后,头部中也去掉i p 头校 验和,校验工作将由更高层协议( u d p 协议和t c p 协议) 负责。 版本业务漉优先级数据流标签 有效载荷长度下一头部跳数限制 源地址 目的地址 图2 9i p v 6 头部的格式 版本( v e r s i o n ) :长度为4 位,对于i p v 6 ,该字段必须为6 。 业务流优先级( t r a f f i cc l a s s ) :长度为8 位,指明为该包提供了某种区分业务。该字段 的定义独立于i p v 6 默认值是全0 。 华东师范大学硕士学位论文 i p v 6 协议原理 数据流标签( f l o wl a b e l ) :长度为2 0 位,用于标识属于同一数据流的包。一个节点可以 同时作为多个数据流的发送源。数据流标签和源节点地址唯一标识了一个数据流。 有效载荷长度( p a y l o a dl e n g t h ) :长度为1 6 位,包括包净荷的字节长度,即i p v 6 头部后 的包中净荷的字节数。这意味着在计算净荷长度时包含了i p v 6 扩展头的长度。 下一头部( n e x th e a d e r ) :这个字段指出了i p v 6 头后所跟的头字段中的协议类型。与i p v 4 协议字段类似,下一个头字段可以用来指出高层是t c p 还是u d p 。同时该字段也可以用来指明 i p v 6 扩展头的存在。 跳数限制( h o pl i m i t s ) :长度为8 位。每当一个节点对包进行一次转发之后,这个字段就 会被减1 。如果该字段达到0 ,这个包就将被丢弃。i p v 4 中有一个具有类似功能的生存期字段 ( i t l ) 。 源地址( s o u r c ea d d r e s s ) :长度为1 2 8 位,指出了i p v 6 包的发送方的i p 地址。 目的地址( d e s t i n a t i o na d d r e s s ) :长度为1 2 8 位,指出了i p v 6 包的接收方i p 地址。这个 地址可以是一个单播、组播或任播地址。如果使用了选路扩展头( 其中定义了一个包必须经 过的特定路由) ,其目的地址可以是其中某一个中间节点的地址而不必是最终地址。 2 3 2i p v 6 扩展头部 i p v 6 数据包中,选项被安排在不同的扩展头中,而这些扩展头部放在i p v 6 头部和上层报 头之间。这些扩展头部通过下一头部进行区分。从图2 1 0 中可以看出,一个i p v 6 数据包可以 没有扩展头部或者有1 个或多个扩展头部,每一个扩展头部是通过前一头部的下一头部字段 来确定。 巨至三丑二亟三 臣至至丑堕三三 j 圈 图2 1 0 扩展头部 大多数情况下,个i p v 6 数据包沿着传送路径经过的任何节点都不检查或处理其扩展头 部,直到该数据包到达i p v 6 头部的目的地址字段所确定的节点或者在组播情况下的所有节点 中的一个节点。 在处理一个头部的时候,当该头部中的下一头部字段的值不能被节点识别时,则该节点 应该丢弃该数据包,同时发送一个i c m p 参数问题报文给该数据包的源发端,该i c m p 报文的代 码值为1 ( 遇到不可识别的下一头部类型) 。同时在i c i p 报文的指针字段中包含原始数据包中 华东师范大学硕士学位论文i p v 6 协议原理 不可识别值的偏移量。 在i p v 6 应用中,具体包括以下几种扩展头部: i 逐跳选项扩展头( h o p - b y h o po p t i o n s ) :该扩展头中包含所经路径上的每个节点都 必须检查的选项,目前定义了两类选项巨型载荷选项( j u m b o g r so p t i o n ) 和路由器 提醒选项。分别用于超长数据包( 有效载荷长度长度超过6 5 5 3 5 字节) 传输以及提醒路由器 对数据包需要进行额外地查看处理。 2 选路扩展头( r o u t i n g ) :该扩展头包含源节点指定沿途经过的各节点的地址列表,包 括严格源指定路由和松散源指定路由两种。 3 分片扩展头( f r a g m e n t ) :该扩展头包含标识符、标志以及分片偏移字段用于对分片 数据包的重新组装。 4 目的地选项扩展头( d e s t i n a t i o no p t i o n s ) :该扩展头可以用来携带由目的地节点检 查的选项,目前没有详细定义。 5 认证扩展头( a u t h e n t i c a t i o n ) 9
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安陆市2025-2026学年七年级上学期语文月考测试试卷
- 阿勒泰地区2025-2026学年七年级下学期语文期中模拟试卷
- 安徽省阜阳市颍上县2023-2024学年高三上学期第一次月考地理试卷及答案
- 2025 年小升初上海市初一新生分班考试英语试卷(带答案解析)-(牛津版)
- 海门市悦来初中2025中考英语专题复习-词汇、完形填空(无答案)
- 社区消防知识培训课件制度
- 2025年广东省肇庆市端州区中考一模物理试题(含答案)
- 上海租赁中介合同范本
- 甲乙合作开店合同范本
- 快递寄件合同范本
- 承保实务非车险课件
- 幼儿园教学活动设计方法
- 无人机项目融资计划书
- 液氧站施工方案
- GB/T 16886.12-2023医疗器械生物学评价第12部分:样品制备与参照材料
- 16J934-3中小学校建筑设计常用构造做法
- 发泡模具验收报告
- 【优质课件】高效能人士的七个习惯分享手册
- 音乐ppt课件《村晚》
- 周绍华教授治疗抑郁症经验
- 分镜头脚本设计-影视广告分镜头课件
评论
0/150
提交评论