学习笔记-OSPF

目录

 

一、路由概念

二、路由分类及相关协议

三、OSPF工作过程

四、区域划分以及DR,BDR选举

五、OSPF的基本配置:


一、路由概念

        路由器工作在OSI七层模型中的第三层——网络层,而网络层的作用就是为数据包选择路由。路由器在工作时,会提取出报文中的IP头里的目的IP地址,然后拿着目的IP地址到自己的路由表中进行查找,找到“最匹配”的路由条目后,将数据包根据路由条目所指示的出接口或下一跳IP转发出去。简单来说路由表就像一张地图,IP地址是坐标。只知道IP地址而没有路由,就像知道坐标却不知道该怎么走一样。

二、路由分类及相关协议

路由大致可以分为三类:直连路由、静态路由和动态路由。这里采用CPT(cisco 模拟器)作为演示。

直连路由 :直接相连的网段,默认情况下,路由表中只有直连路由。


静态路由 :网络管理员/用户手动写入路由表中的路由
        缺陷:大型和复杂的网络环境通常不宜采用静态路由。一方面,网络管理员难以全面地了解整个网络的拓扑结构;另一方面,当网络的拓扑结构和链路状态发生变化时,路由器中的静态路由信息需要大范围地调整,这一工作的难度和复杂程度非常高。当网络发生变化或网络发生故障时,不能重选路由,很可能使路由失败。
        优点:1.占用的网络资源比较少,静态路由不会产生更新流量;2.网络安全保密性高,相比于动态路由因为需要路由器之间频繁地交换各自的路由表,静态路由安全性更高。

动态路由 :动态路由是指路由器能够根据路由器之间的交换的特定路由信息自动地建立自己的路由表,并且能够根据链路和节点的变化适时地进行自动调整。其优缺点与静态路由相反。

动态路由协议大致分为两类:距离矢量路由协议和链路状态路由协议。这里介绍一下主流的协议。

(1)距离矢量路由协议:其中距离是根据度量定义的,方向是由下一跳路由器定义的。目前最典型的代表协议是RIP,EIGRP。RIP,经典的距离向量路由算法,最大跳数为15跳。EIGRP,思科专有协议,是一种动态的、长跨度的路由协议。15年才开放使用。

(2)链路状态路由协议: 根据链路状态选择路由。 OSPF和IS-IS是链路状态路由协议的两个最典型的代表。IS-IS最初是为OSI协议簇设计的,后来添加了对IP网络的支持。

三、OSPF工作过程

简介:OSPF——开放式最短路径优先选择协议(open shortest path first) 。以“累计链路开销”作为选路参考值。

工作过程:使用组播地址在所有开启ospf的接口发送Hello包,建立邻居关系,形成邻居表;之后互相发送LSA(链路状态信息)相互通告路由,
形成LSDB(链路状态数据库),再通过SPF算法(无环),计算最佳路径后放入路由表。

知晓了工作过程,这里介绍一下在工作过程中产生的三(三张表)、五(五个报文)、七(其中状态)

三张表
①邻居表  --  保存的就是本台路由器所有的OSPF邻居信息
(直连的两台OSPF路由器之间可能会建立邻居关系)
Router#show ip ospf neighbor
②链路状态数据库 -- 保存的就是本台路由器已知的所有链路状态信息  (完整地图)
Router#show ip ospf database
③路由表 -- 保存的就是本台路由器已知的所有路由信息,路由表是由链路状态数据库运行SPF算法得到的(最优路径,其实就是把链路状态数据库中最优先的路径,加入到路由表里面)
Router#show ip route ospf  -- 只查看与OSPF相关的路由信息

五个报文
①Hello -- 打招呼,用来建立邻居之间的关系
Hello报文如何发送?是通过组播的方式来进行发送的,OSPF的组播地址:224.0.0.5(所有OSPF路由器都会加入的)和224.0.0.6(DR/BDR才会加入的)
②DBD (Database description)-- 链路状态数据库摘要  简要信息。两台OSPF路由器建立完邻居之后,会开始交互链路状态信息,刚开始交互的时候,交互的都是简要信息。
③LSR( LSA Request) -- 链路状态请求  对DBD的答复,请求详细的链路状态信息
④LSU(LSA Update) -- 链路状态更新  对LSR的答复
⑤LSACK(Link State Acknowledgement)-- 链路状态确认  对LSU的确认

