组织:中国互动出版网(http://www.china-pub.com/) RFC文档中文翻译计划(http://www.china-pub.com/compters/emook/aboutemook.htm) E-mail:ouyang@china-pub.com 译者:王安鹏(anpengwang anpengwang@263.net) 译文发布时间:2001-7-26 版权:本翻译文档可以用于非商业用途自由转载,但必须保留本文档的翻译及组织信息。 Network Working Group D. L. Mills Request for Comments: 975 M/A-COM Linkabit February 1986 自治联邦 (Autonomous Confederations) 本备忘录的状态 这一RFC文档的目的在于对外部网关协议(EGP)提出某种改进,使其支持一种简单 的、多层的路由能力,同时又不损害当前EGP模型的健壮性。本备忘录还需要讨论和建议 以进一步完善,其发布没有任何限制。 摘要 这一改进有效地拓展了核心系统的概念使其涵盖多个自治系统社区——称之为自治联 邦,现有的实现无需修改就可以与增强的实现协同工作。与一般的自治系统之间相比,自治 联邦维持了更高的互信度,包括避免成员系统之间出现路由循环的合理保护,但是允许放宽 当前EGP模型的路由限制。 改进包括EGP更新消息的“跳数”或者距离字段,当前的EGP模型没有纳入对这一字 段的解释。每个自治联邦对这个字段都给出了特定的解释以支持最多三层的路由:一是在自 治系统内,二是在自制联邦内,三是在联邦全体内,其中第三层是可选的。 目录 1 简介与背景 2 1.1 外部网关协议(The Exterior Gateway Protocol) 2 1.2 路由限制(Routing Restrictions) 3 1.3 例子与问题(Examples and Problems) 3 2 自治系统与联邦 4 2.1 拓扑模型Topological Models 4 2.2 可信路由规格Trusted Routing Metrics 5 3 实现中的问题(Implementation Issues) 5 3.1 数据库管理函数(Data-Base Management Functions) 6 3.2 路由函数(Routing Functions) 6 3.3 兼容性的问题(Compatibility Issues) 6 4 总结与结论(Summary and Conclusions) 7 5 参考资料(References) 7 1 简介与背景 Internet外部网关路由算法的历史发展源自一个相当严格的受限的拓扑模型,强调了健 壮性和稳定性,但是代价是路由的动态性和灵活性。开发健壮而且灵活的路由算法已经被实 践证明是非常困难的,究其原因更多是由于对服务需要的不同理解,而并非是工程上的问题。 最初的外部网关模型在RFC 827中提出,后来又在RFC 888中重新定义,这个模型严 格地把Internet的拓扑结构限制为树型结构,根由BBN开发的“核心”网关系统表示。这 个模型最重要的特性是消除了耗费资源的路由循环,树形拓扑内的网关丛(称为自治系统) 之间不可能出现路由循环。但是,即使不考虑性能的问题,仍然存在管理和执行的困难,难 以广泛地应用。 1.1 外部网关协议(The Exterior Gateway Protocol) 要实现BBN核心网关和其他组织实现的网关成员之间的紧密协作,需要开发一个中间 协议交换可达性信息,但并不需要具有真正的路由算法的功能。这个协议就称为外部网关协 议(EGP),并由RFC 904提出。 EGP并没有被设计成一个路由算法,因为无法就一个可信赖的、通用的标准达成一致。 相反,EGP被设计来为临近网关和不相邻网关之间提供高质量的可达性信息。就目前的发 展状况而言,动态路由仅由核心系统计算并使用EGP——只是作为一种接口机制——提供 给非核心网关。非核心网关可以为核心系统或者其他非核心网关提供路由,单数不能传递通 过计算来自其他网关的数据得到的“第三方”路由。 随着操作EGP实践经验的积累,为了避免没有完全优化的路由对资源的浪费,开发一 种更加分散的动态路由能力越来越有必要。另外,一致有人反对单个核心系统的前提假设, 认为这样做意味着不完全优化的性能、管理上的问题、不切实际的强制以及可能带来的破坏 性。无论这些反对意见是否中肯或者公平,仍然存在一个重要的技术问题:是否存在不会显 著降低稳定性和健壮性而又更加动态的、分布式的方法? 本文提出了对EGP的一种改进,这种改进推广了核心系统的概念使其纳入多个自治系 统社区,并称之为自治联邦。与一般的自治系统之间相比,自治联邦维持一种更高的互信度, 包括避免成员系统之间出现路由循环的合理保护。这一增强包括EGP更新消息的“跳数” 或者距离字段,后面将对此给出详细的解释。要注意,RFC 904并没有对这个字段作出规定, 仅仅把它留作以后研究。 对距离字段的解释包括三个级别的规格。其中最低的一层可用于自治系统自身的内部网 关协议(IGP),并扩展到自治系统范围内的内部路由。稍高的一层选择从自治系统内到其 他自治系统的首选路由,而第三层——也是最高的一层——则选择从自治联邦内到其他自治 联邦的首选路由。 可以确信,这里推荐的模型能够与当前的规范和在Internet中的实际应用相兼容。事实 上,现在的自治系统整体——包括核心系统——都可以被认为是一个自治联邦,并且如果需 要还可以从现有的或者新的系统构造新的联邦。 1.2 路由限制(Routing Restrictions) RFC 904的目的在于对路由限制作出规定以取代原有的文件,包括RFC 827和RFC 888。 非核心系统不得传递第三方信息的看法,是在前一文档发布之后RFC904定案之前的一次计 划会议上提出来的。这样做就有效地废止了原来的“根”的概念以及其他的不对称性,仅仅 使用第三方法则。 这样,对非核心系统的限制就只有一条——其EGP消息中只能列入:(a)属于同一自治 系统的网关(内部邻居);(b)通过系统所属网关能够抵达的网络。没有其他明确或隐含的限 制。该规范没有涉及核心系统及其网关的设计。 这种约束意味着为了保证完全的可连接性,每个非核心网关必须与一个核心网关一起运 行EGP。由于目前的核心网关实现不接受EGP相邻路径上的其他网关,这就进一步隐含着 要求每个非核心网关必须与至少一个核心网关共享一个网络。 注意逻辑上并没有禁止把EGP用作IGP,甚至没有限制与其他非核心系统的网关使用 EGP,如果每个系统的每个网关都与其他系统的每个网关运行EGP,那么核心系统的概念就 是不必要的和多余的了。 在EGP模型的发展过程中曾经要求自治系统必须是一个严格的层次拓扑(树型结构), 但现在不需要了。曾经禁止两个网络通过两个或多个系统的网关相连接,现在也不需要了。 自治系统是网关而不是网络或者主机的集合,因此一个给定的网络或者主机可以通过不同的 系统抵达,但是每个网关必须且只能属于一个系统。 1.3 例子与问题(Examples and Problems) 考虑一种普通的情形,两个局域网A和B通过不同系统的网关连接到ARPANET上。 现在假设A和B通过一个与A-ARPANET属于同一系统的A-B网关连接,这样A-ARPANET 自身与A网和B网都可以列入EGP信息发送给其它的网关,因为现在两者在A-ARPANET 系统内都是可达的。但是B-ARPANET网关只能列入自身和B网,因为A-网关不在它的系 统内。 原则上,我们可以假定还存在一个与B-ARPANET位于同一系统内的B-A网关,从而 也可以列入A网;但是两个系统通过协商把A-B网关视作共同管理更容易。这种协商的实 现可能不很直接,但是因为联合网关必须被其他的网关看作两个完全不同的网关,必须拥有 各自的自治系统号。 另外一种情况是由于这样那样的原因,一个系统没有通往核心网关的途径,而只能通过 其他非核心网关连接。比如有一个局域网C和一个不属于A-ARPANET和B-ARAPANET的 网关C-A。按照上述限制,网关C-A可以把C网列入EGP信息发送给A-ARPANET,而 A-ARAPNET也可以把自身列入EGP信息发送给C-A,但是其他网络不能从核心系统获得 这些信息。这样,网关C-A就不能取得完全的路由信息,除非它与某个核心网关直接运行 EGP。 2 自治系统与联邦 上述第二个例子说明需要一种机制,使两个非核心网关交换任意的路由信息,同时又不 降低——与互相协调的安全模型相关——健壮性的级别。一种方法是扩展现有的单核心自治 系统模型引入多核心系统。这需要一个拓扑模型定义这些系统的范围和一个全局性的可信的 度量用于推动路由计算。下一节描述了一个合适的拓扑模型,适宜的度量在在随后的一节讲 述。 2.1 拓扑模型Topological Models “自治系统”包括一个网关集合,每一个都可以仅仅通过系统内部的网关抵达同一系 统的其它任何一个网关。系统内的网关使用内部网关协议共同维护一个路由数据库和一个 内部系统可信路由机制(这里不再讨论)。人们希望IGP包括的安全机制能够确保同一系 统内的网关才能像邻居那样互相了解。 自治系统内的一个或者多个网关可以与相邻系统内的一个或多个网关运行EGP。没有 限制EGP相邻路径的数量和配置,只是要求每条路径包含的网关必须在这两个系统之内 而不得插入的三个系统。特别是也不要求EGP邻居必须共享同一个网络,尽管很可能是 这样。 “自治联邦”包括一个自治系统的集合,它们共享一个公用的安全模型,就是说它们 彼此信赖对方计算的通向本联邦内其他系统的路由。联邦内的每个网关都可以经由联邦内 的路径抵达同一联邦内的其他网关。尽管除了上述约束外没有限制EGP路径的数量和配 置,还是需要某种机制确定可能的EGP邻居确实在同一联邦内。比如说可以使用访问控 制列表或者划分系统数量集来实现。 如果系统内的一个网关具有某个网络的接口,那么从自治系统到这个网络就是“直接 可达的”。这个系统内的每个网关都有资格把所有直接可达的网络列入EGP信息并发送给 其它的系统。一般可能会有某个特别的网络能够从多个系统直接可达。 从一个自治系统到某个网络是“可达”的,如果从属于同一联邦的一个自治系统到这 个网络直接可达。一个直接可达的网络对于同一个系统总是可达的。该联邦内的每个网关 都有资格把所有可达的网络列入EGP信息并发送给其它任何系统。可能会出现一个网络 能够从不同的联邦直接可达或者可达。 为了保持Internet全局路由的稳定性,明确地假设从一个自治系统内部到一个直接可 达网络总是优先使用系统外部的路径,自治联邦内部的路径总是优先使用联邦外部的路 径。下一节讨论保证这一假设实现的机制。 一般而言,EGP更新信息可以包括两个网关列表,一个是属于同一系统的那些网关(内部 邻居),一个是属于不同系统的网关(外部邻居)。直接可达的网络必须一直与同一系统内 的网关即内部邻居相连,而非直接可达的网络机可以与内部邻居也可与外部邻居相连。可 达但不是直接可达的网络必须与同一联邦内的网关相连。 2.2 可信路由规格Trusted Routing Metrics 似乎有一条通用的规则可以刻画出分布式系统的特点:越紧的事物越有活力越可信 赖,越远的事物越稳定越令人怀疑。比如说,网络概念是Internet模型所固有的,把它们 绑到一起的网关概念同样也是固有的。彼此靠近的一丛网关(比如在一个自治系统内)典 型地使用高性能的路由算法交换路由信息,可以敏锐地监测、快速地适应变化的性能指标 如队列延迟和连接加载。 但是,彼此距离较远的网关丛(比如远远分开的自治系统)通常只需要粗略的路由信 息,可能仅仅是到达大致目的区域最可能的下一跳的线索。另一方面,随着距离的增加彼 此的猜忌也不断加深,所以这些网关丛可能需要精细的安全考虑,包括对等验证、机密性、 保密和签名确认。另外,效率方面的考虑常常要求路由协议本身占用的合理网络带宽随着 距离增大而减少。作为这两方面代价的典型回应,结果是网关丛之间距离越远,路由算法 的机动性越小。 上面的观察表明需要发展一个全局性的可接受的路由规格。假设这个路由规格表示为 一个整数,较低的值代表可以精确识别的“较近的”网关,较高的值代表只能大致识别的 “较远的”网关。如果值小于一个全局性的公认的常量X,则与限定在发送方所在的自治 系统内部的路线关联;如果大于这个值但是小于另外一个常量Y,则与发送方所在的自治 联邦内的路线关联;如果大于Y则与其他的路线关联。 在这三层——自治系统、自制联邦和联邦全体——的每一层中,可以同时运行多种路 由算法,每种算法可能为各个目标网络生成不同的子树和上述规定范围内的不同规格值。 但是,在每个系统内对规格值的解释必须相同,这样其他的系统才能减轻那个系统内的多 个网关之间的路由。类似的,每个联邦内对规格值的解释也必须一致,以便其他的联邦减 轻那个联邦内的网关之间的路由。虽然所有的联邦都必须符合一个通用的联邦整体算法, 但并不采用相同的联邦级的算法,也不需要同一联邦内的所有系统都采用同样的系统级算 法。 3 实现中的问题(Implementation Issues) RFC 904并没有规定如何使用EGP更新消息中的8位“跳数”或者距离字段,而是留 待以后研究。上述模型提供了这一字段的解释,并且暗示了如何设计相应的路由算法。 为了便于说明,假设上面的X和Y的值分别为128和192。这就意味着特定系统内的 网关将赋予直接可达网络小于128的距离值,外部网关可以自由地对这些值进行比较并作出 选择。它还意味着某个联邦的所有系统内的网关将赋予那些系统内不直接可达、但在联邦内 可达的网络128到192之间的距离值。下面的讨论中假设不同的联邦可以通过16位的系统 码字段中的某些特性——或许是一个保留子字段——加以识别, 3.1 数据库管理函数(Data-Base Management Functions) 下面的实现模型可能有助于进一步说明上面的问题,同时也提供了至少一种组织网关数 据库的方法。数据库被组织成一个路由表,每一条记录都包括一个网络号和一个项目列表, 每个项目都由a)网关地址、系统号、某个EGP邻居提供的距离,b)生存时间计数器、本地 路由信息以及管理数据库需要的其它信息组成。 每当从某个邻居接收到EGP更新消息,或者其他的方式——比如系统IGP,路由表都 会进行更新。消息首先被解码,组成一个包括网络号、网关地址、系统号和距离的四元组列 表。根据EGP判断,如果网关地址属于相邻系统内部,则四元组中的系统号就被设定为那 个邻近系统的系统号;否则系统号设为0,表明是“外部的”。 然后,依据消息中提供的距离值按照以下条件计算心的距离值:如果系统号与本地系统 号匹配,新的距离值根据系统IGP的规则确定,但必须小于128;否则,如果系统号属于同 一个联邦或者系统号为0,而且原来的距离值小于192,那么新的距离值根据联邦EGP的规 则确定,但应大于等于128并且小192;否则,这个值根据(全局的)联邦整体EGP的规 则确定,但至少是192。 对于列表中的每个四元组,路由表首先查找匹配的网络号,如果没有则增加一条新记录。 然后在项目列表中查找与那个网络号匹配的网关地址和系统号,如果没有找到则添加一条新 记录。最后,重新计算距离值,重置生存时间字段并添加局部路由信息。每个列表中所有项 目的生存时间字段都根据正则原理增加。如果某个字段超出了预定的最大值,则抛弃该项目, 如果某个列表中的所有项目都被丢弃,则整个记录包括网络号都被删除。 如果网关向邻居发送EGP更新消息,必须按照网关地址而不是网络号的顺序转置数据 库。这一过程中需要扫描路由表,并对每个网络号选择距离最短的网关。结果列表按照网关 地址排序并根据内部/外部系统号进行划分。 3.2 路由函数(Routing Functions) 遇到数据报(服务单元)的网关在路由表中检索匹配的目标网络号并在那个列表中选择 距离最短的网关。根据上述的赋值方式,显然只要存在级别较低的路线就不会选择级别较高 的路线。同样清楚的是,系统内的路由选择不会影响系统外的路由选择,除非受到联邦内部 路由算法的干扰。如果联邦EGP使用简单最少系统跳数算法每个系统的IGP只能影响到可 达性的的范围。 3.3 兼容性的问题(Compatibility Issues) 这里建议的对距离字段的解释,与已知的没有解释这个字段的EGP实现,以及几个已 知的私下使用这个字段的EGP实现向后兼容。可能发展现有系统的最简单的方法是,把所 有现存的没有对距离字段进行解释的实现全部搜集在一起作为一个联邦,并利用已有的核心 系统和路由限制。该联邦提供的所有距离值都被假定为192,这样至少能够在联邦全体内提 供基本的寻路能力。 对于距离字段采用一致解释的一个或者多个现有的或者被提议的系统可以组织成一个 自治联邦。这其中可能包含现在配置的那些蝶形网关或者其他的兼容产品。这些系统提供了 对于不同的网关按照距离字段选择进入系统内的路线的能力。可以预料,如果路由信息来自 其他的蝶形系统那么蝶形系统的距离字段一定被设为大于等于128;如果来自非蝶形系统则 假定来自联邦之外并且距离字段被设为大于等于192。 使用上述建议的实现模型的新建系统可以根据距离字段选择进入联邦的路线。但是要正 确的工作,所有的系统和联邦必须对超过192的距离值采用一致的解释。 4 总结与结论(Summary and Conclusions) 从表面上看,本文提出了一种解释EGP更新消息种距离字段的建议,这个字段原来并 没有结构性的解释,但经常被非正式的使用。这一建议总得说来是对系统和联邦层次结构被 的自治系统进行排序,并把距离字段解释为三个级别的规格。结果是形成了相应的三个级别 的路由社区,一个优先在在系统内部寻路,一个优先在联邦内寻路,的三个没有设定优先条 件。 尽管提议的三层结构可以扩展到任意多层,但会使得距离字段非常拥挤——在当前的 EGP模型中只有8位。 按照John Nagle和其他人的建议,距离的概念可以很容易推广为“管理距离”。 5 参考资料(References) [1] Rosen, E., Exterior Gateway Protocol (EGP), DARPA Network Working Group Report RFC-827, Bolt Beranek and Newman, September 1982. [2] Seamonson, L.J., and E.C., Rosen. "STUB" Exterior Gateway Protocol, DARPA Network Working Group Report RFC-888, BBN Communications, January 1984. [3] Mills, D.L., Exterior Gateway Protocol Formal Specification, DARPA Network Working Group Report RFC-904, M/A-COM Linkabit, April 1984. RFC 975——Autonomous Confederations 自治联邦 1 RFC中文文档翻译计划
RFC975_自治联邦
最新推荐文章于 2024-09-04 15:04:22 发布