OSPF基本工作原理(上)

OSPF:open shortest path first   链路状态路由协议

1)路由信息传递与路由器计算分离

2)基于SPF算法(最短路径)

3)以“累计链路开销”作为选路参考值

 

Link State(链路状态)指的是路由器的接口状态,在ospf中路由器的某一接口的链路状态包含了

1)该接口的IP地址以及掩码

2)该接口的带宽

3)该接口所连接的邻居

ospf作为链路状态路由协议,不直接传递各路由器的路由表,而传递链路状态信息,各路由器基于链路状态信息独立计算路由

 

OSPF工作过程:1、邻居建立  2、同步链路状态数据库 3、计算最优路由

ospf的路由计算过程可以简化描述为

1)路由器之间发现并建立邻居关系

2)每台路由器残生并向邻居泛洪链路状态信息,同时手机来自其他路由器状态信息,完成LSDB(Link State Database)的同步

3)每台路由器基于LSDB通过SPF算法,计算  得到一颗以自己为根的SPT(shortest path tree),再以SPT为基础计算去往各邻居连接网络的最优路由,并形成路由表。

 

ospf基本工作原理

Router ID:用于在自治系统中唯一标识一台运行ospf的路由器,每台运行的ospf的路由器都有一个Router ID 。

 32位无符号整数,格式和ip地址的格式是一样的

 

Router ID选举规则

1)手动配置OSPF路由器的Router ID(通常建议手动配置)

2)如果没有手动配置Router ID ,则由路由器使用loopback接口中最大的ip地址作为Router ID

3)如果没有配置loopback接口,则路由器使用物理接口中最大的ip地址作为Router ID

注意:OSPF的路由器Router重新配置后,可以通过重置OSPF进程来更新ROUTER id

 

发现并建立邻居——hello报文

hello报文作用:邻居发现、邻居建立、邻居保持

 

状态含义:

1)Down:这是邻居的初始状态,表示没有从邻居受到任何信息

2)Init:在此状态下,路由器已经从邻居收到了Hello报文,但是自己的Router ID不在所收到的Hello报文的邻居列表中,表示尚未与邻居建立双向通信关系。

3)2-way:在此状态下,路由器发现自己的Router ID存在于收到的Hello报文的邻居列表中,已确认可以双向通信

 

邻居建立过程如下:

①RTA和RTB的Router ID分别为1.1.1.1 和2.2.2.2.当RTA启动ospf后,RTA会发送第一个Hello报文,此报文中邻居列表为空,此时状态为Down,RTB收到RTA的这个Hello报文,状态置为Lint。

② RTB发送Hello报文,此报文中邻居列表为空,RTA收到RTB的Hello报文,状态置为 Init。

③ RTB向RTA发送邻居列表为1.1.1.1的Hello报文,RTA在收到的Hello报文邻居列表 中发现自己的Router ID,状态置为2-way。 ④ RTA向RTB发送邻居列表为2.2.2.2的Hello报文,RTB在收到的Hello报文邻居列表中 发现自己的Router ID,状态置为2-way。

 

因为邻居都是未知的,所以Hello报文的目的IP地址不是某个特定的单播地址。邻居从无 到有,OSPF采用组播的形式发送Hello报文(目的地址224.0.0.5)。对于不支持组播的 网络,OSPF路由器如何发现邻居呢?

发现并建立邻居—手动建立

1)ospf支持单播方式建立邻居关系

2)对于不支持组播的网络可以通过手动配置实现邻居的发现与维护

 

 

链路状态信息

链路信息主要包括

  • 链路的类型
  • 接口ip地址及掩码
  • 链路上所连接的邻居路由器
  • 链路的带宽(开销)

 

下面将介绍OSPF是如何定义多种网络的

P2P网络连接了一对路由器,广播、组播数据包都可以转发。 

P2P网络的例子:两台通过PPP(Point-to-Point Protocol)链路相连的路由器网络。

 

广播型网络支持两台及两台以上的设备接入同一共享链路且可以支持广播、组播报文的 转发,是OSPF最常见的网络类型。

广播型网络的例子:通过以太网链路相连的路由器网络。

 同时因为一个广播型网络中存在多台设备,邻居关系建立以及链路信息同步方面, OSPF都有对应的特性来减少同一网络多台设备带来的不利影响。

 

与广播型网络不同的是NBMA网络默认不支持广播与组播报文的转发。在NBMA网络上, OSPF模拟在广播型网络上的操作,但是每个路由器的邻居需要手动配置。

BMA(non-broadcast multiple access)型网络的例子:通过全互连的帧中继链路相连 的路由器网络。

在现在的网络部署中,NBMA网络已经很少了。

 

将一个非广播网络看成是一组P2P网络,这样的非广播网络便成为了一个点到多点( P2MP)网络。在P2MP网络上,每个路由器的OSPF邻居可以使用反向地址解析协议( Inverse ARP)来发现。P2MP可以看作是多个P2P的集合,P2MP可以支持广播、组播的 转发。

没有一种链路层协议默认属于P2MP类型网络,也就是说必须是由其他的网络类型强制 更改为P2MP。常见的做法是将非完全连接的帧中继或ATM改为P2MP的网络。

 

文报类型及作用

协议号:89

version:版本,该字段值是2

type:类型

packet length:整个ospf报文的长度,单位是字节

Router ID:路由器ID

Area ID:此报文需要被通告到的区域

chescksum:校验字段

auth type:为0时表示不认证;为1 时表示简单的明文认证;为2时表示加密(MD5)认证

authentication:认证所需的信息

 

ospf报文类型

Type=1为Hello报文,用来建立和维护邻居关系,邻居关系建立之前,路由器之间需要 进行参数协商。

 Type=2为数据库描述报文(DD),用来向邻居路由器描述本地链路状态数据库,使得 邻居路由器识别出数据库中的LSA是否完整。

Type=3为链路状态请求报文(LSR),路由器根据邻居的DD报文,判断本地数据库是否 完整,如不完整,路由器把这些LSA记录进链路状态请求列表中,然后发送一个LSR给 邻居路由器。

 Type=4为链路状态更新报文(LSU),用于响应邻居路由器发来的LSR,根据LSR中的请 求列表,发送对应LSA给邻居路由器,真正实现LSA的泛洪与同步。 

Type=5为链路状态确认报文(LSAck),用来对收到的LSA进行确认,保证同步过程的 可靠性。

 

DD、LSR、LSU、LSAck与LSA的关系:

DD报文中包含LSA头部信息,包括LS Type、LS ID、Advertising Router 、LS Sequence Number、LS Checksum。

 LSR中包含LS Type 、LS ID和Advertising Router 。 

LSU中包含完整的LSA信息。

LSAck中包含LSA头部信息,包括LS Type、LS ID、Advertising Router、LS Sequence Number、LS Checksum。

  • 9
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,我了解了你的问题。我会简单地介绍一下动态路由、OSPF协议的工作原理、采用OSPF协议进行网络设计的基本原则和方法。 动态路由是一种自动化的路由选择方式,它可以根据网络拓扑及其变化自动调整路由表。动态路由协议是实现动态路由的一种协议,它可以使不同的路由器之间自动交换路由信息,从而实现动态路由。 OSPF(Open Shortest Path First)协议是一种开放式最短路径优先协议,它是一个基于链路状态的协议。OSPF协议可以通过链路状态数据库(Link State Database)来计算最短路径,然后选择到达目的地的最佳路径。OSPF协议使用了Dijkstra算法来计算最短路径。 采用OSPF协议进行网络设计的基本原则和方法包括: 1. 划分区域:根据网络规模和复杂程度,将网络划分为若干个区域。OSPF协议在不同的区域之间可以采用不同的路由策略,从而提高网络的性能和可靠性。 2. 设计路由器:在每个区域中选择一个或多个核心路由器,其他路由器与核心路由器建立邻居关系。同时,还要根据网络规模和复杂程度选择合适的路由器类型和配置。 3. 制定路由策略:根据网络拓扑和需求,制定合适的路由策略。可以采用不同的路由度量标准、优先级设置、路由过滤和路由汇总等方式来优化路由选择。 4. 监测和优化:定期监测网络状态和性能,根据需要进行网络优化和调整。可以通过网络监控工具和日志记录等方式来实现。 以上就是关于动态路由及路由基本配置、动态路由协议OSPF工作原理以及采用OSPF协议进行网络设计的基本原则和方法的简单介绍。如果你有更深入的问题,欢迎继续咨询我。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值