HCNP Routing&Switching之OSPF LSA更新规则和路由汇总
前文我们了解了OSPF外部路由类型以及forwarding address字段的作用,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15225673.html;今天我们来聊一聊OSPF LSA更新规则以及路由汇总相关话题;
LSA更新规则
我们知道在ospf的LSDB中,每个LSA都有一个序列号,最小以80000001开始,每更新一次LSA对应序列号都会加1(除删除);默认情况下,如果一个LSA没有什么变化,ospf会每个30分钟自动更新一次;如果对应LSA有改动,则是立即更新;总之对应路由有变动对应LSA就会更新,每次更新都会表现在对应序列号的增加(除删除);这意味着序列号越大,对应LSA就表示越新;除此之外在LSA的报文中还有一个LS Age,该字段主要用来描述对应LSA的生存时间,单位是秒,随着时间的增长而增长;该字段的数字越小,表示对应LSA越新;一条LSA在向外泛洪之前,LS age的值需要增加inftransdelay(该值默认是1秒,表示在链路上传输的延迟);如果一条LSA的LS Age这个字段的值达到了LSRefreshTime(30分钟),对应LSA会被重新生成,对应序列号加1;如果一条LSA的 LS Age字段的值被设置为3600,则表示对应LSA会被删除;我们可以理解为路由器要想删除某条LSA,对应LSU中的LSA的LS age的值会被置为3600,意思就是告诉其他路由器把对应LSA从LSDB中删除;
实验:如下拓扑,配置ospf
R3的配置


sys
sys R3
int g0/0/0
ip add 13.0.0.3 24
ospf 1 router-id 3.3.3.3
area 1
net 13.0.0.3 0.0.0.0
R1的配置


sys
sys R1
int g0/0/1
ip add 13.0.0.1 24
int g0/0/0
ip add 12.0.0.1 24
ospf 1 router-id 1.1.1.1
area 0
net 12.0.0.1 0.0.0.0
area 1
net 13.0.0.1 0.0.0.0
R2的配置


