发新话题
打印

IP V6白皮书

IP V6白皮书

摘要
近来,由于人们对于现有Internet地址池中的地址将要消耗殆尽的关注,同时也由于人们对于提供具有更多功能的现代设备的渴望,人们正在为现行的Internet协议(IP)版本4(简称为IPv4)着手制定新的升级标准。这个新的版本称为IP版本6(IPv6),它可以解决IPv4在设计的时候没有预料到的问题,将Internet轻松自如地带入二十一世纪。本文介绍了IPv4Internet之中存在的问题,介绍了这些问题如何通过下列技术得到了解决:IPv6,IPv6寻址,新型的IPv6头及其扩展,对于Internet控制消息协议(Internet Control Message Protocol,简称ICMP)和Internet组管理协议(Internet Group Management Protocol,简称IGMP)的IPv6替换,相邻节点交互,以及IPv6地址自动配置。本文介绍基于Internet标准的IPv6协议的基本概念,它的目标读者是业已熟悉基本的网络概念和TCP/IP协议的网络工程师和技术支持专业人员。

下载地址:http://www.microsoft.com/china/windowsserver2003/docs/IPv6.doc

TOP

IPv6/IPv4的共存和迁移

概要
本文详细介绍了IPv4和IPv6的共存和迁移技术,介绍了Windows Server 2003家族为IPv6协议提供技术支持的具体方式。本文的目标读者是业已熟悉基本的网络概念、TCP/IP以及IPv6协议的网络工程师和技术支持专业人员。

下载地址:http://www.microsoft.com/china/windowsserver2003/docs/IPv6-IPv4.doc

TOP

Microsoft的IPv6目标

介绍
为了支持行业向新兴的Internet协议的升级,Microsoft公司正在努力工作。这个升级一般被称为IP协议版本6,或者简称为IPv6(RFC 2460)。这是一个标准的IETF协议族,它的设计可以大幅度增加用来标识Internet通信端点的协议地址空间,地址空间的增加将为Internet应用的迅猛增长提供有力的支持。本文概要介绍了与IPv6相关的主要功能和部署战略,它们形成了Microsoft公司相关方案的实现基础。

随着Internet以指数量级的空前速度不断增长,诸如Digital Subscriber Line(DSL)和电缆调制解调器等“永远在线”式设备的广泛采用,以及个人数据助理(PDA)和移动电话越来越多地成为可以上网访问的移动信息设备(Mobile Information Appliances),对于连接到Internet的系统,扩展它们用以通信的地址空间愈发成为了当务之急。当前使用的网络地址空间是由Internet协议,即IP协议(TCP/IP协议族中的网络层)所定义的。这个目前通常使用的IP协议是第4版本(IPv4),自从1981年RFC 791发布以来,它没有进行过本质上的修改。从那个时候开始,IPv4已经被证明是健壮、容易实现并且具有互操作性的网络协议,它更是经受了可伸缩性的考验,通过网络互联形成了如今Internet的全球应用规模。这些都要归功于它合理的初始设计,与此同时,它以往的成功又在一个新的基础之上提出了更高的可伸缩性要求。

IPv6将会继续保留IPv4的优秀传统,通过定义互联机制将范围广泛的异构网络技术系统连接到一起。现在已经定义的IPv6通信在链路层上的映射协议包括Ethernet(以太网)、 Point-to-Point Protocol (点对点协议,PPP)、Fiber Distributed Data Interface(光纤分布数据接口,FDDI)、Token Ring(令牌环)、Asynchronous Transfer Mode(异步传输模式,ATM)、Frame Relay(帧中继)、IEEE 1394以及IPv4。从体系结构的角度来看,基于IPv4的基础结构可以看作是启用IPv6的系统的一个非广播形式的多访问(NBMA)网段。在现有IPv4网络之上传输IPv6通信的能力将为现有Internet提供最初的IPv6应用方案。目前IPv6应用所受到的限制主要在于通信端点的能力,它们还没有做好使用IPv6的准备。

IPv6所具有的一些新的功能将促使这个协议迅速地被人们接受。这些新功能包括范围受限的地址(可以用来限制文件共享和打印共享的缺省范围),无状态的自动配置(降低配置的复杂性和管理的负担),以及强制的IP安全性(允许端到端的数据验证,确保连接的完整性和保密性)。除了新功能对IPv6的促进以外,目前用以拓展IPv4生命周期的常用技术(例如网络地址转换器[NAT])已经时常成为现有应用程序的障碍,同时也限制了人们灵活部署新的应用程序。NAT在当前得到了广泛的使用,它们允许多个系统共享资源匮乏的IPv4地址,这样做的时候必须采用客户机/服务器的应用模式,让所有的客户机使用私有地址空间,而只有服务器运行在公共地址空间。IPv6将重新获得端到端通信控制的能力,这将使得网络应用更加简单,因为网络将重新变得透明。





