(计算机系统结构专业论文)基于arm的精简ipv6协议栈的研究与设计.pdf_第1页
(计算机系统结构专业论文)基于arm的精简ipv6协议栈的研究与设计.pdf_第2页
(计算机系统结构专业论文)基于arm的精简ipv6协议栈的研究与设计.pdf_第3页
(计算机系统结构专业论文)基于arm的精简ipv6协议栈的研究与设计.pdf_第4页
(计算机系统结构专业论文)基于arm的精简ipv6协议栈的研究与设计.pdf_第5页
已阅读5页,还剩82页未读 继续免费阅读

(计算机系统结构专业论文)基于arm的精简ipv6协议栈的研究与设计.pdf.pdf 免费下载

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

文档简介

基于a r m 的精简i p v 6 协议栈的研究与设计 摘要 软硬件资源的不断成熟和完善,使得嵌入式系统应用得到了十分迅猛的发 展。另一方面,互联网技术的发展,使得i n t e m e t 逐渐深入到人们的日常生活中。 嵌入式控制网络与信息网络的互联不仅拓宽了控制系统的控制范围,而且丰富了 信息系统的内容。因此,嵌入式系统与i n t e m e t 相结合将成为嵌入式系统和互联 网络发展的重要方向。 现阶段,i n t e m e t 规模的日益扩大与i p v 4 地址匮乏之间的矛盾越来越突出。 为解决i p v 4 网络存在的各种问题而出现的i p v 6 协议具有海量的地址空间、优化 的路由算法、自动化的地址配置等;同时还增加了对安全性、q o s 等的良好支持。 因此,i n t e m e t 从i p v 4 过渡到i p v 6 是一种必然的趋势。综上,对i p v 6 协议进行 研究并将其引入嵌入式系统,实现嵌入式设备接入网络的功能,具有较高的科研 价值和现实意义。 本文在对嵌入式系统相关概念和嵌入式i p v 6 协议栈进行介绍的基础上,阐 述了i p v 6 协议簇中核心协议的原理、报头结构和参数等。接着根据嵌入式t c p i p 协议栈的设计要点,提出嵌入式i p v 6 协议栈的总体设计,进一步对协议栈的进 程模型、内存管理、平台无关性和通讯机制进行了研究。然后对协议栈的裁剪和 数据包的处理流程进行分析,给出各模块的详细设计与实现,主要有i p v 6 模块、 i c m p v 6 模块、邻居发现州d ) 模块和u d p 模块。最后将协议栈嵌入到u c o s i i 操作系统中并搭建测试环境对i p v 6 协议栈进行功能性测试,结果表明协议栈功 能正常,可以完成基本的通讯功能。 协议栈根据嵌入式系统资源有限和应用相对单一的情况进行裁剪,采用分层 结构实现;同时在实现基本功能的前提下,为功能的扩展提供了接口;另外,将 协议栈与硬件、编译器和操作系统相关的代码独立开来,实现了协议栈在不同平 台的良好移植。 关键词:嵌入式系统,因特网,a r m ,i p v 6 ,i c m p v 6 ,邻居发现协议 基于a r m 的精简l p v 6 协议栈的研究与设计 a b s t r a c t t h ei n c e s s a n ti m p r o v i n go fs o f t w a r ea n dh a r d w a r em a k e st h ea p p l i c a t i o no f e m b e d d e ds y s t e mg r o w i n gr a p i d l y o nt h eo t h e r ,i n t e m e th a sb e e nd e e p l yr o o t e di n t o h u m a n sl i f ew i t hi t sd e v e l o p m e n t t h ec o m b i n a t i o no fe m b e d d e ds y s t e mc o n t r o l l e d n e t w o r ka n di n f o r m a t i o nn e t w o r k ,n o to n l yc a nb r o a d e nt h er a n g eo fc o n t r o ln e t w o r k , b u ta l s oc a np r o v i d em o r ei n f o r m a t i o nt oe n r i c ht h ec o n t e n to fb o t hn e t w o r k s c o n n e c t i n ge m b e d d e ds y s t e m si n t oi n t e r n e tw i l lb ea ni m p o r t a n td i r e c t i o nf o rt h e d e v e l o p m e n to f b o t he m b e d d e ds y s t e ma n di n t e r a c t a tt h ep r e s e n ts t a g e ,t h ec o n t r a d i c t i o nb e t w e e nt h ee x p a n d i n gi n t e m e ts c a l ea n d t h ed e f i c i e n c yo fl pa d d r e s sh a sb e c o m em o r ea n dm o r es e r i o u s a sw ea l lk n o w , i p v 6 h a sb e e nr a i s e du pt os o l o v et h ep r o b l e m st h a te x i s t e di ni p v 4 i p v 6h a saq u i t el a r g e a d d r e s ss p a c et os a t i s f yt h en e e do fi pa d d r e s s ,o p t i m i z e dr o u t i n ga l g o r i t h m ,s t a t e l e s s a d d r e s sa u t o c o n f i g u r a t i o na n ds oo n a l s oi tp r o v i d e sg o o ds u p p o r tf o rs e c u r ea n d q o s t h e r e f o r e ,i t sa ni n e v i t a b l et r e n dt h a ti n t e m e tw i l lt u mi n t oi p v 6f r o mi p v 4 t o s u mu p ,i m p l e m e n t i n gi p v 6n e t w o r ks t a c ki ne m b e d d e ds y s t e mt oc o n n e c te m b e d d e d d e v i c e st oi n t e m e th a sg r e a t es c i e n t i f i cv a l u ea n dr e a l i s t i cm e a n i n g t h i sp a p e ri n t r o d u c e st h ec o n c e p t so fe m b e d d e ds y s t e ma n di p v 6n e t w o r ks t a c k i ne m b e d d e ds y s t e mf i r s t l y t h e ni te x p l a i n st h et h e o r y , t h eh e a d e rs t r u c t u r ea n dt h e r e l a t i v ep a r a m e t e ro fc o r ep r o t o c o l si ni p v 6p r o t o c o ls t a c k a f t e r w a r d s ,p r o p o s e s d e s i g np l a no fi p v 6s t a c kb ya n a l y z i n gk e yp o i n t si ne m b e d d e ds y s t e mt c p i ps t a c k d e s i g n ; r e s e a r c h e s p r o c e s sm o d e l ,s t o r a g em a n a g e m e n t ,p o r t a b i l i t y a n d c o m m u n i c a t i o no ft h es t a c k s e c o n d a r i l y , t h ep a p e ra n a l y s e st h ec u t t i n go ft h es t a c k a n dt h ep a c k e tp r o c e s s i n gf l o wa n dg i v e st h ed e t a i l e dd e s i g na n di m p l e m e n t a t i o no f e a c hm o d u l e ,s u c ha si p v 6m o d u l e ,i c m p v 6m o d u l e ,n e i 【g h b o rd i s c o v e r y ( n d ) m o d u l ea n dt h eu d pm o d u l e ,e t c f i n a l l y , t h ep r o t o c o ls t a c ki se m b e d d e di n t ot h e u c o s - i io p e r a t i o ns y s t e m ,a n dat e s te n v i r o n m e n ti sb u i l tf o rf u n c t i o n a lt e s t i n g t h e t e s t i n gr e s u l ts h o w e st h ee f f e c t i v i t yo ft h ep r o t o c o ls t a c k i tc o u l dp e r f o r mb a s i c c o m m u n i c a t i o nf u n c t i o n sw e l l a c c o r d i n ga st h ep r o t o c o ls t a c ki sb a s e do ne m b e d d e ds y s t e m sw h i c hh a sl i m i t e d - i i 基于a r m 的精简i p v 6 协议栈的研究与设计 r e s o u r c e sa n dr e l a t i v e l ys i m p l ea p p l i c a t i o n s ,i ti s i m p l e m e n t e dw i t hb a s i ci p v 6 c o m m u n i c a t i o nf u n c t i o n s b yu s i n g h i e r a r c h i c a ls t r u c t u r e b e s i d e s a c h i e v i n g f u n d a m e n t a lf u n c t i o n s ,t h es t a c kp r o v i d e si n t e r f a c e sf o raf u n c t i o n a le x t e n s i o n i n a d d i t i o n ,t h ei m p l e m e n to fp r o t o c o ls t a c ki si n d e p e n d e n tf r o mt h eh a r d w a r e ,c o m p i l e r a n do p e r a t i o ns y s t e m ,s ot h a ti tc o u l db et r a n s p l a n t e da m o n gv a r i o u sp l a t f o r m s k e y w o r d s :e m b e d d e ds y s t e m ,i n t e r n e t ,a r m ,i p v 6 ,i c m p v 6 ,n e i g h b o r d i s c o v e r yp r o t o c o l 1 1 1 学位论文独创性声明 本人所呈交的学位论文是我在导师的指导下进行的研究工 作及取得的研究成果。据我所知,除文中已经注明引用的内容外, 本论文不包含其他个人已经发表或撰写过的研究成果。对本文的 研究做出重要贡献的个人和集体,均已在文中作了明确说明并表 示谢意。 作者签名:给扭 日期: 学位论文授权使用声明 本人完全了解华东师范大学有关保留、使用学位论文的规定,学 校有权保留学位论文并向国家主管部门或其指定机构送交论文的电 子版和纸质版。有权将学位论文用于非赢利目的的少量复制并允许论 文进入学校图书馆被查阅。有权将学位论文的内容编入有关数据库进 行检索。有权将学位论文的标题和摘要汇编出版。保密的学位论文在 解密后适用本规定。 学位论文作者签名:徐松 导师签名: 日期: 日期:巫艺_ 垒! j 基于a r m 的精简i p v 6 协议栈的研究与设计 第一章绪论 伴随着嵌入式系统软硬件技术的成熟与发展和互联网应用的不断普及,嵌入 式系统和i n t e m e t 相结合已经成为当今嵌入式系统发展的一个重要趋势,也是目 前网络发展的一个重要方向。近年来,嵌入式i n t e m e t 成为研究的热点。现阶段 基于i p v 4 的t c p i p 技术已经暴露出地址枯竭的致命问题,i p v 6 网络提供的海量 地址空间可以很好地解决嵌入式设备接入网络的地址不足问题。另外,i p v 6 协议 在地址分类,路由算法以及地址自动配置等方面的优化也使其更加适应嵌入式 i n t e m e t 发展的需要。 1 1 引言 1 1 1 嵌入式系统基本概念 对于嵌入式系统,目前国内一个普遍认同的定义为:以应用为中心,以计算 机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体 积、功耗有严格要求的专用计算机系统i 。嵌入式系统用于实现对其他设备的控 制、监视或管理等功能,一般由以下几部分组成: 1 ) 硬件层。硬件层的核心是嵌入式微处理器,另外还包括通用设备接口、 存储设备以及i o 接口等。 2 ) 中间层。也称为硬件抽象层( h a r d w a r ea b s t r a c tl a y e r , h a l ) 或板级支持 包( b o a r ds u p p o r tp a c k a g e ,b s p ) ,该层一般包含相关底层硬件的初始 化、数据的输入输出操作和硬件设备的配置功能。 3 ) 系统软件层。系统软件层由嵌入式操作系统、文件系统、图形用户接 n ( g u l ) 、网络系统及通用组件模块组成。 4 ) 应用软件层。 嵌入式系统不同于一般的系统,它是为实际应用量身定做的专用系统。在特 定的应用领域中,嵌入式系统有着通用p c 所无法比拟的优点,如体积、价格、 功耗和实时性等方面。嵌入式系统主要的特性有:功耗低、体积小、性价比高、 系统资源有限、实时性较强等。 基于a r m 的精简i p v 6 协议栈的研究与设计 目前,嵌入式系统已被广泛应用于工业自动化、国防军事、信息家电、网络 通讯和消费电子等领域。从工业控制仪表到掌上p d a ,从手机到自动售货机, 嵌入式系统几乎应用于生活中的所有电器设备,嵌入式系统对人类生活产生了越 来越深远的影响。而且,这些嵌入式设备正在不断增强的网络化趋势,又进一步 方便了设备间通信,提高了信息共享的程度。 1 1 2 嵌入式i n t e r n e t 技术 嵌入式i n t e r n e t 技术依托于i n t e m e t 技术、w e b 技术、嵌入式技术的发展,它 的产生是i n t e m e t 发展史上的又一个里程碑。嵌入式i n t e r n e t 技术通过为设备增 加通信模块接入i n t e r n e t ,并通过互联网实现同其他接入网络的设备之间的信息 交互。据专家预测,未来小型嵌入式系统传输的信息将占i n t e m e t 上信息传输总 量的7 0 2 1 。嵌入式系统与i n t e m e t 网络的融合是一个必然的趋势。嵌入式i n t e m e t 技术也成为人们研究的热点之一。 嵌入式i n t e m e t 技术虽然是近几年才发展起来的一项新概念和技术,但是其 发展却十分迅速。在国内,1 9 9 6 年6 月,中国计算机学会( c h i n ac o m p u t e r f e d e r a t i o n ) 召开了“嵌入式系统及产业化在中国的发展”研讨会,会议就嵌入式系 统在计算机工业中的地位及其网络化问题进行了探讨,专家们一致认为嵌入式设 备在下一代网络设备中的比重将人人提高。国外,包括e m w a r e 、m i c r o c h i p 、p h i l i p s 和m o t o r o l a 等在内的数十个公司联合成立了“嵌入式i n t e m e t 联盟( e t i ) ”,来专门 讨论和定制嵌入式t c p h p 领域的标准和开发相关的技术,共同推动嵌入式 i n t e r n e t 这一市场。嵌入式系统与互联网结合面临的主要困难是,互联网的各种 通信协议对于处理器的运算速度、存储器的存储空间等方面的要求相对较高,支 持t c p i p 等协议需要大量的系统资源,而嵌入式系统的处理器能力和存储能量 一般都是非常有限的。 现在国内外的许多公司都在推出自己的嵌入式i n t e m e t 解决方案和产品。国 内,北京的英贝多公司在掌握嵌入式i n t e m e t 的核心技术的基础上,实现了嵌入 式设备的i n t e m e t 网络化,并独立研发出具有自主知识产权的i s o c ( 因特网片上 系统) 芯片,实现了高可靠低成本的嵌入式因特网接入网关和服务器于一体的 e m l s p s o g 产品和技术方案。武汉力源公司推出了专用网络接口芯片p s 2 0 0 0 。东 大新业为解决嵌入式i n t e r n e t 设备的接入和控制问题开发出了w | e b i t 系列产品。 在国外,美国i r e a d y 公司提出了完整的称作“i n t e m e tt u n e r 的新一代非p c 基于a r m 的精简i p v 6 协议栈的研究与设计 职能设备i n t e m e t 连接方案,支持这种技术的有s e i k o 、s o n y 和s h a r p 等国际著 名公司。美国e m w a r e 公司提出了e m i t ( e m b e d d e dm i c r oi n t e m e tw o r k i n g t e c h n o l o g y ,嵌入式微型网络技术) 和相关的软件包i3 。c m x 公司开发的m i c r o n e t 协议栈是一个商业的嵌入式t c p i p 协议栈【4 1 。其代码尺寸在3 k 2 0 k ,其配置粒 度相对较细,能够较好的在8 位微处理器和16 位微处理器上运行。i n t e r n i c h e 公司的n i c h e l i t e 协议栈也是一个商业的嵌入式t c p i p 协议栈。代码尺寸1 2 k 左右。其配置粒度较粗,n i c h e l i t e 协议栈偏大,而不能很好地在较低处理能力 的微处理器上工作。此外还有n e t s i l i c o n 公司的n e t + w o r k s 技术、c o n n e c to n e 公司的i c h i p 技术等为嵌入式i n t e m e t 技术提出的相应解决方案。m i c r o c h i p 公司 开发的i p i c 系列单片机、u b i c o m 公司开发的s c e n i xi p 2 0 0 0 h p 3 0 0 0 系列处理器、 以及r a b b i t 半导体公司的r a b b i t 系列处理器也是针对嵌入式i n t e m e t 开发的产 品。 在开源项目中,l w l p 和u i p 是两个比较知名的针对微处理器设计的嵌入式 t c p i p 协议栈。u l p 作为一个开源项目,它将t c p i p 协议交错在一起实现,虽 然能够节省一定的代码尺寸和运行资源,但使得整个协议栈丧失了灵活性、可维 护性和可配置性。从整体而言,采用分层的体系结构,只要注意可配置性,一样 可以节省代码尺寸和运行资源,而且得到更多的好处。 1 2 嵌入式i p v 6 协议栈的提出 随着全球互联网的迅速发展,用户数量急剧增加,尤其在大量的嵌入式设备 接入i n t e m e t 后,i p v 4 网络的问题日益突出。如i p 地址匮乏、路由表庞大,对 安全性和移动性支持不足,地址配置复杂,缺乏对服务质量的支持等,所有这些 都制约着互联网的发展。为了适应当前和未来网络的发展要求,我们必须对现有 的i p v 4 网络进行研究和改进。 上个世纪9 0 年代初i e t f 开始致力于下一代网络协议n e x tg e n e r a t i o n ( i p n g ) 的研究和发展。i p n g 是l p 协议的新版本,用于接替目前使用的i p 协议第4 版 ( i p v 4 ) ,分配给i p n g 的版本号为6 ,因此称为i p v 6 。 随着嵌入式设备的应用日益广泛,嵌入式设备接入网络的要求越来越强烈。 现阶段嵌入式设备主要通过i p v 4 协议栈接入i n t e r n e t 。接入互联网的主机数量越 来越多,i p v 4 地址即将耗尽。i p v 6 技术的出现恰好解决了i p v 4 地址空间有限无 法满足数量庞大的嵌入式设备接入网络的问题。i p v 6 将地址空问由2 3 2 个扩展到 基于a r m 的精简i p v 6 协议栈的研究与设计 了2 1 2 8 个,巨大的地址空间使得每个嵌入式设备都可以作为一个独立的实体接入 互联网,不再受地址匮乏的限制。在互联网即将从i p v 4 过渡到i p v 6 的大背景下, 在嵌入式设备上实现i p v 6 是大势所趋。 目前,许多公司已经推出了面向嵌入式系统的i p v 6 协议栈产品。如m a x i m 公司的i p v 6 协议栈产品支持i p v 4 i p v 6 双协议。i n t e r n i c h e 公司所实现的用于嵌 入式设备的协议栈套件,不仅包括基本的i p v 4 6 协议,而且包括i p s e c 协议及动 态配置密钥的i k e 协议【5 1 。这些解决方案的共同特点是,产品价格比较高且不开 放源码,实时性能不够好,不利于协议栈的移植、裁减、优化以及应用。另外, 在嵌入式操作系统方面,v x w o r k s ,l i n u x 等都已经支持i p v 6 ,但这些协议栈同 操作系统结合紧密不适合硬件资源较小的嵌入式系统;针对嵌入式系统而引进的 简化t c m p 协议栈l w l p 是一个较为完善的协议栈,但尚不支持i p v 6 协议;u l p 协议栈,小巧简单,具有很好的移植性,但也缺乏对i p v 6 协议的支持。综上所 述,本论文拟设计一个适应于嵌入式系统应用的具有良好实时性的i p v 6 协议栈。 这具有一定的研究价值和重要的现实意义。 1 3 研究的主要内容 互联网规模的扩大使得i p v 4 协议逐渐接近自身发展的极限,下一代i p 协议 即i p v 6 不仅完全解决了i p 地址匮乏的问题,而且在地址配置、端到端i p 连接、 服务质量、安全性、移动性等方面进行了改进。所有这些使得i p v 6 协议成为嵌 入式设备接入网络的首选。本文的主要工作如下: 阅读、理解并分析i p v 6 协议相关的r f c ( r e q u e s tf o rc o m m e n t s ) 文档, 熟悉并掌握i p v 6 协议的基本原理及其实现; 针对嵌入式设备资源相对有限的情况,从整体上对完整的i p v 6 协议 栈进行裁剪,设计出适合嵌入式系统应用的i p v 6 协议栈的框架; 对i p v 6 协议栈中的i c m p v 6 ( i n t e m e tc o n t r o lm e s s a g ep r o t o c 0 1 ) 进行设 计实现; 对i p v 6 协议栈中的邻居发现协议( n e i g h b o rd i s c o v e r y ) 进行设计实现; 实现i p v 6 协议栈的传输层协议u d p ( u s e rd a t a g r a mp r o t o c 0 1 ) ; 将设计好的精简i p v 6 协议栈移植到实时操作系统u c o si i 中; 测试移植好的i p v 6 协议栈 、-、 )、_、)、,) 0 q p h u 基于a r m 的精简i p v 6 协议栈的研究与设计 1 4 论文的研究目标及结构安排 本文在分析研究i p v 6 协议的基础上,探讨了如何使资源受限的嵌入式系统 接入i p v 6 网络。我们实现的i p v 6 协议栈需满足如下的目标:首先,符合嵌入式 系统应用的要求,代码尺寸小,占用较少内存;第二,协议栈需方便用户使用, 即提供方便的用户接口;第三,协议栈具有良好的可扩展性,方便其他协议的加 入,便于协议功能的扩展;第四,具有平台无关性,便于协议栈的移植。 论文的结构安排如下: 第一章绪论 主要介绍嵌入式系统和嵌入式i n t e m e t 的发展现状,引出本文的研究课 题嵌入式i p v 6 协议栈,并就课题的研究内容和研究意义进行说明。 第二章i p v 6 核心协议介绍 介绍i p v 6 协议栈的基本协议,主要包括i p v 6 协议、i c m p v 6 协议、邻居 发现协议和无状态地址自动配置协议等。 第三章嵌入式i p v 6 技术研究 介绍i p v 6 协议相对于原有的i p v 4 协议的新特性、嵌入式i p v 6 的技术特 点并对嵌入式i p v 6 实现方法进行研究。 第四章协议栈的设计 讨论i p v 6 协议栈的整体框架,详细介绍协议栈实现所用到的各种机制。1 第五章协议栈的实现 对t c p i p 协议栈进行裁剪,给出数据处理流程,并详细介绍协议栈各模 块的实现细节。 第六章协议栈的测试 搭建测试环境,对协议栈进行功能性测试。 结论 对论文的内容进行总结,并且给出本课题继续研究的思路和方向。 基于a r m 的精简i p v 6 协议栈的研究与设计 第二章i p v 6 核心协议介绍 作为i e t f ( t h ei n t e m e te n g i n e e r i n gt a s kf o r c e ,互联网工程任务组) 制定的下 一代网络协议一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 6 协议、 i c m p v 6 协议、邻居发现协议、u d p 协议等。 2 1i p v 6 协议 在网络体系结构的层次划分上,i p v 6 协议栈遵从t c p i p 网络层次划分,分 别为:应用层、传输层、互连网络层和网络接口层,同i p v 4 协议栈是完全一致 的。 应用层:应用程序间沟通的层,为各种用户应用提供接口。如文件传输协议 ( f t p ) 等; 传输层:提供节点问的数据传送服务,解决不同应用程序的通信和标识问题。 如传输控制协议( t c p ) 、用户数据报协议( u d p ) 等,该层主要负责传送数据,并 确定数据已被正确接收。t c p 和u d p 将要传输的数据加到数据报中并把它传给 协议栈的下一层。 互连网络层:主要完成数据报的基本封装和相邻节点间的数据传送,为每个 数据报做路由选择,使其都能够正确地到达目的主机。如网际协议( i p ) ,但该层 对数据报是否被正确接收不做检查。 网络接口层:负责接收和发送数据帧,对实际的网络媒体进行管理,定义如 何使用实际网络来传送接收数据。如e t h e m e t 、s e r i a ll i n e 等。i p v 6 协议属于i p v 6 协议栈的互连网络层的协议。 2 1 1i p v 6 协议首部 i p v 6 协议是i p v 6 网络协议栈中变化最大的一层。i p v 6 协议将i p 地址从3 2 基于a r m 的精简i p v 6 协议栈的研究与设计 位增长到1 2 8 位,极大地扩展了i p v 6 的地址空间,满足了互联网规模不断增长 的需求。i p v 6 协议首部的结构【6 1 如下表2 1 所示: 表2 一li p v 6 协议首部结构 版本传输类型 ( 4 位)( 8 位) 流标签( 2 0 位) 下一个头部跳数限制 有效载荷长度( 1 6 位) ( 8 位)( 8 位) 源地址( 1 2 8 位) 目的地址( 1 2 8 位) i p v 6 协议首部是固定长度的,由6 个字段共8 个字节和两个地址( 源地址和目的 地址) 组成,整个首部大小为4 0 个字节。下面对协议首部的各个字段进行描述。 1 版本( v e r s i o n ) 字段:在首部中占4 个比特,指出当前使用的i n t e m e t 协议版本 号。i p v 6 数据报中该字段的值为6 ,表明该数据报是i p v 6 数据报。 2 传输类型( t r a f f i cc l a s s e s ) 字段:该宁段长度为8 个比特,相当于i p v 4 协议首 部中的服务类型( t y p eo fs e r v i c e ,t o s ) 宁段。 3 流标签( f l o wl a b e l ) 字段:在首部中占2 0 个比特,该字段用于标识属于同一 业务流的包。一个业务流通过流标签和源节点的地址来唯一的标识,多个业 务流可以同时共享同一个节点。 4 有效载荷长度( p a y l o a dl e n g t h ) 字段:长度为1 6 个比特,类似i p v 4 协议首部 中总长度( t o t a ll e n g t h ) 字段。在i p v 6 首部中没有了选项字段,首部成为固定 长度的4 0 个字节,所以总长度( t o t a ll e n g t h ) 字段就没有必要了。有效载荷长 度字段包含紧跟在当前i p v 6 首部后的所有数据的长度,不包括本i p v 6 首部 的长度,但所有的扩展报头和数据都包括在内。 5 下一个头部( n e x th e a d e r ) 字段:该字段长度为8 个比特,类似于i p v 4 协议首 部中的协议( p r o t o c 0 1 ) 字段,用于指出i p v 6 的上层协议类型或者在存在扩展 报头的情况下,指明紧跟在i p v 6 报头之后的第一个扩展报头的类型。如上 层协议为t c p ,则该字段的值为t c p 协议号6 。表2 2 给出i p v 6 下一个头 部字段指明扩展头时的可能值。 基于a r m 的精简i p v 6 协议栈的研究与设计 表2 2i p v 6 下一个头部字段的可能值 下一个头部字段值描述 0 逐跳选项头 4 3 路由头( r h ) 4 4 分段头( f h ) 5 0 身份验证头( a h ) 5 1 封装安全载荷头( e s p ) 5 9没有下一个头 6 0目的地选项头 在i p v 6 协议首部中,i p v 6 首部与上层报头之间会放置由选择性的网络层信 息编码成各种扩展报头。当在同一个i p v 6 数据报中使用多个扩展报头时,他们 必须按照如下顺序1 7 1 : i p v 6 首部 逐跳选项头 目的地选项头 路由头 分段头 身份验证头 e s p 头 目的地选项头 上层协议头 在同一个i p v 6 数据报中,只有目的地选项扩展头( d e s t i n a t i o no p t i o n s ) 可以出现两 次( 一次在路由头之前,另一次在上层协议头之前) ,其他每个扩展报头最多只能 出现一次。本文设计的精简协议栈只完成i p v 6 的基本通信功能,不支持扩展报 头,故在此不对其做详细介绍。 6 跳数限锘f j ( h o pl i m i t ) 字段:该字段长度为8 比特,可以防止路由循环的发生, 类似于i p v 4 协议首部中的生命期( t i m et ol i v e ) 字段。但同i p v 4 利用时间来 限制包的生命期不同,在i p v 6 中,该字段在流经每个转发数据包的节点时 都要减1 ,如果减到0 ,则丢弃该数据包。 7 源地址( s o u r c ea d d r e s s ) 字段:该字段占1 2 8 个比特,用于指明i p v 6 数据报的 基于a r m 的精简i p v 6 协议栈的研究与设计 原始发送方的地址。 8 目的地地址( d e s t i n a t i o na d d r e s s ) 字段:该字段占1 2 8 个比特,用于指明i p v 6 数据报的接收方的地址。该地址可能是一个单播地址、一个组播地址或者一 个任播地址。如果使用了路由扩展报头( 其中定义了一个包必须经过的特殊路 由) ,则其目的地地址可能是其中某个中间节点的地址而非最终接收方的地 址。 2 1 2i p v 6 协议的地址结构 i p v 6 地址格式 i p v 6 的1 2 8 位地址是以1 6 位为一个分组,每个1 6 位分组写成4 个十六进 制数,中间用“:”分隔,成为冒号分十六进制格式,形式是x :x :x :x :x : x :x :x ,其中x 是8 个1 6 位分组的十六进制值。例如: f e o c :8 8 a 9 :7 6 4 0 :5 3 2 l :f f 8 0 :a b c d :2 1 e d :2 3 4 6 ; 2 0 0 2 :o 0 0 0 :0 0 0 0 :0 0 0 0 :0 0 0 0 :0 0 0 0 :0 8 0 0 :3 7 l a 。 在每个分组中的前导位0 可以省略,可以用0 表示0 0 0 0 ,用l 表示0 0 0 1 , 用2 0 表示0 0 2 0 ,用8 0 0 表示0 8 0 0 ,只要保证数值不变即可。例如下列的i p v 6 地址 2 0 0 2 :0 0 0 0 :0 0 0 0 :0 0 0 0 :0 0 0 0 :0 0 0 0 :0 8 0 0 :3 7 l a 0 0 0 0 :0 0 0 0 :0 0 0 0 :0 0 0 0 :0 0 0 0 :0 0 0 0 :0 0 6 9 :0 0 0 2 可以简写为: 2 0 0 2 :0 :o :o :0 :o :8 0 0 :3 7la o :o :0 :0 :0 :0 :6 9 :2 在同一个地址中,可以用“:”来简化若干个连续的0 的分组。故上面的两个i p v 6 地址又可简化为: 2 0 0 2 :8 0 0 :3 7 1 a :6 9 :2 但必须注意在一个特定的i p v 6 地址中,双冒号,只能出现一次,即零压缩只能 出现一次,否则就无法判断每个,代表的零的位数了。 i p v 6 地址前缀 基于a r m 的精简i p v 6 协议栈的研究与设计 每个1 2 8 位的i p v 6 地址由全局路由前缀( g l o b a lr o u t i n gp r e f i x ) 、子网 i d ( s u b n e ti d ) 和接v ii d 三部分组成。全局路由前缀用于标识分配给一个站点的 一个地址范围。子网i d 也称为子网前缀,用来标识站点中某个链接,一个子网 i d 与一个链接相关联。接口l d 用于标识一个链接1 - 的某个接口,并且接口i d 在该链路上必须是唯一的。 i p v 6 地址采用地址前缀表示法时,格式为:“i p v 6 地址前缀长度”,沿用了i p v 4 协议中的c i d r 表示法。前缀长度是表示子网掩码的另一种方式,它规定了从左 边开始有多少位作为前缀。每个子网都有一个6 4 位的前缀,用于标识某个接口 所属的子网并被路由器用于转发。少于6 4 位的地址前缀,或者表示一个路由前 缀,或者表示一个i p v 6 地址范围,因此,i p v 6 前缀只对路由及地址范围才有意 义。i p v 6 协议地址中常用的前缀有:全局单播0 0 1 ( - - - 进制前缀) ;本地链路单播 地址f e 8 0 :1 0 ;多播地址f f 0 0 :8 。这样用前缀即可识别单播同多播地址了。 l p v 6 地址空间 i p v 6 协议最显著的特征就在于它巨大的地址空间,几乎可以认为其地址是 无限多的。巨量的可分配地址空间保证了未来i n t e m e t 的稳定、可靠和高速发展。 针对当前i n t e r n e t 的拓扑结构,i p v 6 地址结构采用层次化设计。1 2 8 位的地址空 间可分解为多级层次结构,使得对寻址和路由的层次设计更加灵活。r f c 对i p v 6 地址空间的分配做了如表2 3 所示的定义。从定义中可以看出,超过8 0 的地址 空间都是未分配的,这就为将来i p v 6 地址的分配留出了充足的余地。 表2 - 3i p v 6 地址空间分配表【8 】 分配情况地址前缀所占地址空间比 例 保留 0 0 0 00 0 0 0l 2 5 6 未分配 0 0 0 00 0 0 11 2 5 6 为n s a p 分配保留 0 0 0 00 0 l1 1 2 8 为i p x 分配保留 0 0 0 00 1 01 1 2 8 未分配 0 0 0 0 0 l l l 1 2 8 未分配 0 0 0 0l1 3 2 未分配 0 0 0 11 1 6 可魏:聚全球单播地址 0 0 ll 8 基于a r m 的精简1 p v 6 协议栈的研究与设计 未分配0 1 0l 8 未分配 0 1 1i 8 未分配 1 0 01 8 未分配1 0 l 1 8 未分配1 1 01 8 未分配l ll oi 1 6 未分配1 ll101 3 2 未分配 1 1l ll o1 6 4 未分配 1 11 11 1 0l 1 2 8 未分配 1 l1 111 1 0ol 5 1 2 本地链路单播地址 l1 l11 11 01 01 1 0 2 4 本地站点单播地址 l ll ll l1 0l1l 1 0 2 4 多播地址 1 11 1 1 ll l 1 2 5 6 i p v 6 地址类型 i p v 6 协议地址分为单播地址、多播地址和任播地址三类【9 】o 单播地址( u n i c a s ta d d r e s s ) :它是一个单接口的标识符,用于唯一确定某个 i p v 6 节点的一个接口。一个节点可以具有多个i p v 6 网络接口。i p v 6 协议中的单 播地址有可聚合全球单播地址、链路本地单播、局部单播、回环、未指定及兼容 地址。 多播地址( m u l t i c a s t a d d r e s s ) :亦称为组播地址,是一组i p v 6 接口的标识符, 这些接口通常属于不同的节点。发送到多播地址的数据包会被送至该多播地址标 识的所有接口上。i p v 6 协议使用多播完成了i p v 4 协议中广播的功能。如f f 0 1 :1 表示节点本地范围所有节点的多播地址;f f 0 2 :l 表示链路本地范围所有节点多 播地址;f f 0 1 :2 表示节点本地范围所有路由器多播地址;f f 0 2 :2 表示链路本地 范围所有路由器多播地址;f f 0 5 :2 表示站点本地范围所有路由器多播地址。 任播地址( a n y c a s t a d d r e s s ) :亦称为泛播地址,是一组i p v 6 接口的标识符。 任播地址标识的这些i p v 6 接口通常属于不同的节点。网络巾发送到一个任播地 址的数据包会被传送到该地址标识的所有接口中的一个。一般情况下,根据路由 协议计算所有接口的距离,然后选择其中距离“最近”的一个接口。如:向d n s 服务器发送服务请求。 2 2i c m p v 6 协议 基于a r m 的精简i p v 6 协议栈的研究与设计 i c m p v 6 ( i n t e m e tc o n t r o lm e s s a g ep r o t o c o lv e r s i o n6 ) 协议定义在i p v 6 协议簇 的网络层,用于报告i p v 6 节点数据包处理过程中的错误消息并完成一些网络诊 断功能。i c m p v 6 是i p v 6 协议体系的一个重要的组成部分,所以每个i p v 6 节点 都必须完全实现i c m p v 6 基本协议的内容。i c m p v 6 在实现i c m p v 4 基本功能的 基础上,提供了简单的故障排除回应服务,并去掉了一些不再使用的消息类型。 同i p v 4 协议中的i c m p v 4 相比较,i c m p v 6 增加了新的功能,它实现了i p v 4 协 议中两个属于不同协议的功能:多播侦听者发现( m u l t i c a s tl i s t e n e rd i s c o v e r y , m l d ) 和邻居发现( n e i g h b o rd i s c o v e r y , n d ) 。i c m p v 6 协议同i c m p v 4 协议是不兼 容的,是两个不同的协议。 2 2 1i c m p v 6 的报文格式 每个i c m p v 6 消息前面都有一个i p v 6 报头及零个或多个i p v 6 扩展报头。在 i p v 6 首部中用n e x th e a d e r 字段值5 8 ( 0 x 3 a )

温馨提示

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

评论

0/150

提交评论