⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc1131.txt

📁 RFC规范的翻译稿
💻 TXT
📖 第 1 页 / 共 5 页
字号:
14
8
RT7
20
14
表5:由路由器公告到区域1的目的地
这些信息使区域1中的内部路由器,如RT1,可以智能地选择区域边界路由器。路由器RT1将使用RT4和网络N6通信,使用RT3和网络N10通信,将在这两者间负载平衡地和网络N8通信。
重复这种逻辑,路由器RT1能决定通过RT5和RT7和目的地在另一个自治系统通信(N12-N15的网络)。
路由器RT6和RT10之间线路的故障会引起主干断路。在路由器RT7和RT10之间配置另一个虚连接可以给主干提供更在上述故障时的连通。在路由器RT7和RT10之间的虚连接了可在第三区域(包含N9)和路由器RT7之间允许更短的路径,可以向外部网络N12公告一条更好的路由。

3.5  支持IP子网
OSPF在公告路由时会附加IP地址的掩码,这个掩码指示特定路由所对就的地址范围。如汇总公告目的地址为128.185.0.0的掩码为0XFFFF0000准确描述了一个到目的地址128.185.0.0-128.185.255.255集的路由。同样,主机路由总是使用0XFFFFFFFF做为掩码,表示只有一个目的地址。
目的地址带有掩码的每一条公告使实现通常称为可变条子网掩码成为可能。这意味道单一的A、B和C类IP地址可以被分为不同尺寸的多个网络。如网络128.185.0.0可被分为64个可变尺寸的子网:16个大小为4K的子网,16个大小为256的子网,32个大小为8的子网,下表为一些用此掩码的网络地址:
网址
IP地址掩码
子网大小
128.185.16.0
0XFFFFF000
4K
128.185.1.0
0XFFFFFF00
256
128.185.0.8
0XFFFFFFF8
8
有多种方法来划分A、B和C类网络为可变大小的子网,讲解这些方法已超出本规范的范围,本文给出以政提示:当一个IP包被传输时,总是传到和包目的地址最佳匹配的网络。这个最佳匹配和最长或最多细节匹配是同义的。如缺省路由地址为0.0.0.0,掩码为0XFFFFFFFF表示所有的IP地址,但和其它匹配相比细节最少。带子网掩码对任何目的IP地址的最佳匹配都没有二义性。
OSPF区域的概念模型是在IP子网之后,OSPF区域是网络集合的松散定义。实际上,OSPF区域是指定的一系列地址范围(细节参见C.2节)。每个地址范围定义为一对[地址,掩码]。多个单独的网络可以包含在一个单独的地址范围内,就像一个子网可以包含多个单独的子网一样。区域边界路由器合并区域的范围(分发到主干)对每个地址范围公告一条路由。路由的代价为在特定范围内到任意网络的最小代价。
例如,一个IP子网可以配置为一个OSPF区域。这样,这个区域将只定义一个地址范围:对于A、B和C类网络使用其自然IP掩码。在区域内,可定义任意数量的变长子网,对区域外,对整个子网只向外分发一条路由,根本上隐蔽了网络子网化的事实。这条路由的代价取子网组件中代价最小的值。

3.6  区域分割
OSPF不会自动修复分割的区域。当一个区域被分割时,每个组件简单成为一个独立的区域。主干在新区域间形成路由,一些在分割前区域内的路由现在将需要区域间的路由了。
在上一节中,一个区域是一系列地址范围的描述,任何一个特定的地址范围在区域分割时必须保持为单独的组件。这样使得区域组成可汇总到主干。当然,主干自己是不能被分割的,如果那样做的话,自治系统的部分区域将变得不可到达。
另一种考虑区域分割的方法是年第2章中对自治系统介绍的图形。区域ID号可被图形端点的颜色标示。每个图形的端点连接一个网络,或者是一个点对点网络,这样端点用颜色标示着网络的区域ID值。
一组端点,用同一种颜色表示,有矢量线相连,表示一个网络。如果一个自治系统的拓朴是完整的,图形中将有多种颜色,每种表示不同的区域ID。
当自治系统的拓朴改变时,区域中的一个可能会被分割,自治系统的图形中将有相同颜色的多个区域(区域ID),自治系统的路由将继续有效,直到这些相同颜色的区域被单个主干相连接。

4.功能汇总
每个区域运行一份独立的基本路由算法。路由器到多个区域的接口将运行多份基本算法的拷贝。结基本算法作如如下汇总:
当一个路由器启动时,第一步初始化路由协议的数据结构,接着路由器等待接口功能的低层协议的指示信息。
路由器接着使用Hello协议获得邻居,路由器向它的邻居发送和接收Hello包。在广播网络,路由器使用组播地址发送Hello包,动态检查邻近路由器。在多路访问网络,Hello协议使用网络选出的指定路由器。
路由器使用它最新收到的邻居信息生成邻接表,拓朴数据库在邻接路由器间同步生成。在多路访问网络,指定路由器确定哪个路由器作为邻接。
邻接控制路由协议包的发送,路由协议包只在邻接路由器上发送和接收。一个路由器的邻接被它的连接状态公告的内容面改变。在邻接和连接状态之间的关系允许协议适时地检测无效的路由器。
连接状态公告将在整个区域内传播。这种传播算法的可造靠的,确保一个区域内的所有路由器有相同的拓朴数据库。这个数据库包含从属于这个区域内每个路由器收到的连接状态公告的集合。从这个数据库中,每个路由器依自己为根,计算一份最短路径树,这个最短路径树即为协议的路由表。

4.1 区域间路由
前一节描述了在单一区域内的协议操作,对于区域内路由,没有其它相关的路由信息。为了能路由到区域外的目的地址,区域边界路由器在区域中加入了附加的路由信息,这个附加的路由信息是自治系统中其余部分的拓朴精华。
这个精华的来源为:每个区域边界路由器被定义连接到主干,每个区域边界路由器汇总它所连接的区域拓朴信息后传输到主干,当然也传到其它区域边界路由器。这样区域边界路由器就有了关于主干的完整的拓朴信息,并且从每一个其它区域边界路由器得到区域汇总。根据这些信息,路由器就可计算出不含它所连接的区域的所有目的地址的路径。路由器接着将这些路径公告到它所连接的区域,这使得区域内的路由器在往区域外的目的地址传输时使用最好的出口路由器。

4.2 自治系统外部路由器
有关于其它自治系统信息的路由器可以把这个信息在整个自治系统中传输。这些路由被逐字分发到每个参与的路由器。
为了利用这些信息,在整个自治系统内到路径连接的所有的路由器都必须知道这些外部驱动信息。因为这个原因,区域边界路由器汇总了这些自治系统边界路由器的位置。

4.3 路由协议包
OSPF协议直接在IP上运行,使用IP协议89。OSPF不提供显式的分块和组合支持。当必须要分块时,IP分块和组合被使用。OSPF协议包已设计为将大的协议包可以按一般方式分为若干个小的协议包。这是被推荐的惯例;IP分块在可能情况下都会避免使用。
路由协议包在传输时IP的服务类型(TOS)字段总是设为0。在可能情况下,当同时传送和接收时,路由协议包的优先权应高于普通IP数据包。作为实现的辅助,OSPF协议包应当在互联网控制数值中有自己的IP优先级字段(参见RFC791)。
所有的OSPF协议包共享一个普通的协议包头,在附录A中描述。OSPF定义如下的包类型,他们的格式也将在附录A的描述。
OSPF的Hello协议使用Hello包去发现和管理邻接关系。数据库描述和连接状态请求包用来生成邻接表。OSPF的可靠更新机制是告连接状态更新和连接状态确认包实现的。
类型
包名字
协议功能
1
Hello
发现/管理邻居
2
数据库描述
汇总数据库内容
3
连接状态请求
数据库下载
4
连接状态更新
数据库更新
5
连接状态确认
回复确认
每个连接状态更新包带着距组织点一跳距离的新连接状态集合的公告,单个连接状态更新包会包含多个路由器的连接状态公告。每个公告标示有组织路由器的ID值和连接状态内容的检查和。一个连接状态公告可能是四种类型的一种,将拓朴数据库分为四类:

路由器连接公告:由所有路由器组织,这种公告描述了一个区域内路由器的接口状态,只传输到单个区域中。

网络连接公告:由广播网络组织,这种公告包含连接到网络的一系列路由器,只传输到单个区域中。

汇总连接公告:由区域边界路由器组织,传播到相连接的区域。描述到外区域的一条路由,但还是在自治系统内。(如区域间路由器)

自治系统外部连接公告:由自治系统边界路由器组织,传播到整个自治系统。由目的地为另一个自治系统的路由组成。
如上所述,OSPF路由包(除Hello包)仅在邻接中传输。即总味着所有协议包只传输一个IP跳数,除了在虚拟邻接上传输的包。这些OSPF协议包的IP源地址是一个路由器邻接的端点,目的地址是另一个邻接的端点或IP组播地址。

4.4  基本实现要求
实现OSPF需要下列系统支持几条:

计时器:需要两种不同类型的计时器,第一种称为单发计时器,一次点火,引发处理协议动作。第二种称为间隔计时器,在连续的时间间隔点火,用于在定期的时间间隔内传输包,一个很好的例子就是定期广播的Hello包(在广播网络)。这两种计时器的精度要求均为秒。

IP组播:某些OSPF包使用IP组播。支持发送和接收IP组播,需要适当的低层协议支持。这些IP组播包的传输不会超过一跳。关于IP组播参见RFC1112。

低层协议支持:低层协议在这里是指网络访问协议,如以太网的数据链路层。网络接口在线或不在线的标识应能通过低层协议传给OSPF,如在以太网上当以太网的收发器电缆没有插入时应给出相就的数值。

无广播低层协议支持:无广播网络是多路访问网络,如X.25共同数据网(PDN)。在这些网络,在企图向一个已死亡或不存在的路由器发送OSPF信息时Hello包必须能向OSPF提供辅助的标识。如在公共数据网一个死亡的路由器在X.25接收到标识后将可能的原因及诊断清楚地将这些信息传给OSPF。

处理简单的列表:大部分术语描述的OSPF功能是对连接状态公告列表的处理。如公告一直传送到从邻居的路由器收到确认列表为止。在很多这些表中教师都会有公告的细节,要实现OSPF需要能够管理这些表,在必要时增加和删除公告的组成。

任务支持:在本规范中描述的特定的过程会调用其它的过程,同时,在本过程执行完毕之前,那些过程应当在线执行,这用文字执行(execute)表示。另一种情况,仅当当前过程执行完成后其它过程才能执行,这用文字调度(schedule)表示。

5.  协议数据结构
在本规范中对OSPF协议在操作时的多种协议数据结构作了描述,下面为经过精减的上层OSPF数据结构,需要被初始化的作了注明,区域、OSPF接口和邻接及和数据结构有关联的内容将在规范的后面作解释。

路由器ID:一个32位数,在自治系统中唯一标识一个路由器。一种可能的实施策略为使用属于路由器接口的最小的IP地址。

区域结构指针:和路由器相联结的每个区域都有自己的数据结构,这个数据结构描述了基本算法的工作。记住每个区域运行独立的一份基本算法拷贝。

主干结构指针:把主干作为一个区域时的基本算法操作。基本这种原因主干表示成一个区域结构。

