首页 > 其他分享 >14 OSPF基础

14 OSPF基础

时间:2023-09-16 23:47:44浏览次数:36  
标签:14 报文 基础 R1 LSDB OSPF 路由 路由器

由于静态路由由网络管理员手工配置,因此当网络发生变化时,静态路由需要手动调整,这制约了静态路由在现网大规模的应用。动态路由协议因其灵活性高、可靠性好、易于扩展等特点被广泛应用于现网。在动态路由协议之中,OSPF(Open Shortest Path First,开放式最短路径优先)协议是使用场景非常广泛的动态路由协议之一。OSPF在RFC2328中定义,是一种基于链路状态算法的路由协议。

路由协议分类

距离矢量路由协议

运行距离矢量路由协议的路由器周期性的泛洪自己的路由表。通过路由的交互,每台路由器都从相邻的路由器学习到路由,并且加载进自己的路由表中。对于网络中的所有路由器而言,路由器并不清楚网络的拓扑,只是简单的知道要去往某个目的方向在哪里,距离有多远。这即是距离矢量算法的本质。

image

链路状态路由协议(重点)

LSA泛洪

与距离矢量路由协议不同,链路状态路由协议通告的的是链路状态而不是路由表。运行链路状态路由协议的路由器之间首先会建立一个协议的邻居关系,然后彼此之间开始交互LSA(Link State Advertisement,链路状态通告)。LSA描述了路由器接口的状态信息,例如接口的开销、连接的对象等。

image

LSDB组建

每台路由器都会产生LSAs,路由器将接收到的LSAs放入自己的LSDB(Link State DataBase,链路状态数据库)。路由器通过LSDB,掌握了全网的拓扑。LSDB汇总了网络中路由器对于自己接口的描述,LSDB包含全网拓扑的描述

image

SPF计算

每台路由器基于LSDB,使用SPF(Shortest Path First,最短路径优先)算法进行计算。每台路由器都计算出一棵以自己为根的、无环的、拥有最短路径的“树”。有了这棵“树”,路由器就已经知道了到达网络各个角落的优选路径。

image

路由表生成

最后,路由器将计算出来的优选路径,加载进自己的路由表(Routing Table)。

image

OSPF简介

OSPF是典型的链路状态路由协议,是目前业内使用非常广泛的IGP协议之一。目前针对IPv4协议使用的是OSPF Version 2(RFC2328);针对IPv6协议使用OSPF Version 3(RFC2740)。运行OSPF路由器之间交互的是LS(Link State,链路状态)信息,而不是直接交互路由。OSPF路由器将网络中的LS信息收集起来,存储在LSDB中。路由器都清楚区域内的网络拓扑结构,这有助于路由器计算无环路径。每台OSPF路由器都采用SPF算法计算达到目的地的最短路径。路由器依据这些路径形成路由加载到路由表中。OSPF支持VLSM(Variable Length Subnet Mask,可变长子网掩码),支持手工路由汇总。

OSPF术语

区域

OSPF Area用于标识一个OSPF的区域。区域是从逻辑上将设备划分为不同的组,每个组用区域号(Area ID)来标识。

image

Router-ID

Router-ID(Router Identifier,路由器标识符),用于在一个OSPF域中唯一地标识一台路由器。
可以手工配置也可以系统配置,建议手工配置

image

度量值

OSPF使用Cost(开销)作为路由的度量值。每一个激活了OSPF的接口都会维护一个接口Cost值,缺省时接口Cost值 = 100 Mbit/s除于接口带宽 。其中100 Mbit/s为OSPF指定的缺省参考值,该值是可配置的。笼统地说,一条OSPF路由的Cost值可以理解为是从目的网段到本路由器沿途所有入接口的Cost值累加。

image

OSPF协议报文类型

OSPF有五种类型的协议报文。这些报文在OSPF路由器之间交互中起不同的作用。
image

OSPF三大表

邻居表

OSPF在传递链路状态信息之前,需先建立OSPF邻居关系。OSPF的邻居关系通过交互Hello报文建立。
OSPF邻居表显示了OSPF路由器之间的邻居状态,使用display ospf peer查看。

LSDB表

LSDB会保存自己产生的及从邻居收到的LSA信息,本例中R1的LSDB包含了三条LSA。Type标识LSA的类型,AdvRouter标识发送LSA的路由器。使用命令行display ospf lsdb查看LSDB表。

OSPF路由表

OSPF路由表和路由器路由表是两张不同的表项。OSPF路由表包含Destination、Cost和NextHop等指导转发的信息。使用命令display ospf routing查看OSPF路由表。

OSPF协议工作原理

考虑一种简单的拓扑,两台路由器直连。在双方互联接口上激活OSPF,路由器开始发送及侦听Hello报文。在通过Hello报文发现彼此后,这两台路由器便形成了邻居关系。邻居关系的建立只是一个开始,后续会进行一系列的报文交互,例如前文提到的DD、LSR、LSU和LS ACK等。当两台路由器LSDB同步完成,并开始独立计算路由时,这两台路由器形成了邻接关系。

一.建立邻居关系

image

二.协商主从,交换LSDB中的LSA摘要信息

