百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术流 > 正文

HCNP Routing&Switching之OSPF LSA类型(二)

citgpt 2024-10-25 11:51 18 浏览 0 评论

前文我们了解了OSPF的一类、二类、三类LSA,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15209829.html;今天我们来聊一聊OSPF的四类和五类LSA;

  在说四类和五类LSA之前,我们先来说一说ospf中外部路由引入;所谓路由引入是指原本不属于ospf进程的路由,通过注入的方式,让其ospf进程能够学习到相关路由;我们把引入外部路由的路由器叫ASBR(自制系统边界路由器);

  提示:如上图所示,A公司内部跑ospf,RTA上配置了一条静态路由,目标网络是达到B公司的网络10.1.60.0/24,下一跳是B公司的路由器RTF;对于A公司来说,除RTA的其他路由器要想和B公司网络通信,该怎么办呢?我们知道不同网段的主机通信,最基础的就是要有对应的路由;而配置路由的方式有两种,一种是静态配置;但静态配置这种方式太low,而且效率低下容易出错;第二种方式就是动态学习;对于动态学习来说,我们怎么将到达B公司的静态路由引入到ospf中呢?此时我们可以在RTA的OSPF进程下使用import-router static命令将RTA上的静态路由引入到ospf中,让其他OSPF路由器能够学习到;

  实验:如下拓扑,配置ospf

  提示:对于R3来说,lo3并不在ospf进程中宣告;我们通过导入的方式R1和R2能够学习到3.3.3.3的路由;

  R1的配置

 View Code

  R2的配置

 View Code

  R3的配置

 View Code

  在R1上查看ospf路由表

  提示:可以看到R1上没有到达3.3.3.3的路由;此时如果R1要想和3.3.3.3通讯,除了写静态路由外,我们也可以将R3上的直连路由导入到ospf中;

  在R3上导入直连路由至ospf中

  提示:我们在R3的ospf进程下使用import-route dir命令就直接将R3的直连路由导入到ospf中,此时对于R1和R2来说就能通过ospf学习到到达3.3.3.3的路由;

  验证:在R1或R2上查看ospf路由表,看看是否学习到3.3.3.3的路由呢?

  提示:可以看到此时R1和R2都学习到了对应到达3.3.3.3的路由;从上面的显示可以看到对于3.3.3.3这条路由来讲,并不是原生ospf中的路由,而是通过导入的方式学习到的,所以它这里直接告诉我们3.3.3.3是外部路由(ase);

  在R1上抓包,看看对应LSA内容

  提示:我们在R1上抓包,抓到了2个LSA,其类型为AS-External-LAS;该LSA描述了目标网段,宣告者以及掩码;感觉和3类LSA没有区别;其实该LSA本质上和3类LSA没有什么不同,作用都是传递路由,不同的是,三类LSA产生者是ABR,从一个区域到另一个区域,对应ABR会将对应LSA的宣告者进行修改;而5类LSA的产生者是ASBR,从一个区域到另一个区域对应宣告者并不会变化,即五类LSA的泛洪范围是整个AS内部;那么问题来了,对于不是和ASBR同区域的路由器怎么知道ASBR呢?如上图,R1和R3不再同一个区域,那么R1怎么知道R3的呢?

  提示:我们在R1上除了抓到了五类LSA,还抓到了上图中LSA类型为ASBR-summary-LSA的LSA;其中宣告者是R2,内容就是描述了R3的router id;其实该LSA的作用很简单,我们上面描述了和ASBR不在同区域的其他区域路由器光凭五类LSA并不能找到ASBR;而4类LSA的作用就是辅助和asbr不在同区域的其他路由器找到ASBR;当ospf路由器收到此类LSA,它会把对应从ASBR学习到的路由,下一跳指向4类LSA宣告者;这样一来对于和ASBR不在同区域的其他路由器就能知道怎么去找到ASBR;简单讲五类LSA就是在整个as内部传播,其宣告者为ASBR;作用就是描述外部路由信息;4类LSA的作用是辅助和ASBR不在同一区域的其他路由找到ASBR;其宣告者为ABR;传播范围是ABR所连接的区域(除ASBR所在区域);

  在R3上抓包,看看是否有4类lsa产生?

  提示:可以看到在R3上抓包并没有4类LSA产生,其原因是R3就是ASBR;其实和R3 在同一区域的其他路由器也不会抓到4类LSA,因为对于和ASBR在同区域的路由器,可以根据一类LSA就能找到对应ASBR,根本用不到4类LSA的辅助;这里还需要注意一点,五类LSA和3类LSA一样,一条LSA只能描述一条网段的路由,所以有多少外部路由引入,对应就会有几条5类LSA;

  在R1上查看lsdb

  在R2上查看发送的4类LSA内容

  提示:lsid用于描述ASBR的router id;adv rtr 用于描述产生4类LSA的abr的router id;

  在R3上查看自己发送的五类LSA

  提示:五类LSA中lsid是用来描述对应目标网络地址,adv rtr用来描述ASBR的router id,net mask用来描述对应目标网络的子网掩码;

  总结:4类和5类LSA只会有外部路由引入时才会产生,其中5类LSA是由asbr产生,传播范围是整个AS(宣告者不会发生变化);其作用是描述外部路由信息,一条LSA只能描述一个网段的路由;对于4类LSA来说,它是由abr产生,传播范围是abr所在区域(除asbr所在区域),当其他区域ABR收到4类LSA时,对应ABR会像3类LSA一样处理,修改宣告者,然后再向对应区域泛洪;4类LSA的作用是描述怎样能找到ASBR,4类LSA只会产生在非asbr所在区域;

