《深入解析IPv6(第3版)》——1.6 部署IPv6

1.6 部署IPv6

尽管IPv6协议提供了许多技术进步和创新,但对它的应用仍然需要来自商业角度的考验,并由终端用户组织和ISP的IT职员进行部署。在网络架构中部署支持本地IPv61的环境需要规划并设计好(它与IPv4的)并存性和迁移策略,以及软硬件的安装和维护方式。综合考虑IT员工、软硬件资源、迁移所需时间等因素,特别是要考虑到其他更显而易见的或者在短期内更有利可图的新兴技术,这些对于评估是否在本地部署支持IPv6的网络意义重大。

还有一点必须加以考虑,那就是Internet这项技术,从一个用于连接教育机构和美国政府部门的近乎私有的网络发展到如今,成为了一个不可或缺的全局通信媒介、一个提升商业组织与个人的效率与产量的不可少的因素、一个全局经济动力的重要组成部分。它必须持续发展。

为了继续发展Internet和私有内部网,IPv4必将被取代。IPv4越早被取代,取而代之的协议就能越早发挥出它们的优势。在下一节中,我们将阐述部署IPv6的关键技术及其商业利益。

1.6.1 IPv6能解决地址耗尽问题

随着Internet爆炸性的普及,许多通过Internet从事的商业活动应运而生,而这些商业活动又需要不断添加新的设备。而IPv4能够为新设备提供的公有地址数量有限,并且还在不断减少。因此,IPv4已无力继续支撑未来10年内计划生产的网络设备数量。尽管这些设备可以设定内部地址,但地址和端口转换会增加那些充当服务器、监听设备或执行对等体功能设备的复杂性。而IPv6能够提供足够支撑21世纪使用的地址空间,因此它可以解决IPv4的公有地址枯竭的问题。

过渡到IPv6具有巨大的商业利益,手机、PDA、机动车、各类设备,甚至每个人,都能分配到多个全局可达的地址。由是,新增的网络设备及它们所运行的软件都能正常工作,既不存在在NAT之后运行的限制,也不存在由此衍生出来的复杂结构和额外的经济开销。

1.6.2 IPv6能解决地址空间不连续的问题
在IPv4中,针对家庭和企业网络,有两种不同的寻址规则。在家庭网络中,Internet网关设备(Internet Gateway Device, IGD)会分配到一个公用IPv4地址,然后它为家用网络中的所有主机分配内部地址。企业可能有多个公有IPv4地址或一个公有地址域,在企业内部网分配的地址则可以是公有地址、内部地址或兼而有之。

然而,公有IPv4地址和私有IPv4地址空间是不连续的;也就是说,在网络层,没有对称的可达性。只有当数据包既能向任意地址发送,又能从任意地址接收时,这个环境才具有对称可达性。而在IPv4中,没有一个寻址规则能同时应用于这两类网络以达到无缝连接。不连续网络需要借助中间设备进行连接,如NAT或代理服务器。在IPv6中,家用网络和企业网络都可以分配到全局性地址前缀,它们之间都能实现无缝连接并受到安全规则(如防火墙、认证技术)的保护。

1.6.3 IPv6能解决Internet地址分配问题
Internet起初只是为了满足美国教育机构和政府部门连接需求的一项发明而已。因此,在Internet的早期,美国那些相连的站点根本不需要考虑地址汇总或地址需求量就能分配到IPv4地址前缀。于是,历史上通过这种方式分配地址的结果是,美国这一个国家拥有了过于庞大的公有IPv4地址数量。

在IPv6中,公用地址前缀被分配到区域Internet注册机构,然后它再按正常需求为其他ISP和组织分配地址前缀。这种新的地址分配方式可以保证地址前缀能按照区域连接需求进行全局性的分配,因而可以消除因历史原因造成的分配不均。这使得Internet能够成为真正的全局资源,而不是“美国的Internet”。于是,全球所有组织都可以从中获取到商业利益——即它们能获得到充足的IPv6地址空间,而不必像现在这样为了从ISP或其他机构获得IPv4公用地址空间前缀而花钱。

1.6.4 IPv6能恢复端对端通信
对于那些依赖于监听技术的应用和那些基于对等体连接的应用来说,IPv4 NAT存在一个技术性的障碍,即通信对等体需要发现并通告自己的IPv4地址和端口。解决这个问题的临时手段是在Internet上部署回声服务器(echo server)或汇聚服务器(rendezvous server),以提供公有地址或端口的配置信息。

在IPv6中,由于人们已经无需再为节约公用地址空间而使用NAT,因此对应用程序和网关的开发者来说,映射地址和端口所带来的问题也随之消失。更重要的是,数据包中的地址不会在传输时发生改变,这使得Internet上主机间的端对端通信得以恢复。想象一下人们对点对点电话、视频和其他实时协作技术的迫切需要,以及下一波联网设备有多少种点对点设备(如移动电话),我们就可以发现恢复端到端的通信意义有多么巨大。