展望未来
Windows Server 2003家族和Windows XP都是基于Windows 2000技术构建的Windows产品,它们将保持Windows的行业领导地位,成为桌面和服务器系统的全球标准,并为新兴应用和遗留应用同时提供稳定可靠的理想平台。在这个坚实的基础之上,Microsoft公司的.NET创新进一步拓展了它们的行业优势,成为了构建于开放Internet协议和标准之上的革命性新型平台。它使用了一系列工具和服务,将计算和通信以新的方式融合在一起。Microsoft .NET将允许人们创建真正的分布式服务,它们可以与大量的支持服务进行集成,通过服务的协同工作为用户提供全新的、人们所梦想的服务方式。实现这种级别的分布式服务必须要求Internet的基础结构为相关的系统、应用程序和服务提供透明、具有一致性的网络互联环境。

举例来说,在Internet上运行的多人游戏已经日益普及,这种游戏就要求为每一个游戏参与者分配一个具有一致性的网络层地址。IPv6就可以确保这种一致性的视图,因为在IPv6之中,没有必要进行地址共享,也就不会导致一个网络系统的参与者具有不同的地址。

除了一致性的视图以外,IPv6还将允许同一个房间中的多台计算机使用同样的端口号(对于入站连接,许多服务使用注册的端口号),然而,当前广泛使用的IPv4 NAT技术只允许一个端口号在同一个时间里被一台机器使用。如果去除了这种网络环境对于技术的干预,就能够解放游戏开发人员的生产力,使得他们能够集中精力进行游戏的开发。

通过IPv6得以轻松实现的其它点对点应用包括IP电话和视频电话会议。这些应用以及类似应用将得益于IPv6之中所定义的服务质量(QoS)特性。虽然在IPv4之中,许多QoS特性也被作为加载项进行了定义,但是,协议所选用的机制改变了IP头中“服务类型”域的含义,这就与原有的实现发生了冲突。因为存在不同的部署模型,IPv4往往难以实现它所定义的QoS特性。然而,在IPv4之中的这些努力也没有白白浪费,它迫使人们在硬件的功能和业务的操作方法上都进行了细致的相关工作。启用IPv6的系列将充分利用现有的这些努力,提供一系列具有端到端一致性的服务级别。

无线技术目前也是一个新兴的技术,它为个人的设备提供了一个自由组网(ad-hoc)的应用构想。建造一个运行在自由组网模式下的系统已经具有很大的挑战性了,但是,人们另外还预计这些个人设备之中的大部分同时还要运行在受到管理的工作环境之中。在两种模式之间切换常常十分困难,然而这种切换往往又是经常发生的,一般来说,需要在两种模式之间切换的用户数量远远大于只需要在一种模式下工作的用户数量。为了降低系统的复杂性,IPv6在体系结构之上定义了一个原则,要求所有的系统提供多地址的支持。将这个功能与范围受限地址的特性相结合,就可以对用户的个人设备提供支持,允许他们十分方便地在自由组网和受到管理的网络环境之间实现自动的切换。

IPv6带给无线领域的另外一个功能是有效的可移动性。当今,许多应用程序希望在与远程服务器或者同伴进行连接的整个生命周期之中IP地址都保持不变。虽然目前使用的IPv4也可以提供这种可能性,但是它的实现机制十分复杂,运行也十分脆弱。IPv6去除了这些复杂性,通过绑定方式的升级,允许端点系统有效地把数据包重新定向到移动节点的新地址之上。因为可以保持对于端点移动的感知能力,就可以确保建立一个完全透明的网络,从它的灵活性中获取强大的能力。

为了在降低系统成本的同时,扩展他们的访问能力,无论是大型商业机构还是小型商业机构,他们纷纷转向Internet的使用。为了帮助他们实现目标,Microsoft .NET的创新为开发人员、商业机构以及消费者提供了将计算和通信融合在一起的技术应用模式。支持Microsoft .NET的基础理念是:人们对于连接到Internet上的单独Web站点或者设备的关注已经转移到对于整个计算机、设备和服务群体的关注,通过群体内的协同工作可以提供更加广泛和丰富的解决方案。如果想要在任何时间和任何地点,通过任何设备获取所需信息,必须要求设备群体之中的每一个设备对于所有其它的设备都有一个一致性观察。使用IPv6为每一个设备提供一个全球唯一的地址,就可以获得这样的一致性观察。