相关推荐

js中arguments详解

一、简介了解arguments这个对象之前先来认识一下javascript的一些功能:其实Javascript并没有重载函数的功能,但是Arguments对象能够模拟重载。Javascrip中每个函数...

firewall-cmd 常用命令

目录firewalldzone说明firewallzone内容说明firewall-cmd常用参数firewall-cmd常用命令常用命令 回到顶部firewalldzone...

epel-release 是什么

EPEL-release(ExtraPackagesforEnterpriseLinux)是一个软件仓库,它为企业级Linux发行版(如CentOS、RHEL等)提供额外的软件包。以下是关于E...

FullGC详解  什么是 JVM 的 GC
FullGC详解 什么是 JVM 的 GC

前言:背景:一、什么是JVM的GC?JVM(JavaVirtualMachine)。JVM是Java程序的虚拟机,是一种实现Java语言的解...

2024-10-26 08:50 citgpt

使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
跨域(CrossOrigin)

1.介绍  1)跨域问题:跨域问题是在网络中,当一个网络的运行脚本(通常时JavaScript)试图访问另一个网络的资源时,如果这两个网络的端口、协议和域名不一致时就会出现跨域问题。    通俗讲...

微服务架构和分布式架构的区别

1、含义不同微服务架构:微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常用HTTP资源API)。这些服务围绕业务能力构建并...

深入理解与应用CSS clip-path 属性
深入理解与应用CSS clip-path 属性

clip-pathclip-path是什么clip-path 是一个CSS属性,允许开发者创建一个剪切区域,从而决定元素的哪些部分可见,哪些部分会被隐...

2024-10-25 11:51 citgpt

HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
Request.ServerVariables 大全

Request.ServerVariables("Url")返回服务器地址Request.ServerVariables("Path_Info")客户端提供的路...

python操作Kafka

目录一、python操作kafka1.python使用kafka生产者2.python使用kafka消费者3.使用docker中的kafka二、python操作kafka细...

Runtime.getRuntime().exec详解

Runtime.getRuntime().exec详解概述Runtime.getRuntime().exec用于调用外部可执行程序或系统命令,并重定向外部程序的标准输入、标准输出和标准错误到缓冲池。...

promise.all详解 promise.all是干什么的
promise.all详解 promise.all是干什么的

promise.all详解promise.all中所有的请求成功了,走.then(),在.then()中能得到一个数组,数组中是每个请求resolve抛出的结果...

2024-10-24 16:21 citgpt

Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解

取消回复欢迎 发表评论: