首先ospf 的报文有:
hello报文,主要作用ospf 邻居建立及维护。
dd报文,主要作用主从选举,序列号主从的确认,mtu的协商(可选)。
lsr 报文,主要作用向邻居请求lsa。
lsu报文,主要作用通告和维护ospf的lsdb。
lack 报文 主要作用确认回复通告报文。
那么ospf的路由更新和撤销主要通过ospf的lsu报文,接受者并回复ack确认报文。接受者也会向其他邻居进行lsdb的同步,那么他会检查自己的lsdb是否拥有这条lsa如果没有记录下来进行lsu的通告。如果lsdb数据库已经拥有这条lsa那么将重置计时器。
接下来做个试验验证一样,通过抓包分析。

试验环境如上图,
1、测试ospf路由的更新。
R5通告了一条lsu的报文,R6收到lsu报文后立刻回复lack报文,R6收到更新报文后即刻回复lack确认报文。那么R6会向邻居发送lsu报文同上见下图。

关于lsu 和ack报文如下,首先是ospf 的头部,然后是ospf lsu的内容,内容为lsa的头部及lsa的内容,其中需要关注的是lsa的age 时间为1,序列号和校验和。这个是确认lsa的新旧。

R6收到lsu后回复lack确认报文,所有ospf的更新撤销报文是可靠机制的,有一个确认机制。报文如下:

R6检查自己的lsdb数据库中没有这条lsa,那么向其他邻居进行lsdb的同步。

2、测试ospf 的路由撤销
在R5上通过und network 5.5.5.5 模拟撤销这条路由,通告抓包分析路由是如何撤销的。那么R5也会向路有跟新一样发送lsu更新报文,R6收到更新报文后即刻回复lack确认报文。那么R6会向邻居发送lsu报文同上。具体见下图;


R6发送lsu更新lsdb,并设置老化时间为3600S,对方路由器收到后会删除该路由条目。

ospf的路由更新和撤销总结的更多相关文章

  1. quagga源码学习--BGP协议路由更新

    BGP的核心就是交换路由,所以关键的部分还是在路由的更新与撤销上面,这之间包含了冗长的属性,community等等处理过程,不做详述. bgp_read函数是路由更新的事件处理函数,在收到BGP_MS ...

  2. (转)示例化讲解RIP路由更新机制

      目录(?)[+]   以下内容摘自最新上市的“四大金刚”图书之一<Cisco路由器配置与管理完全手册>(第二版)(其它三本分别为<Cisco交换机配置与管理完全手册>(第二 ...

  3. 两台三层交换机单区域OSPF动态路由实验

    一.   实验目的 1.  掌握三层交换机之间通过OSPF协议实现网段互通的配置方法. 2.  理解RIP协议和OSPF协议内部实现的不同点 二.   应用环境 当两台三层交换机级联时,为了保证每台交 ...

  4. HCNP Routing&Switching之OSPF外部路由类型以及forwarding address

    前文我们了解了OSPF的4类.5类LSA,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15222969.html:今天我们来聊一聊外部路由类型和forward ...

  5. vue 路由更新页面视图未更新问题

    最近项目做面包屑的时候遇到一个问题就是路由变化的时候页面视图并没有发生变化,后来上网查,发现是vue-router的特性导致的. vue-router的切换不同于传统的页面的切换.路由之间的切换,其实 ...

  6. 自定义npm包的创建、发布、更新和撤销

    大纲 1.准备2.自定义npm包3.发布自定义npm包4.引用npm包5.更新npm包6.撤销发布的npm包 简书原文 https://www.jianshu.com/p/d737bc5df5b7 1 ...

  7. 解决win10无法完成更新 正在撤销更改

    删除Windows 更新缓存文件按Windows+X,选择“命令提示符(管理员)”:输入:net stop wuauserv,回车(此处会提醒服务停止):输入: %windir%\SoftwareDi ...

  8. Win10更新补丁失败后出现无法更新正在撤销 解决办法

    系统更新失败,反复重启还是不行,那是不是下载下来的补丁没用了呢??所以我们先要删除Windows更新的缓存文件!在做以下操作之前,首先我们要确认系统内的windows update & BIT ...

  9. ospf动态路由配置(单区域)

    命令: Router(config-router)#network 目标网络号 反子网掩码 area 区域号 示例: Router(config-router)#network 10.2.2.0 0. ...

随机推荐

  1. ElasticSearch(十四):Linux下设置ElasticSearch 开机自启

    一.创建脚本文件 在  /etc/init.d  目录下,创建脚本文件 elasticsearch # cd /etc/init.d/ # vim elasticsearch 将以下内容写入文件中(其 ...

  2. HDFS 配额教程

    本文原始地址:https://sitoi.cn/posts/12544.html 名称配额(Name Quota) 名称配额是在对应的目录下所有文件和目录名称的数量上的限制. 当超过这个配额的时候,文 ...

  3. ingress controller 注解使用

    ingress controller 注解使用 官网github注解地址: https://github.com/kubernetes/ingress-nginx/blob/master/docs/u ...

  4. matplotlib--基本setting

    一.创建自定义图像 figure figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=Tr ...

  5. httprunner学习18-多进程运行模式

    前言 使用Locust进行性能测试时,当一台单机不足以模拟所需的用户数量的时候,可以使用主从模式,启动一个master节点,多个slave节点. 主从模式 loucsts 是httprunner 里面 ...

  6. table的各种用法

    使用 colgroup 和 col 实现响应式表格(table的各种用法):http://coderlt.coding.me/2017/11/20/table-colgroup/

  7. GitHub & GitHub Desktop能帮我们做什么

    GitHub: 1.代码版本管理 GitHub Desktop:

  8. 【Android Studio】 资源下载

    Gradle各版本集合 http://services.gradle.org/distributions/ Android Studio各版本集合 http://www.android-studio. ...

  9. Hive修改表语句

    0x01:重命名表 1 ALTER TABLE table_name RENAME TO new_table_name; 上面这个命令可以重命名表,数据所在的位置和分区都没有改变. 0x02:改变列名 ...

  10. Cookies and Custom Protocols

    https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/URLLoadingSystem/Cookiesa ...