一、ospf协议
1、概念:ospf,open shortest path first,开放式最短路径优先协议。它是一个内部网关协议(interior gateway protocol,IGP),典型的链路状态(link-state)路由协议,一般用在同一个路由域(一个自治系统,AS)内。
2、工作原理:两个相邻的路由器通过互发报文的形式成为邻居关系,邻居再相互发送链路状态信息形成邻接关系,各自根据最短路径算法计算出路由,放在ospf路由表。整个过程使用了五种报文、三个阶段、四张表。
图1:ospf工作原理表
(1)五种报文:a,建立并维护邻居关系的hello报文;b,发送链路状态头部信息的DBD报文;c,把从DBD中找出的链路状态头部信息传给邻居,请求完整信息的LSR报文;d,把LSR请求的头部信息所对应的完整信息发给邻居的LSU报文;e,收到LSU报文后确认报文的LSACK报文。
(2)三个阶段:a,邻居发现,通过发送hello报文形成邻居关系;b,路由通告,邻居间发送链路状态信息形成邻接关系;c,路由计算,根据最短路径算法算出路由表。
3、特性:无类路由;协议号:89;组播地址:224.0.0.5、224.0.0.6(基于UDP);动态更新,从邻居路由器获取信息,建立一张完整的网络图(链路状态数据库,LSDB)。
4、通配符掩码(反掩码):是1和0反转的子网掩码,0为表示必须匹配,1为表示不必匹配
二、OSPF术语
图2:ospf基本结构
1、路由器ID
(1)ospf路由器利用hello报文通告它的路由器ID来建立邻接关
(2)运行ospf的路由器需要一个能够唯一标识自己的路由器ID号(RouterID)
(3)路由器ID号的确定方法:a,回环接口(lookback)上最高的ip地址;b,物理接口上数值最高的ip地址
2、计时器
(1)hello报文
图3:ospf的hello报文更新时间表
(2)LSA报文
a,时间间隔30分钟,在一个稳定的网络中,ospf是一个“安静”的协议
b,在网络发生变化时发送触发更新
(3)LSDB度量值
a,ospf路由器收集的链路状态信息(link-state),会生成链路状态数据库(link-state database)
b,ospf使用基于接口带宽的度量-----成本(cost=10的8次方 / 接口的带宽)
3、其余常见的术语如图所示:
三、ospf的网络类型
(1)点到点(Point-to-Point)型:
a,连接单独的一对路由器;b,网络上报文传输目标地址为224.0.0.5
例如:PPP(Point to Point Prorocol,点到点协议)
HDLC(High-Level Data Link Control,高级数据链路控制)
图1:点到点拓扑
(2)广播多路访问型(BMA):(以太网协议建立的模型)
a,连接两台以上的路由器且它们之间可以相互通信
b,网络上的路由器会选举一个指定路由器(DR)和一个备份指定路由器(BDR)
c,网络上的报文传输目标地址为224.0.0.6
例如:以太网、令牌环网和FDDI(光纤分布式数据接口)
图2:BMA拓扑
(3)非广播多路访问型(NBMA):(默认无法建立邻居关系)
a,连接两台以上的路由器,NBMA接口不会自动与相邻路由器建立邻接关系
b,网络上的路由器需要选举DR和BDR,包围的传输方式为单薄
例如:帧中继、ATM
图3:NBMA简单拓扑
(4)点到多(Point-to-Multipoint)型:
a,点到多网络是NBMA网络的特殊配置,可以看作一点到群点链路的集合
b,网络上的ospf路由器不需要选举DR和BDR,报文传输为组播传输
图4:点到多拓扑
四、ospf路由结构
1、特点:所有的非骨干区域,必须与骨干区域相连接。
(划分区域:基于路由器的接口来划分的)
2、骨干区域:area id为0,说明这个区域是骨干区域(配置时应该先配置area 0)
非骨干区域:area id不为0,说明这个区域是非骨干区域
3、虚链路(virtual-link):当非骨干区域没有与骨干区域直接相连的时候,这是错误的,这是,这个非骨干区域除了可以学习到与他相连的另外一个非骨干区域的路由外,!!其它所有的路由都无法学习到!这时可以创建虚链路,让此非骨干区域与骨干区域area 0相连接。