七个状态
down  -- 死亡状态  邻居之间的关系没有起来
init  -- 初始化状态   开始往组播地址发送Hello报文  开始打招呼
2-way -- 双向通信状态  双方彼此收到对方的Hello报文,然后彼此知道对方的存在   如果到达这个状态,就形成了邻居关系
exstart -- 预启动状态   这个状态会进行主从关系的选举,这个状态准备开始进行链路状态数据库的交互   从这个角色会主动向主发送DBD信息。主收到之后就可以知道从那边有多少的链路状态信息。
exchange -- 交换状态,彼此之间开始交换详细的链路状态信息
loading -- 加载状态,这个状态开始将本台路由器所知道的详细链路信息加载到链路状态数据库中
full -- 完全邻接状态  该状态会形成另外一个关系 -- 邻接。到达这个状态之后,同一个网络中的路由器,所知道的链路状态信息都是一致的。  同步

四、区域划分以及DR,BDR选举

不知道你们有没有发现一个问题,如果所有的路由器都建立邻接关系,链路状态发生改变。更新一个链路状态就需要通告所有的路由器,会造成很大的资源浪费。所以就需要划分区域和选举DR,BDR

区域划分

OSPF中有区域的概念,OSPF的区域是用编号来表示的
骨干区域  -- 区域零
普通区域  -- 除了区域零之外的其他区域,都属于普通区域

DR/BDR


DR -- 指定路由器,负责更新其他所有OSPF路由器的信息
BDR -- 备份指定路由器,负责监控备份DR的状态,并在当前DR发生故障时接替其角色。
其他路由器DRothers:只和DR及BDR形成邻接关系。

作用:多路访问中可以减少邻接关系和 LSA (链路状态通告)的泛洪

如果设备之间建立全互联的邻接关系, LSA(链路状态通告) 泛洪和处理占用系统资源和链路资源,如果选举一个DR/BDR , 所有设备都和DR/BDR 建立full的邻接关系,DRothers 之间停留在Two-way , DRothers 和DR/BDR 之间交互LSA 就可以了,这样可以减少邻接关系和 LSA 的泛洪。
 

DR/BDR的选举规则  (只在以太网链路上有效,串行链路是没有DR/BDR的概念)
只有直接进行BDR的选举,没有直接选举DR
先选举BDR,BDR选完之后,成为了DR,那么再继续选举出新的BDR
①看接口优先级,默认以太网接口优先级为1,优先级高的为BDR (串行接口优先级为0)
②如果接口优先级一样,就选择RID最大的作为BDR

DR/BDR的选举是非抢占的,一旦网络环境稳定下来了,DR/BDR是不会改变的,除非DR挂了,BDR成为新的DR

OSPF的RID -- Router id:是OSPF路由器的身份证,一定需要有的,而且是不允许冲突
RID的来源:
①假如有手工指定,那么手工指定优先
②如果没有手工指定,那么就选择回环接口中IP地址最大的作为RID
③如果没有回环接口,那么就选择物理接口中IP地址最大的作为RID

Router(config)#router ospf 1

Router(config-router)#router-id 2.2.2.2  -- 指定RID

Router(config)#int e0/0
Router(config-if)#ip ospf priority 10  -- 修改接口优先级

五、OSPF的基本配置:

Router(config)#router ospf 1  -- 创建OSPF进程,进程号为1,进程号本地有效

Router(config-router)#network 192.168.10.0 0.0.0.255 area 0  -- 指定将哪些接口假如OSPF进程,就是将本地IP地址在192.168.10.0这个网络号中的接口,加入OSPF进程。后面跟的是反子网掩码,区域0

Router(config)#router ospf 1

Router(config-router)#router-id 2.2.2.2  -- 指定RID

Router#clear ip ospf process  -- 重置OSPF进程

Reset ALL OSPF processes? [no]: y

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜明X

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值