由于IPv6可以恢复全局寻址和端到端的连通性,因此基于ad hoc连接的应用和基于对等体连接的应用也不再存在任何障碍。此外,人们也无需再在Internet上部署回声服务器。这给软件开发商带来的商业利益是,基于对等体的应用程序开发起来更加容易了,这些程序可以共享信息、音乐和媒体,或在没有NAT转换的障碍下进行协作。全局寻址和端到端连接还有一个好处,那就是用户可以远程访问家用网络上的计算机,而无需再使用Internet上的中间设备进行远程访问。

1.6.5 IPv6使用了限域地址和地址选择
不同于IPv4地址,IPv6地址存在一个“作用域”,或者说是一个限定的网络区域,在其内部保持唯一性和相关性。例如,IPv6有一个相当于IPv4中公有地址的全局地址,以及一个唯一的类似于IPv4私有地址的本地地址。一般的IPv4路由器不会区分公有地址和私有地址,它会把一个私有地址寻址的数量包发送到Internet。而IPv6路由能区分IPv6地址的作用域,并且绝不会将作用域不正确的数量包发送给接口。

很多种IPv6地址拥有不同的作用域。因此,当DNS域名查询返回了多个IPv6地址时,发送方必须能区分它们的类别,并在发起通信时选用匹配的作用域中最合适的地址对(源地址和目标地址)。例如,对已分配了全局(公有)地址和本地链路地址的源和目的设备,发送方的IPv6主机绝不会把全局目的用在本地链路上。IPv6发送方主机包含地址选择逻辑,它可以判断出在通信时应该选用哪对地址。而且,地址选择规则是可以进行配置的。于是,一个组织中就可以配置多个编址机制。而无论编址机制有多少种,发送方主机总能选择最佳的一组地址。相对来说,IPv4节点无法区分地址类型,会把来自内部地址的流量量发送给公有地址。

作用域地址的好处是,通过选择作用域尽可能小的地址,用户的流量就不会游离到地址的作用域之外,因此用户的网络流量也就可以暴露给更少的恶意主机。标准化、为ISV内建地址选择算法的好处在于,人们无需开发和测试自己的地址选择算法,而且能够直接依靠划分好的地址列表,因而也可以降低软件开发的成本。

1.6.6 IPv6的发送效率更高
IPv6是IPv4的简化高效版。除了按照优先级发送的流量之外,发送IPv6包时处理的字段和需要作出的决定都相对更少。与IPv4不同的是,IPv6头部的大小是固定的(40字节),因此路由器就能更快地处理IPv6数据包。另外,IPv6全局地址的地址结构是分级可汇总的,因此,在组织机构和Internet路由器的路由表中需要分析的路由也比较少。于是,流量就能够以更高的数据传输率进行发送,这使得未来使用多类型数量的高宽带程序能够更高效地运行。

1.6.7 IPv6有安全性和移动性支持
IPv6是专为支持安全性(IPSec,需要支持AH和ESP头部)和移动性(移动IPv6,可选)而设计的。也许有人认为IPv4就具有这些属性,但是它们在IPv4中是作为扩展属性存在的,并不是IPv4设计之处就考量在内的,因此也就存在一些结构和连接上的局限性。设计者在IPv6中有意加入安全性和移动性标准使得安全性和移动性成为了IPv6中所定义的标准,因而它们的限制更少,在处理当前和未来Internet用户的通信需求时也更加可靠,同时具备更强大的可扩展性。

支持IPSec并使用全局唯一的地址空间,这样做的商业利益在于,IPv6在端到端传输的数据包穿越整个IPv6 Internet时都可以为数据提供安全性保护。这与IPv4 Internet中的IPSec不同,在IPv4环境中,如果端点位于NAT之后,就必须进行修改,很多功能也会收到限制。而IPv6 Internet中的IPSec则可以在任意两个端点之间发挥全部功能。

时间: 2024-08-30 15:10:06

《深入解析IPv6(第3版)》——1.6 部署IPv6的相关文章

警告企业:应积极部署IPv6

企业有资源,也有专业技能,他们可能还没有意识到这一点,但事实证明,企业多半还没有部署IPv6. 这是Internet Society有关IPv6部署的最新报告中的结论,而在五年前全球就已经开始推行部署这个新的寻址协议. 而根据Amazon.com提供的分析数据显示,在前一百万网站中,只有13%的网站在使用IPv6流量,而在前1000个网站中,这个数据上升到22%. 根据谷歌估计,在37个国家中,只有5%的互联网流量在使用IPv6,谷歌是根据其负载均衡器的流量统计. 在印度,这个数字超过20%,这

《部署IPv6网络(修订版)》一第1章 IPv6框架——一种新视角1.1 单 播 连 接

第1章 IPv6框架--一种新视角 部署IPv6网络(修订版) 人们不仅可以接受而且几乎是期盼出现这样一本IPv6的书,它能够凭借IPv6的重要性和益处而说服读者(经常很难).描述商业模型的无数书页已经写出,商业模型将从财务角度证明部署IPv6的可行性.尽管人们在兜售IPv6时声称其具有创新性,但更多的是人们对它仍有争议,这使得人们在规划网络相关的资金支出时,需要采取一定的策略方法.但是,不考虑所有这些努力,也许仅仅是IPv4地址空间的加速耗尽就将触发大规模的现有网络升级到IPv6. 作者们决定

