科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道路由基础知识 OSPF路由协议详细介绍(一)

路由基础知识 OSPF路由协议详细介绍(一)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本篇文档针对一些对OSPF路由协议有一定的感性认识的技术人员,提供一些基于OSPF报文格式的介绍,来达到了解OSPF路由协议的特性和特有的一些概念的了解。

作者:赛迪网 来源:赛迪网-网管员世界 2007年9月25日

关键字: neighbor Adjacency OSPF 路由协议

  • 评论
  • 分享微博
  • 分享邮件

本篇文档针对一些对OSPF路由协议有一定的感性认识的技术人员,提供一些基于OSPF报文格式的介绍,来达到了解OSPF路由协议的特性和特有的一些概念的了解。

一.OSPF的特性:

快速收敛;

能够适应大型网络;

能够正确处理错误路由信息;

使用区域,能够减少单个路由器的CPU负担,构成结构化的网络;

支持无类路由,完全支持超网,可变长子网等无类特性;

支持多条路径负载均衡;

使用组播地址来进行信息互通,减少了非OSPF路由器的负载;

使用路由标签来表示来自外部区域的路由。

二.Neighbor和Adjacency的定义:

Neighbor:

在网络中,OSPF路由器可以发送Hello报文来进行邻居寻找,当Hello报文中的几个字段的内容是互相一致的时候,相邻的OSPF路由器就会形成Neighbor关系。

Neighbor是保存在Neighbor表里,需要有Router ID和IP地址信息。

Router ID的确定:

. 选择IP地址最大的Loopback接口的IP地址为Router ID;如果只有一个Loopback接口,那么Router ID就是这个Loopback的地址。

. 如果没有Loopback接口,就选择IP地址最大的物理接口的IP地址为Router ID,但是作为Router ID的物理接口,就不能运行OSPF,也就是说这个接口无法发送接受OSPF报文。

使用Loopback的IP地址作为Router ID的好处:

. Loopback接口是逻辑接口,永远不会down,有利于OSPF的稳定运行;

. 便于控制OSPF路由器的Router ID。

Hello协议的特点:

. 目的:

. 用来发现OSPF Neighbor;

. Hello报文包含了多个需要OSPF路由器协商的参数,以形成Neighbor的关系;

. 他可以用来维持邻居之间链接的存活;

. 用来确定DR,BDR路由器的选择。

. 报文内容:

. Router ID

. Area ID

. IP地址和掩码

. 认证方式和认证信息

. Hello Interval和Dead Interval

. Router优先权

. DR和BDR的Router ID

. 五个字节的特性控制信息

. 距上次Hello报文后,在Dead Interval中,路由器的Neighbor的Router ID列表

每个OSPF路由器收到收到hello报文,将会协商上述信息,是否符合,如果不符合,Hello报文会遭到丢弃。

并且当一个路由器收到一个Hello报文,其中Neighbor Router ID List里有它的Router ID时,就会进入2-way模式,一旦进入2-way模式,就会建立Adjacency。

. DR和BDR使用224.0.0.5(ALLSPFRouter Address)发送Hello Packet,而收到报文的路由器以224.0.0.6(ALLDRRouter Address)发送确认报文,表示收到了Hello Packet。

. Point-to-Multipoint:相当与多个点对点网络的集合,但是不会产生DR,BDR的选举,通过组播报文发送路由信息报文。

. 只有NBMA网络和采用虚拟链路的网络发送的是单播报文。

. Stub Network:只有一个出口连接到路由器的网络,通常产生的报文的原地址和目的地址都是本网络中。

DR和BDR的选择特性:

. DR和BDR是接口的特性,和路由器本身无关。

. DR和BDR和multiaccess网络中其他的路由器形成adjancency,但他们之间没有形成adjancency。

. 每个接口上都会有优先级,如果优先级为0时,表示不参加选择DR,BDR。

Adjacency:

是在OSPF Neighbor之间形成的虚拟的连接,这些连接有不同的性质,根据路由器连接的不同网络类型。

形成Adjacency的步骤:

. 邻居发现

. 双向通信

. 数据库同步

为了使路由器能够实现数据库的一致和同步,通过交换DD,LSR,LSU报文来达到数据库同步的目的。

. 完全形成连接

Master和Slave的关系和选择

在ExStart状态下,邻居之间进行协商,以决定由哪个路由器来控制Database sychronization。

Neighbor表项的数据结构:

Neighbor表项中的信息是通过路由器从Hello报文中学到的,关于邻居的一些信息。

. Neighbor ID

. Neighbor IP Address

. Area ID

. Interface

. Neighbor Priority

. State

. PollInterval

这是用于NBMA网络的一个概念,由于NBMA网络无法用组播来发送报文,也就是说无法自动发现邻居,如果当Neighbor处于down的状态时候,Hello报文每隔一个PollInterval时间就会发送一次,来发现和维护邻居关系。

. Neighbor Option

. Inactivity Time

. DR

. BDR

. Master/Slave

. DD Sequence Number

. Last Received Database Description Packet

. Lik State Retransmission List

是指已经发送出去的LSA,但是还没有收到Acknowledge的报文,如果超过RxmtInterval还没有收到,就会进行重传。

. Database Summary List

在database synchronization时,所发送的LSA的表单。

. Link State Request List

是指最新收到的在Database Description报文中所带的LSA清单,路由器会发送LSR到Neighbor要最新的LSA,收到LSU后,会把list里的相应条目删掉。

三.Neighbor状态机制

. Down

  没有收到任何Hello报文的时候,或是在DeadInterval中,没有收到Hello报文

. Attempt

只有在NBMA网络里才有,手工进行Neighbor的指定。

. Init

收到了Hello报文

. 2-way

当路由器看到自己的Router ID在邻居发来的Hello报文里;在广播网络里,DR和BDR开始被选举。

. ExStart

决定Master/Slave关系,以初始化DD 报文序列号来交换Database Description报文

. Exchange

路由器开始交换DD报文的过程

. Loading

发送LSR报文已处在Loading状态的报文,请求最新的通过Exchange DD报文发现的未收到的LSA

. Full

完成了路由器和网络的LSA的交换

当路由器收到LSA后,会把LSA存到数据库中,然后会把收到LSA复制并从其它的OSPF接口发送出去,直到整个网络区域的LSA Database获得同步一致。然后每个路由器根据LSA Database里的Link信息进行SPF运算,算出没有回路的最短路径。

四.Database Description报文

它是包含了路由器所有的LSA信息的报头,可以使路由器知道,Neighbor上有多少LSA是自己不知道的,可以通过LSR报文来请求新的LSA。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章