工作原理

术语介绍

  • 路由器/Router:一种三层IP包的交换设备。在早期的IP文献中被称为网关/gateway。
  • 自制系统/Autonomous System:一组使用相同路由协议交换路由信息的路由器,缩写为AS。
  • 内部网关协议/Interior Gateway Protocol:被一个AS内的路由器所使用的路由协议,缩写为IGP。每个AS使用单一的IGP,不同的AS会使用不同的IGP。
  • 路由器标识/Router ID:一个32位的数字,用以识别每台运行OSPF协议的路由器。在一个AS中,这个数字可以唯一地表示出一台路由器。
  • 网络/Network:在本备忘录中,会表示IP网络/子网/超网。一个物理网络上可能设置有多个网络/子网号,我们把它们按照独立的网络来对待。物理点对点/point-to-point网络是个例外——无论在上面设置了多少网络/子网号(如果有的话),都将其看作是一个网络。
  • 网络掩码/Network mask:一个32位的数字,表示IP地址的范围来说明这是一个IP网络/子网/超网。本文以16进制来表示网络掩码。如将C类IP地址的网络掩码显示为0xffffff00,这一掩码在其他文献中经常被表示为255.255.255.0。
  • 点对点网络/Point-to-point networks:仅仅连接一对路由器的网络。56k的串行线路是一个点对点网络的例子。
  • 广播网络/Broadcast networks:支持多台(大于两台)路由器接入的网络,同时有能力发送一条信息就能到所有接入的路由器(广播)。网络上邻居路由器可以通过OSPF的Hello协议来动态发现。如果可能,OSPF协议将进一步使用多播。广播网络上的每一对路由器都被认为可以直接通讯。以太网/ethernet是一个广播网络的例子。
  • 非广播网络/Non-broadcast networks:支持多台(大于两台)路由器接入的网络,但没有广播能力。网络上的邻居路由器通过OSPF的Hello协议来维持。但由于缺乏广播能力,需要一些配置信息的帮助来发现邻居。在非广播网络上,OSPF协议的数据通常需要被轮流发送到每一台邻居路由器上。X.25公用数据网/Public Data Network(PDN)是一个非广播网络的例子。在非广播网络上运行的OSPF有两种模式。第一种被称为非广播多路接入/non-broadcast multi-access(NBMA),模拟OSPF在广播网络上的操作;第二种被称为点对多点/Point-to-MultiPoint,将非广播网络看作是一系列点对点的连接。非广播网络被作为NBMA网络还是点对多点网络,取决于OSPF在该网络上所配置的运行模式
  • 接口/Interface:是指路由器与所接入的网络之间的一个连接。接口通过下层协议和路由协议获取与其相关的状态信息。指向网络的接口只和单一的IP地址及掩码相关(除非是无编号的点对点网络)。接口有时也被称为连接/link。
  • 邻居路由器/Neighboring routers:在同一网络中都有接口的两台路由器。邻居关系是由OSPF的Hello协议来维持,并通常依靠Hello协议来动态发现。
  • 邻接/Adjacency:用以在所选择的邻居路由器之间交换路由信息的关系。不是每对邻居路由器都会成为邻接。
  • 连接状态宣告/Link state advertisement:描述路由器或网络自身状态的数据单元。对路由器来说,这包含它的接口和邻接状态。每一项连接状态宣告都被洪泛到整个路由域中。所有路由器和网络连接状态宣告的集合形成了协议的连接状态数据库。在本备忘录中,连接状态宣告被缩写为LSA。
  • Hello协议/Hello Protocol:在OSPF协议中,用于建立和维持邻居关系的部分。在广播网络中还被用于动态发现邻居路由器。
  • 洪泛/Flooding:在OSPF协议中,用于OSPF路由器之间发送及同步连接状态数据库的部分。
  • 指定路由器/Designated Router:在每个接入了至少两台路由器的广播和NBMA网络中都有一台作为指定路由器。指定路由器生成Network-LSA并在运行协议时完成其他特定职责。指定路由器通过Hello协议选举。(译注:本文后边将缩写为DR)
  • 指定路由器的概念减少了广播和NBMA网络上所需要的邻接数量。同时也减少了路由协议所需要的流量及连接数据库的大小。
  • 下层协议/Lower-level protocols:为IP及OSPF协议提供服务的下层网络接入协议。如为X.25 PDN服务的X.25 packet and frame level;以及为以太网服务的以太网数据链路层。

工作过程

ospf有以下四个主要的工作阶段

邻居发现阶段

邻接建立阶段