《设计模式解析(第2版•修订版)》目录—导读

作者简介 设计模式解析(第2版•修订版) Alan Shalloway 美国Net Objectives咨询/培训公司的创始人和CEO.他是麻省理工学院的计算机科学硕士,具有30多年面向对象咨询.培训和软件开发的经验,并经常受邀在重要的软件开发会议(包括SD Expro.Java One.OOP和OOPSLA)上演讲. James R. Trott 美国一家大型金融机构的资深顾问.他是应用数学科学硕士.MBA和跨文化研究硕士.在其20年的职业生涯中,他一直将面向对象和基于模式的分析技术运用在知识

《设计模式解析(第2版•修订版)》—第1章 1.6节面向对象范型

1.6 面向对象范型 设计模式解析(第2版•修订版) 使用对象将责任转移到更局部的层次 面向对象范型以对象概念为中心,一切都集中在对象上.编写代码时是围绕对象而非函数进行组织的. 对象是什么?对象传统上被定义为带有方法(面向对象领域称呼函数的术语)的数据.糟糕的是,这是一种非常有局限性的对象观.稍后我会给出一个更好的对象定义(在第8章中还会谈到).我说到对象的数据时,可能指数值和字符串这样的简单事物,也可能指其他对象. 使用对象的优点在于,可以定义自己负责自己的事物(参见表1-2).对象天生就知

《设计模式解析(第2版•修订版)》—第1章 1.2节面向对象范型之前:功能分解

1.2 面向对象范型之前:功能分解 设计模式解析(第2版•修订版) 功能分解是一种处理复杂问题的自然方法 让我们从对一种常用的软件开发方法的考察开始吧.如果给你一个任务,要编写一段代码,访问在数据库中存储的形状描述然后显示出来.按照所需要的步骤来思考,是一种很自然的选择.比如,你可能认为应该按照以下步骤解决这个问题. 1.在数据库中找到形状列表. 2.打开形状列表. 3.按某种规则将列表排序. 4.在显示器上显示各个形状. 还可以选取以上任意一个步骤,进一步分解成实现所必需的若干步.例如,可以将

《设计模式解析(第2版•修订版)》—第2章 复习题

复习题 设计模式解析(第2版•修订版)简答题 1. is-a关系和has-a关系之间的区别是什么?两种"关联"关系又是什么? 2.在类图中,类是用方框表示的,可以有三部分.请描述这三部分. 3.给出重数的定义. 4.顺序图的用途是什么? 阐述题 1. 给出is-a关系和两种"关联"关系的例子.对这些例子: (1) 在类图中画出: (2) 在类图中显示重数. 2.图2-8是一个顺序图.此图中显示了多少步骤?显示了多少对象,都是哪些对象? 3.当对象互相交流时,为什么说

《设计模式解析(第2版•修订版)》—第1章 1.5节应对需求变更

1.5 应对需求变更设计模式解析(第2版•修订版)日常生活中人们如何做事? 为了找出解决需求变更问题的办法,弄清功能分解有没有其他替代方法,我们先来看看日常生活中人们是如何做事的.假设你是要在一个会议1上担任讲师,听课的人在课后还要去听其他课,但他们不知道下一堂课的听课地点.你的责任之一,就是确保大家都知道下一堂课去哪里上. 如果按照结构化程序设计的方法,可以按以下的要求做. 1.获得听课人的名单. 2.对于名单上的每个人,做以下工作. a.找到他或者她要听的下一堂课. b.找到该课的听课地点.

《设计模式解析(第2版•修订版)》—第1章 1.4节应对变化:使用功能分解

1.4 应对变化:使用功能分解设计模式解析(第2版•修订版)用模块化封装变化 更进一步地来看"显示形状"问题.怎样编写代码才能更容易地应付多变的需求呢?与其编写一个大函数,不如使之更加模块化. 例如,在前面提到的步骤4c"以形状的位置作为参数,调用显示形状的函数"中,可以写一个例1-1所示的模块. 例1-1 用模块化封装变化 函数:显示形状输入:形状类型,形状描述操作: switch (形状类型) case 方形:调用显示方形的函数 case 圆形:调用显示圆形的函

《设计模式解析(第2版•修订版)》—第1章 1.7节面向对象程序设计实践

1.7 面向对象程序设计实践设计模式解析(第2版•修订版)我们再次考察一下本章开始讨论的形状实例.怎样用面向对象的方式实现它呢?请记住,我们必须完成以下任务. 1.在数据库中找到形状列表. 2.打开形状列表. 3.按某种规则将列表排序. 4.在显示器上显示各个形状. 为了用面向对象方式解决这个问题,我需要定义一些对象和这些对象具有的责任. 在Shape程序中使用对象 所需要的对象如下表所示. 运行程序现在主程序的步骤应该与下面给出的类似. 1.主程序创建一个数据库(ShapeDataBase)对