下一代互联网IPv6过渡技术与部署实例(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-06 01:58:20

点击下载

作者:戴源杨建袁源李忠超石启良张家燕编著

出版社:人民邮电出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

下一代互联网IPv6过渡技术与部署实例

下一代互联网IPv6过渡技术与部署实例试读:

前言

在全球互联网快速发展的时期,中国的互联网市场也有了突飞猛进的发展,用户数和上网时长随着网络规模的扩大也不断增加。我国互联网通信能力的快速提升,带动了我国宽带互联网的发展,宽带的快速普及推动了各项网络应用的发展。互联网及其应用快速发展,随之而来的是IPv4地址的大量消耗,IANA的IPv4地址在2011年2月3日已经分配完毕,5个RIR管理的地址空间中,RIR亚太地区已经分配完毕。而随着物联网的发展,所有的信息设备将会实现智能化联网,对IP地址的需求将越来越大。

业界早已认识到上述问题的严峻性,并且开展了一系列研究。在这种环境下,IPv6应运而生。1992年IETF成立工作组规划下一代互联网;1994年IETF会议决定正式提议IPv6发展计划;1995 年 IETF 发布 IPv6 第一个正式 RFC——RFC 1883;1998 年 IETF正式发布 IPv6标准规范——RFC 2460;2000 年以后周边协议开始增加对 IPv6 的支持;2005 年以后运营商关注过渡问题,过渡技术研究日益增多。

对比国际上其他国家,中国由于获得IPv4地址数量本身较少,而用户数又不断增多,需求显得尤为迫切。然而,由于没有商业利益的推动,网络运营商、应用开发商和信息设备制造商都不愿意大力推动。内容源匮乏、终端支持力度较弱、国家安全监管存在漏洞等因素导致互联网业务全程IPv6承载进展缓慢,必须依靠政府的引导来加快推进。前国务院总理温家宝2011年12月2日主持召开国务院常务会议,研究部署加快发展我国下一代互联网产业;2012年2月16日国家发改委办公厅发布“关于组织实施2012年下一代互联网技术研发、产业化和规模商用专项的通知”;2012年3月30日国家七部委联合发布“关于印发下一代互联网(“十二五”)发展建设的意见”。

在政府的大力推动下,各大运营商都出台了一系列具体措施予以落实并积极参与下一代互联网发展工作,以促进产业链的发展。本书作者即为协助大型网络运营商设计、规划IPv6的网络演进,参与IPv6项目试点的成员。在此项工作过程中作者也积累了一定的理论和实践经验。在查阅文献书籍的过程中,作者发现现有关于IPv6技术的书籍分为两类:一类侧重于理论和实验,另一类侧重于向IPv6过渡过程中各部分的具体方案。但是,既结合了理论和方案,又给出了具体实验场景、具体设备配置参考的书籍还不是很多,因此编纂此书,希望在普及IPv6基础知识、过渡技术的基础上,加入这些年参加IPv6项目试点的经验总结,以期给广大从事下一代互联网发展的IP从业人员一个实施方案和具体细节的参考。同时也可以让广大高等院校相关专业学生和网络技术爱好者在学习 IPv6 基础知识、过渡技术的同时,结合实践方案以加深理解。

全书分为三部分,共9章,各个部分的内容介绍如下。

第一部分:包括第1章到第3章,这部分讲述IPv6基础知识。

第1章为IPv6简介,介绍了地址枯竭形势和应对手段,引出IPv6的发展历程和技术的新特点。第2章为IPv6技术基础,介绍了IPv6地址结构、ICMPv6协议、ND协议、DHCPv6协议等基本协议以及PPPoE和IPoE这两种接入方式。第3章介绍IPv6多播技术,包括基础知识、多播地址、MLD 协议、IPv6 PIM 协议和部署策略。

第二部分:包括第4章到第7章,这部分首先介绍过渡方案,然后结合实际情况介绍网络、应用、终端的部署方案和策略。

第4章介绍IPv6过渡技术,主要有双栈、隧道、协议翻译技术等,然后对主流的转换技术双栈、DS-Lite、NAT64技术做了对比分析,阐述了过渡技术部署的策略。第5章结合运营商实际讲述了过渡技术的部署方案,包括网络部署、业务部署、IPv6地址规划、网络安全和业务溯源。第6章是内容和应用过渡的方案,从几个角度分类阐述,主要是IDC、典型内容和应用(包括网页、FTP、邮件等常见应用)、大中型和小型ICP、物联网等。第7章是终端演进的情况介绍,包括固网终端、无线终端、物联网终端等。

第三部分:包括第8章和第9章,第8章讲述了一个实验部署私网双栈和DS-Lite的实例,第9章讲述了一个实验部署IPTV业务系统IPv6过渡改造的实例。这部分有助于加深对前面章节的理解,对准备参与IPv6建设的数据人员也是一个较好的实际参考。

这部分结合了作者参加IPv6试点项目的实践经验,说明了实验的细节、流程、配置及实验中解决的各类问题,最后对实验方案做出小结。

本书由江苏电信下一代互联网推进办公室的主要成员执笔,主要由江苏电信资深专家杨建、李忠超以及江苏省邮电规划设计院戴源、袁源、石启良、张家燕、刘春林、王吉顺、胡波等多名专家和技术骨干联合编写。在书籍的编写过程中得到了华为技术有限公司和中兴通讯股份有限公司的大力支持,在此致以最衷心的感谢!由于编者水平所限,书中难免存在错误之处,欢迎各位读者批评指正!编者2013年8月第1章IPv6简介1.1 IPv4 向 IPv6 过渡的必然性

IP地址即互联网地址,是用来标志互联网终端的逻辑地址,具有唯一性。我们现在正在应用的网络互联协议是瑟夫 20 世纪70 年代创立的一种名为 IPv4(Internet Protocol version 4)的32位地址,也是世界上被广泛使用的网络互联协议的最重要组成部分。该机制通过编码的方式用 32 位二进制数来区分识别不同的主机,理论上最多有 32322−1 个地址,最多可以容纳2−1台主机(不包括虚拟子网)连入互联网,总地址数为42亿多。在当时,谁也没有想到这么大的容量也会用完。

早在18年前,有互联网专家就指出,由于IPv4技术本身存在着网络地址资源浪费的问题,加上网络的迅猛发展,IP 地址将很快耗尽。专家指出,在采用 A、B、C 3 类编址方式后,虽然方便了IP地址的管理,但浪费了上千万的地址,特别是B类地址。例如,一个需要300部电脑连上互联网的公司,使用一个C类地址(254个地址)是不够的;使用两个C类地址会使路由选择表爆涨,从而影响了外部路由协议的性能;另外的选择是使用一个 B 类地址(65534个地址),但却浪费了65234个地址。

而且,美国一些大学和公司占用了大量的IP地址。国际电信联盟副秘书长赵厚麟日前表示,美国人口只有3亿,但掌握的IP地址接近全球总数的40%,其中大部分一直被闲置。

另一方面,在互联网快速发展的国家,如欧洲很多国家,以及日本和中国由于得不到足够的IP地址,最后导致互联网地址耗尽和路由表爆涨。到目前为止,A类和B 类地址已经用完,只有C类地址还有余量。

另外,目前占有互联网地址的主要设备早已由20年前的大型机变为PC,宽带业务正在飞速发展中,访问Internet的终端类型越来越丰富,除了传统的PC,越来越多的其他设备也要连接到互联网上,包括PDA、手机、汽车、各种家用电器等。特别是手机,为了向第三代移动通信标准靠拢,几乎所有的手机厂商都在向国际因特网地址管理机构IANA申请地址。IANA的IPv4地址在2011年2月3日已经分配完毕,5个RIR管理的地址空间中,RIR亚太地区已经分配完毕。而随着物联网的发展,将会使所有的信息设备智能化联网,如传感器、RFID读卡器、智能楼宇设施等要接入互联网,都需要有IP地址的支持,物联网的发展将需要更多的地址空间,IPv4显然已经无法满足这些要求。

为解决 IPv4 地址枯竭的现象,IPv6(Internet Protocol version 6)应运而生。

IPv6是IETF设计的用于替代IPv4的下一代互联网协议。其最主要的特点就是地址空间几乎无限。与IPv4不同的是,该协议规定的地址96长度为128bit,地址空间比IPv4增大了2倍,可以很好地解决IP地址分配不足的问题。目前IPv4正在向IPv6过渡。1.1.1 国际国内 IPv4 地址枯竭形势

2011年2月3日,国际互联网名称和编号分配公司(ICANN)公布了一条“可以载入史册的”新闻:“最后一批IPv4地址今天分配完毕,IP地址总库已经枯竭。”该消息一经传出,立即引起全球网民的高度关注。

谷歌副总裁兼首席互联网顾问文顿•瑟夫有“互联网之父”之称,他曾预言“IP 地址即将在几周内用完”,没想到在他发表此言论的两周后,这句话就得到了印证。

我们从中国互联网络信息中心(CNNIC)了解到,截至2010年年底,我国持有的IPv4地址数量为2.77亿,还不到全球IP地址总数的10%,而中国互联网用户达4亿多,远远超过了中国IP地址的容量。如今,IP地址耗尽,中国网民会不会面临无网可上的困境?

CNNIC的IP地址业务负责人赵巍在2011年年初曾经认为:“IP地址用完的影响不会马上显现。”在我国拥有的IPv4地址中,运营商手中掌握了部分IPv4地址可以供使用,但随着运营商业务的发展,如果不采取措施,运营商手中的IPv4地址仅仅能够支撑1~2年。

专家预计,IP 地址资源的紧缺与各国的加速争抢会形成恶性循环,未来企业获得 IP 地址的成本会越来越高。DCCI(中国互联网数据中心)总经理胡延平曾对媒体表示:“IPv4地址枯竭对于提供互联网数据(IDC)服务的企业会造成困扰。”比如某企业要在IDC上托管服务器,IDC会分配一个IP地址。现在IPv4地址枯竭了,企业可能就要共享一个IP地址,IDC的服务就会大打折扣。绝大多数 IDC 厂商由于其 IP 资源需要通过电信运营商购买,价格已经从原来的几十元升至几百元,到达最终用户的手中的价格自然更贵。

IPv4 地址短缺虽然短期内影响不大,不过专家提醒,如果长期 IP 地址耗尽的问题得不到解决,对于普通网民来说,IP地址资源的紧缺可能导致上网费用上升。对于新入网用户来说,如果分不到IPv4地址,那么访问现有的互联网资源和服务将受到很大限制;对于运营商和内容提供商来说,没有足够的IPv4地址会制约其提供新的服务。1.1.2 应对 IPv4 地址枯竭的手段

为了应对地址枯竭的严峻形势,人们早就开始研究应对的手段,概括来说主要有存量地址的挖潜、私网地址的引入、引入IPv6地址3种。(1)存量地址的挖潜

对存量地址的挖潜就是利用管理手段和技术手段重新梳理已经使用的IPv4地址,通过回收、合并、调剂、复用等方法使IPv4地址的分配更加合理,使用的效率更高。原有的地址规划一般是通过需求预测来分配的,但后来的使用情况与事先的预测不完全一致,多少不均。因此需要运用管理手段来重新进行地址规划。但这种方式在一个运营商或企业之内可以根据情况采用,不同运营商或企业之间很难实行。目前运营商内部的地址挖潜主要是:零散地址回收、合并,控制专线互联网业务每个用户地址的使用数量,推动萎缩型业务退网,同类型业务地址之间的调剂、复用,等等。

通过技术手段进行存量地址的挖潜主要是通过动态地址分配和无域间路由(CIDR)来实现。很多业务都采用了动态地址分配的技术,即在用户需要公网地址的时候,从地址池中临时分配一个地址,用户下线时释放该地址。采用这种方法,公网地址数量的配置需要根据用户上网行为合理配置,以达到提高地址利用率的目的。另外一种方法,无域间路由技术则已经为大家熟知,并广泛运用于地址分配领域。它支持任意长度的子网掩码,可以按需一级一级地分配地址。(2)私网地址的引入

私网地址是应对地址枯竭的一种非常快速和有效的手段。私网地址在IPv4地址中定义了10/172/192 3 段,不同网络的私网地址可以重复,因此不能在公网上路由。私有地址用户访问公网时必须使用 NAT 技术转换为公网地址。NAT 技术可以将一个地址加上端口号后分给多个用户使用,大大节约了IPv4地址的使用。根据现网统计,1个公网地址可转换60个私网地址,即满足60个在线宽带用户的地址需求。这种方法大大节约了公网IPv4地址,解决了私网地址之间冲突的问题,并且隐藏了私网的拓扑结构,相对安全和易管控。但是NAT也带来了一系列的问题:增加了报文的延迟;增加了维护和配置的复杂性;破坏了互联网端到端的特性,导致某些应用无法使用(如 FTP、即时通信等);用户溯源困难;大容量的 NAT设备易成为网络瓶颈,等等。(3)引入IPv6地址

IPv6是针对IPv4地址的不足而设计出来的一套协议,对网络架构、128应用等基本无影响。IPv6地址有128位,2个地址的数量远远大于32位的IPv4地址数。海量的地址空间不仅可以支持人之间、人物间的通信,也可以支持物物间的通信,极大地支持了物联网业务的发展。它在安全性和扩展性上也较IPv4地址做了改进,但是它在协议标准、设备及终端支持、产业链等方面尚未完善。1.1.3 产业链各方向下一代互联网演进策略

2011年,IPv6产业链整体处在规模试点阶段。从总体发展来看,呈“纺锤形”不均衡发展,即:网络准备度好,应用匮乏,终端改造成本高。(1)固网终端

终端改造有难度,改造成本高。主流的PC操作系统Windows XP不支持IPoEv6/PPPoEv6,需开发软终端才能完成 IPv6 认证和接入,Windows 7、Windows Vista 支持 IPv6,但非主流;桥接型网关可透传双栈业务,不需要改造,现网路由型家庭网关(HG)不支持 IPv6,路由型家庭网关改造成本高。(2)移动终端

业界智能手机主流操作系统(如Symbian、Android、iOS)均支持IPv6协议栈,但手机能否实现IPv6接入,还取决于手机芯片和软件平台是否适配IPv6操作系统。目前只有个别手机支持IPv6,C网和TD手机很少支持IPv6。数据卡桥接模式支持IPv6接入,WCDMA、cdma2000、TD-SCDMA及LTE的主流芯片厂商高通、威盛、联芯等也有计划后续支持IPv6。(3)承载网络

网络双栈改造支持度高。经过中国电信、中国移动、中国联通两年多的测试和现网试点验证,现网70%左右的路由器和BRAS支持双栈升级,城域核心、骨干网双栈改造技术成熟,接入网设备类型复杂,IPv6 试点初期可二层透传双栈业务,后期 IPv6 双栈改造成本高。核心网主流GGSN/PDSN设备支持双栈改造,RAN只需IPv4透传IPv6即可,支撑网平台支持双栈改造。(4)业务和应用

当前,IPv6的应用整体较少,整体占比小于0.5%,业务和应用匮乏,阻碍IPv6产业链均衡发展。与3G、4G不同,IPv6只是网络层基础协议,目前还没有带来巨大商业价值的具体业务,ICP和运营商向IPv6迁移还存在成本和投入风险,导致ICP对发展IPv6不积极,运营商对ICP开通IPv6业务影响有限。国内当前开通IPv6服务的网站主要集中在教育、科研和校园网,未见主流ICP开通IPv6的明确计划。1.2 IPv6 的发展历程及现状

作为IPv4的“接班人”,IPv6地址由原来的32位扩充到128位。也就是说,IPv6理论上可以产生近乎无数个IP地址,确切地说,是34后面带36个零。这个天文数字意味着,如果全球有1800亿亿网民,每人拥有1800亿亿互联网终端,所有这些终端同时上网,IP地址仍有富余,可以“让地球上的每一粒沙子都具有一个IP地址”。

但是从1995年准备到现在,IPv6推广情况并不理想。虽然随着全球IPv4地址告急,越来越多的国家启动IPv6发展计划,欧、美、韩、日、澳及人口大国(如中国、巴西、俄罗斯)发展最快,均有或正在实施IPv6实验网,但全球当前IPv6用户渗透率仍低于1%。

目前,全球仅有几家运营商启动IPv6试商用,主要是NTT、Verizon和AT&T,西欧和中国处于第二梯队,IPv6已经开始从实验网走向现网试点,今年还有可能实现小规模试商用。

我国于2003年在国家发改委的牵头下,启动CNGI实验网建设。中国移动、中国电信、中国联通等运营商已经在国内逐步部署了具有一定规模的IPv6骨干网络。其作为国家级IPv6实验网骨干,已经实现与国际IPv6互联网对接。目前,下一代互联网已列入我国“十二五”发展纲要中,工业和信息化部在向运营商征询“十二五”互联网的规划意见,IPv6是下一代互联网规划的重点。

在 IPv6 标准的制定上,通过各标准化组织的协作和联合,IPv6 协议标准已逐步完善,过渡技术还需要探索验证。

与IPv6相关的标准化组织包括IETF(因特网工程任务组)、ITU-T(国际电信联盟标准化部门)、3GPP(第三代合作伙伴计划)等,各个组织有不同的着眼点和侧重点。IETF主要致力于IPv6在因特网中的应用,ITU-T主要致力于IPv6在电信网中的应用,3GPP主要致力于 IPv6 在核心网中的应用。作为下一代网络中的核心协议,IPv6 标准的制定需要多个相关组织的协作与联合。

IPv6标准体系主要包括资源(编址和域名等)、网络、应用、安全和过渡技术几方面。

① 资源类和网络类协议标准主要由IETF负责。核心标准已完善,可以满足IPv6组网需要。

② 应用类标准由IETF、3GPP、ITU等多个组织负责。移动宽带和固定宽带应用基本完善,但NGN类没有完成。

③ 安全类标准还不完善,特别是网络可信度方面。

④ 过渡技术类标准中IPv6迁移的过渡技术标准,如双栈和隧道已完善,但完善的电信级网络地址转换(NAT)技术标准尚未完成。1.3 IPv6 技术的新特点

制定IPv6的专家们充分总结了早期制定IPv4的经验以及互联网的发展和市场需求,认为下一代互联网协议应侧重于网络的容量和网络的性能。IPv6 继承了 IPv4 的优点,摒弃了它的缺点。IPv6与IPv4是不兼容的,但它同所有其他的TCP/IP协议簇中的协议兼容,即IPv6完全可以取代IPv4。同IPv4相比较,IPv6在地址容量、安全性、网络管理、移动性以及服务质量等方面有明显的改进,是下一代互联网可采用的比较合理的协议。IPv6协议的技术优势主要体现在以下几方面。1.3.1 地址管理(1)地址空间扩大

极大的地址空间是IPv6最令人瞩目的特征。IPv6采用128bit地址23长度,地球表面平均每平方米可以分配到超过 1mol(6.02×10 )地址,即使 H(地址分配效率系数,H =log 地址数/位数)保持在0.22~0.26的水平,也足够在可以预见的未来几十年内使用。地址长度的增加,并不仅仅是地址数量的增加,还给地址分配、自动配置等方面带来质的提高。(2)地址分配合理

IPv6不必受地址资源限制而捉襟见肘,所以在地址格式设计、地址分配等方面尽可能做到合理,同时为不可预见的问题留有足够的余地。

IPv6地址分为单播、多播、任播3类,并为将来保留了85%的地址。根据IPv6单播地址作用范围的不同,又分为可聚合全球单播地址、链路本地地址和站点本地地址。此外,还有一些特殊地址也属于单播地址,如内嵌IPv4的IPv6单播地址,为NSAP和IPX保留的地址等。

IPv6取消了IPv4地址类的概念,64位作为网络号,64位作为主机号。网络号根据需要进一步划分,对地址格式做了详细定义,方便了聚类和路由,预留了一定地址位数以应付未能预见的问题。IPv6地址为ISP所有,避免了IPv4地址用户所有带来的地址浪费和ISP路由聚类困难。(3)自动配置和移动支持

自动配置是IPv6的重要进步,分为无状态自动配置和有状态自动配置两种方式。一个节点只需要将自己链路层的 IEEE EUI-64 地址作为主机号,结合 ISP 提供的本地网络号,就能够通过IPv6的自动配置得到唯一的IPv6地址,实现“即插即用”。“即插即用”简化了网络管理和控制,使得移动IPv6比IPv4更容易实现和管理,同时移动IPv6还对代理联络和安全策略做了大量改进,邻居发现等新技术也给移动IPv6以强有力的支持。1.3.2 改进报头

IPv6是对IPv4彻底改革而不是修补的重要体现,是对数据报报头的改进,这也是IPv6在其他方面重大改进的基础。IPv4报头不定长且结构复杂,主机和路由器都难以提高处理效率。IPv6简化了基本报头,降低了处理复杂度,并使用扩展报头提高适应性和扩展性。(1)简化报头

IPv6省去了IPv4报头中的部分字段以简化结构,IPv6地址长度是IPv4的4倍,但报头长度只有IPv4的2倍。IPv6的基本头部为固定长(40Bytes),无需头标长度标识。IPv6只支持端点对端点分段,不再需要标识符、标志和偏移量字段。IPv6取消了头标校验和字段,以简化对数据报报头的处理。

IPv6对3个字段重新命名,并赋予新的含义。IPv4数据报总长度由IPv6的有效载荷长度代替。IPv6把协议类型字段重新命名为“下一报头”,指明在IPv6基本报头后面报头的类型,它可能是一个扩展报头或数据净荷。IPv6中用跳数限制表示取代了IPv4的生存期概念。(2)扩展报头

IPv6 的扩展报头模式借鉴了 IPv4 任选项,将报头中不是每个节点都用到的字段改为可选项处理,附加在基本报头后构成扩展报头。大多数IPv6扩展报头不受路由器的检查,从而提高了路由器的转发效率。目前IPv6已定义的可选扩展报头有:逐跳可选报头、接收端可选报头、选路可选报头、分段可选报头、验证可选报头、封装安全净载荷可选报头和上层协议可选报头。一个IPv6数据报可以根据需要携带零个、一个或多个扩展报头,提供了最大的灵活性。IPv6扩展报头的结构类似于数据结构中的指针链表,基本报头和每一个扩展报头都包含下一个报头(Next Header)字段,每一个扩展报头都由特定的下一个报头值(Next Header Value)来确定。1.3.3 改进路由(1)ICMPv6

ICMP并不是IP层路由功能的一部分,但IPv6很多路由方面的新特征都依赖于ICMP。IPv6对ICMP做了大量改进,升级为ICMPv6。ICMPv6具备目前ICMP的基本功能,并综合了原IPv4中分属不同协议完成的功能。多播收听者发现(MLD)用ICMPv6消息取代了IPv4 所用的因特网组管理协议(IGMP),管理多播成员资格,使得效率和安全性有了明显提高。

ICMPv6实现的更重要的新功能是邻居发现协议(NDP)。NDP是IPv6协议的一个基本的组成部分,用来管理同一链路上节点间的通信。NDP取代了数据链路层的ARP,抑制了广播风暴,提高了安全性。NDP能够完成邻居发现和路径MTU,为IPv6的源主机分段提供信息。路由器通过NDP宣告邻接路由器转发数据报,通知发送端重定向,实现最佳路由。此外, NDP还为自动配置提供网络前缀等参数,检测地址可达性和重复地址。(2)从BGP-4到IDRP

IPv6 域间路由最大的改进在于 IDRP 替代了 BGP-4。由于 BGP(Border Gateway Protocol,边界网关协议)对32位的IPv4优化程度相当高,很难为IPv6升级,因此IPv6所使用的外部网关协议以 IDRP(Inter Domain Routing Protocol,域间路由选择协议)为基础。

IDRP和BGP-4的主要区别有:

① BGP报文通过TCP 交换,IDRP协议单元直接通过数据报服务来传递;

② BGP是一个单地址族协议,IDRP可以使用多种类型的地址;

③ BGP 使用16位的自治系统编号,IDRP使用变长的前缀来标识一个域。BGP描述的是路径所通过的自治系统编号的完整列表,而IDRP能对这个信息进行聚集。(3)源主机分段

实践证明IPv4逐跳分段并不理想,增加了路由器负担,一个分段的丢失会导致所有分段重传。IPv6分段只发生在源节点,简化了报头并减少了路由器的分段开销。IPv6要求各节点间 MTU 的最小值为 1280Bytes,兼顾了网络效率和旧设备投资,并要求所有节点支持路径MTU发现,根据链路状况选择最佳分段大小。

通过以上路由方面的改进,再加上地址格式的变化和报头的简化,大大降低了主机和路由器的复杂性和负荷。据 Cisco 资料表明,在 Cisco 2600 系列路由器中配置的 IPv4 内核为2.17MB,如计算存放路由表的工作区则升至 3.2MB,而配置 IPv6 的内核时,其内核仅为1.69MB,加上工作区也不过2.7MB,而且路由效率有明显提高。1.3.4 安全机制(1)IPSec

IP层最初没有安全性方面的考虑,认证和保密都是由上层协议来完成的,很多黑客攻击就是利用了IP层这方面的不足。IPSec协议族就是为在IP层实现安全性而设计的,IPv4和IPv6都可以使用,所不同的是IPSec必须加以修改或改进才能应用在IPv4中,而IPSec是IPv6的重要组成部分,IPv6所有应用从一开始就具有这些安全特性。(2)AH和ESP

安全性一般认为有 3 个要求:身份认证、保密性和完整性,IPSec 的目标是实现前两个要求。RFC 1826 定义了认证头部(AH,Authentication Header),RFC 1827 定义了加密安全净载荷(ESP,Encrypted Security Payload)。前者提供认证机制,通过认证过程保证接收者得到的数据报来源是可靠的,而且在传输过程中没有被偷换。后者使用密钥技术,保证只有合法的接收者才能读取数据报的内容。IPv6使用扩展报头实现AH和ESP。(3)安全关联

认证和加密要求发送者和接收者就密钥、认证和加密算法以及一些附属细节达成一致。这套约定机制组成了发送者和接收者之间的一种安全关联。接收者在接收到数据报后,只有在能将其与一种安全关联的内容相关联时,才能对其进行验证和解密。所有的IPv6验证和加密数据报都带有安全参数索引(SPI,Security Parameter Index)。1.3.5 增强服务质量

IPv4对不同的用户和不同的应用都不加区分,采取尽力而为的传输方式,服务质量(QoS, Quality of Service)难以保证。而 IPv6通过设置优先级、数据流标签等方式,对 QoS 特别是VoIP等实时数据流的传输提供了很好的支持。(1)优先级

IPv6 报头的通信流类型(Traffic Class)可理解为优先级标识,数值越大优先级越高。

IPv6将业务分为两大类,阻塞控制业务和非阻塞控制业务,前者在网络阻塞时流量会降低,而后者不会变化,用于声音和视频传输。IPv6为阻塞控制业务分配编号0~7的优先级,推荐电子邮件为2,大量数据传输(如FTP)为4,交互式(如Telnet)为6。对于非阻塞控制业务,根据媒体质量的不同分配编号8~15的优先级。(2)流和资源预留

IPv6增加了数据流标签,发送端将需要路由器特殊处理的数据报在数据流标签字段加以标识。数据流标签是20位的随机数,同一节点同一数据流所产生的数据报具有相同的流标签。数据流标签还可以和路由选择扩展报头同时使用。为了更好地实现流传输,还开发了资源预留协议(RSVP)。RSVP 是一个接收者驱动(receiver-driven)协议。接收者通过发送 RSVP报文选择接收源以及准备预留的带宽和费用等,达到最理想的效费比。第2章IPv6技术基础2.1 IPv6 地址介绍

IPv6具有128位的地址长度,是IPv4地址长度的4倍。IPv6所拥有96的地址数量更是IPv4地址的2倍。IPv6超乎想象的地址数量能很好地解决地址缺乏的难题。本节将介绍IPv6地址的结构、寻址模型以及地址分类。2.1.1 IPv6 地址结构

IPv6地址有3种格式:首选格式、压缩格式和内嵌IPv4地址的IPv6地址表示。(1)首选格式

IPv6的128位地址每16位划分为1段,每段被转换为一个4位十六进制数,并用冒号(:)隔开,即冒号十六进制法。

假设128位IPv6地址为:

001000011101101000000000110100110000000000

000000001011110011101100000010101010100000

00001111111111111110001010001001110001011010,

则冒号十六进制表示法为:21DA:00D3:0000:2F3B:02AA:00FF:FE28:9C5A。(2)压缩格式

冒号十六进制法表示的IPv6地址中,当存在一个或多个连续的段为0字符时,可以用一对冒号(::)来表示,但一个IP地址中只能出现一个(::);当一段中高位为0时,可以略去高位。

假设一个IPv6地址为:2F02:0030:0000:0000:0001:0000:0000:0002,则应用压缩格式可以表示为:2F02:30::1:0:0:2。(3)内嵌IPv4地址的IPv6地址

这是IPv4向IPv6过渡机制中使用的方法,在这种表示方法中,前96位用冒号十六进制表示,后32位用点分十进制表示。内嵌IPv4地址的IPv6地址格式有两种类型。

① IPv4 兼容地址:用于在运行 IPv4 和 IPv6 两种协议的节点使用 IPv6 进行通信,节点在IPv4路由结构之上构建动态IPv6隧道。表示方法为:::w.x.y.z,其中w.x.y.z是IPv4地址。该地址形式已经在 RFC 4291 中被废弃。

② IPv4 映射地址:用于将仅支持 IPv6 访问而不支持 IPv6 协议的节点地址表示成 IPv6地址,表示方法为:::FFFF:w.x.y.z。该地址在6PE、6vPE中有应用。(4)地址前缀

IPv6的地址前缀仍然用文本表示法,一个IPv6地址前缀用如下形式表示:IPv6地址/前缀长度。

这里前缀长度是一个十进制的数,表明地址最左端连续的多少比特构成该地址的前缀。假设节点 IPv6 地址为 1F02:30::1:0:0:2 ,则节点子网号为 1F02:30:0::/40 ,可以简写为1F02:30::1:0:0:2/40。2.1.2 IPv6 寻址模型

IPv6地址被分成两个部分:子网前缀和接口标志符。每个单播地址标识一个单独的网络接口。IPv6地址被指定给网络接口而不是节点,因此一个拥有多个网络接口的节点可以具备多个IPv6地址,其中任何一个IPv6地址都可以代表该节点。尽管一个网络接口可以与多个单播地址相关联,但一个单播地址只能与一个网络接口相关联,一个网络接口必须至少具备一个单播地址。

需要注意的是:如果点到点链路上的任何一个端点都不需要从非邻居节点接收和发送数据,则不需要IPv6地址;如果硬件有能力在多个网络接口上正确地共享其网络负载,则这些网络接口可以共享IPv6地址。2.1.3 IPv6 地址分类

IPv6地址有3种类型:单播(unicast),多播(multicast)和任播(anycast)。

① 单播地址:一个单接口的标识符,送往一个单播地址的分组被送至该地址标识的一个接口上。

② 多播地址:一组接口的标识符,送往一个多播地址的分组被传送至该地址标识的所有接口。

③ 任播地址:一组接口的标识符,送往一个任意播地址的分组被传送至该地址标识的接口之一(“路由最近”)。

注意:IPv6不带有广播地址,解决办法为使用所有节点(ALL-NODES)的多播地址。

1.单播地址

IPv6 单播地址根据作用范围的不同主要分为:链路本地地址(Link-local Address),站点本地地址(Site-local Address),可聚合全球单播地址(Aggregatable Global Unicast Address)。此外,还有一些特殊用途的单播地址,如唯一本地地址(Unique Local Address)、未指定地址、本地回送地址(Loopback Address),以及内嵌 IPv4 地址的 IPv6 单播地址等。(1)链路本地地址

链路本地地址用在同一本地链路的节点之间,带有链路本地源或目的地址的数据分组不转发到其他链路上,主要用于局域网管理。在IPv6的邻居节点之间的通信协议(如邻居发现协议)中广泛使用此地址。

链路本地地址的地址格式:前10bit为0xFE80,中间54bit为“0”,最后64bit为接口ID。其地址格式如图2-1所示。图2-1 链路本地地址格式

获取 IPv6 接口 ID 最常用的方法是生成修正的 IEEE EUI-64 接口 ID,这种生成方式因链路类型而异,例如基于以太网接口和光纤分布式数据接口的生成方式是不同的,这里只介绍以太网接口的基于MAC地址生成方式。

基于MAC地址的修正EUI-64接口ID生成方式如下。

MAC地址共48位,在前24位和后24位之间添加16位的0xFFFE。

MAC地址第7位(从高位起)反转取“1”。

图2-2 给出了其转换过程,因为物理网卡的 MAC 地址是全球唯一的,所以使用这种方式生成的接口ID也是全球唯一的。图2-2 EUI-64地址转换(2)站点本地地址

站点本地地址用在单一站点内部,带有站点本地源或目的地址的数据分组不转发到其他站点上。

站点本地地址的地址格式:前10bit为0xFEC0,中间54bit为子网ID,由站点管理员分配,最后64bit为接口ID。其地址格式如图2-3所示。

目前站点本地地址已经被废弃,见 RFC 3879。(3)可聚合全球单播地址

带有可聚合全球单播地址的数据分组可被传送到全球IPv6网络的任何部分,相当于IPv4的公网地址。RFC 3513 给出了新的 IPv6 可聚合全球单播地址通用格式,如图 2-4 所示。图2-3 站点本地地址格式图2-4 可聚合全球单播地址格式

全球路由前缀是分配给站点的一个典型层次结构值,子网ID是一个站点内子网的标识。全球路由前缀由RIR和ISP设计为分层结构,子网域由站点管理员设计为分层结构。

由于RFC 3513要求所有的单播地址有64位接口ID并具有改进EUI-64格式的结构,即要求n+ m=64,为进一步明确IPv6全球单播地址格式,RFC 3587给出了新的格式,如图2-5所示。图2-5 可聚合全球单播地址新格式

RFC 3587 规定只有 001 前缀格式供 IANA 分配,其余的全球单播地址空间(大约是 IPv6地址空间的85%)要保留下来,以备将来定义和使用,暂时不再由IANA分配。所以,由IANA代理的2000∷/3前缀的全球单播地址就成了如图2-6所示的格式。图2-6 供分配的可聚合全球单播地址格式(4)唯一本地地址

唯一本地地址在全球 Internet 中不可路由,仅在站点内部可路由,用于站点内部通信,它有如下特性。

① 固定的地址前缀格式,便于站点边缘过滤。

② 全球唯一(唯一性概率很高)。

③ 站点合并无需对接口地址重编号。

④ 独立于ISP,任何人都可以随意使用,站点内部通信无需Internet连接。

⑤ 路由协议与应用协议无需改变,应用协议认为其是全球单播地址。

唯一本地IPv6地址格式如图2-7所示。图2-7 唯一本地IPv6地址格式

其中各字段的含义如下。

① Prefix:前缀格式固定为 FC00::/7,该前缀指明地址为唯一本地 IPv6 地址。

② L:指明全球 ID 的产生方式,置“1”表明本地生成全球 ID;置“0”未定义,留作将来用。

③ 全球ID:40bit,目前由伪随机算法生成,全球唯一性概率非常高。

④ 子网ID:16bit,在划分子网时使用。

⑤ 接口ID:64bit,通常由EUI-64生成。

唯一本地地址在 RFC 4193 中定义,其在构建 IPv6 VPN 的应用中前景光明。唯一本地地址避免了IPv4中私有地址泄漏的问题,而一旦地址泄漏也由于其唯一性不会产生地址冲突。(5)特殊地址

分为未指定地址和本地回送地址。

未指定地址即为全“0”地址,表示一个地址的缺失。全“0”地址不能用作目的地址,仅当初始化主机不知其地址时,其发送的IPv6分组的信源地址即为全“0”地址。

本地回送地址为::1,不能分配给任何物理接口,本地回送地址就相当于接口本身。当接口向本地回送地址发送数据分组时,数据分组不能发送出节点,只有该接口自己能收到,通常用于节点自测。(6)内嵌IPv4地址的IPv6单播地址

在上文IPv6地址格式中已有介绍。

2.多播地址

一个多播地址是一组接口的标识符,一个节点可能属于任意数量的多播群。多播地址不能用在IPv6数据分组的源地址域中,也不能出现在任何路由头中。

多播地址格式和各字段说明如图2-8所示。图2-8 IPv6多播地址格式

其中各字段的含义如下。

① 0xFF:最高 8bit 为 1111 1111,标识此地址为多播地址。

② 标记:4bit,从高到低各字段依次为保留位、R位、P位以及T位,各位的取值如下。

● 最高位保留位必须置“0”。

● R 位取“0”表示非内嵌 RP 的多播地址;取“1”则表示内嵌 RP 的多播地址,此时P、T位也必须置“1”。

● P 位取“0”表示非基于单播前缀的多播地址;取“1”则表示基于单播前缀的多播地址,此时T位也必须置“1”。

● T 位取“0”表示永久分配的多播地址;取“1”则表示非永久分配的多播地址。

③ 范围:4bit,用来标识此多播组的应用范围,其取值及含义如下。

● 0、3、F:保留(reserved)。

●1:接口本地范围(interface-localscope)。

● 链路本地范围(link-local scope)。

● 管理本地范围(admin-local scope)。

● 站点本地范围(site-local scope)。

● 6、7、9~D:未分配(unassigned)。

● 8:机构本地范围(organization-local scope)。

● E:全球范围(global scope)。

④ 组ID:112bit,多播组标识号,用来在由Scope字段所指定的范围内唯一标识多播组。

目前已永久分配了一些常用 IPv6 多播地址,如“所有节点多播地址”FF02::1(链路本地)和“所有路由器多播地址”FF02::2(链路本地)等。一些比较特殊的多播地址在 IPv6中也有应用,我们介绍被请求节点多播地址(Solicited-node Multicast Address)、基于单播前缀的IPv6多播地址以及内嵌RP地址的IPv6多播地址。(1)被请求节点多播地址

被请求节点多播地址主要用于重复地址检测和获取邻居节点的链路地址。

被请求节点多播地址生成算法:选取一个地址(单播或任播)的低24位,将这24位附加到前缀FF02::1:FF00/104之后。

被请求节点多播地址受限于本地链路范围。一个节点对于其分配的每个单播和任播地址都自动启用一个与之对应的被请求节点多播地址。(2)基于单播前缀的IPv6多播地址

基于单播前缀的IPv6多播地址中包含了其多播源网络的单播地址前缀,适用于SSM多播模型,无需大量分配协议,通过基于单播前缀的IPv6多播地址网即可动态获得多播地址。

基于单播前缀的IPv6多播地址格式如图2-9所示。图2-9 基于单播前缀的IPv6多播地址格式

各字段的含义如下。

① 标记字段的R位置“0”,P、T位则分别置“1”,表示其为基于单播前缀的多播地址。

② 保留:保留字段,必须为“0”。

③ Plen:表示网络前缀的有效长度(单位为 bit)。

④ 网络前缀:表示该多播地址所属子网的单播前缀,有效长度由Plen字段指定。

⑤ 组ID:缩短为32bit,含义不变。(3)内嵌RP地址的IPv6多播地址

内嵌 RP 地址的 IPv6 多播地址是 IPv6 PIM 中特有的 RP 发现机制。该机制使用内嵌 RP地址的IPv6多播地址,使得多播路由器可以直接从该地址中解析出RP的地址。

内嵌RP地址的IPv6多播地址格式如图2-10所示。图2-10 内嵌RP地址的IPv6多播地址格式

各字段的含义如下。

① 标记字段的R、P和T位均置“1”,表示内嵌RP地址的多播地址。

② 保留:保留字段,必须为“0”。

③ RIID:表示 RP 地址的接口 ID,RIID 字段填充到 RP 地址的最低 4 位。

④ Plen:表示 RP 地址前缀的有效长度(单位为 bit)。

⑤ 网络前缀:64bit。表示RP地址前缀,有效长度由Plen字段指定。

⑥ 组ID:缩短为32bit,含义不变。

多播IPv6地址对应的MAC地址,其高16位为0x3333,低32位为IPv6多播地址的低32位,最终形成48位的多播MAC地址。其格式如图2-11所示。图2-11 多播MAC地址格式

3.任播地址

任播地址从单播地址空间中进行分配,使用单播地址的格式,仅通过地址本身,节点无法区分任播地址和单播地址,因此配置时需要指定该地址是任播地址,且只能分配给路由器。与多播地址一样,多个节点都监听这个地址,因此任播地址只能作为目的地址使用。与多播地址不同,任播地址只有一个节点(距离本路由器最近的一个网络接口)接收IPv6数据分组。

在 RFC 4291 中定义了一种子网路由器任播地址(Subnet-Router Anycast Address),其标识某一子网内的所有路由器。目的地址为子网路由器任播地址的数据分组被该地址子网前缀标示的子网内的任一路由器接收,其格式如图2-12所示。图2-12 子网路由器任播地址格式

子网前缀为其对应的单播地址的网络前缀,用以区分或代表某一子网链路。接口ID值置为0。

4.节点必须配置的地址

前面详细介绍了IPv6的单播、多播、任播3种地址类型,如果一个节点为主机,那么其必须配置的地址有哪些呢?下面一一列出。

① 每个接口都有一个链路本地地址。

② 手工或自动配置的任何单播地址。

③ 环回地址。

④ 所有节点多播地址。

⑤ 对应于单播地址的节点请求的多播地址。

⑥ 节点所属所有多播组相关的多播地址。

对于路由器而言,除上述地址以外,还有下面4种地址。

① 配置的用于标识一个路由器的子网路由器任播地址。

② 路由器配置的所有其他任播地址。

③ 所有路由器多播地址。

④ 该路由器所属的其他群组的多播地址。2.2 IPv6 报文结构

IPv6报文通常具有如图2-13所示的结构。图2-13 IPv6报文结构图

在一个IPv6报文中,IPv6基本首部是必需的,固定长度为40Bytes。另外,基本首部之后还可以携带0到多个扩展首部。IPv6协议属于网络层协议,上层协议数据单元通常是传输层的协议单元(如UDP和TCP),而ICMPv6报文也需要IPv6报文来承载,但它不属于传输层。2.2.1 IPv6 基本报头

IPv6基本报头包含8个字段,总长度为40Bytes,报头格式如图2-14所示。图2-14 IPv6基本报头

IPv6基本报头各域的含义如下。

① 版本:其值为6。

② 流量类型(Traffic Class):表示 IPv6 数据分组的类型或优先级,通过此字段,信源节点和转发路由器为IPv6分组提供不同形式的差别服务。

③ 流标记(Flow Label):用来标识这个数据分组属于源节点和目标节点之间的一个特定数据分组序列,它需要中间IPv6路由器进行特殊处理。

④ 有效负载长度(Payload length):表示 IPv6 数据分组的有效载荷长度,即扩展报头和上层协议数据单元。

⑤ 下一报头(Next Header):定义了紧跟基本报头之后的第一个扩展报头的类型或者上层协议数据单元中的协议类型。

⑥ 跳数限制(Hop Limit):定义了 IPv6 分组所能经过的最大跳数,每经过一个路由器,该字段值减1,当减为0时,数据分组被丢弃。

⑦ 源地址(Source Address):表示发送方的地址。

⑧ 目的地址(Destination Address):表示接收方的地址,在扩展报头中出现的路由报头基本报头中的目的地址并不是最终接收站的地址。

IPv6报头比IPv4报头更为简洁、高效,满足新业务的发展要求。2.2.2 扩展分组头

IPv6中,IPv4报头的选项内容移到了扩展分组头中,这种设计方法简化了IPv6报头,提高了中间路由器的转发效率。

分组投送路径上的所有节点都不检查或处理扩展报头,直到此分组到达基本报头目的地址字段指明的目的节点(并不一定是最终接收节点;在多播情况下是多播组的所有节点)后,才由目的节点处理,节点必须严格按照扩展报头在分组中出现的次序处理它们。但有一个例外,逐跳选项报头携带的信息必须被分组投送路径上的每一个节点处理。

IPv6分组可以携带0个、一个或多个扩展报头,每个扩展报头都有其前面报头的下一跳值(Next Header Value)来确定。扩展报头出现的顺序是有一定原则的,其顺序如下:逐跳选项报头、目标选项报头(当存在路由报头时,用于中间目标)、路由报头、分段报头、认证报头、封装安全有效载荷报头,以及目标选项报头(用于最终目标节点)。

1.逐跳选项报头

逐跳选项报头主要用于为在传送路径上的每次跳转指定发送参数,传送路径上的每台中间节点都要读取并处理该字段。其报头结构如图2-15所示。图2-15 逐跳选项报头

各域的含义如下。

① Next Header(下一跳分组头):长度为 8bit,表示下一个头的协议类型。

② Hdr Ext Len(报头扩展长度):长度为 8bit,表示逐跳选项头的长度,以 8Bytes 为单位,不包括头8Bytes。

③ Options(选项):一系列选项字段和填充字段的组合。它可以描述数据报文转发方面的特性,也可以用作填充。一个逐跳选项报文可以包含一个或多个选项字段。(1)选项

逐跳选项头携带了一定数量的以TLV方式编码的选项,结构如图2-16所示。图2-16 选项结构

Option Type(选项类型):表示选项的类型,也表明了节点如何处理该选项。

Opt DataLen(选项长度):表示选项中的字节数,其值不计入选项类型和选项字段的长度。

Option Data(选项数据):与该选项相关的特定数据。

目前逐跳选项有以下两个重要的应用。

① 巨包的转发:在非常大的MTU网络上,IPv6可以传送大于65535Bytes的数据分组,这就需要超大有效载荷选项(选项类型值为 194)。如果 Payload length 大于 65535Bytes,则基本报头中的有效载荷长度为 0,逐跳选项报头中的超大有效载荷选项的“选项数据”字段来表示真正的有效载荷。

② 路由器警示:IPv6 数据报中的信息希望能够得到中间路由器的查看和处理,即使这个分组是发给其他某个节点的,此时IPv6报文携带路由器警示选项(选项类型值为5)。(2)填充字段

为了符合逐跳选项报头中选项的对齐要求,通常会在选项之前进行填充。当有多个选项时,也会在两个选项之间进行填充,填充物就是Pad1和PadN,它们也被称为两个特别的选项。Pad1作用是插入1个填充字节,而PadN是插入2个或多个填充字节。

Pad1选项结构如图2-17所示。

Pad1只有1Byte,选项类型值为0,没有长度和填充字节。

PadN选项结构如图2-18所示。图2-17 Pad1选项结构图2-18 PadN选项结构

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载