




已阅读5页,还剩75页未读, 继续免费阅读
硕士学位论文-基于Linux平台的IPv6路由器的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
论文分类号TP319单位代码10183密级内部研究生学号200819吉林大学硕士学位论文基于Linux平台的IPv6路由器的设计与实现DesignandImplementationofIPv6RouteronLinux作者姓名王新颖学科专业计算机软件与理论导师姓名王德民及职称教授论文起止年月:2001年9月至2003年2月吉林大学硕士学位论文I目录目录.I提要.I第一章绪论.11.1研究背景.11.2IPV6综述.21.2.1IPv4面临的挑战.21.2.2IPv6的特点.41.2.3IPv6的发展现状及前景展望.61.3路由器技术.71.3.1路由器的基本概念及分类.71.3.2路由器的基本功能.81.4本文的主要工作.9第二章IPV6路由器的关键技术.112.1IPV6的关键性问题.112.1.1IPv6的报头.112.1.2IPv6的地址.142.2IPV4向IPV6的过渡.172.3IP路由器的关键技术.192.3.1路由算法与路由协议.192.3.2IPv6路由协议介绍.212.4小结.23第三章OSPF路由原理.243.1OSPF的主要功能.243.2OSPF原理.283.3OSPFV3协议说明.363.4小结.43第四章IPV6路由器的实现.44吉林大学硕士学位论文II4.1LINUX平台下软件路由器的实现.444.1.1Linux的网络功能.444.1.2Linux软件路由器的实现.454.2OSPFV3的设计与实现.474.2.1Linux中IP层的组织方式.484.2.2IPv6数据报在Linux中的处理.494.2.3OSPFv3的实现.51第五章系统测试.575.1实验环境.575.2路由调试工具.595.2.1工具Ping6.595.2.2工具traceroute6.605.3小结.62第六章总结.63参考文献.64致谢.68摘要.IABSTRACT.IV吉林大学硕士学位论文原创性声明.I吉林大学硕士学位论文I提要当前基于IP协议的计算机网络用户数量剧增,网络流量每六个月翻一番,比计算机CPU速度每18个月提高一倍还要发展得快得多。网络用户数量的增长,使得IPv4地址空间濒临枯竭,为了彻底解决IPv4地址空间不足的问题,IETF开发了下一代IP协议IPv6。为了使网络状况更加适应用户的需要,作为网络核心器件的路由器的不断升级换代也就成为大势所趋。OSPF是基于链路状态算法的动态路由协议,相对于基于距离向量算法的RIP,OSPF具有收敛时间短、占用网络带宽资源少等特点。OSPF的核心是一个分布式的、冗余的链路状态数据库,该数据库描述了网络拓扑结构,包括路由选择域中的路由器集合及其连接方式。采用链路状态数据库作为输入,每个路由器可以计算出其自身的IP路由表,从而正确的转发IP数据报。OSPFv3是支持IPv6的OSPF新版本,与OSPFv2的主要区别在于OSPFv3分组和LSA的首部中不再包含IP地址信息,这使得OSPFv3具有非协议相关性,成为“一种独立于任何具体网络的路由协议”。除此之外,所有基本的OSPF机制,如泛洪、区的组织以及路由计算等,在OSPFv3中都被保留了下来,这使得大部分的OSPFforIPv4的软件都可以重用。基于OSPF协议的种种优点,本文着重阐述OSPF的基本原理以及实现Linux下的IPv6软件路由器,以及支持IPv6的动态路由协议OSPFv3。吉林大学硕士学位论文1第一章绪论1.1研究背景当今世界,Internet已成为全球最通用的词汇。1995年10月24日,美国联邦委员会为Internet做出了如下定义21:“Internet是一个全球性的信息系统,系统中的每台主机都有一个全球唯一的主机地址,地址格式通过IP协议定义。系统中主机与主机间的通讯遵守TCPIP协议标准,或是其它与IP兼容的协议标准来交换信息。在以上描述的信息基础设施上,利用公网或专网的形式,向社会大众提供资源和服务。”该定义指出了IP协议在Internet发展中所起到的基础性的地位。IP协议是网络层的重要协议,是实现多个网络互联的关键,它的基本任务就是通过互联的网络传送数据报。网络层向传输层提供服务,从传输层取得数据,通过网络接口层传给目的主机的网络层。也就是说,IP负责将应用程序和传输网络分开,即允许用户在网络的不同部分使用不同的技术。70年代,美国国防部开发了IP,并逐步发展成为今天广泛使用的IPv4,这在过去的20多年中被认为是一项伟大的壮举。IPv4的主要特征是:1、提供统一的寻址2、最大努力的传送数据报90年代初,出现了WWW服务,由于Web与IP网的特性极为适配,Internet得以爆炸性发展。基于IP协议的计算机网络用户数量剧增,网络流量每六个月翻一番,发展速度比计算机CPU的每18个月提高一倍的速度还要快得多。随着Internet的指数增长,IPv4的问题也逐渐显露出来,IPv4的不足主要表现在:1、地址空间枯竭2、路由表急剧膨胀3、无法提供多样的QoS吉林大学硕士学位论文2其中矛盾最大最危急的一个问题就是地址空间的枯竭,即没有足够的地址来满足全球的需要。为了彻底解决这一问题,IETF开发了下一代IP协议IPv6,以用来解决目前IPv4所存在的主要弊病。为了使网络状况更加适应用户的需要,作为网络核心器件的路由器的不断升级换代也就成为大势所趋。1.2IPv6综述近年来,Internet应用及规模飞速发展,作为Internet中的核心技术IPv4功不可没。IPv4以其简洁有效取得了巨大的成功,但是IPv4的设计者们并没有预料到网络会发达到今天的发展速度和规模,到九十年代,IPv4的缺陷和危机逐渐暴露出来。1.2.1IPv4面临的挑战Internet协议的第4版(IPv4)为TCPIP协议族和Internet提供了基本的通信机制。IPv4可以将许许多多的主机连接在一起,并已经在全球Internet上成功地连接了数以千万计的主机。然而,就像被过度使用的桥梁或高速公路一样,IPv4已经走到了尽头并且必须马上升级。IPv4的问题主要表现在以下几个方面:一、IPv4地址空间的危机IPv4地址为32位长,理论上有超过20亿个地址。传统上将每个IP主机地址分为“网络地址”和“主机地址”两部分,并按照网络地址将IP地址分为五类,其中有三类用于Internet网络。A类网络只有126个,理论上每个网络的主机数最多可达一千六百万台;B类网络大约16000个,理论上每个网络可支持超过65000台主机;C类网络超过两百万个,每个网络上的主机数量不超过255个。对于大多数机构来说,一个A类网络的一千六百万个主机地址和一个B类网络的65536个地址都太大了,而且这两类地址的首部又不足以为Internet内的所有中型网络编址。一个合理的建议是用C类网络代替A类和B类网络;但由于C类地址只有256个本地标识符,当吉林大学硕士学位论文3使用C类网络的公司内部用户超过256时,他必须申请另一个C类网络,这就直接导致了网络数目的增长。网络数目(netnumber)的增长不仅导致地址不够使用,更导致了路由表的迅速增长。各级路由表中的条目过度增长,路由选择的等待时间增大,最终结果是导致路由器不堪重负,甚至因此而崩溃。当前,路由器的处理速度已经成为阻碍Internet发展的瓶颈。二、IPv4地址管理与配置IPv4地址的管理与配置相当复杂,需要设置主机名、IP地址、子网掩码、默认路由器及其它一系列参数,不仅费时而且代价高昂。IPv4的设计者提出了三种地址的分配机制:自动分配:主机申请IP地址,然后获得一个永久地址,可在每次连接网络时使用。手工分配:服务器根据网络管理员提供的表格为每个主机分配一个特定的IP地址。无论主机是否需要,这些地址都将被保留。动态分配(DHCP):服务器按照先来先服务的方法分配IP地址,主机在一个特定时间范围内使用该IP地址,在该地址“借用”期满后归还。自动分配可能占用更多的IP地址;手工分配意味着每个IP地址的利用率不高;动态分配虽然在一个大的用户数量的前提下共享少量的IP地址,然而IPv4的DHCP却无法实现真正的即插即用。三、IP的安全性很长时间以来,安全性都不被认为是网络层的任务。数据加密、身份认证等功能一般都交由高层处理。虚拟专用网(VPN)软件和硬件产品可以对一个IP数据报加密,再使用隧道发送出去,然而却缺乏统一的标准。IETF的IP安全性(IPsec)工作组一直致力于设计一种机制和协议来同时保证IPv4和IPv6业务流的安全性。IPsec的目标是使这些机制可用,并在IPv6中集成更加完整的安全性。为了彻底解决IPv4存在的问题,IETF针对IPv4的缺陷提出了IPv6,经过10年左右的发展,IPv6技术目前已被公认为是IPv4技术的未来升级版本。吉林大学硕士学位论文41.2.2IPv6的特点IPv6作为InternetProtocol的新版本,其根本目的是继承和取代IPv4。IPv6保持了IPv4的大多数概念,如IPv6还支持无连接的传递,允许发送方选择数据报的大小,要求发送方指明数据报在到达终点前的最大跳数,以及大部分选项等。但IPv6改变了协议的许多细节,如使用更大的地址空间,尤其是IPv6修订了IPv4的数据报格式,用一系列固定格式的首部取代了IPv4中可变长度的选项字段。IPv6中的变化体现在以下五个重要方面:一、地址容量的扩展IPv6的地址长度由IPv4的32bit扩展到128bit,可能的地址为数1282个。全局unicast地址采用支持无分类域间路由(CIDR)的地址聚类机制,可以支持更多的地址层次和更多的节点数目,并且使自动配置地址变得更加简单。为了地址分配和修改的方便,IPv6允许给一个给定的网络指派多个前缀,也允许对一个主机的给定接口同时指派多个地址。二、首部格式的简化IPv6的另一个主要进步就是对包头的简化。尽管IPv6的地址是IPv4的四倍,但是IPv6的基本报头只是IPv4基本报头长度的二倍。IPv4中包含至少12个不同字段,没有选项时长度为20字节,而包含选项时可达60字节。IPv6使用了40字节固定格式的包头并减少了需要检查和处理的字段的数量,简化了路由器的操作,降低了路由器处理分组的开销,加快了路由器处理分组的速度,提高了吞吐率。此外,IPv6引入了结构化的扩展报头,取消了对扩展的可选项长度的严格限制,有利于更有效的转发数据报,同时为今后增加新的功能提供了灵活性。三、支持扩展和选项的改进IPv6数据包头中的“下一个头(NextHeader)”域,指向数据包头的扩展部分,这样便可以在如此简单的结构里提供更多可选的特征。同IPv4一样,IPv6允许数据报包含可选的控制信息,但在IPv4头中必需的字段现在只是IPv6的选项。而且,选项出现在扩展头部中,使吉林大学硕士学位论文5得路由器只有在必要的时候才检查和处理这些选项头,否则可以简单的跳过选项,如此就加速了分组处理的速度。四、数据流标签的能力IPv6实现了流概念20:流指的是从一个特定源发向一个特定(单播或者是组播)目的地的包序列,源点希望中间路由器对这些包进行特殊处理。IPv6头字段中的流标签把单个包作为一系列源地址和目的地址相同的包流的一部分。同一个流中的所有包具有相同的流标签。路由器需要对流进行跟踪并保持一定的信息,这些信息在流中的每个包中都是不变的。这种方法使路由器对流中的包的处理可以与其他包不同,路由器无需对每个包头重新处理,因此处理速度更快。五、认证和保密的能力IPv6利用数据包头的扩展部分可提供路由器级的安全性。IPv6使用了两种安全性扩展:IP身份验证头(AH)3和IP封装安全性净荷(ESP)4。IPv6的身份验证头利用报文摘要功能对包的安全可靠性进行检查和计算。发送方计算报文摘要并把结果插入到身份验证头中,以便于接收方确认数据在传输过程中没有被改变。封装安全性机制可以用来加密IP数据包的净荷,或者在加密整个IP包后以隧道方式在Internet上传输。也就是说,一方面IPv6数据包的接收者可以要求发送者首先利用IPv6认证头进行“登录”,然后才接收数据包,这种登录是算法独立的,可以有效地阻止网络“黑客”的攻击;另一方面,利用IPv6的封闭净荷加密数据包,这种加密也是算法独立的,这意味着可以安全地在Internet上传输敏感数据,不用担心被第三方截取。综上所述,IPv6的扩展地址意味着IP可以继续增长而无需考虑资源的匮乏,该地址结构对于提高路由效率有所帮助;对于包头的简化减少了路由器上所需的处理过程,从而提高了选路的效率;同时,改进对头扩展和选项的支持意味着可以在几乎不影响普通数据包和特殊包选路的前提下,适应更多的特殊需求;流标记办法为更加高效地处理包流提供了一种机制,这种办法对于实时应用尤其有用;身份验证和保密方面的改进使得IPv6更加适用于那些要求对敏感信息和资源特别对待的商业应用。吉林大学硕士学位论文61.2.3IPv6的发展现状及前景展望IPv6的出现引起了世界重要研究机构和公司的重视,随着IPv4地址空间耗尽的迫近,人们加紧了对下一代互联网协议IPv6的研究。目前IETF正在制定大量的IPv6相关标准,包括地址结构、域名解析、安全、自动配置、邻居发现、路由协议等方面。到2001年年初,IPv6协议的基本框架已经逐步成熟,并在越来越广泛的范围内得到实践。由于IPv6和IPv4在协议头格式上不兼容,IETF成立了专门的工作组ngtrans,研究从现有的IPv4网络向IPv6网络的过渡策略和必要的技术。作为向下一代互联网络协议过渡的重要步骤,IETF于1996年建立了全球范围的试验床(Testbed),称作6Bone17。6Bone是一个虚拟的网络,以隧道(tunnel)的方式通过基于IPv4的互联网实现互联。1998年底,面向实用的全球性IPv6研究和教育网(6REN)开始启动,建立了物理的以ATM为中心的IPv6洲际网络。1998年6月我国国家教育科研网CERNET也加入了6Bone,网址18,并于同年12月成为其骨干成员。CERNET建立了IPv6试验床并在中国的IPv6领域开展了开拓性的研究。从1999年底,CERNET与Nokia合作,启动了Internet6计划,准备首先在中国的若干高校搭建IPv6网络,形成一个大规模的IPv6研究和试验网络。到现在,试验床正式使用部分已经发展了2个地区级的试验网络;学生试验部分已经建立了4个地区IPv6网络(如表1-1)。正式使用部分:cernet华东(北)地区eastn-cn3ffe:3206:321999年6月成立cernet东北地区northe-cn3ffe:3208:321999年6月成立学生实验部分:华北地区学生ipv6实验床no-expr3ffe:3211:32(清华)1999.3成立西北地区学生ipv6实验床nw-expr3ffe:3212:32(西电)1998.12成立华中地区学生ipv6实验床ce-expr3ffe:3215:32(国防科大)1999.5成立华东地区学生ipv6实验床en-expr3ffe:3216:32(科大)1999.6成立表1-1吉林大学硕士学位论文7目前FreeBSD、Solaris、Linux、Unix上都已经有了IPv6协议栈的实现,同时许多大厂商宣称,即将在产品中支持IPv6,如Cisco、NortelNetworks、Sun、Microsoft等。以Cisco为例,其路由器操作系统IOS从版本12.1已开始支持IPv6,并且IOS的后续版本将加以改进,提高IPv6的性能,而且硬件平台也将采用支持该协议的配置。Microsoft也已经提供了WindowsNT和Windows2000平台的IPv6协议栈,并且即将在其流行的浏览器InternetExplorer中加入IPv6的支持。1.3路由器技术近十年来,随着计算机网络规模的不断扩大和Internet的迅猛发展,路由技术在网络技术中已逐渐成为关键部分,路由器也随之成为最重要的网络设备。在目前的情况下,任何有一定规模的计算机网络,无论采用的是快速以太网技术、FDDI技术,还是ATM技术,都离不开路由器,否则网络就无法正常运作和管理。1.3.1路由器的基本概念及分类1977年,国际标准化组织(ISO)制定了开放系统互连基本参考模型(OSI),采用分层结构技术将整个网络的通信功能分为职责分明的七层,由高到低分别是:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层,只有对等层才能相互通讯。路由器就工作在第三层(网络层)。路由器的基本用途是连接多个逻辑上分开的网络,必须具有判断网络地址和选择路径的功能,能够在多个网络互连环境中建立灵活的连接,并可用完全不同的数据分组和介质访问方法连接各种子网37。路由器属于网络层的一种互连设备,它不关心各子网使用的硬件设备,但要求运行与网络层协议相一致的软件。37当前路由器分类方法各异;各种分类方法有一定的关联,但是并不完全一致。从能力上分,路由器可分高端路由器和中低端路由器。各厂家划吉林大学硕士学位论文8分并不完全一致。通常将背板交换能力大于40G的路由器称为高端路由器,背板交换能力在40G以下的路由器称为中低端路由器。从结构上分,路由器可分为模块化结构与非模块化结构。通常中高端路由器为模块化结构;低端路由器为非模块化结构。从功能分,路由器可分为通用路由器与专用路由器。一般所说的路由器为通用路由器。专用路由器通常为实现某种特定功能对路由器接口、硬件等作专门的优化。从性能上分,路由器可分为线速路由器以及非线速路由器。通常线速路由器是高端路由器,能以媒体速率转发数据包;中低端路由器是非线速路由器。但是一些新的宽带接入路由器也有线速转发能力。从网络位置划分,路由器可分为核心路由器、汇接路由器与接入路由器。核心路由器位于网络中心,也称为骨干路由器,通常使用高端路由器;汇接路由器位于层次化网络的中间位置,位于核心路由器与接入路由器之间,起到承接的作用;接入路由器位于网络边缘,通常使用中低端路由器,要求相对低速的端口以及较强的接入控制能力。路由器分类方法还有很多,并且随着路由器技术的发展,可能会出现越来越多的分类方法。1.3.2路由器的基本功能互联网即网间网,它把许多自治域(AS)通过IP协议互联在一起。这些自治域具有不同网络地址,而这些网络又可能由不同的子网组成。出入一个自治域网络子网的数据都要经路由器转发,路由器决定数据是否需要转发、能否转发、如何转发、转发得怎样。根据公开发表的研究报告,从源IP地址出发到目的IP地址的用户数据中,80%以上沿途必须经过路由器,20%以下局限在子网内流动。可以说,没有路由器就没有互联网,没有高性能的路由器就没有高性能的互联网。因此,路由器在互联网中具有极其重要的地位和作用,是互联网中的关键设备。其基本功能有46:一、IP数据包的转发转发IP数据包是路由器最基本的功能。当一个IP分组到达路由器时,路由器首先要查看报头的格式,根据“版本”字段判断是IPv4数吉林大学硕士学位论文9据包还是IPv6数据包;之后将“目的IP地址”与路由转发表进行比较,以决定用于转发该数据包的路径;此外,还需参考“源IP地址”和“协议”两字段,以决定该数据包是否有权限访问该路由器,若有权访问,则将数据包送到相应的输出队列种,解析下一跳IP地址对应的物理地址,把数据包封装在帧中传输。以上任何一个环节出现问题,IP数据包就要被抛弃;同时,路由器产生ICMP差错包文,报告相应的差错信息。二、路由的计算和更新所谓路由技术,简单说是采用一种或者多种策略,为数据分组从源地址到目的地址的转发选择一条或者几条理想的路径。这种技术是通过路由设备上运行的路由协议来实现的。41最初的路由器主要采用静态路由技术。随着网络规模迅速扩大和网络拓扑结构频繁变化,静态路由暴露出配置麻烦、人为干预、维护费用高等问题。因此,让路由器根据动态路由协议自动、实时的计算、更新和维护路由表,逐渐成为路由器的主要功能之一。当然,不是抛弃静态路由不用,而是静态路由与动态路由配合使用,并且当静态路由与动态路由发生冲突时,以静态路由为准。路由协议是路由计算和更新的依据,根据路由器选路的范围不同而不同。如果在自治系统网络内部选路,路由器使用的是内部网关协议(IGP);如果是在自治系统之间选路,路由器使用外部网关协议(EGP)。当然,自治系统边缘的路由器可能同时使用内部网关协议和外部网关协议。除此之外,一个路由器还要提供网络管理和系统支持机制,实现网络支持的流量控制和差错指示,以及支持RFC1812中规定的各种基本协议,如IP、TCP、UDP、ICMP等。1.4本文的主要工作伴随着Internet网络的发展壮大,用IPv6代替IPv4的要求也日益被人们所关注。IPv6改进了IPv4的一些弊端,首先IPv6具有128位地址空间,从而使地球表面每平方米包含有超过1000个IPv6地址,吉林大学硕士学位论文10极大地满足了地址增长的需求;第二,IPv6继承了IPv4的DHCP自动配置服务,由此达到自动设置主机IP地址和网络参数的目的;第三,在IPv6分组的头部中定义了两个重要参数:优先级和流标识字段,从而提供更好的质量服务(QoS);第四,IPv6中包含了一套用于保护IP通信的IP安全协议(IPSec),可以简化安全虚拟专用网(VPN)的实现。尽管同IPv4相比,IPv6具有明显的优势,但协议系统的修改可能会给现有的应用造成很大的影响,因此必须小心谨慎地实施以降低风险。而作为网络核心设备的路由器的升级和换代,更是整个网络过渡的关键所在,需要相当的专业技术从而确保网络的平滑转换,许多网络厂商正在组织力量进行IPv6路由器的设计与实现。在这样的技术背景下,本文将要做以下几方面的工作:第一,建立一个支持IPv4IPv6双协议栈的实验系统,并在此基础上实现IPv6网络互连。第二,以现有实验环境为依托,建立支持IPv4IPv6双协议栈的路由器。将现有IPv6网络化分为几个子网,并通过该路由器进行互连。并实现内部IPv6数据通过隧道在IPv4网络中发送。第三,实现具有动态路由功能的IPv6路由器。以满足大型网络的需要。吉林大学硕士学位论文11第二章IPv6路由器的关键技术由于IPv4自身的弊端和局限性限制了Internet的发展,新一IP代协议IPv6应运而生。它有着巨大的地址空间,并且本身提供了安全性的支持,具有IPv4不可比拟的优点。但要从IPv4网络过渡IPv6到不是一蹴而就的,而是一个逐渐渗透的过程。只有从一个一个节点升级到IPv6开始,逐渐形成IPv4网络海洋中的一个个小岛,最后IPv6小岛互相连接形成大陆,由量变到质变,最终形成网络。2.1IPv6的关键性问题同IPv4相比,IPv6最大的变化是地址和报头结构的变化,因此建立IPv6网络的最基本也是最关键的问题是:报头格式、地址和路由结构。2.1.1IPv6的报头IPv6的报头格式在IPv4的报头的基础上作了简化。一方面,所有包头长度统一,简化了中间路由器的操作;另一方面,IPv6使用结构化的扩展头来实现选项功能,增加了协议的灵活性。1一、IPv6的报头格式作为Internet协议的不同版本,IPv6是在IPv4的基础上发展而来的。为了说明IPv6的报头,本人将IPv6报头(图2-1)与IPv4的报头(图2-2)加以比较。版本优先级流标签有效载荷长度下一报头跳限制源地址目的地址图2-1吉林大学硕士学位论文12版本报头长度服务类型总长度标识符标志分段偏移量存活时间协议报头检验和源地址目的地址选项填充图2-2通过比较两种报头格式可知,IPv6对IPv4做了较大的改进:首先,IPv6报头中取消了6个字段:报头长度(HeaderLength)、服务类型(TypeofService)、标识符(Identification)、标志(flag)、分段偏移量(FragmentOffset)以及头校验和(HeaderChecksum);其次,在IPv6中有三个控制字段被重新命名,并在一定条件下被重新定义:总长度(Length)、服务类型(TypeofService)、生存时间(TimeofLive);最后,增加了一个新的字段:流标识(FlowLabel)表2-1详细的列出了IPv4和IPv6的主要差别38:IPv4IPv6地址长度32位地址长度128位IPsec为可选扩展协议IPsec成为IPv6的组成部分不支持QoS包头中的流标识字段提供数据流识别功能,支持不同QoS要求数据分片由路由器和发送主机两者完成路由器不再做数据分片工作,数据分片由发送主机完成包头包括完整性检查和包头中不包括完整性检查和包头中包含可选项所有可选内容全部移至扩展包头中ARP协议对IPv4地址进行解析组播邻居请求报文替代了ARP请求帧IGMP协议用于管理本地子网成员由MLD报文替代IGMP管理本地子网ICMP路由器发现为可选协议,用于确定最佳默认网关的IPv4地址ICMPv6路由器请求和路由器发布报文为必选协议吉林大学硕士学位论文13IPv4IPv6使用广播地址发送数据流至子网所有节点没有广播地址,而是使用面向链路局部范围内所有节点的组播地址通过手工操作或DHCP配置地址地址自动配置在DNS中,IPv4主机名与地址的映射使用A资源记录类型来建立IPv6主机名与地址的映射使用新的AAAA资源记录类型来建立IN-ADDR.ARPA域提供IPv4地址-主机名解析服务IP6.INT域提供IPv6的地址-主机名解析服务支持576字节数据包(可分片)支持1280字节数据包(不分片)表2-1需要特殊说明的是,IPv6中4位优先权字段可用于初始节点和中间节点,标识和区分不同IPv6包的类别或优先级。而24位流标签字段,被发送方用来标记那些要求IPv6路由器进行特殊控制的分组,如非默认的QOS或“实时”服务等。不支持流标签功能的主机和路由器应在初始分组时将此字段设置为零,在转发分组时保持不变,在收到分组时忽略该字段。二、IPv6的扩展首部在IPv6里,可选的网络层信息被放在一个独立编码的报头里,放在包中IPv6报头和上一层协议报头之间。这样的扩展报头为数不多,每个都被一个明确的“下一报头”值所标识。一个IPv6分组可以包含有零个、一个或多个扩展报头,每个扩展报头都被前一个报头的“下一报头”字段所标识1。如图2-3所示:IPv6报头下一报头=TCPTCP报头+数据IPv6报头下一报头=路由报头路由报头下一报头=TCPTCP报头+数据IPv6报头下一报头=路由报头路由报头下一报头=分片报头分片报头下一报头=TCPTCP报头+数据图2-3吉林大学硕士学位论文14当在一个包中使用多于一个扩展报头时,建议以表2-2的顺序排列这些扩展报头。IPv6报头逐跳(Hop-by-Hop)选项报头目的地址选项报头1路由报头分片报头授权报头(AH)封装安全有效载荷(ESP)目的地址选项报头2IPv6报头表2-2除了“目的地址选项报头”最多出现两次,每个扩展报头应当仅出现一次。若上层协议报头是另一个IPv6报头,它后面还可以有自己的扩展报头,这些扩展报头以同样建议的顺序独立排列。2.1.2IPv6的地址为了弥补IPv4地址空间的不足,IPv6将地址扩大到128位2。一、IPv6地址的表示方法虽然IPv6解决了地址容量不够的问题,但是巨大的地址范围又带来了新问题:维护互联网的人们必须阅读、输入和操纵这些地址。很明显,二进制表示方法是不可取的。但是在IPv4中使用的点分十进制表示方法也比较麻烦,不能充分有效而简洁的表示这些地址。为此人们使用十六进制数来表示IPv6地址,常用的习惯表示方法主要有三种:1、较常用的形式是冒号十六进制表示法:x:x:x:x:x:x:x:x,其中x是16bit的十六进制数值,比如:1由IPv6的目的地址以及路由首部列出的后续地址中第一个出现的目的地址处理2仅由最终的目的地之处理吉林大学硕士学位论文1568E6:8C64:FFFF:FFFF:0:1280:98A:FFFF3FFE:FFFF:0:F100:0:0:0:12、在IPV6的地址表示中可能出现长串的0,为了便于书写,可以使用下面特殊的方法来压缩零。用一对冒号“:”来取代多组16bit的零。需要注意的是,为了防止地址表示歧义,“:”在一个地址中只能出现一次。此外,“:”还可用于压缩地址中开头的零和结尾的零。例如下面的地址:1080:0:0:0:8:800:200C:417A单播地址FF01:0:0:0:0:0:0:101组播地址0:0:0:0:0:0:0:1回环地址0:0:0:0:0:0:0:0不确定地址可以表示为:1080:8:800:200C:417A单播地址FF01:101组播地址:1回环地址:不确定地址3、另一种变通的形式在处理IPv4和IPv6混合环境下的地址时十分方便,这种形式是:x:x:x:x:x:x:d.d.d.d,此处的x是用16进制表示的16bit数;d表示地址中的8位,用十进制表示,是标准的IPv4表示法。比如:0:0:0:0:0:0:0:0:0:0:0:FFFF:8或者压缩为:::FFFF:8二、IPv6的地址类型IPv6地址的开头几位表示地址的类型,包含这些位的可变长字段叫做格式前缀(FP)。用前缀表示的地址类型如表2-3所示:分配情况前缀(二进制)占地址空间的百分率保留000000001256未分配0000000111256吉林大学硕士学位论文16分配情况前缀(二进制)占地址空间的百分率为NSA地址保留00000011128为IPX地址保留000001101128未分配00000111128未分配00001132未分配0001116可集聚全球单播地址00118未分配01018未分配01118未分配10018未分配10118未分配11018未分配1110116未分配11110132未分配111110164未分配11111101128未分配1111111001512链路本地单播地址111111101011024站点本地单播地址111111101111024组播地址111111111256表2-3IPv6地址是接口或接口集合的128bit标识符,IPv6地址有三类:1、单播(unicast)地址:单个接口标识符,发送给一个单播地址的数据包被传递到由该地址标识的网络接口上。2、任播(anycast)地址:标识符的集合,属于不同节点的一组接口共有一个标识符,送往任播地址的数据报只投递给由这一地址标识的一组接口中的一个,一般是选择一个到达该组的路径最短的接口。3、组播(Multicast)地址:标识符的集合,属于不同节点的一组接口共有一个标识符,送往组播地址的数据报将被投递给由这一组播地址所标识的每一个接口。吉林大学硕士学位论文172.2IPv4向IPv6的过渡为了保护在IPv4上的大量投资,作为互联网体系结构核心的IP协议必须具有相对的稳定性。因此,IPv4到IPv6需要一个漫长而稳定的过渡期。基于过渡时期基本的问题和商业要求的考虑,过渡方案的设计目标如下:1、逐步过渡:已有的IPv4网络节点可以随时升级,而不受限于相关网络节点运行IP协议的版本。2、逐步部署:新的IPv6网络节点可以随时增加到网络中。3、地址兼容:当IPv4网络节点升级到IPv6时,IPv4的IP地址还可以继续使用。4、降低费用:在升级时,只需很低的费用和很少的准备工作。除此之外,还要保证IPv4和IPv6设备之间的互操作性和实现简单过渡,为此IETF推荐了双协议栈、隧道技术、以及NAT等过渡方案5。一、IPv6IPv4双协议栈技术简单的说,双栈机制就是使IPv6网络节点同时支持IPv4和IPv6协议6。具体结构如图2-4所示。应用层协议TCPUDP协议IPv6协议IPv4协议链路层及物理层协议图2-4双协议栈的工作方式如下:1、若应用程序使用的目的地址是IPv4地址,则使用IPv4协议;2、若应用程序使用的目的地址是IPv6中的IPv4兼容地址,则同样使用IPv4协议;3、若应用程序使用的目的地址是非IPv4兼容的IPv6地址,则使用IPv6协议,并且很可能需要采用隧道等机制来进行传送;吉林大学硕士学位论文184、若应用程序使用域名作为目的地址,则先从DNS服务器那里得到相应的IPv4IPv6地址,然后进行相应的处理。二、隧道技术当一个分组被封装并作为载荷在另一个IP分组中携带时,这个IPv6分组就称为IPv6隧道分组(IPv6tunnelpacket)。在隧道分组的信源和信宿之间的转发路径就被称为一条IPv6隧道(IPv6tunnel)。这种技术就被称为IPv6隧道技术(tunneling)7。随着IPv6的发展,出现了一些被运行IPv4协议的骨干网络隔离开的局部IPv6网络(如图2-5),为了实现这些IPv6网络之间的通信,必须采用隧道技术。隧道机制就是将IPv6数据包做为数据封装在IPv4数据包里,使IPv6数据包能在已有的IPv4基础设施(主要是指IPv4路由器)上传输43。图2-5隧道技术的优点在于隧道的透明性,IPv6主机之间的通信可以忽略隧道的存在。但是,隧道只起到物理通道的作用,不能实现IPv4主机和IPv6主机之间的之间通信。三、网络地址转换技术网络地址转换技术(NetworkAddressTranslator,NAT)是将IPv4地址和IPv6地址分别看作内部地址和全局地址,或者相反8。例如,内部的IPv4主机要和外部的IPv6主机通信时,在NAT服务器中将IPv4地址(相当于内部地址)变换成IPv6地址(相当于全局地址),服务器维护一个IPv4与IPv6地址的映射表。反之,当内部的IPv6主机和外部的IPv4主机进行通信时,则IPv6主机映射成内部地IPv4IPv6IPv6IPv6隧道IPv6隧道IPv6IPv6隧道吉林大学硕士学位论文19址IPv4主机映射成全局地址。NAT技术可以解决IPv4主机和IPv6主机之间的互通问题。2.3IP路由器的关键技术路由技术发展到现在,已经很好的实现了异种网络的互连。路由器是负责在网络层对IP数据包进行转发的主要设备,它还负责对IP数据包进行灵活的路由选择。2.3.1路由算法与路由协议路由器的基本功能是实现IP数据报的转发。因此,实现一个软件路由器的关键在于路由软件,一个路由软件通常由路由算法和路由协议两部分组成41。一、路由算法路由算法是实现路由协议的基础。路由算法的种类很多,得到广泛应用的有两种:距离向量算法和链路状态算法,目前大多数的路由协议都是基于这两种路由算法。1、距离向量算法(distancevectoralgorithm)距离向量算法是基于下面的计算公式:D(ii)=0D(ij)=mind(ik)+D(kj)其中,D(ij)表示从节点i到节点j的最短路径,d(ik)表示从节点i到节点k的直接路径,即i、k之间没有中间节点。具体运算步骤如下:系统中所有的路由器都有一个路由表,所有目的地址都出现在表中,每一个表项的内容包括目的地址和下一跳地址,记为元组(NG)。路由器周期性的向邻据发送更新分组,更新分组的内容为路由表中的所有信息。邻居路由器接收并处理更新分组。设更新分组来自于G,根据更新吉林大学硕士学位论文20分组计算到目的地址N的路由开销为D,如果Dprocsysnetipv6confallforwarding#echo1procsysnetipv6ip_forward或直接将上述两文件置“1”,以实现双协议栈路由器的转发。图4-1为Linux下配置实现IP路由器的流程示意图50:图4-1至此,我们就实现了一个静态的IPv6路
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论