组织:中国互动出版网(http://www.china-pub.com/) RFC文档中文翻译计划(http://www.china-pub.com/compters/emook/aboutemook.htm) E-mail:ouyang@china-pub.com 译者:刘伟娜(superwinner starfield@xanet.edu.cn) 译文发布时间:2001-5-7 版权:本中文翻译文档版权归中国互动出版网所有。可以用于非商业用途自由转载,但必须 保留本文档的翻译及版权信息。 向IPng 过渡和其他考虑的白皮书 (RFC 1671 IPng White Paper on Transition and Other Considerations) 备忘录状态 This memo provides information for the Internet community. This memo does not specify an Internet standard of any kind. Distribution of this memo is unlimited. 摘要 本文是响应RFC 1550 而向IETF IPng 领域提交的文件。本文的发布并不意味着I P n g 领域接受文中所表达的任何思想。评议请提交给b i g - i n t e r n e t @ m u n n a r i . o z . a u 邮件列表。 总结 本白皮书在所选领域勾画了I P n g 某些通用需求。下面表示的是逐级过渡的需求: (1) 在网络的每级和每层实现互通。 (2) 包头转换被认为是有害的。 (3) 共存。 (4) IPv4 到I P n g 地址映射。 (5) 双栈主机。 (6) 域名系统( D N S )。 (7) 智能双栈代码。 (8) 智能管理工具。 接受某些关于物理和逻辑组播的论点,并建议需要一个I P n g 在AT M 上运行的模型。 最后,本文建议的策略选路、计费和安全防火墙等需求,需要所有I P n g 包携带所涉及事 务处理类型的踪迹,以及它们的源和目的地址。 过渡和发展 显然过渡需要几年的时间,同时网络中的每个站点不得不决定它自己的阶段过渡计划。 只有那些最小的站点可能在I S P 的压力下,考虑一步到位(“标志日”)的过渡。此外,一 旦决定采用I P n g ,那么I n t e r n e t 和所有用I n t e r n e t 协议集的专用网在下一十年(或 更长)的活动,将受到I P n g 发展的强大影响。用户站点注视着决策,是否和他们过去所看 到的在改变程序设计语言或操作系统时所用的同样方法来改变I P v 4 。向I P n g 转变可能 不是必然的结果。他们主要担心是,改变是否能使成本和影响生产的风险减到最低。 这样的担心立刻对I P n g 过渡和发展的模型产生了强大的约束。这些约束中的某些列 在下面,并对每种约束赋予简短的解释。 术语“I P v 4 主机”是一个和今天的主机运行同样内容,而没有维护版本及配置改变 的主机。“I P n g 主机”是一个运行I P 新版本,经过重新配置的主机。它类似于路由器。 1. 网络的每级和每层实现互通 这是主要约束。计算机系统、路由器和应用软件厂商肯定不会协调他们产品的发布日期。 用户将继续运行他们的老设备和软件。因此,I P v 4 和I P n g 主机和路由器的任何组合必 须能互通(即加入到U D P 和T C P 会话中)。一个I P v 4 包必须能找到从任何I P v 4 主机 到其他任何I P v 4 或I P n g 主机的路径,反之亦然,穿过I P v 4 和I P n g 路由器的混合 路径,I P v 4 主机无需修改。I P v 4路由器无需修改可与I P n g 路由器互通。另外,一个 “明白”I P v 4 但还“不明白”I P n g 的应用软件包必须能在运行I P v 4 的计算机系统上 运行,并和I P n g 主机通信。例如,欧洲的一个老P C机应该可访问美国的N I C 服务器, 即使N I C 服务器运行的是I P n g ,且北美的选路机制只是部分地变换过。或者某个公司 某个部门的一个C 类网络应该保持对运行I P n g 的公司服务器完全的访问,尽管C 类网 络内部什么也没有改变。 (并不要求一个只能在I P v 4 上运行的应用程序到一个I P n g 主机上运行。因此,我们 承认某些主机一直要等到所有它们的应用程序是I P n g 兼容后才能升级。换句话说,我们 承认某种程度上A P I 要改变。然而,即使这样的放松,还是有争议的,甚至有些厂商要求 在I P n g 主机上严格保持IPv4 API 。) 2. 包头转换被认为是有害的 该作者相信在任何过渡情况下,要求I P v 4 和I P n g 间动态包头转换将会造成几乎是 不可克服的实际困难: (1) 可以认为I P n g 功能将是I P v 4 功能的一个超集。然而,协议间的成功转换要求 被转换的两个协议的功能事实上应该相同。为此,应用需要知道它们什么时候通过 IPng API 和设在网络中某处的转换器与I P v 4 主机互通,以便只用I P v 4 功能。 这是不现实的约束。 (2) 转换器的管理对大的站点而言是完全行不通的,除非转换机制是完全隐蔽和自动 的。特别是任何转换机制要求为每个主机中的表格(如D N S 表或路由器表)人工地 保持专门标志以指示需要转换,这样做是完全不可能进行管理的。在一个有几千台 运行多种操作系统的主机的站点上,主机在不同软件版本上前进或后退,使得继续 用这种方法来不断跟踪所需要的这些标志的状态是不可能的。整个I n t e r n e t 的 多样化,将会导致混乱、复合的失效模式和困难的诊断。特别是不可能遵守( 1 )的 约束。 实践中为了避免混乱,对转换所需要的知识、所涉及的站点将决不泄漏,并且如果 还没有这样的知识的话,当需要时,应用程序不能将其本身限制在I P v 4 功能上。 为了避免混淆,此处所讨论的包头转换和地址转换( N AT )不是同一件事。本文不 讨论地址转换。本文不详细处理性能议题,但转换的另一个明显缺点是带来必然的 开销。 3. 共存 I n t e r n e t 基础设施(不论是公用的还是专用的)必须允许I P v 4 和I P n g 在同一路由 器和同一物理路径上共存。 为了在不要求主机步调一致地更新,及不使用转换器的情况下,网络基础设施能更新至 I P n g ,共存是必须的。 值得注意的是,这种需求并不强制使用有关公共的或是分离的方法来进行选路。作为共 存机制,也不排斥使用封装。 4. IPv4 到I P n g 地址映射 人们必须明白过渡期间会遇到什么问题。虽然I P n g 地址的自动配置可能是所期望的 目的,如果在给定的站点上,I P v 4 和I P n g 地址之间有一个可选的简单映射,那么过渡 的管理就会大大简化。 因此,I P n g 地址空间应包含I P v 4 地址的映射,这样(如果一个站点或服务供应商愿 意做的话)一个系统的I P v 4 地址能机械地被转换成I P n g 地址,大多数倾向于加一个前 缀。对每个站点而言,前缀不一定是相同的,可能至少是服务供应商指定的。 这并不意味着这种地址映射会用作动态转换(虽然有可能是),或将I P v 4 选路嵌入I P n g 选路内(虽然有可能是)。主要目的是简化网络运行者的过渡规划。 顺便指出,这样的需求实际上没有假设I P v 4 地址是全球唯一的。在建立I P v 4 和I P n g 选路域与分级之间的关系上也没有太多帮助。没有理由设想它们之间是1 :1 对应关系。 5. 双栈主机 无转换的逐步过渡是很难想象的,除非大部分主机同时能运行I P n g 和I P v 4 。如果 A 想和B( I P n g 主机)以及和C ( I P v 4 主机)交谈,于是A 或者B 必须能运行I P v 4 和 I P n g 两者。换句话说,所有运行I P n g 主机必须仍能运行I P v 4 。只能运行I P n g 的 主机在过渡期间是不允许的。 这样的需求并不意味着I P n g 主机真的有两种完全分离的I P 实现(双栈和双A P I ), 但是表现出好像是分离的。封装是兼容的(即两个栈中的一个可为另一个封装包)。 显然,对双栈主机的管理,由于上面提到的地址映射而简化了。除了I P v 4 地址以外, 只有站点前缀必须配置(人工或动态地)。 在双栈主机中,即使IPng API 和IPv4 API 是作为一个单个实体实现的,但在逻辑上是 可区别的。应用程序将从A P I 得知它们在用I P n g 还是I P v 4 。 6. DNS 双栈要求隐含了D N S 必须给I P n g 主机回答I P v 4 和I P n g 两者的地址,或将两 者编码在一起的单个回答。 如果在D N S 中,一个主机附属于一个I P n g 地址,但该主机实际上还没有运行I P n g ,尤如在I P n g 空间中出现一个黑洞—见下一点。 7. 智能双栈代码 双栈代码可从D N S 得到两个地址,用哪一个呢?多年的过渡期间I n t e r n e t 将包含 黑洞。例如,从I P n g 主机A 到I P n g 主机B 路上某处有时(不可预测)会遇到只运行I P v 4 的路由器,它将丢弃I P n g 包。同样,D N S 的状态也不一定与现实是一致的。D N S 声称知道I P n g 地址的主机可能在一特别的时刻并没有运行I P n g ,因此到那个主机的I P n g 包在传递时将被丢弃。知道一个主机具有I P v 4 和I P n g 两种地址并没有给出有关黑 洞的信息。对此必须有一种解决方案,这方案不能依赖于人工保持的信息。(如果这个不解 决,双栈方法是不会好于转换方法的。) 8. 智能管理工具 过渡期间需要一整套管理工具。为什么I P n g 路由不同于I P v 4 路由?如果要转换的 话,该发生在何处?何处有黑洞?(宇宙学家喜欢同样的工具。)今天的主机是否真正有I P n g 能力? 组播 众所周知,I P n g 必须支持组播应用,体系结构上一个明显的规则是:不论是L A N 还 是WA N 线路,组播包不应在同一线路上经过两次。如果做不到这点,则意味着同时组播 的事务处理最大数量会减半。 L A N 上的I P v 4 的一个负面特征是:轻率地使用物理广播包,诸如A R P (各种非I E T F 盲目模仿者)协议。在大的L A N 上,这将导致一系列不希望有的后果(经常是由于差的 产品或差的用户,而不是协议设计本身造成的。)如有可能的话,体系结构上明显的规则是 改用单播(或最坏情况,用组播)来代替物理广播。 ATM 网络工业界正在AT M 上大量投资。没有I P n g 提案似乎是可取的(从获得管理部门批 准的意义上),除非它是“AT M 兼容”的,也就是要有一个如何运行在AT M 网络上清晰 的模型。虽然不马上需要一个像RFC 1577 那样十分详细的文件,但必须显示该基本模型是 能工作的。 类似的论点同样可用于X . 2 5 、帧中继、S M D S 等,但AT M 是当前呼声最高的。 策略选路与计费 遗憾的是,这不能被忽略,许多人对此感兴趣。基金代理希望业务流流经提供基金的线 路,且在以后他们要知道有多少业务流。计费信息也可用作网络规划和反向付费的根据。 所以I P n g 及它的选路过程允许根据详细的源和目的地址来指定业务流的途径。(作为 一个例子,从M I T 物理系输出的业务流和任何其他系输出的业务流可能通过不同的路由到 C E R N 。) 满足该需求的一个简单途径是坚持I P n g 必须支持基于供应商的寻址和选路方案。 业务流的计费要求同样的详细程度(甚至更详细,例如f t p 的业务流是多少,w w w 的 业务流又是多少)。 两者都需要花费时间和金钱,并且不仅影响I P 层,所以I P n g 不该回避它们。 安全性考虑 公司网络运行者和校园网络运行者曾受到过好几次安全问题的困扰,他们对待此事比许 多协议专家更认真。实际上,许多公司网络运行者希望在向I P n g 过渡中,作为一个比其 他任何议题更为紧迫的议题,安全性能得以改善。 因为I P n g 估计是一个数据报协议,限制了它为端到端的安全性所能做的工作,I P n g 必须允许路由器中有比I P v 4 更有效的防火墙。特别需要基于源和目的地址以及事务处理 类型的高效的业务流阻挡。 看来需要同样的特征允许策略选路和详细计费来改善防火墙的安全性。讨论这些特征的 细节超出了本文范围,但是看来不大可能在边界路由器中限制实现细节。为了检查有害的业 务流,允许基于策略的源选路和/或允许详细计费,包必须携带某些三重验证的踪迹(源、目 的地、事务处理)。可能所有I P n g 可以在每个包中以某种格式携带源和目的地的标识符, 但是标识事务处理的类型或甚至于个别的事务处理,是一个额外需求。 声明和致谢 以下是个人观点,未必代表我老板的观点。 近几年来,CERN已经通过三个网络的过渡(由John Gamble 解决的I P v 4 重编号,由Mike Gerard解决的Apple Talk从阶段I 向阶段I I 的过渡,以及由Denise Heagerty 解决的DECnet 阶段I V向DECnet /OSI 选路的过渡)。如果没有从他们那儿获取知识,我是不能写出这个文 件的。我也从许多人,特别是从I P n g 董事会的各个成员的讨论或作品中,获益非浅。多 位董事会成员及波音公司的Bruce L Hutfless 提出了意义帮助阐明本文。不过意见是我本 人的,并非董事会全体成员的共同意见。 RFC 1671 IPng White Paper on Transition and Other Considerations 向IPng 过渡和其他考虑的白皮书 1 1 RFC文档中文翻译计划