OSPF协议

OSPF(Open Shortest Path First)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。与RIP相对,OSPF是链路状态路由协议,而RIP是距离向量路由协议

1.骨干区域:起到了让其他非骨干区域能够知道别的区域的网络情况的作用。也就是说,所有非骨干区域的路由信息都要流经骨干区域。  


2.虚拟链路:是一个通过非骨干区域到骨干区域的链路。  
  使用目的:  
  连接一个非骨干区域到一个骨干区域通过一个非骨干区域  
  通过一个非骨干区,连接分开的两个骨干区部分  

  规则:  
  必须在两个ABR之间进行配置  
  虚链路通过的区域作为传输区域,必须有完整的路由信息  
       间传输区不能是存根区。  

3. OSPF的分层拓扑的优势:

1) 降低SPF的计算频率

2) 减小路由表

3) 降低LSU更新的开销

 

一、基础概念:

LSA 链路状态通告

LSDB  链路状态数据库

邻居表--发现并建立邻居

拓扑表--建立DBD

路由表--根据SPF算法计算到各个路由器的最佳路径。

 

二、OSPF中的四种路由器:

  1. 内部路由器:所有端口在同一区域的路由器,维护一个链路状态数据库。

  2. 主干路由器:具有连接主干区域端口的路由器。

  3. 区域边界路由器(ABR): 具有连接多区域端口的路由器,一般作为一个区域的出口。ABR为每一个所连

       接的区域建立链路状态数据库,负责将所连接区域的路由摘要信息发送到主干区域,而主干区域上的ABR则负

       责将这些信息发送到各个区域。

  4. 自治域系统边界路由器(ASBR): 至少拥有一个连接外部自治域网络(如非OSPF的网络)端口的路由器,负责将非OSPF           网络信息传入OSPF网络。

 

三、OSPF报文格式:

wKiom1W5vX3BmjvcAAEFzBup2Gs508.jpg

 

Version:版本字段,占1个字节,指出所采用的OSPF协议版本号,目前最高版本为OSPF v4,即值为4(对应二进制是0100)。

Packet Type:报文类型字段,标识对应报文的类型。前面说了OSPF有5种报文,分别是:Hello报文、DD报文、LSR报文、LSU报文、LSAck报文。具体将在下面各小节介绍。

Packet Length:包长度字段,占2个字节。它是指整个报文(包括OSPF报头部分和后面各报文内容部分)的字节长度。

Router ID:路由器ID字段,占4个字节,指定发送报文的源路由器ID。

Area ID:区域ID字段,占4个字节,指定发送报文的路由器所对应的OSPF区域号。

Checksum:校验和字段,占2个字节,是对整个报文(包括OSPF报头和各报文具体内容,但不包括下面的Authentication字段)的校验和,用于对端路由器校验报文的完整性和正确性。

AuType:认证类型字段,占2个字节,指定所采用的认证类型,0为不认证,1为进行简单认证,2采用MD5方式认证。

Authentication:认证字段,占8个字节,具体值根据不同认证类型而定:认证类型为不认证时,此字段没有数据,认证类型为简单认证时,此字段为认证密码,认证类型为MD5认证时,此字段为MD5摘要消息。

Hello Packet包含信息:

  1.源路由器的RID

  2.源路由器的Area ID

  3.源路由器接口的掩码

  4.源路由器接口的认证类型和认证信息

  5.源路由器接口的Hello包发送的时间间隔

  6.源路由器接口的无效时间间隔

  7.优先级

  8.DR/BDR接口IP地址

  9.五个标记位(flag bit)

  10.源路由器的所有邻居的RID

 

四、OSPF五中类型的数据包:

        根据OSPF数据包type字段数值的不同,OSPF数据包类型分为5种,不同的type,其后面的内容也不同。

路由表的形成与这5种数据包的交互息息相关。

1.hello包-----周期10s

 编号为1的OSPF数据包

 功能:用于发现,和维持邻居关系的,以及DR/BDR的选举(2way)

 在成为邻居之前,必须对Hello包里的一些参数进行协商,hello时间间隔默认10s,死亡间隔4倍。

 Hello包在邻居之间扮演着keepalive的角色

 允许邻居之间的双向通信

 用于在NBMA(Nonbroadcast Multi-access)网络上选举DR和BDR

2.链路状态数据库描述数据包-------DBD

  编号为2的OSPF数据包

  对ospf的网络拓扑进行描述

  数据包在链路状态数据库交换期间产生,主要作用有三个:

   ①选举交换链路状态数据库过程中的主从关系

   ②确定交换链路状态数据库过程中的初始序列号

   ③交换所有的LSA数据包头部

     虚链路中,MTU字段必须设置为 0 。

 在部分路由数据库信息丢失或过时时发送

3.链路状态请求数据包------LSR

   编号为3的OSPF数据包

   用于请求在DBD交换过程中发现的本路由器中没有的或已过时的LSA包细节

4.链路状态更新数据包---LSU

   编号为4的OSPF数据包

   功能:用于存储和传递路径信息

   用于将多个LSA泛洪,也用于对接收到的链路状态更新进行应答

5.链路状态确认数据包-----LSAck

  编号为5的数据包

  用于对接收到的LSU进行确认。

  如果发送确认的路由器的状态是DR或者BDR,确认数据包发送到OSPF的组播地址224.0.0.5

  如果发送确认的路由器状态不是DR或BDR,确认将被发送到OSPF路由器组播地址224.0.0.6

 

五、DR和BDR的选举:     注意:只有MA和NBMA网络中需要选举DR和BDR</

  • 13
    点赞
  • 104
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值