--邻居状态机从2-way转为Exstart状态后开始主从关系选举:
-- R1向R2发送的第一个DD报文内容为空,其Seq序列号假设为X。
-- R2也向R1发出第一个DD报文,其Seq序列号假设为Y。
-- 选举主从关系的规则是比较Router ID,越大越优。R2的Router ID比R1大,因此R2成为真正的主设备。主从关系比较结束后,R1的状态从Exstart转变为Exchange。
-- R1邻居状态变为Exchange后,R1发送一个新的DD报文,包含自己LSDB的描述信息,其序列号采用主设备R2的序列号。R2收到后邻居状态从Exstart转变为Exchange。
-- R2向R1发送一个新的DD报文,包含自己LSDB的描述信息,序列号为Y+1。
-- R1作为从路由器需要对主路由R2发送的每个DD报文进行确认,回复报文的序列号与主路由R2一致。
-- 发送完最后一个DD报文后,R1将邻居状态切换为Loading。

image

同步LSDB信息

-- 邻居状态转变为Loading后,R1向R2发送LSR报文,请求那些在Exchange状态下通过DD报文发现的,但是在本地LSDB中没有的LSA。
-- R2收到后向R1回复LSU。在LSU报文中包含被请求的LSA的详细信息。
-- R1收到LSU报文后,向R2回复LS ACK报文,确认已接收到,确保信息传输的可靠性。
-- 此过程中R2也会向R1发送LSA请求。当两端LSDB完全一致时,邻居状态变为Full,表示成功建立邻接关系。

image

总结建立邻接的邻居状态变化

Init -> Two way -> Exstart -> Exchange -> Loading -> Full

标签:14,报文,基础,R1,LSDB,OSPF,路由,路由器
From: https://www.cnblogs.com/Metkey/p/17707542.html

相关文章

  • 【php基础】正则表达式04
    1、正则表达式的介绍2、正则表达式的语法一、正则表达式的介绍正则表达式的介绍·正则表达式,又称规则表达式,通过一种特殊的语言来挑选符合条件的数据·在代码中简写,regex、regexp、RE·计算机科学的一个概念,通常被用来检索、替换那些符合某个模式(规则)的......
  • 11.虚拟桌面基础设施: 使用OpenStack的Horizon模块,创建一个虚拟桌面基础设施,允许用户
    使用OpenStack的Horizon模块创建虚拟桌面基础设施可以让用户访问虚拟桌面环境,这通常使用VNC或其他远程桌面协议来实现。Horizon是OpenStack的Web管理界面,用于管理和监控OpenStack云资源。以下是一个简化的示例,演示如何使用Horizon来构建这样一个虚拟桌面基础设施。注意:为了构建这......
  • ​ 合肥先进光源国家重大科技基础设施项目及配套工程启动会纪念
    ​合肥先进光源国家重大科技基础设施项目及配套工程启动会纪念卡西莫多 合肥长丰岗集里肥鸭从此别泥塘先平场地设围栏进而工地筑基忙光阴似箭指日争源流汇智山水长国器西北扩新地家校又添新区园重器托举有群力大步穿梭两地间科教兴邦大国策技术盈身坦荡行基坑从......
  • P3287 [SCOI2014] 方伯伯的玉米田
    首先每次选择的区间结尾都可以换成\(n\),仍然保持单调不降,我们就按这个策略拔高玉米。令\(f_{i,j}\)表示\(1\simi\)这段前缀进行了\(j\)次操作,第\(i\)株玉米不被拔掉,所能剩下最多的玉米数量:\[f_{i,j}=\max\{f_{p,q}|p<i,q<j,a_p+q\leqa_i+j\}+1\]枚举\(i\),剩下两个......
  • Java基础-环境搭建
    目录JDK介绍JDK下载JDK安装JDK环境配置JRE环境配置内容JDK介绍JDK(Java开发工具包)提供了构建所有面向Java平台的应用程序的基础。JDK包括执行各种任务的各种工具和实用程序,包括将源代码编译成字节码、打包应用程序、启动Java虚拟机(JVM)和管理Java应用程序的运......
  • 网络基础
    网络概述:硬件方面:通过介质将网络设备和终端进行连接介质:双绞线、光纤、电磁波等软件方面:操作系统、应用软件、应用程序互相通讯网络最最终目的:实现资源共享、信息传递网络的组成:术语备注设备Device介质Media消息/报文Message/Data协议Protocol......
  • 【php基础】php连接mysql数据库及基本操作02
    一、php连接mysql数据库<?php$servername="localhost";$username="root";$password="root";$dbname="mysql";//创建连接$conn=newmysqli($servername,$username,$password,$dbname);//检测连接i......
  • 基础二分算法:整数二分、浮点二分
    1、整数二分以acwing789为例,题目要求如下:第一行输入整数n和q,表示数组长度和询问个数。第二行输入数组,包含n个整数。接下来q行,每一行一个整数k,表示一个问询元素。要求输出q行,每行包含两个整数,表示所求元素的起始位置和终止位置。如果数组中不存在该元素,则返回-1-1。#inc......
  • ip路由基础
    IP地址191.10.96.132使用自然掩码,191.10.96.132的网络地址是(B)A.191.0.0.0B.191.10.0.0C.191.10.48.0D.191.10.96.0路由协议的作用是什么(B)数据转发的依据构建路由表管理路由生成IP地址IP网络是分层的,通常是不同国家间、不同城市间互连组成的网络指的是以下哪一项(A)......
  • 基础算法:快速排序、归并排序
    1、快速排序#include<iostream>usingnamespacestd;constintN=1e5+10;intn,q[N];voidqksort(intq[],intl,intr){if(l>=r)return;intx=q[l],i=l-1,j=r+1;while(i<j){doi++;while(q[i]<......