RFC2328中文版.docx
- 文档编号:26113213
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:189
- 大小:115.90KB
RFC2328中文版.docx
《RFC2328中文版.docx》由会员分享,可在线阅读,更多相关《RFC2328中文版.docx(189页珍藏版)》请在冰豆网上搜索。
RFC2328中文版
1
绪论
1.1
协议概述
1.2
常用术语的定义
1.3
连接状态路由技术的简要历史
1.4
本文档的结构
1.5
感
2
连接状态数据库:
组织和计算
2.1
路由器和网络的表示方法
2.1.1
非广播网络的表示方法
2.1.2
一个连接状态数据库的示例
2.2
最短路径树
2.3
使用外部路由信息
2.4
等值多路径
3
将自制系统划分为区域
3.1
自制系统的骨干区域
3.2
区域间路由
3.3
路由器的分类
3.4
一个简单区域配置
3.5
IP子网化支持
3.6
支持存根区域
3.7
区域的划分
4
功能摘要
4.1
区域间路由
4.2
自制系统外部路由
4.3
路由协议包
4.4
基本实现的需求
4.5
OSPF可选项
5
协议数据结构
6
区域数据结构
7
形成邻接
7.1
Hello协议
7.2
数据库同步
7.3
指定路由器
7.4
备份指定路由器
7.5
邻接图
8
协议包处理
8.1
发送协议包
8.2
接收协议包
9
接口数据结构
9.1
接口状态
9.2
引起接口状态改变的事件
9.3
接口状态机
9.4
选举指定路由器
9.5
发送Hello包
9.5.1
在NBMA网络上发送Hello包
10
邻居数据结构
10.1
邻居状态
10.2
引起邻居状态改变的事件
10.3
邻居状态机
10.4
是否形成邻接
10.5
接收到Hello包
10.6
接收到数据库描述包
10.7
接收到连接状态请求包
10.8
发送数据库描述包
10.9
发送连接状态请求包
10.10
示例
11
路由表结构
11.1
查找路由表
11.2
路由表示例,无区域
11.3
路由表示例,有区域
12
连接状态宣告(LSA)
12.1
LSA头部
12.1.1
连接状态时限
12.1.2
选项
12.1.3
连接状态类型
12.1.4
连接状态标识
12.1.5
宣告路由器
12.1.6
连接状态序号
12.1.7
连接状态校验和
12.2
连接状态数据库
12.3
TOS表现
12.4
生成LSA
12.4.1
Router-LSA
12.4.1.1
描述点对点接口
12.4.1.2
描述广播和NBMA接口
12.4.1.3
描述虚拟通道
12.4.1.4
描述点对多点接口
12.4.1.5
Router-LSA示例
12.4.2
Network-LSA
12.4.2.1
Network-LSA示例
12.4.3
Summary-LSA
12.4.3.1
向存根区域生成Summary-LSA
12.4.3.2
Summary-LSA示例
12.4.4
AS-external-LSA
12.4.4.1
AS-external-LSA示例
13
洪泛过程
13.1
判定较新的LSA
13.2
将LSA加入数据库
13.3
洪泛过程的下一步操作
13.4
接收自生成的LSA
13.5
发送连接状态确认包(LSAck包)
13.6
重传LSA
13.7
接收连接状态确认包(LSAck包)
14
老化连接状态数据库
14.1
提前老化LSA
15
虚拟通道
16
计算路由表
16.1
计算一个区域的最短路径树
16.1.1
计算下一跳
16.2
计算区域间路径
16.3
查看传输区域的Summary-LSA
16.4
计算AS外部路径
16.4.1
外部路径参数
16.5
增量更新——Summary-LSA
16.6
增量更新——AS-external-LSA
16.7
路由表改变引起的事件
16.8
等值多路径
脚注
引用
A
OSPF数据格式
A.1
OSPF包的封装
A.2
选项域
A.3
OSPF包格式
A.3.1
OSPF
A.3.2
Hello包
A.3.3
数据库描述包(DD包)
A.3.4
连接状态请求包(LSR包)
A.3.5
连接状态更新包(LSU包)
A.3.6
连接状态确认包(LSAck包)
A.4
LSA格式
A.4.1
LSA头部
A.4.2
Router-LSA
A.4.3
Network-LSA
A.4.4
Summary-LSA
A.4.5
AS-external-LSA
B
结构常量
C
可配置变量
C.1
全局参数
C.2
区域参数
C.3
路由器接口参数
C.4
虚拟通道参数
C.5
NBMA网络参数
C.6
点对多点网络参数
C.7
主机路径参数
D
验证
D.1
空验证
D.2
简单口令验证
D.3
密码验证
D.4
信息生成
D.4.1
生成空验证
D.4.2
生成简单口令验证
D.4.3
生成密码验证
D.5
信息校验
D.5.1
校验空验证
D.5.2
校验简单口令验证
D.5.3
校验密码验证
E
设定LS标识的一种算法
F
多接口接入同一网络/子网
G
与RFC2178的不同
G.1
洪泛过程的修改
G.2
外部路径优先级的改变
G.3
解决不完整的虚拟下一跳
G.4
路由表查找
安全性考虑
作者的地址
完整的声明
1.绪论
本文档描述了开放最短路径优先/OpenShortestPathFirst(OSPF)TCP/IP网际路由协议。
OSPF是一种典型的部网关协议/InteriorGatewayProtocol(IGP)。
这意味着其路由信息是描述属于同一个自制系统/AutonomousSystem(AS)中的路由器。
OSPF协议是基于连接状态或被称为SPF的技术,这与传统TCP/IP网际路由协议所使用的Bellman-Ford技术不同。
OSPF协议是由InternetEngineeringTaskForce的OSPF工作组所开发的,特别为TCP/IP网络而设计,包括明确的支持CIDR和标记来源于外部的路由信息。
OSPF也提供了对路由更新的验证,并在发送/接收更新时使用IP多播。
此外,还作了很多的工作使得协议仅用很少的路由流量就可以快速地响应拓扑改变。
1.1.协议概述
OSPF仅通过在IP中的目标地址来转发IP包。
IP包在AS中被转发,而没有被其他协议再次封装。
OSPF是一种动态路由协议,它可以快速地探知AS中拓扑的改变(例如路由器接口的失效),并在一段时间的收敛后计算出无环路的新路径。
收敛的时间很短且只使用很小的路由流量。
在连接状态路由协议中,每台路由器都维持着一个数据库以描述AS的拓扑结构。
这个数据库被称为连接状态数据库,所有参与的路由器都有着同样的数据库。
数据库中的各项说明了特定路由器自身的状态(如该路由器的可用接口和可以到达的邻居)。
该路由器通过洪泛/flooding将其自身的状态传送到整个AS中。
所有的路由器同步地运行完全相同的算法。
根据连接状态数据库,每台路由器构建出一棵以其自身为树根的最短路径树。
最短路径树给出了到达AS中各个目标的路径,路由信息的起源在树中表现为树叶。
当有多条等值的路径到达同一目标时,数据流量将在这些路径上平均分摊。
路径的距离值表现为一个无量纲数。
OSPF允许将一些网络组合到一起。
这样的组被称为区域/area。
区域对AS中的其他部分隐藏其部的拓扑结构,信息的隐藏极减少了路由流量。
同时,区域的路由仅由区域自身的拓扑来决定,这可使区域抵御错误的路由信息。
区域通常是一个子网化了的IP网络。
OSPF允许灵活的配置IP子网。
由OSPF发布的每条路径都包含目标和掩码。
同一个IP网络的两个子网可以有不同的大小(即不同的掩码),这常被称为变长子网/variablelengthsubnetting。
数据包按照最佳匹配(最长匹配)来转发。
主机路径被看作掩码为“全1”(0xffffffff)的子网来处理。
OSPF协议中所有的信息交换都经过验证。
这意味着,在AS中只有被信任的路由器才能参与路由。
有多种验证方法可以被选择。
事实上,可以为每个IP子网选用不同的验证方法。
来源于外部的路由信息(如路由器从诸如BGP[引用23]的外部网关协议中得到的路径)向整个AS部宣告。
外部数据与OSPF协议的连接状态数据相对独立。
每条外部路径可以由所宣告的路由器作出标记,在自制系统边界路由器(ASBR)之间传递额外的信息。
1.2.常用术语的定义
本节定义了贯穿本文的,在OSPF协议中有特定含义的术语。
对IP协议不熟悉的读者可使用[引用13]作为IP协议的绪论。
路由器/Router:
一种三层IP包的交换设备。
在早期的IP文献中被称为网关/gateway。
自制系统/AutonomousSystem:
一组使用相同路由协议交换路由信息的路由器,缩写为AS。
部网关协议/InteriorGatewayProtocol:
被一个AS的路由器所使用的路由协议,缩写为IGP。
每个AS使用单一的IGP,不同的AS会使用不同的IGP。
路由器标识/RouterID:
一个32位的数字,用以识别每台运行OSPF协议的路由器。
在一个AS中,这个数字可以唯一地表示出一台路由器。
网络/Network:
在本备忘录中,会表示IP网络/子网/超网。
一个物理网络上可能设置有多个网络/子网号,我们把它们按照独立的网络来对待。
物理点对点/point-to-point网络是个例外——无论在上面设置了多少网络/子网号(如果有的话),都将其看作是一个网络。
网络掩码/Networkmask:
一个32位的数字,表示IP地址的围来说明这是一个IP网络/子网/超网。
本文以16进制来表示网络掩码。
如将C类IP地址的网络掩码显示为0xffffff00,这一掩码在其他文献中经常被表示为255.255.255.0。
点对点网络/Point-to-pointnetworks:
仅仅连接一对路由器的网络。
56k的串行线路是一个点对点网络的例子。
广播网络/Broadcastnetworks:
支持多台(大于两台)路由器接入的网络,同时有能力发送一条信息就能到所有接入的路由器(广播)。
网络上邻居路由器可以通过OSPF的Hello协议来动态发现。
如果可能,OSPF协议将进一步使用多播。
广播网络上的每一对路由器都被认为可以直接通讯。
以太网/ethernet是一个广播网络的例子。
非广播网络/Non-broadcastnetworks:
支持多台(大于两台)路由器接入的网络,但没有广播能力。
网络上的邻居路由器通过OSPF的Hello协议来维持。
但由于缺乏广播能力,需要一些配置信息的帮助来发现邻居。
在非广播网络上,OSPF协议的数据通常需要被轮流发送到每一台邻居路由器上。
X.25公用数据网/PublicDataNetwork(PDN)是一个非广播网络的例子。
在非广播网络上运行的OSPF有两种模式。
第一种被称为非广播多路接入/non-broadcastmulti-access(NBMA),模拟OSPF在广播网络上的操作;第二种被称为点对多点/Point-to-MultiPoint,将非广播网络看作是一系列点对点的连接。
非广播网络被作为NBMA网络还是点对多点网络,取决于OSPF在该网络上所配置的运行模式。
接口/Interface:
是指路由器与所接入的网络之间的一个连接。
接口通过下层协议和路由协议获取与其相关的状态信息。
指向网络的接口只和单一的IP地址及掩码相关(除非是无编号的点对点网络)。
接口有时也被称为连接/link。
邻居路由器/Neighboringrouters:
在同一网络中都有接口的两台路由器。
邻居关系是由OSPF的Hello协议来维持,并通常依靠Hello协议来动态发现。
邻接/Adjacency:
用以在所选择的邻居路由器之间交换路由信息的关系。
不是每对邻居路由器都会成为邻接。
连接状态宣告/Linkstateadvertisement:
描述路由器或网络自身状态的数据单元。
对路由器来说,这包含它的接口和邻接状态。
每一项连接状态宣告都被洪泛到整个路由域中。
所有路由器和网络连接状态宣告的集合形成了协议的连接状态数据库。
在本备忘录中,连接状态宣告被缩写为LSA。
Hello协议/HelloProtocol:
在OSPF协议中,用于建立和维持邻居关系的部分。
在广播网络中还被用于动态发现邻居路由器。
洪泛/Flooding:
在OSPF协议中,用于OSPF路由器之间发送及同步连接状态数据库的部分。
指定路由器/DesignatedRouter:
在每个接入了至少两台路由器的广播和NBMA网络中都有一台作为指定路由器。
指定路由器生成Network-LSA并在运行协议时完成其他特定职责。
指定路由器通过Hello协议选举。
(译注:
本文后边将缩写为DR)
指定路由器的概念减少了广播和NBMA网络上所需要的邻接数量。
同时也减少了路由协议所需要的流量及连接数据库的大小。
下层协议/Lower-levelprotocols:
为IP及OSPF协议提供服务的下层网络接入协议。
如为X.25PDN服务的X.25packetandframelevel;以及为以太网服务的以太网数据链路层。
1.3.连接状态路由技术的简要历史
OSPF是一种连接状态路由协议。
此类协议在其他文献中也被称为基于SPF或基于分布数据库/distributed-database的协议。
本节简要地介绍连接状态技术发展过程中影响OSPF协议的部分。
第一种连接状态路由协议是为ARPANET网络开发的。
该协议在[引用3]中被描述。
它成为其他连接状态协议的起点。
所谓ARPANET网络环境,就是指通过同步串行线路连接的单一厂商的包交换网络,设计简单且只实现基本的协议。
对此协议的修改在[引用4]中被提出。
修改包括增加路由协议的容错性,其中之一的手段就是在LSA中添加了校验和(用于发现数据库错误)。
该文还提及在连接状态协议中要减少路由流量。
这通过将产生LSA的间隔增加相当长时间来实现。
连接状态算法同时也被ISO的IS-IS路由协议所使用。
该协议在[引用2]中被描述。
该协议工作在广播网络上时,通过为每个网络选举DR,来减少数据及路由流量。
由DR产生表示该网络的LSA。
IETF的OSPF工作组长期以来从事OSPF协议的开发工作。
增强了指定路由器的概念以减少对路由流量的需求;还进一步使用多播能力来减少路由带宽;开发出区域路由而允许信息的隐藏/保护/汇聚;最后,修改算法以专为TCP/IP服务。
1.4.本文档的结构
本文档开始的三章大致介绍了协议的功能,第4-16章介绍了协议容的细节,在附录中列出了包格式、协议常量和可配置变量的清单。
在文档中出现的诸如HelloInterval的标注是协议所需要的参数,包括可配置的和不可配置的。
结构化常量在附录B中汇总,可配置变量在附录C中汇总。
为了使描述更为精确,本文档定义了协议所需要的数据结构。
对本协议的实现必须支持所描述的功能,但不必使用和本备忘录完全一致的数据结构。
1.5.感
作者感RanAtkinson、FredBaker、JeffreyBurgan、RobColtun、DinoFarinacci、VinceFuller、PhanindraJujjavarapu、MiloMedin、TomPusateri、KannanVaradhan、ZhaohuiZhang和其他OSPF工作组成员对本项目的建议和支持。
OSPF点对多点/Point-to-MultiPoint接口是基于FredBaker的工作。
OSPF密码验证选项是由FredBaker和RanAtkinson开发的。
另外,本文译者感tigerfish、chenghit、cisco800、4099和其他ITPUB论坛成员的鼓励和支持。
最后还要特别感我的女儿,她正是出生在我翻译本文的这段日子里。
她让我知道,这世界上除了网络还有很多其他的东西。
2.连接状态数据库:
组织和计算
下面的章节描述OSPF连接状态数据库的结构,以及如何从数据库来计算路由器的路由表。
2.1.路由器和网络的表示方法
在AS的连接状态数据库直接表现为一图表。
图表的行、列用来表示路由器和网络。
当两台路由器通过物理点对点网络接入时,图表上的标记就连接这两台路由器。
当路由器在某个网络有接口时,图表标记就连接该路由器和这个网络。
网络分传输/transit网络和存根/stub网络。
传输网络可以传送既不是由本网络产生、也不是到达本网络的数据流量。
传输网络在图表中有输入、输出两个标记,而存根网络只有输入标记。
网络中各节点在图表上的邻居关系取决于网络的类型(点对点、广播、NBMA或点对多点),以及连接到该网络的路由器数量。
图1a描述了三种情况:
方框表示路由器,纵横线表示网络。
路由器名由字母RT开头、网络名由字母N开头、路由器的接口名由字母I开头。
两台路由器之间的直接连线表示点对点网络。
左边的图表示网络和路由器的连接,右边的表显示结果。
**FROM**
*|RT1|RT2|
+---+Ia+---+*------------
|RT1|------|RT2|TRT1||X|
+---+Ib+---+ORT2|X||
*Ia||X|
*Ib|X||
物理点对点网络
**FROM**
+---+*
|RT7|*|RT7|N3|
+---+T------------
|ORT7|||
+----------------------+*N3|X||
N3*
存根网络
**FROM**
+---++---+
|RT3||RT4||RT3|RT4|RT5|RT6|N2|
+---++---+*------------------------
|N2|*RT3|||||X|
+----------------------+TRT4|||||X|
||ORT5|||||X|
+---++---+*RT6|||||X|
|RT5||RT6|*N2|X|X|X|X||
+---++---+
广播网络或NBMA网络
图1a:
网络表的构成
图表的行、列用来表示路由器和网络。
当且仅当A列B行上有“X”记号时,表示A、B两项之间有连接。
图1a的最上部分显示了两台通过点对点线路连接的路由器。
在连接状态数据库表的结果中,两个路由器项通过一对标记相互直接连接,每个标记表示一个方向。
点对点接口不必设定IP地址。
如果设定了IP地址,每台路由器就宣告对端路由器的接口地址为一个存根连接。
如果在点对点网络上设定了IP子网,每台路由器就宣告这个子网为存根连接,而不是宣告对端路由器的接口地址。
图1a的中间显示了只接入一台路由器的网络(即存根网络)。
这时,连接状态数据库中表现为存根连接后的网络。
当广播网络上接入了多台路由器后,连接状态数据库表现为这些路由器与网络的双向连接。
如图1a的底部表示。
每个在表中的网络(传输和存根)都有IP地址以及相关联的网络掩码,掩码说明了在网络上的节点数量。
直接连接到路由器的主机(称为主机路径),表现为存根网络。
主机路径的网络掩码始终为0xffffffff,表示只有一个节点。
2.1.1.非广播网络的表示方法
正如前面所述,OSPF在非广播网络上有两种运行方式:
NBMA和点对多点。
运行的方式决定了Hello协议及洪泛在非广播网络上的工作方法,以及该网络在连接状态数据库中的表示方法。
在NBMA模式下,OSPF模拟在广播网络上的操作,并选举DR为该网络来生成Network-LSA。
正如图1a中显示的那样,NBMA网络和广播网络的图表表示是一致的。
不论从连接状态数据库的大小,还是从路由协议所需的流量,NBMA模式都是在非广播网络上运行OSPF最有效的方式。
但这需要一个很重要的限制:
所有接入NBMA网络的路由器都能够直接通讯。
这一限制适合某些非广播网络,如使用SVC的ATM子网;但在另一些非广播网络上就不适合,如仅使用PVC的帧中继网络。
可以将这种网络分为几个逻辑上的子网,使每个子网中的路由器都能够直接通讯,并在每个子网上按NBMA模式运行(见[引用15])。
但是这需要更多些的管理,且容易配置错误。
在此类网络上使用点对多点模式更好。
在点对多点模式中,OSPF将非广播网络里,每个路由器之间的连接都看作是点对点的连接。
不在网络中选举DR,也不为该网络产生Network-LSA。
事实上,连接状态数据库的图表中并没有表示点对多点网络的项。
**FROM**
+---++---+
|RT3||RT4||RT3|RT4|RT5|RT6|
+---++---+*--------------------
I3|N2|I4*RT3||X|X|X|
+----------------------+TRT4|X|||X|
I5||I6ORT5|X|||X|
+---++---+*RT6|X|X|X||
|RT5||RT6|*I3|X||||
+---++---+I4||X|||
I5|||X||
I6||||X|
图1b:
点对多点网络的网络表构成
除了RT4与RT5外,其他的路由器之间都可以通过N2直接通讯。
I3到I6表示路由器的IP接口地址。
图1b说明了点对多点网络在连接状态数据库中的表现。
图的左边一半给出了一个点对多点网络。
并假设除了RT4与RT5外,其他的路由器之间都可以直接通讯。
I3到I6表示路由器在该网络上的IP接口地址。
在图表中,能够通过点对多点网络而直接通讯的路由器使用双向标记连接;此外每台路由器都有一个表示自身IP接口地址的存根连接(对照图1a中真正点对点连接中的表示)。
在某些非广播网络上,使用点对多点模式和诸如逆向ARP(见[引用14])的数据链路层协议,可以在没有广播支持的情况下自动发现OSPF邻居。
2.1.2.一个连接状态数据库的示例
+
|3+---+N12N14
N1|--|RT1|\
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- RFC2328 中文版