虚拟连接配置:将路由器作为一个端点进行虚拟连接配置,这个路由器自己必须是一个区域边界路由器。虚拟连接在另一端用路由器的ID号标识――另一个区域边界路由器。虚拟连接是主干的一部分,就像是一条建立在两个路由器之间的无编号点对点连接网络。一个虚拟连接使用它穿过区域的区域内部路由来传输包,通过在穿过区域建立的最短路径树决定虚拟连接的连通和断开。

外部路由列表:目的地为自治系统外部的路由,通过其它路由协议(如外部网关协议)直接得到或通过配置信息,或两者的结合(如由OSPF配置的尺度公告的外部动态信息)。拥有这些外部路由信息的路由器称为自治系统边界路由器,路由器将从自治系统外部的连接公告得到的这些路由再公告到整个自治系统。

自治系统外部连接公告列表:拓朴数据库的一部分。由自治系统边界路由器生成。他们组成到自治系统外部的目的地路由。注意,路由器自己是一个自治系统边界路由器,则这些自治系统外部连接公告中的一部分是它自己组织的。

路由表:由拓朴数据库生成,每个可到达的路由表示为一个代价和一组路径。一个路径用它的类型和下一跳表示。更多的信息参见第11节。

图9显示一个典型的路由器的数据结构汇集,路由器为RT10,取自于图6。注意路由器RT10和RT11之间有一个虚拟连接,区域2为连接的穿过区域,在图9中用虚线表示。当虚拟连接激活时,通过区域2构造的最短路径树,它成为主干的一个接口(见图9中的两个主干接口)。
图9:路由器RT10的数据结构
6.  区域数据结构
区域数据结构包含所有用来运行基本路由算法的信息,每个区域管理自己的拓朴数据库,路由器接口和邻接都属于单个区域。
主干有区域的所有属性,基于这个原因它也用区域数据结构表示。但要注意结构中的一些项目在应用时主干和区域的不同性。
区域拓朴(或连接状态)数据库由路由器的连接、网络的连接和区域路由器组织的公告汇总连接汇集成。这个信息只在单个区域内传播。自治系统外部公告列表也作为每个区域拓朴数据库的一部分。

区域ID:一个标识区域的32位数。0保留为主干的区域ID号。如果指派子网作为独立的区域,则IP网络地址可用作区域ID号。

组件地址范围列表:这些地址范围定义了区域,每个地址范围描述为一对[地址,掩码],区域内每个网络指定的地址范围就落于上述定义中(但地址范围不允许重复)。作为一个例子,如果一个IP子网将成为一个单独的OSPF区域,则这个区域由单个地址范围组成,一个IP地址和它的自然掩码(A、B和C类网络)。

路由器关联接口:路由器的接口连接到区域,一个路由器的接口属于一个且仅能属于一个区域(或主干)。对于主干的结构,这个列表还包含虚拟邻接。一个虚拟邻接是另一端路由器的ID值,代价为在这两个路由器作为内部区域路由器时的代价。

路由器连接公告列表:路由器连接公告由区域中的每个路由器生成。它描述了路由器的接口到区域的状态。

网络连接公告列表:一个网络连接公告是由在区域中每个穿过多路访问网络生成。它描述了连接到网络的当前路由器的集合。

连接公告汇总列表:连接公告汇总由区域的区域边界路由器组织,它描述了到自治系统内部,即区域外部的目的地址的路由。

最短路径树:区域内的最短路径树,路由器自己作为根得出。使用Dijkstra算法从收集的路由器连接和网络连接中得出。

认证类型:在一个区域内使用的认证类型。认证类型在附录E中定义。所有OSPF包交换都是认证的。不同的区域可使用不同的认证计划。

如无特别说明,本文档的余下章节都是针对单个区域的协议操作。

7.  生成邻接
OSPF在相邻的路由器间生成邻接的目的是交换路由信息,但并不是每两个相邻的路由器都会成为邻接,本节包含生成邻接的一般性内容,更深的细节见第10章。

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -