HCIA笔记7--OSPF协议入门

文章目录

      • [0. 路由分类](#0. 路由分类)
      • [1. OSPF介绍](#1. OSPF介绍)
        • [1.1 概念](#1.1 概念)
        • [1.2 报文类型](#1.2 报文类型)
      • [2. 邻接关系的建立](#2. 邻接关系的建立)
        • [2.1 邻居关系的建立](#2.1 邻居关系的建立)
        • [2.2 邻接关系的形成](#2.2 邻接关系的形成)
        • [2.3 ospf状态机](#2.3 ospf状态机)
      • [3. DR与BDR](#3. DR与BDR)
        • [3.1 为什么要有DR和BDR?](#3.1 为什么要有DR和BDR?)
        • [3.2 DR和BDR的选举原则](#3.2 DR和BDR的选举原则)
      • [4. ospf的配置](#4. ospf的配置)
        • [4.1 内部优先级](#4.1 内部优先级)
      • [5. 问题](#5. 问题)
        • [5.1 三层环路如何解决?](#5.1 三层环路如何解决?)
      • Ref

0. 路由分类

  1. 直连路由
  2. 静态路由:需要管理员手动配置的路由
  3. 动态路由
    • IGP(internal Gateway Protocol)内部网关协议,运行在AS内部;主要协议有:RIP、OSPF、ISIS、EIGRP(思科)
    • EGP(External Gateway Protocol)外部网关协议,运行在AS之间

1. OSPF介绍

OSPF: Open Shortest Path First 开放最短路径优先

1.1 概念

LSA: Link State Advertcment; 链路状态通告,主要包含了网段信息。
LSDB:Link State DataBase, ospf路由器中来存储链路状态信息的数据库。
RID: router ID, 在ospf网络中唯一标识一台路由器。

主要工作流程:

ospf路由器通过将LSA信息泛洪,获得整个ospf网络的链路状态信息,进而形成各自的LSDB。根据形成了的LSDB,使用SPF算法生成一颗最短路径树;最终通过路由计算,比较路由表中的表项,添加到路由表中。

1.2 报文类型
  1. hello报文
  2. DD(Database Description)报文
  3. LSR(Link State Request)报文
  4. LSU(Link State Update)报文
  5. LSACK(Link State Acknowledgment)报文

2. 邻接关系的建立

在ospf网络中,两个路由器间要完成LSA信息的交互,首先就要先进行邻接关系的建立。

邻接关系的建立分为两个阶段:

  1. 邻居关系的建立
  2. 邻接关系的形成
2.1 邻居关系的建立

邻居关系的建立是通过hello 报文完成的。

  1. 路由器A向路由器B发送Hello报文,报文中表明自己并没有发现B。
  2. 路由器B收到报文后意识到邻居A的存在,在发往路由器A的报文中声明这一点。路由器B的状态由Down变为Init。
  3. 路由器A收到路由器B的报文,自己意识到了邻居的存在。在B发来的报文中B意识到A的存在。A直接进入2-way状态。但A需要再发一个Hello报文, 在报文中声明自己知道了B邻居的存在。
  4. 路由器B收到报文,知道路由器A了解到自己的存在。路由器B进入2-way状态。

Hello报文除了负责邻居关系的建立,还负责维护邻居关系(保活)。

Hello报文10s发送一次(Hello Time), 如果在40s内没有收到对端的Hello报文,则认为邻居关系失效,变为Down状态。

2.2 邻接关系的形成

邻接关系的形成分为两个阶段,第一阶段主要是获取LSDB的目录,相互之间了解缺少对方的哪部分报文;第二阶段进行真正的LSA链路数据表项之间的请求交换。

第一阶段开始,会发送两个空的DD报文进行主从选举,RID大的成为主路由器。选举完成之后,开始交互真正的DD报文,真正报文在交互过程中,从路由器的DD报文序列号使用主路由器发过来的序列号,主路由器的DD报文序列号使用从路由器的序列号加一。这样一种确认的机制叫作隐式确认,它保证了DD报文之间交互的可靠性。

第二阶段就是真正的链路信息交换了,这里用到的是显示确认机制。

从路由器向主路由器发送LSR(链路信息请求)报文,主路由器发送带有链路信息LSU(链路信息更新)报文给从路由器;最后从路由器收到LSU后再发给主路由器对于这一条链路信息的确认LSACK报文。

不断重复上面的过程,直到从路由器跟主路由器的LSDB同步了。

2.3 ospf状态机

3. DR与BDR

DR(Designated Router): 指定路由器

BDR(Backup Designated Router): 备份指定路由器

DR other: 非DR各BDR的其他路由器

3.1 为什么要有DR和BDR?

对于没有DR和BDR的网络中,要知道整个网络的链路信息,两两路由器之间就需要形成邻接关系。

如果网络中有n台路由器,在没有DR和BDR的网络中, 则需要建立n(n-1)/2对邻接关系;而如果是在DR和BDR的网络中,其他路由器只需要各DR和BDR之间建立邻接关系,只需要建立2n-3对邻接关系即可。

而建立邻接关系的第二阶段会进行LSDB的交换,这部分报文比较大会浪费链路带宽;因此对DR other 之间的路由器只需建立邻居关系而不交换路由信息,因此可以大大节省链路带宽。

3.2 DR和BDR的选举原则

如果DR由于某种故障而失效,则网络中的路由器必须重新选举DR,并与新的DR同步。这需要较长的时间,在这段时间内,路由的计算有可能是不正确的。

为了能够缩短这个过程,OSPF提出了BDR(Backup Designated Router)的概念。BDR是对DR的一个备份,在选举DR的同时也选举出BDR,BDR也和本网段内的所有路由器建立邻接关系并交换路由信息。当DR失效后,BDR会立即成为DR。由于不需要重新选举,并且邻接关系已建立,所以这个过程非常短暂,这时还需要再重新选举出一个新的BDR,虽然一样需要较长的时间,但并不会影响路由的计算。

DR和BDR的选举原则:

  1. 首先比较优先级,优先级范围0~255, 优先级数值越大越优先。
  2. 如果优先级相同,则比较RID, RID越大越优先。
  3. 如果网络中新增一台优先级更高的路由器,其不会被选为新的DR路由器, DR不能被抢夺,我们称之为DR的稳定性原则。
  4. 如果一台DR故障,则BDR直接成为新的DR, 然后在DR other中再选举一个新的BDR。
  5. 如果一台路由器的优先级为0,则路由器不具备选举权,它一定是DR other路由器。
  6. DR和BDR基于接口选举,基于网段选举。

4. ospf的配置

ospf进程号,这里只使用进程1

sh 复制代码
ospf 1 route-id 1.1.1.1

ospf是分区域的,区域0是核心区域。

sh 复制代码
area 0

直连网段宣告

sh 复制代码
network 10.1.12.0 0.0.0.255
network 192.168.1.0 0.0.0.255

ospf在接口宣告了网段信息后就会向相应的直连网段发送Hello报文,开始邻居关系的建立。

精确宣告

sh 复制代码
network 10.1.12.2 0.0.0.0

还可以在接口下进行宣告

sh 复制代码
ospf enable area 1

查看ospf邻居信息

sh 复制代码
display ospf peer brief

查看ospf接口信息

sh 复制代码
display ospf interface g0/0/1

ospf的hello时间是能改的, 但一般不改。两台路由器之间hello时间不同无法建立邻居关系。

sh 复制代码
ospf timer hello

修改优先级

sh 复制代码
ospf dr-priority 0
4.1 内部优先级

如上面的图所示,如果路由器AR1与AR2之间有两条路由;一条是ospf的路径(10.1.12.0/24),另外一条是静态路由(10.1.21.0/24)。

如果我们将静态路由的优先级设置为10,也就是与ospf的默认优先级一致。我们会发现最终路由表上的是ospf的这条路径。

这是因为路由器在比较完前缀和外部优先级后,继续比较内部优先级,

这所谓的内部优先级其实就是协认的默认优先级的大小。

ospf的默认优先值为10,静态路由的默认优先值为60,因此ospf更优先,因此加入路由表的是ospf的路径。

更加具体的在前面的路由器工作原理那里有提及,在这里实际解释内外优先级。内部优先级就是协议默认优先级,外部优先级就是可以配置的优先级。

5. 问题

5.1 三层环路如何解决?
  1. IP报文中有TTL字段,每次经过一个路由器都会减去一;TTL值为0的时候,路由器就会丢弃该包
  2. 路由协议设计也会防止环路的产生。比如ospf会通过SPF算出到目标网段的路径,另一方面ospf有区域划分,非核心区域之间不直接相连也能阻止环的产生。

Ref

huawei-support

相关推荐
Suwg2099 分钟前
《手写Mybatis渐进式源码实践》实践笔记(第四章 Mapper XML的解析和注册使用)
笔记·后端·mysql·mybatis
网络安全King11 分钟前
网络安全常见面试题
网络·安全·web安全
大明湖的狗凯.31 分钟前
HTTP 常见状态码解析
网络·网络协议·http
勤奋的懒洋洋35039 分钟前
webSocket
网络·websocket·网络协议
Mr.W.T1 小时前
常见的网络攻击手段
网络·网络安全
我命由我123451 小时前
写作词汇积累:差池、一体两面、切实可行极简理解
经验分享·笔记·学习·学习方法·写作·阅读·中文
m0_687914631 小时前
xshell连接虚拟机,更换网络模式:NAT->桥接模式
服务器·网络·桥接模式
KhalilRuan1 小时前
代码随想录-笔记-其六
笔记
明明真系叻2 小时前
第二十四周机器学习笔记:动手深度学习之——统计学习知识
笔记·深度学习·机器学习
C++忠实粉丝2 小时前
计算机网络之网络层超详细讲解
网络·c++·网络协议·tcp/ip·计算机网络·智能路由器