IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> ospf的总结 -> 正文阅读

[网络协议]ospf的总结

OSPF:开放式最短路径优先协议

无类别(携带掩码)链路状态(基于拓扑)型IGP(AS内部)协议 ????

更新量大—》为了能在中大型网络生存—进行结构化的部署—区域划分、地址规划

触发更新,每30min周期更新;组播更新—224.0.0.5—all ospf?? 224.0.0.6—DR/BDR

存在V1-V3?? 目前通用V2; ?V3是IPV6使用;

跨层封装3层报头,协议号89;支持等开销负载均衡;

  • OSPF的数据包类型

OSPF数据包的头部结构

跨层封装到IP报头,协议号89;

存在5个类型的数据包:

1)Hello ?组播周期发送,用于邻居、邻接关系的发现、建立、周期保活;

??在hello包中存在本地已知邻居的RID,用于保活这些邻居; ?hello time 10s或者 30s

Dead time 为hello time 的4倍;

2)DBD:数据库描述包 ?

3)LSR 链路状态请求

4)LSU 链路状态更新 ?--携带具体的LSA信息

5)LSack 链路状态确认

  • 状态机

Down? 一旦接收到hello包,进入下一个状态机

Init 初始化 ??接收到的hello包中,若存在本地的RID,进入下一个状态

2way ?双向通讯 ?邻居关系建立的标志

条件匹配:

Exstart 预启动: 使用不携带信息的DBD包进行主从关系选举,RID数值大为主,优先进入

下一个状态机;

Exchange准交换:使用DBD进行数据库目录的共享,需要ACK确认;

Loading加载:基于对端的数据库目录,对照本地,然后使用LSR来获取未知的LSA信息;

???????? 对端使用LSU来共享LSA,需要ACK确认;

Full转发:邻接关系建立的标志

  • OSPF的工作过程

启动配置完成后,邻居间组播收发hello包,建立邻居关系;生成邻居表

之后进行条件的匹配,匹配失败的邻居将保持为邻居关系,仅hello包周期保活即可;

匹配成功的邻居间,将进行邻接关系的建立;过程中先使用DBD进行目录交互,在使用LSR/LSU/LSack来获取本地未知的LSA信息;最终完成邻接关系间的LSDB同步;生成数据库表;再然后,本地基于LSDB,生成有向图—>树型结构—>最短选路 ??SPF算法

基于树形结构计算本地到达所有未知网段的最短路径,然后将其加载到路由表中;

收敛完成,hello包周期保活;每30min邻居间再周期比对DBD包;

结构突变:

  1. 新增网段 –直连新增网段的设备,直接使用更新包告知本地的所有的邻接
  2. 断开网段 -直连断开网段的设备,直接使用更新包告知本地的所有的邻接
  3. 无法沟通 -dead time倒计时结束后,邻居间断开关系,删除信息;

名词:

LSA??? 链路状态通告,在不同环境下产生不同的拓扑或路由,一条信息为一个LSA

LSDB?? 链路状态数据库 ??整个网络LSA的集合

LSDB同步 ??OSPF的收敛行为,整个网络LSDB需要一致

LSA洪泛 ???OSPF的收敛行为,需要整个网络接收到同一条LSA

  • OSPF的基础配置

[r1]ospf 1 router-id 1.1.1.1? 启动时需要定义进程号,仅具有本地意义

??建议配置RID—全网唯一—手工配置—本地环回接口最大数值---物理接口最大数值

[r1-ospf-1]

[r1-ospf-1]area? 0?? 进入对应的区域进行宣告