sys
sys R2
int g0/0/0
ip add 12.0.0.2 24
int lo 1
ip add 192.168.17.17 32
ospf 1 router-id 2.2.2.2
area 0
net 12.0.0.2 0.0.0.0
net 192.168.17.17 0.0.0.0
查看R1或R2、R3的LSDB数据库
提示:可以看到对应LSA age字段随时间的增长而增长,对应序列号没有什么变化;
在R3上新建lo3接口,并将对应ip地址宣告在ospf中,抓包看看对应LSA中的ls age的值
提示:可以看到对应一类LSA的序列号加1,并且对应age也重新计时了;
抓包查看对应LSA
提示:在抓包的数据包中,对应lsa的age是1;表示该LSA已经生存了1秒;其实这个1主要是inftransdelay的值;
在R2上删除lo1接口ip在ospf中的宣告,在R3上抓包查看对应lsa的age字段的值
抓包查看对应LSA中的ls age信息
提示:可以看到R2上的ospf中取消lo1接口ip在ospf中宣告,对应R3收到了一条3类LSA,其中对应LSA的LS Age字段的值是3600,表示删除该LSA;
验证:在R3上查看lsdb,看看对应192.168.17.17网络的三类LSA是否被删除了呢?
提示:可以看到对应R3上192.168.17.17网络的三类LSA被删除了;
LSA更新过程
提示:上图是当路由器收到一条LSU的处理过程;首先路由器会查看对应LSU中LSA是否在lsdb中存在,如果不存在则添加对应LSA到lsdb中,然后发送LSACK,泛洪LSA,最后计算路由;如果收到LSU中LSA在lsdb中存在,则首先查看对应lsa的序列号是否相同,如果相同则表示是重复的LSA,此时路由器会忽略对应LSA;如果序列号不同,则比较对应收到的LSA序列号是否比lsdb中数据库中对应LSA序列号高,如果收到的LSA序列号高于LSDB中的序列号,则表示收到的LSA是最新的LSA,则会把对应LSA更新到LSDB中,然后对应LSA会重新计时,序列号加1,然后,发送lsack,泛洪lsa,计算路由,更新路由信息;
总结:ospf lsa的更新规则主要由LS Age这个字段和对应序列号控制,该字段主要用来描述对应LSA存活时长,数字越小表示LSA越新;为了防止LSA条目达到最大生存时间按而被删除,这个字段默认情况是每30分钟更新一次(定时更新);对应LSA的序列号会加1;在ospf中LS Age的值如果被置为3600,表示删除该LSA;序列号的作用有两个,第一个是对比是否是重复LSA;其次是比较LSA的新旧;数字越大,表示LSA越新;除此之外当对应路由,链路状态发生变动,比如更改了开销,对应LSA的ls age字段会重新计时,对应序列号会加1(除删除LSA);即当链路状态发生变化后,立即发送LSU,更新LSDB(触发更新);
ospf路由汇总
首先ospf不支持自动汇总路由信息,汇总必须是手动汇总;汇总路由信息的目的是精简lsdb数据,从而优化路由器的性能;对于汇总来说,汇总只能汇总区域间的路由和外部路由,即汇总三类LSA和五类LSA;
实验:如下拓扑,配置ospf,并进行汇总
分析:我们要汇总外部路由和内部路由,对于上述拓扑来讲,汇总外部路由我们只能在asbr上配置,即R3上进行汇总;汇总内部路由我们需要在abr配置,即R1上配置,因为abr发送三类LSA到其他区域;对于R2来说,它的lo接口都是内部网络,所以R2上只需要在对应ospf区域中宣告对应网络即可;
汇总内部路由
在R2的ospf区域中宣告对应lo接口网络
在R1或R3上查看lsdb
提示:可以看到在R3上lsdb的三类LSA有4条;
在R1上汇总R2宣告的lo接口网络
提示:汇总需要看在那个区域汇总,即汇总那个区域的路由,就在对应区域汇总即可;上述命令表示把区域1里的三类LSA汇总为一条LSA;该LSA包含上述lo接口网络;
验证:在R3或R1上查看LSDB,看看对应三类LSA是否精简成一条了?
提示:可以看到在R1的区域1的数据库中,只有一条三类LSA,表示我们刚才汇总的区域间路由成功了;
验证:在R3上ping R2的lo接口,看看是否能够ping通?
提示:可以看到R3还是可以正常和R2的lo接口正常通信;
汇总外部路由
在R3上创建lo接口,并配置ip地址,然后引入对应lo接口网络至ospf进程
在R1或R2上查看lsdb
提示:可以看到对应R1的lsdb中就多了5条5类LSA,这是因为R3导入了直连路由;
在asbr(R3)上汇总外部路由
提示:外部路由不属于ospf某个区域的路由,所以我们汇总也只能在进程下配置,不能进入区域配置;上述命令表示汇总外部路由;
验证:在R1或R2上查看lsdb,看看对应五类LSA是否被汇总成一条?
提示:可以看到之前4条5类LSA,现在汇总成一条了;
验证:在R1或R2上pingR3的lo接口,看看对应是否能够正常ping通?
提示:可以看到对应通信是完全没有问题;
总结:汇总就是把多个子网汇聚成一个大的子网,其目的主要是精简LSA、路由条目,提高路由器的性能;需要注意的是,汇总只能汇总区域间的三类LSA和外部五类LSA;区域间路由汇总,需要在对应abr上的对应区域下配置;汇总外部路由需要在对应asbr的ospf进程下配置,不能进区域;
HCNP Routing&Switching之OSPF LSA更新规则和路由汇总的更多相关文章
- HCNP Routing&Switching之OSPF LSA类型
前文我们了解了OSPF中的虚连接相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15202348.html:今天我们来聊一聊OSPF数据包中LSA类型相 ...
- HCNP Routing&Switching之OSPF LSA类型(二)
前文我们了解了OSPF的一类.二类.三类LSA,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15209829.html:今天我们来聊一聊OSPF的四类和五类L ...
- HCNP Routing&Switching之OSPF特殊区域
前文我们了解了OSPF LSA更新规则以及路由汇总相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15231880.html:今天我们来聊一聊OSPF的 ...
- HCNP Routing&Switching之OSPF外部路由类型以及forwarding address
前文我们了解了OSPF的4类.5类LSA,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15222969.html:今天我们来聊一聊外部路由类型和forward ...
- HCNP Routing&Switching之OSPF虚连接
前文我们了解了OSPF的网络类型.帧中继交换机映射以及路由器帧中继映射相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15195762.html:今天我 ...
- HCNP Routing&Switching之OSPF网络类型
前文我们了解了PPPoE协议相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15182512.html:今天我们聊聊一聊OSPF中的网络类型相关话题: ...
- HCNP Routing&Switching之BGP防环机制和路由聚合
前文我们了解了BGP路由宣告相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15440860.html:今天我们来聊一聊BGP防环机制和路由聚合相关话题 ...
- HCNP Routing&Switching之路由过滤工具Filter-Policy
前文我们了解了路由控制技术中路由策略和路由匹配工具IP-Prefix相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15314262.html:今天我们 ...
- HCNP Routing&Switching之路由引入
前文我们了解了路由控制技术策略路由相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15333139.html:今天我们来聊一聊路由引入技术相关话题: 路 ...
随机推荐
- labview系列-中级计算器开发
本例子通过对中级计算器的操练,实现对结构/字符串等基础知识的掌握和理解,为后续的编程工作提供基础. 计算器开发原理:通过按钮触发事件,再各个事件中编写相应加减乘除方法,并显示在结果中即可. 要点:临时 ...
- [洛谷P3376题解]网络流(最大流)的实现算法讲解与代码
[洛谷P3376题解]网络流(最大流)的实现算法讲解与代码 更坏的阅读体验 定义 对于给定的一个网络,有向图中每个的边权表示可以通过的最大流量.假设出发点S水流无限大,求水流到终点T后的最大流量. 起 ...
- Java 在Word中创建多级项目符号列表和编号列表
本文分享通过Java程序代码在Word中创建多级项目符号列表和编号列表的方法.程序运行环境如下: IntelliJ IDEA 2018(JDK 1.8.0) Word 2013 Word Jar包:F ...
- C运算符(算数运算符)
运算符是一种告诉编译器执行特定的数学或逻辑操作的符号.C 语言内置了丰富的运算符,并提供了以下类型的运算符: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 杂项运算符 1 //实列 2 3 ...
- 做Android开发,你后悔过吗?
有同学跟我说,编程太难了,总是有学不完的技术.框架,新技术也层出不穷,马上三十了,还有各种学不完的东西,后悔做程序员了 编程对我来讲,还难吗 我主业是做Android的. 我刚学编程的时候,觉得难点在 ...
- C++实现链表的相关基础操作
链表的相关基础操作 # include <iostream> using namespace std; typedef struct LNode { int data; //结点的数据域 ...
- gRPC学习之二:GO的gRPC开发环境准备
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos gRPC学习系列文章链接 在CentOS7部署和设置G ...
- Anaconda创建虚拟环境并使用Jupyter-notebook打开虚拟环境
由于需要使用Tensorflow的1.xx的低版本,但是cmd下载一直报错没有解决,就想着用Anaconda,但是真实环境我已经装上Tensorflow2.0了不想换了,所以就想着再建一个python ...
- Ubuntu本地提权适配不同小版本内核(CVE-2017-16995)
朋友在执行的时候说有的会出现提权不成功,内核crash掉的现象.因为cred结构体的偏移量可能因为内核版本不同.内核编译选项不同而出现差异,作者给的exp偏移量是写死的,所以exp里面对应的偏移地址也 ...
- vim编辑文件时[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
出现这个问题是因为你上次编辑的时候在没有保存的情况下退出了(如:电脑关机等)也有可能是有其他人在和你同时进行编辑行为(不同会话中).这是因为在用vim编辑的时候,vim会在打开文件目录下 ...