本文共 2115 字,大约阅读时间需要 7 分钟。
OSPF,即开放式最短路径优先,是IETF组织开发得一个基于链路状态得内部网关协议。
目前针对IPv4协议使用的是OSPF Version2;针对IPv6协议使用OSPF Version3。OSPF,作为基于链路状态的协议,能够解决RIP所面临的诸多问题。此外,OSPF还有以下有点:
1、OSPF采用组播形式收发协议报文,这样可以减少对其他不运行OSPF路由器的影响。 2、OSPF支持无类型域间选路。 3、OSPF支持对等价路由进行负载分担。 4、OSPF支持报文认证。OSPF Router-ID用于在OSPF domain中唯一地表示一台OSPF路由去,从OSPF网络设计的角度我们要求全OSPF域内,禁止出现两台路由器拥有相同的Router-ID。
OSPF Router-ID的设定可以通过手工配置的方式,或者通过协议自动选取的方式。在实际网络部署中,强烈建议手工配置OSPF的Router-ID,关系到协议的稳定。
OSPF使用cost“开销”作为路由度量值。
OSPF接口cost=100M/接口带宽,其中100M作为OSPF的参考带宽,可以修改。 每一个激活的OSPF接口都有一个cost值。 一条OSPF路由的cost由该路由从起源一路到达本地的所有入接口cost值的总和。
图示可以看出,OSPF会自动选择cost低的那条路进行传输。如果cost相同,那么同时传输,负载分担。 邻居表:
OSPF是一种可靠的路由协议,要求在路由器之间传递链路状态通告之前,需要先建立OSPF邻居关系。hello报文用于发现直连链路上的其他OSPF路由器,再经过一系列的OSPF消息交互最终建立起全毗邻的邻居关系,OSPF路由器的邻居信息显示再邻居表中。 链路状态数据库(LSDB): OSPF用LSA来描述网络拓扑信息,然后OSPF路由器用LSDB来储存这些LSA。OSPF将自己产生的以及邻居通告的LSA收集并储存再LSDB中。 OSPF路由表: 基于LSDB进行SPF计算,而得出的OSPF路由表。

OSPF建立邻居关系的细节上分为七种状态。
图示为邻居关系建立的细节。 DOWN状态:启动,没发HELLO包 INIT状态:R2收到R1hello,还没建立双向时,对于R2,R1就置为init状态(单向)。
TWO-WAY:R1将R2置为two-way,R2将R1置为two-way,邻居建立。选举DR,BDR。
EX-START:就绪。开始交换DD(不带LSA)。产生序列号用于互相交互信息。 I=1协商主从,=0选完 M=1还有DD报文没发完 =0发送完DD MS=1是主发还是备发=0(选主从)
EXCHANGE:链路状态数据库的汇总信息 主先产生序号,备用主的序列号 交互DD报文(有LSA)
LOADING:LSR,LSU,LSAck。(双方)
输入命令可以看出: R1邻居的router id是2.2.2.2,端口IP地址为192.168.12.2 OSPF支持的网络类型:
点到点网络 广播型多路访问网络 非广播型多路访问网络 P2MP网络

为了减少OSPF流量,OSPF会在每一个MA网络中选举一个指定路由器DR和一个备用指定路由器BDR。 DR选举规则:最高OSPF接口优先级(0-255)拥有者选作DR,如果优先级相等(默认为1),具有最高的OSPF router-id的路由器被选作DR,具有非抢占性。 DR:DR负责使用该变化信息更新其他所有OSPF路由器。 BDR:监控DR状态,发生故障时接替。


Area 0作为骨干区域,负责在非骨干区域之间中转由区域边界路由器归纳的链路状态通告信息。为了防止出现环路,OSPF要求所有的非骨干区域之间不能进行LSA的交互,二必须通过Area 0骨干区域进行中转,因此所有非骨干区域必须都与AREA 0直接相连。

转载地址:http://bffd.baihongyu.com/