ospf(rfc2328)之中文译文2

iamamen 2003-08-11 10:57:55
以下为业余时间翻译,只作研究只用,对部分内容未作翻译,请参考原文。
本文遵循rfc2328之版权声明,如文后所附。
同时此翻译成果归本人所有,您可以对其作勘误或修改,但请注明修改情况,若您需要引用此文,请注明出处。
翻译:iamamen, mailto:iamamen@hotmail.com 2002/04

2、 链接状态数据库:组织及计算
以下各小节描述OSPF’s链接状态数据库的组织以及为了产生一个路由器路由表在该数据库上所需进行的路由选择计算。

2.1 路由器及网络的表示
自治系统的链接状态数据库是一个有向图。图的顶点由路由器和网络构成。如果两个路由器由点到点网络所连,则以图边界连接它们。一个连接路由器到网络的边界表明该路由器有一个在该网络上的接口。网络可以是传输网络或者是桩网络。传输网络可以传输那些不在本地发起,目标也不在本地的数据流量。传输网络以具有进入和输出边的定点表示。桩网络则仅有进入边。
图中每一网络节点的邻接取决于网络类型(P-to-P、广播或者点到多点)以及具有在该网络上具有接口的路由器的数量。图1a给出三种情况。矩形表示路由器,环及长椭圆表示网络。路由器前缀为RT,网络名前缀为N,路由器接口名前缀为I。路由器之间的线表示点到点网络。图左边显示网络及所连路由器,结果图在右侧。网络及路由器以顶点表示当且仅当列a和行b以X号标出时,才表示有一条边连接定点a到定点b。
图1a顶图给出两个用点到点链路链接的路由器。在结果链接状态数据库图中,两个路由器顶点以一对边直连,每个方向各一。到点到点的接口不需要指定ip地址。当接口地址指定时,它们被模拟成桩链接——每一路由器向另一个路由器接口地址通告一个桩连接。可选的,可以为点到点网络指定一个IP子网。此情况下,两个路由器通告一个到ip子网的桩链路,而不是通告彼此的ip接口地址。
图1a中图给出一个仅有一个相连路由器的网络(即,桩网络)。此情况下,在链接状态数据库图中网络出现在桩网络连接的末端。
当多个路由器连接到一个广播网络上时,链接状态数据库图所有路由器与网络顶点双向连接。见图1a的下图。
图中每一个网络(桩或者传输网络)都有一个ip地址以及相关网络掩码。掩码指出网络上的节点数目。直连到路由器的主机(成为主机路由)在图中以桩网络出现。主机路由的网络掩码始终为0xffffffff,它表明仅存在一个单节点。

2.1.1 非广播网络的表示
前面提到,OSPF可以以两种模式运行于非广播网络上:NBMA或者P-to-MP。模式选择决定了hello协议以及扩散协议在非广播网络上的运行方式以及链接状态数据库中网络的表示方法。
在NBMA模式下,OSPF仿效广播网络上的操作:为NBMA网络选择一个指派路由器,该指派路由器为该网络构造一个LSA。对广播网络和NBMA网络的图表示是相同的。这一表示见图1a。
不管从链接状态数据库大小,或者从路由选择协议数据流量来讲,NBMA方式都是在非广播网络上运行OSPF的最有效方式。然而,它有一个明显的限制:它要求所有连到NBMA网络的路由器可以直接通讯。这一限制可以在一些非广播网络上得到满足,比如使用SVCs的ATM子网。但是这一点在其它非广播网络上并不满足,比如仅PVC帧中继网络。在不是所有路由器可以直接通讯的非广播网络上,可以把非广播网络分成逻辑子网,在每一子网上的路由器可以直接通讯,然后把每一分割子网当作NBMA网络运行(见REF15)。而这需要许多的管理开销,而且很容易错误配置。在这样一个非广播网络上以P-to-MP模式运行可能会适合。
在P-to-MP模式下,OSPF把非广播网络上的所有路由器-路由器连接当作点到点链路。对该网络不进行指派路由器选择,也不对其产生lsa。实际上,代表点到多点网络的顶点并不出现在链接状态数据库图中。
图1b示例给出点到多点网络的链接状态数据库表示。在图的左边是一个点到多点网络。假定所有路由器可以直接通讯,除了RT4和RT5。I3到I6表示点到多点网络上路由器IP接口地址。在链接状态数据库的图形表示中,可以通过点到多点网络直接通讯的路由器以双向边连接,而且每一路由器也有一个到其自身ip接口地址的桩连接(这与实际的点到点链路形成对照,见图1a)。
在一些非广播网络上,使用点到多点模式及数据链路协议,如逆向ARP(见REF14)OSPF邻居的自动发现——即使广播支持不可用。

2.1.2 链接状态数据库例
图2给出一个自治系统样图。标有h1的矩形表示一个主机,它有一个SLIP连接到路由器RT12。因此路由器RT12通告一个主机路由。路由器之间的线条表示物理点到点网络。唯一一个指定了接口地址的点到点网络是连接RT6和RT10的网络。路由器RT5和RT7具有到其它自治系统的BGP连接。一系列由BGP得到的路由已被列在这两个路由器边。
对每一个路由器的输出侧都有一个关联的代价。这一代价是系统管理员可配置的。代价越低,接口越可能用于数据流量的转发。代价也跟源自外部的路由数据相关(比如,得自BGP的路由)。
由图2所示连接得到的有向图见图3。弧线所指标识出对应路由器数据接口的代价。没有标出代价的弧代价为0。注意从网络到路由器的引出弧代价总为0;即便如此,它们仍具有实际意义。同时也应注意到源自外部的路由数据在图上以桩出现。
链接状态数据库由路由器产生的LSAs拼接而成。在相关图形表示中,每一个路由器或者传输网络的邻接关系以一个单个、分离LSA表示。图4图形化示出这些LSAs。路由器RT12有一个接口到两个广播网络以及一个到一台主机的SLIP线。网络N6是一个具有三台路由器相连的广播网络。从网络N6到它所连路由器的所有链路代价都为0。对于网络N6的LSA实际由连到该网络的一台路由器产生:该路由器被选为指派路由器。

2.2最短路径树
在没有配置OSPF区域时,自治系统中每一路由器具有相同的链接状态数据库,这样就得到相同的图形表示。路由器以自己为根,据此图计算一个最短路径树,从而产生自身的路由表。显然,最短路径树取决于进行计算的路由器。对RT6的最短路径树如图5所示。该树给出到目标网络或者主机的整个路径。然而,仅到目标的下一跳用于转发过程。这一到任一路由器的最佳路由也进行了计算。为了外部数据处理,我们标记出到通告外部路由的任何路由器的下一跳及距离。对RT6的结果路由表如表2所示。注意对每一个编号点到点网络的每一端都有一个分离路由(在此例中指RT6到RT10的串行线)。
到属于其它自治系统的网络(如N12)的路由在图5的最短路径树中以点线出现。这些源自外部的路由选择信息在下一节考虑。

2.3 外部路由选择信息的使用
树构造完成后,对外部路由信息进行检查。这一外部路由信息可能源自另一个路由协议,例如BGP,或者是静态配置的(静态路由)。缺省路由也可以作为自治系统的外部路由选择信息的一部分被包括进来。
外部路由信息不经改变而在整个自治系统进行扩散。在我们的例子中,自治系统中所有路由器都知道路由器RT7有两个外部路由,metrics分别为2和7。
OSPF支持两种外部度量。类型1用与OSPF接口代价相同的单位表示(也即,链接状态度量)。类型2外部度量是一个定制极大值;任何类型2度量都被认为大于任何自治系统内部路径度量。使用类型2外部度量是假定在自治系统间的路由是对一个包路由的主要代价,也省去了把外部代价转化为内部链接度量的需要。
作为一个内型1外部度量处理的例子,假定在图2中的路由器RT5和RT7在通告类型1外部度量。对每一被通告外部路由,从路由器RT6进行计算则为被通告路由的代价与从路由器RT6到通告路由器的距离之和。当两个路由器通告相同外部目标时,RT6选择提供最小总代价的通告路由器。RT6随之设置到外部目标的下一跳为那个将被用于把数据包路由到被选通告路由器的路由器。
在图2中,路由器RT5和RT7都通告一个外部路由到目标网络N12。优选RT7,因为它向路由器RT6通告的距离为10(8+2),这优于路由器RT5的通告14(6+8)。表3给出当检查外部路由时被添加的路由项目。
处理类型2外部度量会更简单一些。通告最小外部度量的路由器被选择,而不管到自治系统边界的内部距离。假定在我们的例子中路由器RT5和RT7都通告类型2外部路由。那么所有指向网络N12的数据流都将被转发给路由器RT7,因为2<8。当有几个等代价路由存在时,到通告路由器的内部距离用于打破这一均势。类型1和类型2外部度量可以同时在自治系统中存在,此时,类型1外部度量总是占优。
本节假定指向外部目标的数据包总是通告自治系统边界路由器进行转发。这并不总是期望的结果。比如,假定在图2中有一个附加路由器连到网络N6,称为RTX。进一步假定RTX不加入OSPF路由选择过程,但是与边界路由器RT7交换BGP信息。那么路由器RT7将为所有可以经过RTX路由的目标通告OSPF外部路由,如果到这些目标的包总是需要首先路由到路由器RT7(通告路由器),那么有时会引入一个附加跳跃。
为了处理此类情形,OSPF协议允许一个自治系统边界路由器在其自治系统外部LSAs中指定一个“转发地址”。在上例中,RT7将为那些需要直接路由到RTX的目标地址指定RTX’s的IP地址作为“转发地址”。
转发地址还有另一个应用。它使得自治内部的路由器可以作为“路由服务器”。比如,图2中路由器RT6可以成为一个路由服务器,通过静态配置和外部路由协议的组合获得外部路由信息。RT6随之通告自身作为一个自治系统边界路由器,并且发起一个OSPF自治系统外部LSAs组合。在每一个AS-external-LSA中,路由器RT6通过适当的设置LSA’s“转发地址”域为该目标指定正确的自治系统出口点。

2.4 等代价多路径
以上讨论仅考虑到任何目标的单路由,这是一种简化。事实上,如果有到一个目标的多个等代价路由存在,它们都会被找出而且被使用。这不需要对算法的概念改变,对它的讨论推迟到我们详细讨论树建立过程时进行。
...全文
184 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
luoda 2003-08-27
  • 打赏
  • 举报
回复
提交给中文rfc文档计划吧,不过它们可能已经有ospf的翻译文档了
hawk_js 2003-08-27
  • 打赏
  • 举报
回复
感谢楼主;)

23,125

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