ipng
IPng,也称为下一代IP,目前并没有完全定型。IPng是为“修订IP”而提出的一个概念性的名字,没有一个具体的协议叫做IPng,它是所有有关的下一代互联网协议的总称。九十年代以来,全世界都在享用Internet上丰富、方便、快捷、廉价的信息资源。但随着Internet的规模急剧膨胀,32位IP地址即将耗尽。为了避免因IP地址耗尽导致Internet崩溃,学术界从90年代初便开始研制新的IP地址系统。1994年正式提出了新一代IP协议,简称IPng,后确立正式名称为IP第六版,简称IPv6。
1、概念的诞生
90年代初期,很显然Internet已经超出了协议所能控制的范围。1991年12月发布的RFC1287,其标题是“未来的Internet体系结构”,其中列出了1991年1月的InternetActivitiesBoard(IAB,后来被称为InternetArchitectureBoard)和InternetEngineeringSteeringGroup(IESG)会议上确定的发展方向,其中包括对于Internet将来的基本估计和Internet协议中需要改进的最重要的领域。
对Internet将来的估计以下给出了四个预测,这些预测是针对未来五到十年中网络互联的趋势的分析。对于将来的网络环境达成一致认同有利于做出正确规划。预测如下:
TCP/IP协议集将在一定时间内与OSI模型并存。国际标准化组织(ISO)开发了开放系统互联结构(OSI模型)。尽管TCP/IP在市场上获得了成功并赢得了广泛的接受,但OSI模型将在一定时间内继续发挥巨大的影响。
Internet将变得更加复杂,需要与种类繁多的不同网络技术协同工作。即,与仅仅依靠一种或几种网络连接介质不同,将会有越来越多的网络连接介质诞生并长时间使用。、
对于Internet的访问将由许多承载商一起提供,其中包括提供多种网络的公用和专用供应商。换句话说,多种不同类型的单位,包括公司、*机构、教学组织和公用事业的网络,既可以通过电信业务供应商也可以通过个人拥有的网络进行连接。
Internet需要能够支持多达十亿个网络的互联,具体数量可能在一千万到一百亿个网络之间。
我们从1998年开始对这些预测做一个回顾就可以发现它们工作得的确不错。其中最重大的预测是OSI模型将继续保持其重要性,虽然近年来OSI模型在IP中已应用很少,但它并没有消失。随着新的网络技术,如异步传送模式(ATM)和xDSL(对于不同的数字用户环路服务的统称)逐渐普及,Internet确实变得越来越复杂。同时网络连接的多样性也正如预测一样增长起来。
虽然IPv4地址空间不够已经是不争的事实,但需要互联的网络的具体数量目前仍不是很清楚。一方面,在十亿个网络这种数量下,可以为世界上的每一个公司和单位分配一个网络;另一方面,随着计算机的普及和费用的逐渐降低,每个人拥有至少一个网络已经成为一种需求,这就导致了世界上需要有至少一百亿个网络以用于个人。在某些不可见的因素影响下,甚至可能会产生需要至少一万亿个网络的请求。
需要考虑的领域
1991年1月的IAB/IESG会议上还产生了另一个清单,其中列出了未来结构调整中最重要的领域。制定这份清单的目的在于定义将来的开发力量应当集中在哪些方面。其中包括:
选路与寻址问题
多协议体系结构
安全性体系结构
流量控制和状态
现代应用
寻址与选路
地址空间毫无疑问已经是一个问题,而路由表的膨胀也值得密切注意。RFC中指出,调用一个包含5000至7000项的路由表的时间将逐步影响快速发展的网络的性能。RFC1287的作者指出,不仅IPv4的地址空间将被消耗殆尽,而且在那个时刻到来之前可能IPv4的路由算法已经无法适应如此大数量的网络。他们还指出,源与目的地之间的多路由可能会导致服务类型(TOS)的变化,并将需要一些机制来控制路由的选择。
通过一些机制对网络路由进行集聚的方法已被建议作为路由爆炸的一个可能的解决方案。通过某些办法在大的域之间划定边界将有助于提高路由效率。另一个建议是用一些高效的算法来进行路由的计算,同时在路由器上利用一些办法以某些特殊的路由方法保持特殊业务流的状态。
对于寻址方案可能的修改包括使用现有的32位地址作为一个非全球唯一的标识。即,在网络中不互通的部分间地址可以重用。例如,把全球分为几个不同的域,这使得一个主机地址在每个域中都可以被使用一次,而域间的互操作将通过协议网关在数据进行域间切换时重写其地址而进行。
另一种寻址方案是只增加主机地址字段的长度,并集成一个管理域作为网络地址的一部分。第三种方案是使用让路由器将主机地址与管理域映射的连接策略扩展主机地址字段,并将整个字段作为一个非层次地址空间。
多协议体系结构
对于互操作的OSI传输与TCP/IP业务流的支持被认为是需要进一步开发的一个重要方面。这是因为直到1991年,Internet的连接仍然意味着一个主机必须具备一个Internet地址。如果没有一个IP地址并且没有运行IP,那么将不能上网。这种观点在1991年有了一些变化,RFC1287的作者建议连接可以通过电子邮件网关或者更简单一些,通过某些应用来访问Internet。例如,NetWare网络上的用户可以在他们的系统上使用诸如网页浏览器和电子邮件客户机之类的Internet应用,但同时使用网络互联包交换(IPX)协议在他们本地的NovellNetware网络上传输数据。
实际上,1990年大多数硬件和软件供应商放弃竞争,而改为接受TCP/IP作为网络互联协议集。甚至1998年Novell公司开发的Netware网络操作系统也属于TCP/IP产品。
更重要的是,至少从事后看来,TCP/IP可以包含或借鉴其他协议。而互操作性,尤其是应用之间而不是低层之间的互操作性,则被认为是一件好事。
安全性体系结构
美国国防部对于重点研究和开发工作的投资导致了IP的产生,这也意味着IP中天生就具有国防安全性方面的考虑。但是,商用Internet在安全性需求上与军队的网络有所不同,并且向一个协议集中添加安全性要比从头建设一个安全性协议难得多。
安全服务的一个建议是根据不同的用户名(在X.500协议中定义的一个OSI架构)进行身份验证并加以访问控制。同时还提出了关于一致性的强制措施,其中包含了一些方法来防止传输过程中数据被修改以及对于传输源的欺骗和抵御重放攻击(一个窃听者把从经过身份验证的用户处偷来的数据再次传输)。其他的服务包括保密性(对数据进行加密)、不可再现性(使用数字签名来防止发送方拒绝承认发送了某段数据)和通过拒绝对于某些服务的攻击以实现保护。
在该RFC中提出的其他安全性问题还包括路由器/网关上的协议过滤以及对于密钥的管理和存储的加密。
流量控制与状态
IPv4是一个无连接协议,但一些进程—例如语音和图像—需要一定程度的流量控制以正常工作。一个图像流必须以一个相对稳定的速率到达其目的地,不能太快也不能太慢,否则它的工作将不正常。RFC1287中定义了一些包排队机制以进行必要的流量控制,同时还定义了一些保持不同流的状态的方法来拓展IP使之更加适用于实时传输。
请注意在IPv4中定义了服务类型(TOS)域,但TOS不仅没有得到广泛应用而且现在连如何实现都尚不清楚。
高级应用
RFC的作者建议,与其考虑如何提出新的应用,还不如改进和简化开发新的和高级应用所需的过程,因为这样将带来更大的创造力。作为一个开始,他们建议创造用于不同类型数据的通用数据格式,尤其是文本、图像与图形、音频与视频、工作站显示与数据类等。对于开发高级应用而言,另一个重要的方面在于数据交换的机制。建议的机制中包括:存储转发业务、全球文件系统、进程间通信、数据广播和访问数据库的标准方法等。
2、IPv4继承者的提案
到1994年为止,已经出现了一些可以作为IPv4继承者的提案。IETF在1994年考虑的三个主要提案其实在1992年便已开始成形。
提案一:TUBARFC1347,含有更多地址的TCP和UDP(RFC1347:TCPandUDPwithBiggerAddresses,TUBA),是其中之一。TUBA是一个简单的Internet寻址和选路协议,可以认为是简单地用OSI网络互联协议和无连接网络协议(CLNP)替换了IP。CLNP中使用了网络服务访问点(NSAP)地址,该地址可以是任意长度,但通常为20字节,从而提供了足够的地址空间。除此之外,使用CLNP还可以帮助IP和OSI间进行会聚,并同时消除了建立一个完整的新协议的要求。
提案二:TP/IX
另一个提案在1992年以IPv7出现,并在1993年的RFC1475中有更加详细的描述,其标题为“TP/IX:下一代的Internet”。目前不太清楚TP/IX的含义,根据ChristianHuitema在《IPv6:TheNewInternetProtocol》(PrenticeHallPTR,1998)一书中的解释,该名字主要是为了表达该RFC的作者,RobertUllman,在修改IP的同时升级TCP的愿望。TP/IX使用64位地址,并在分级结构中加入了位于各单位之上的寻址层以用于管理。IPv7的8字节地址中有3字节用于管理域,3字节用于各单位的网络,另2字节用于标识主机。IPv7包头在对IPv4的包头进行简化的同时,也加入了转发路由标识符,使得中介路由器可以根据它来决定如何处理数据报。例如,可以根据在转发路由标识符中与该路由相关的值(如吞吐量或价值)来选择特定的路由,也可以根据它来把数据放在特定的业务流中或把数据与一台移动的主机联系起来——这意味着,一台主机可以在从一个网络搬到另一网络上的同时保持其TCP连接。TP/IX不仅对TCP和UDP协议作了修改,它同时还包括了一个叫做RAP的新的选路协议。
TP/IX后来演变成了RFC1707中定义的另一个协议,CATNIP:Internet通用体系结构。但是CATNIP除了保持了IPv7的设计理念外似乎与TP/IX的共同点不多。为了提供一个通用的体系结构,CATNIP标准中允许三种应用最广泛的体系结构:TCP/IP、OSI和IPX的使用,并讨论了如何为下一代IP集成一个更具竞争力的标准。它的目标是使得所有业已存在的系统在各个主机均无需修改、地址无需变化、软件无需升级的情况下可以继续互通。通过允许使用不同的网络体系,CATNIP将对实际基础设施的影响降到最小,但是,这也意味着需要通过增加一层的复杂性来实现真正的互联互通。
提案三:IP封装
第三种提案某些时候被称为IP中的IP,或IP封装(IPEncaps)。在这个提案中,IP包含两层:一层用于全球骨干网络,而另一层用于比较有限的范围。在有限范围内仍然使用IPv4,但骨干网络中使用不同地址的新的一层。后来这种提案不断演变并与其他协议相融合从而产生了简单增强IP(SIPP)。RFC1710(简单增强IP白皮书)对SIPP的历史做出了如下解释:
SIPP工作组代表的是进行IPng开发的三个不同IETF工作组的进展。第一组被称为IP地址封装(IPAE),由DaveCrocker和RobertHinden领导。该小组提出了对IPv4的一些扩展以携带更多的地址。他们的主要工作是研究过渡的办法。
后来SteveDeering提出了一个由IPv4发展而来的新建议,被称为简单IP(SIP)。在SteveDeering和ChristianHuitema的领导下成立了一个工作组进行基于该建议的研究。SIP中包括64位地址,一个经过简化的包头及单独的扩展头中的选项。两个小组经过长期的互相接触达成了共识,即IPAE与SIP间有许多通用的元素,并且IPAE开发的过渡机制可以应用于SIP,最终两个小组决定合并来集中他们的力量。新的SIP工作组的领导是SteveDeering和RobertHinden。
与SIP相并行,PaulFrancis(即PaulTsuchiya)也成立了一个工作组来开发PIP。PIP是一个基于新的结构的IP。PIP背后的推动力在于引入了新的IP,而且赋予了该机会非常重要的新的特征。PIP支持以16位为单位的变长地址,地址间通过标识符进行区分,能够支持选择承载商、移动性和高效转发。其中包括了与IPAE类似的过渡机制。
经过PIP和SIP工作组领导层之间大量的讨论,他们逐渐意识到PIP中大量的先进特征可以由SIP在不修改基本的SIP协议且保持IPAE过渡机制的前提下完成。本质上使得各种协议的最佳特征都可以被保持。正是基于这一点,两个组决定合并以集中力量。
新的协议被称为简单增强IP(SIPP)。合并后的小组的主席是SteveDeering,PaulFrancis和RobertHinden。
简而言之,SIPP对IPv4进行了以下改动:
选路和寻址扩展:SIPP定义了64位地址,倍增了IPv4地址空间。目的是为了在分层结构中提供更多级别,在每一层中可以分别完成各自的选路。另一个功能是加入了群地址,义网络拓扑中的不同地区。SIPP以64位为单位的地址扩展,及群地址均使得更大的地址空间成为可能。
IP头的简化:SIPP去掉一些IPv4头字段的内容,同时对结构进行了重组使之有助于提高路由的效率。
对于选项实现的改进:SIPP使用了更加灵活的方法对IP选项进行编码和实现。
服务质量:SIPP使得对属于特定业务流的数据级进行标记成为可能。主机可以要求对于这些业务流采用特殊的处理,这一点对于像音频和视频传输这种需要实时递交的业务非常有用。
身份验证和保密:SIPP中加入了关于身份验证、数据一致性和保密性的内容。
SIPP是来自不同小组的人们共同工作的结果。在已完成的建议中包括了许多有趣的新方法,同时与升级IPv4而不是从头建立一个新协议的目标相差不远。值得注意的是其选路方法与IPv4很类似,仍然使用了CIDR来增加灵活性并提高选路的性能。另外一个重要的功能在于允许根据不同的选择标准(包括性能、开销、供应商对于流量的策略等等)对供应商进行选择。其他的选路扩展还包括对于移动主机的支持以及自动重新寻址和扩展寻址。
一个值得注意的机制是SIPP对于IP选项的处理:与把IP选项作为IP头的基本组成部分不同,SIPP中把IP选项与包头的主要部分进行了隔离。该选项头,如果有的话,将被放在包头后的数据报中并位于传输层协议头之前。使用这种方法后,路由器只有在必要的时候才会对选项头进行处理,这样一来就提高了对于所有数据进行处理的性能RFC1710同时提供了SIPP技术规范的技术概述和对于协议必要性的证明和描述。如果只是为了知道IPv6来自何方的话,它也值得一读,因为SIPP经过一些修改之后,被IESG接受作为IPng的基础。最终定案——RFC1752:关于IP下一代协议的建议RFC1752(关于IP下一代协议的建议)于1995年发布。这是一份令人着迷的文件,因为其中非常明确地指出了在IPv4的候选继任协议中哪些是需要的,哪些是已拥有的。在它的小结中,RFC1752的作者指出了IPng将来的样子:
本协议提案中包括一个拥有分级地址结构的简化的头结构,从而允许进行严格的路由集聚,并且足以应付Internet在可见的将来产生的需求。本协议中也包括包一级的身份验证和加密功能以及即插即用的自动配置功能。这个设计改变了IP头选项的编码方式,从而在提高性能的同时增加了在将来引入新的选项的灵活性。它还包括了对业务流进行标记的能力。
包含许多特殊建议的列表的第五项指出,IPng将基于SIPP的128位地址。该RFC中的其他部分为Internet研究小组解决IPv4中的问题提供了非常好的历史资料,同时也提供了对于三个竞争者:TUBA、CATNIP和SIPP的详细的分析。该RFC检查了每个提案,并讨论了它们如何满足(或不能满足)需要,同时也提供了这些提案经评审后的结果。
所有三种提案都在某种程度上获得了赞扬,并都可以在最终的提案中找到各自的影子。例如,SIPP中并不包括一个强壮的过渡方案或可以被全盘接受的自动配置的机制,因此在该标准中引入了TUBA在这些方面的方案。同时SIPP中所有值得自豪的方案中也有一些未被采纳:如地址扩展的概念被认为是实验性过强,会为IPng的工作引入风险;同时其64位地址被128位地址取代以适应任何没有预见到的情况。
RFC1752描述的建议中包括了多种与IPng及相关协议的实际设计相关的进一步的任务。SIPP及其他协议可以被认为只是一个起点,尤其是当IPng强壮到可以长年为Internet服务的时候就更是如此。
3、IPv6
最早的描述IPv6及其支持的协议的RFC标准(RFC1883~1887)于1996年早期发表,其中有一些可参见本书的附录B中。但是,它们当时并没有全部完成且其后加入了多种附件和少许修改。附录A中包括与IPng和IPv6相关的RFC的列表。下一章将描述IPv6的基础,第6章则提供了基于这些和后来的协议标准的更多的细节。
到1998年夏末为止,新的IPv6RFC获得了发表的批准。其中尤其值得注意的是,RFC2373(IPv6的寻址体系结构)替换了RFC1883;RFC2374(一种IPv6可集聚全球单播地址格式)替换了RFC2073。其他允许发表的新的RFC描述了ICMPv6、IPv6中的邻居发现和无状态自动配置。
推荐阅读