使用Microsoft .NET的编程模型,开发人员不必过多分心于诸如应用程序必须在什么地方、以何种方式通过可能存在的网络障碍(例如NAT)进行运行的问题,他们可以集中精力开发应用程序本身的功能。如同其它的Microsoft .NET工具一样,IPv6实现也可以自动地与当前的需求相匹配,无论这些需求是关于自由组网、在家办公,还是旨在实现与商业机构的连接。

为了满足安全和保密的需要,Microsoft IPv6的实现之中将会包含名为Internet协议安全(Internet Protocol Security,简称Ipsec)的IP安全特性。IPSec是一个安全技术的工业标准,它可以为不同应用程序跨越不同的协议进行的数据传输提供数据身份验证,保护数据的完整性以及数据的机密性。在网络层提供这些功能,可以解放应用程序的开发人员,他们不再需要把相应的安全功能添加到每一个应用程序之中。

此外,Microsoft还对标准化进程做出了贡献,它提出了临时地址的概念。为了使得无状态自动配置特性正常工作,标准化组织选择使用底层硬件的地址(MAC地址)作为IPv6地址的一个组成部分,以确保IPv6地址在全球范围内的唯一性。这会带来这样一个负面效果,那就是所有的网络通信都可以被跟踪到具体的硬件设备之上。

对于接受外来连接的系统,具有一个公开发布的(在一定的范围之内)、全球唯一的网络地址是技术上的需求。但是,对于这种连接的发起者,网络地址只需要具有全球唯一性就可以了,它不必要公开发布。为了缓解人们对于这种关于隐私的潜在隐患的担忧,Microsoft制定了RFC 3041,定义了一个本地地址产生机制,它所产生的地址只在一定的时期之内有效,这个时期由本地系统或者应用程序来指定。IPv6系统所具有的支持多地址的特性,将允许每一个应用程序都可以使用一个独立的网络地址,并且/或者一个应用程序对于它所连接的不同服务可以使用不同的网络地址。





实现目标
对于整个行业来说,将IPv4转换到IPv6的工作比解决2000年问题更加艰巨。它将会涉及到几乎所有的网络应用程序、端点系统、基础结构系统以及网络体系结构。这项转换工作应该谨慎从事,必须防止出现失误,导致大量的现有技术不能使用,从而导致生产力损失并造成其它重大损失。与2000年问题不同的是,转换到IPv6并没有固定的时间期限。然而,前文我们已经介绍了,IPv4地址的消耗速度正在迅速地增加。越是早日采用IPv6协议,部署方案将越简单。

如同IPv4一样(它的早期部署过程之中,常常需要转换X.25网络),IPv6的部署将开始于现有网络的边沿,采用结构化的部署方法,充分利用现有的各种网络技术。人们预期Internet服务供应商(ISP)将会对于客户的需求做出反应,决定何时实施纯粹的IPv6路由。但是,更换所有的网络设备必须花费数年的时间,这个过程可能过于漫长了。为了避免“先有鸡还是先有蛋的问题”,Microsoft已经采取了行动,将IPv6数据包封装在IPv4之中,这样可以实现端点系统的渐进式部署,同时也会对ISP提出对IPv6的需求。

为了利用现有路由器的高性能的数据通道,启用IPv6的Windows系统将会缺省地使用IPv4隧道,除非是ISP提出了明确的说明,他们可以提供端到端的纯粹的IPv6数据通道。对系统的唯一要求是直接连接到ISP的Windows系统必须拥有至少一个公共的IPv4网络地址(在RFC 1918之中规定的地址范围不是公共的地址)。位于家庭或者商业机构内部的子系统将从直接连接的系统之上接收到具有6to4(RFC 3056)的前缀的路由器通信信息。

有些地方的NAT不能支持IPv6,在这些地方只能使用私有地址。对此您可以采用一种辅助性的技术,使用隧道的方法将用户报协议(UDP)的报头包含进来,使得IPv6数据通信通过这些NAT。该技术可以提供这样一种机制,将6to4类型的通信通过隧道在IPv4 Internet之上传输。有关的详细信息,请参考Internet草案draft-ietf-ngtrans-shipworm-0x.txt。

对于企业客户,使用站内自动隧道寻址协议(ISATAP)可以实现IPv6的渐进式升级。ISATAP完全允许只具有IPv6功能的主机或者子网与内部网上的IPv4主机和子网进行共存和互操作。如果同时使用6to4技术,商业机构将会获得一个完整的渐进式迁移解决方案,将他们的公司网络升级到IPv6。有关详细信息,请参考Internet草案draft-ietf-ngtrans-isatap-0x.txt。

尽管有了这些升级途径,网络的转换依然不是一件轻松的事情。在可以预见的将来,大多数的制造厂商将会生产同时支持IPv4和IPv6的系统,一旦系统所进行的连接不提供IPv6的支持,它们可以降级使用IPv4(假设在完全采纳IPv6之前,所有IPv4的连接支持都还存在)。显然,这个举措的总体目标是确保网络转换和实施的平稳进行,在升级应用程序以享用新的协议所带来的好处的同时,不破坏现有应用程序的可用性。为了实现这个目标,Windows公司定义了新的API,专门用以隔离遗留应用程序之中的各种相关问题,这些问题的覆盖范围很广,从无意的漏洞到协议的差别,其中也包括IPv6所具有的较长地址的问题。

为了实施IPv6,Microsoft已经进行了四个关键性的步骤:

从1998年开始,Microsoft Research提供了一个IPv6实现,Microsoft开始了向IPv6的转换工作。这个IPv6实现的目的是向开发IPv6标准的机构提供帮助,使得他们在进行协议定义的过程之中能够更好地理解和测试协议。
2000年3月,Microsoft为Windows 2000系统发布了一个技术预览。这个发布对于开发人员提供了帮助,使得他们逐渐熟悉有关IPv6的概念和功能,他们将来使用IPv6开发应用程序的时候将会使用到这些概念和功能。
2001年10月,Windows XP之中发布了开发人员预览IPv6栈,它是启用IPv6的系统的关键性的组件,拥有了这个组件,开发人员已经能够开始在他们的应用程序之中间添加IPv6的功能。此次发布也希望早期采纳IPv6的客户能够在非生产环境之中,在一定的限制条件之下,开始尝试着使用IPv6。这样做将会帮助客户更好地理解和管理未来将进行的全面转换,帮助他们意识到网络产品之中特别需要关注的问题。
2001年11月, Windows Server 2003 beta 3的发布之中包含了我们第一个可用于生产环境的协议栈版本和支持IPv6的组件。
在此之后的发布,无论是包含在Windows Server 2003家族之中,还是包含在Windows XP之中,通常都将提供这个协议栈,用以帮助客户开始生产系统和应用程序的转换,早日享受到新的协议所能带来的好处。

Microsoft的IPv6生产环境实现的定义所具有的特征是简单的部署过程。部署所采用的技术包括:无状态地址自动配置(包括临时地址的特性),在现有IPv4网络之上的自动隧道传输,以及范围受限地址的合理使用。

因为IP是操作系统之中基础性的、广泛使用的技术,将Windows Server 2003家族和Windows XP以前版本的Windows之中所具有的特性完全翻新是不现实的。因此,为了保持了向后的兼容性,启用IPv6的Windows版本既能够提供纯粹的IPv4访问能力,又能够考虑到未来的升级。因为在一些情况之下,必须提供IPv4和IPv6之间的转换(举例来说,当网络升级进行到了一定的程度,只能使用IPv6的设备还需要访问仍然运行的只提供IPv4支持的系统时,就必须进行这种转换),所以,该协议栈并不期望成为早期实施的规范。每当出现了只能使用IPv6的设备,对于应用程序来说必须解决的一个典型问题就是地址转换的问题。因此,每当出现了这些设备,应用环境应该根据具体的情况考虑相应的部署方案。





总结
虽然这个文档只是涉及了IPv6技术的各个要点,通过对它的阅读我们还是希望开发人员和网络管理人员能够对于Microsoft的工作有一个深入的了解。基于IPv4的网络目前支撑着各行各业的生产环境,替换这样一个正在创造高效率的系统核心并不是一件轻松的工作,它也不能操之过急。Microsoft在推动和简化该转换过程方面目前处于领先地位,并且愿意为它的合作伙伴和客户成功地完成这项复杂工作提供相关指导和帮助。

TOP

你还在思科金牌做吗?

TOP

发新话题