OSPF路由协议(云计算随笔)

网友投稿 251 2022-10-01

OSPF路由协议(云计算随笔)

OSPF路由协议

一、概述

OSPF是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部。

OSPF又叫开放的最短路径优先协议,其中AS是指由同一个技术管理机构管理、使用统一选路策略的一些路由器的集合。

1.按自治系统分为IGP:内部网关路由协议,运行在As内部的路由协议,主要解决As内部的选路问题,发现、计算路由。主要:RIP1/RIP2、OSPF、ISIS、EIGRP(思科私有协议)EGP:外部网关路由协议,运行在As与As之间的路由协议,他解决As之间选路问题。通常:BGP2.按协议类型分类距离矢量路由协议:RIP1/2、BGP(路径矢量协议)、EIGRP(高级距离矢量协议)路由器对全网拓扑不完全了解。是"传说的路由",z发路由信息给B,B加上自己的度量值又发给c,路由表里的条目是听来的。

链路状态路由协议:OSPF、ISIS路由器对全网拓扑完全了解。是"传信的路由",A将信息放在一封信里发给B,B对其不做任何改变,拷贝下来,并将自己的信息放在另一封信里,两封信一起给C,这样,信息没有任何改变和丢失,最后所有路由器都收到相同的一堆信,这一堆信就是LSDB。然后,每个路由器运用相同的SPF算法,以自己为根,计算出SPF Tree(即到达目的地的各个方案),选出最佳路径,放入路由表中。

特点:可适应大规模网络;路由变化收敛速度快;无路由环;支持变长子网掩码vlsm;支持区域划分;支持以组播地址发送协议报

二、OSPF工作原理

OSPF的简单说就是两个相邻的路由器通过发报文的形式成为邻居关系,邻居再相互发送链路状态信息形成邻接关系,之后各自根据最短路径算法算出路由,放在OSPF路由表,OSPF路由与其他路由比较后优的加入全局路由表。整个过程使用了五种报文、三个阶段、四张表。

五种报文

Hello报文:建立并维护邻居关系。

DBD报文:发送链路状态头部信息。

LSR报文:把从DBD中找出需要的链路状态头部信息传给邻居,请求完整信息。

LSU报文:将LSR请求的头部信息对应的完整信息发给邻居。

LSACK:收到LSU报文后确认该报文。

三个阶段

邻居发现:通过发送Hello报文形成邻居关系。

路由通告:邻居间发送链路状态信息形成邻接关系。

路由计算:根据最短路径算法算出路由表。

四张表

邻居表:主要记录形成邻居关系路由器。

链路状态数据库:记录链路状态信息。

OSPF路由表:通过链路状态数据库得出。

全局路由表:OSPF路由与其他比较得出。

其工作过程

1、建立邻居表2、形成链路状态数据库3、形成路由表建立邻接关系-->学习链路状态信息--->链路状态数据库--Dijkstra算法--->最短路径树--->路由表

三、OSPF基本概念

1.OSPF区域:为了适应大型的网络,OSPF在AS内划分多个区域;每个OSPF路由器只维护所在区域的完整链路状态信息。

区域ID:区域ID可以表示成一个十进制的数字;也可以表示成一个IP

骨干区域Area 0:负责区域间路由信息传播

非骨干区域

router ID :OSPF区域唯一标识路由器的IP地址

Router ID选取规则:选取路由器loop back接口上数值最高的IP地址;如果没有loop back接口,在物理端口中选取IP地址最高的;也可以使用router-id命令指定Router ID

2.DR和BDR

广播网络中建立邻接关系;构成n(n-1)/2个邻接关系

选举方法

自动选举DR和BDR:

网段上Router ID最大的路由器将被选举为DR,第二大的将被选举为BDR

手工选择DR和BDR:

优先级范围是0~255,数值越大,优先级越高,默认为1如果优先级相同,则需要比较Router lD如果路由器的优先级被设置为0,它将不参与DR和BDR的选举

选举过程

路由器的优先级可以影响一个选举过程,但不能强制更换已经存在的DR或BDR路由器

​ OSPF的组播地址:224.0.0.5

3.OSPF的度量值为COST

COST=10^8/BW

最短路径是基于接口指定的代价(cost)计算的

接口类型 代价10^8/BW
Fast Ethernet 1
Ethernet 10
56K 1785

4.OSPF的数据包类型

OSPF数据包:承载在IP数据包内,使用协议号89

OSPF的包类型:

OSPF的包类型 描述
hello包 用于发现和维持邻居关系,选举DR和BDR
数据库描述包(DBD) 用于向邻居发送摘要信息以同步链路状态数据库
链路状态请求包(LSR) 在路由器收到包含新信息的DBD后发送,用于请求更详细的信息
链路状态更新包(LSU) 收到LSR后发送链路状态通告(LSA),一个LSU数据包可能包含几个LSA
链路状态确认包(LSACK) 确认已经收到DBD/LSU,每个LSA需要被分别确认

四、OSPF邻接关系的建立

OSPF启动的第一个阶段是使用hello报文建立双向通信的过程

![20210627175328265](C:\Users\yan\Pictures\Saved Pictures\20210627175328265.png)

OPSF启动的第二个阶段是建立完全邻接关系

![20210627175335495](C:\Users\yan\Pictures\Saved Pictures\20210627175335495.png)

![20210627175342508](C:\Users\yan\Pictures\Saved Pictures\20210627175342508.png)

DR和BDR选举完成后就进入到exstart状态;双发通过DBD报文交换摘要信息到exchange状态;loading状态时加载详细信息,请求>回复>确认的过程;双方链路状态一致,建立完全邻接关系FULL状态

五、OSPF的网络类型

OSPF支持的网络类型

点到点网络:自动发现邻居,不需DR/BDR、组播224.0.0.5广播型多路访问网络:自动发现邻居、选举DR/BDR、组播224.0.0.5、224.0.0.6非广播型多路访问(NBMA)网络:手工指定邻居、选DR/BDR、单播P2MP网络:自动发现邻居,不需DR/BDR、组播224.0.0.5

六、OSPF的应用环境

从以下几方面考虑OSPF的使用

网络规模;网络拓扑;其他特殊要求,路由器自身要求

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java任务定时执行器案例的实现
下一篇:LINUX软件包
相关文章

 发表评论

暂时没有评论,来抢沙发吧~