[r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0

[r1-ospf-1-area-0.0.0.0]network 12.1.1.1 0.0.0.0

OSPF的区域划分规则:

  1. 星型拓扑—非骨干区域需要连接骨干区域
  2. 必须存在ABR—区域边界路由器—区域间必须存在一个边界设备

启动配置完成后,邻居间收发hello包,建立邻居关系,生成邻居表

Hello包携带的参数:

邻居间在进行邻居关系建立时,hello包有几个参数必须完全一致,否则无法建立邻居关系:

Hello time和dead time??? 区域ID(ABR) ???认证字段 ???末梢区域标记 ???

华为设备还要求邻居间建立邻居的接口ip地址子网掩码必须一致

[r2]display? ospf peer? 查看邻居表

[r2]display? ospf peer brief 查看邻居表的简表

???????? OSPF Process 1 with Router ID 2.2.2.2

????????????????? Peer Statistic Information

?----------------------------------------------------------------------------

?Area Id????????? Interface??????????????????????? Neighbor id????? State???

?0.0.0.0????????? GigabitEthernet0/0/0?????????????? 1.1.1.1????????? Full???????

?0.0.0.1????????? GigabitEthernet0/0/1?????????????? 3.3.3.3????????? Full???

邻居关系建立后,进行条件的匹配;匹配失败将保持为邻居关系,仅hello包周期保活;

匹配成功将可以建立为邻接关系:

首先使用DBD进行主从关系选举,在使用DBD进行数据库目录的交互:

关于DBD包的几个参数:

  1. MTU? OSPF协议会在DBD包中携带与邻居直连接口的MTU值;要求邻居的MTU值必须完全一致,否则将卡在exstart状态机;默认华为设备间不检测这个MTU值;

[r1]interface GigabitEthernet 0/0/1

[r1-GigabitEthernet0/0/1]ospf mtu-enable? 在于邻居间直连的接口上开启MTU检测;若一端开启,另一端也必须开启

  1. 隐性确认 ?一台设备使用和另一台设备一样的序列号来确认对端的数据 ?OSPF中从来对主进行隐性确认;
  2. 描述字段 ???I为1标识本地发出的第一个DBD ????M为0本地发出的最后一个DBD ?????MS? 为1代表主 ??S为0代表从

在使用DBD相互交互完数据库目录后,再使用LSR/LSU/LSack来获取未知的LSA信息;

最终实现所有设备的LSDB一致;生成数据库表:

<r1>display ospf lsdb ?查看数据库表

当数据库同步完成后,OSPF将基于本地的LSDB,计算为有向图—>树型结构—>最短路径加载于路由表中:

华为设备优先级默认10;

<r1>display? ospf routing?? 查看本地所有与OSPF相关路由,发出+接收的

度量为cost值=开销值=参考带宽/接口带宽

OSPF选择整段路径cost值之和最小为最短路径;默认参考带宽100M

若接口带宽大于参考带宽,cost值为1;可能导致选路不佳

可以修改设备的参考带宽:

[r1]ospf 1

[r1-ospf-1]bandwidth-reference ?

? INTEGER<1-2147483648>? The reference bandwidth (Mbits/s)

[r1-ospf-1]bandwidth-reference 1000?

切记:若进行修改,整个网络中所有设备需要修改为一致;

  • OSPF从邻居关系建立为邻接关系的条件

关注网络类型

  1. 点到点网络 ?邻居正常必然成为邻接关系
  2. MA网络中 ?由于OSPF不支持接口的水平分割;故若两两设备间均为邻接关系,将导致大量的重复更新;因此必须进行DR/BDR选举,DR/BDR使用组播224.0.0.6;

在该网段内的非DR/BDR设备间只能建立为邻居关系;

选举规则:先比较参选接口的优先级0-255 数值大优,为0标识不参选

默认为1;若优先级相同,比较参选设备的RID值,数值大优;

修改接口优先级可以干涉选举:

[r1]interface GigabitEthernet 0/0/1

[r1-GigabitEthernet0/0/1]ospf dr-priority 2? 参选接口修改优先级

注:DR选举为非抢占行为;故修改优先级需要重启的OSPF进程

<r1>reset ospf process

Warning: The OSPF process will be reset. Continue? [Y/N]:y

六、ospf的接口网络类型 ??-- ospf的协议在不同网路类型的接口上,其工作方式不同

<r1>display? ospf interface GigabitEthernet 0/0/1? 查看OSPF协议在该接口的工作方式

网络类型 ????????????????????????????ospf的工作方式

LoopBack????? 显示P-2-P,实际为环回专用工作方式 ??无hello包 ?32位主机路由传递

点到点(串线HDLC/PPP) ?P-2-P? hello time10s?? 不选DR? 自接建立邻居关系

BMA(以太网) ????????Broadcast? hello time 10s????? 选DR/BDR

NBAM(MGRE) ???默认接口工作方式为p2p,该工作方式仅允许建立一个邻居关系;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 导致在MGRE环境中无法建立所有的邻居关系;

可以通过修改接口的工作方式来解决:

修改所有接口的工作访问broadcast

?? [r1-Tunnel0/0/0]ospf network-type broadcast

切记:在MGRE环境下,若一个网段的部分接口修改为broadcast,其他依然为点到点;由于建邻的条件匹配,故可以建立邻居关系;但broadcast需要DR,点到点不需要,所以最终不能正常收敛;需要该网段所有节点均为broadcast;

拓扑结构:

中心到站点(轴辐状-星型结构) ?DR必须定在中心站点,没有BDR

部分网状结构 ?基于实际环境关注是否固定DR;

全连网状结构 ??--- DR/BDR选举正常

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-22 11:17:36  更:2021-10-22 11:17:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 4:53:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码