今天继续给大家介绍IS-IS相关内容。本文主要内容是深入探究IS-IS协议中骨干区域与非骨干区域访问的深层次内容。
阅读本文,您需要有一定的IS-IS基础,如果您对此存在困惑,欢迎查阅我博客的其他内容,相信您一定会有所收获。
推荐阅读:
IS-IS详解(一)——IS-IS基础
IS-IS详解(二)——IS-IS邻居建立
IS-IS详解(三)——IS-IS 报文结构与功能
IS-IS详解(四)——IS-IS Hello报文详解
IS-IS详解(五)——IS-IS 三次握手与两次握手
IS-IS详解(六)——IS-IS LSP机制详解
IS-IS详解(七)——IS-IS LSP报文详解
IS-IS详解(八)——深入探究IS-IS DIS选举机制
IS-IS详解(九)——IS-IS 骨干区域与非骨干区域访问基础

一、IS-IS 路由器ATT比特位控制位相关命令

在IS-IS详解(九)——IS-IS 骨干区域与非骨干区域访问基础中我们提到过在默认情况下,IS-IS的L1/2路由器会通过设置ATT位来表明自身身份,L1的IS-IS路由器也会由此来计算默认路由。在华为AR系列路由器中,可以通过下列几个命令来对该机制进行控制,从而满足多样化拓扑组网需求。
在L1/2路由器上,执行命令:

attached-bit advertise always

可以使得L1/2路由器在生成L1级别的LSP时,ATT位总是置1,而不管该路由器是否有L2的邻居。
在L1/2路由器上,执行命令:

attached-bit advertise never

可以使得L1/2路由器在生成L1级别的LSP时,ATT位总是置0,而不管该路由器是否有L2的邻居。
在L1路由器上,执行命令:

attached-bit avoid-learning

可以使得该L1级别的IS-IS路由器避免通过ATT学习到默认路由,这条命令本地有效。

二、IS-IS区域间路由泄露

在配置IS-IS网络架构时,如果确实有需要,也可以使得L1/2路由器将L2区域内的明细路由作为L1/2路由器的叶子节点,放在L1的LSP中在L1区域中洪范出去,这种做法叫做IS_SI区域间路由泄漏。
在L1/2路由器上,执行命令:

import-route  isis level-2 into  level-1

可以将IS-IS的L2路由引入L1区域。这样配置后非骨干区域路由器也可以知道骨干区域的路由信息。

三、IS-IS路由泄露常见问题

如果IS-IS网络拓扑如下所示:

假设AR4和AR3上配置了路由泄露相关操作,AR4将L2区域的路由泄露到了L1区域,那么这些路由会通过AR3再次传递回L1的区域吗?
答案是不会。对于AR3路由器而言,虽然会收到AR1路由器发送过来的L1区域的路由(实际上是L2级别的路由),但是由于AR3本来就域L1区域相连,因此,AR3也会学习到L1级别的L1区域的相关路由。而IS-IS协议规定,在相同情况下,L1级别的路由优于L2级别的路由,因此AR3不会将AR1传递来的L1区域的路由再次传递会L1的区域。这样可以避免路由环路。(关于IS-IS进行路由泄漏后的的路由防环问题是一个非常复杂非常重要的问题,我将会在后面的文章中加以详细阐述)
但是,如果AR3的G0/0/1线路断掉,这是AR3就无法收到L1级别的L1区域的相关路由,这时它受到AR1传来的L2级别的L1区域的相关路由后,就会学习该路由。这样AR3通过AR1,经AR4依然可以访问AR5。同理,将上述情景拓展一下,很容易得出:当IS-IS的同一个非骨干区域分裂时,不会影响IS-IS相关路由的通信。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200/article/details/120027596

IS-IS详解(十)——IS-IS 骨干区域与非骨干区域访问进阶相关推荐

  1. Linux内核Thermal框架详解十二、Thermal Governor(2)

    本文部分内容参考 万字长文 | Thermal框架源码剖析, Linux Thermal机制源码分析之框架概述_不捡风筝的玖伍贰柒的博客-CSDN博客, "热散由心静,凉生为室空" ...

  2. 元宇宙技术普及读本重磅问世 详解十大技术 把脉数字经济 前瞻产业布局

    转自 元宇宙共识圈 王恩东.倪光南.沈昌祥.郑纬民--四位中国工程院院士联袂力荐 倪健中.姚前.李正茂.朱嘉明.肖风.敖然等权威专家一致推荐 汇聚元宇宙技术专家及产业一线佼佼者倾力撰写 元宇宙技术普及 ...

  3. 详解C++中的函数调用和下标以及成员访问运算符的重载

    http://www.jb51.net/article/78436.htm 这篇文章主要介绍了详解C++中的函数调用和下标以及成员访问运算符,讲到了这些二元运算符使用的语法及重载,需要的朋友可以参考下 ...

  4. shell脚本详解(十)——sed编辑器的使用方法

    shell脚本详解(十)--sed编辑器的使用方法 一.sed编辑器 二.sed编辑器工作流程 1.读取: 2.执行: 3.显示: 4.注: 三.命令格式 四.常用选项 五.常用操作 六.使用地址 s ...

  5. 攻防世界杂项(misc)--新手练习区(详解十二道题完结,附件做题过程中使用到的各种工具和网站)

    攻防世界杂项(misc)–新手练习区(详解) 第一题:this_is_flag 题目描述:Most flags are in the form flag{xxx}, for example:flag{ ...

  6. Linux内核Thermal框架详解十四、Thermal Governor(4)

    本文部分内容参考 万字长文 | Thermal框架源码剖析, Linux Thermal机制源码分析之框架概述_不捡风筝的玖伍贰柒的博客-CSDN博客, "热散由心静,凉生为室空" ...

  7. linux 命令详解 十六

    十七. xargs命令: 该命令的主要功能是从输入中构建和执行shell命令.            在使用find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给e ...

  8. element布局容器大小_Flutter完整开发实战详解(十六、详解自定义布局实战)

    本篇将解析 Flutter 中自定义布局的原理,并带你深入实战自定义布局的流程,利用两种自定义布局的实现方式,完成如下图所示的界面效果,看完这一篇你将可以更轻松的对 Flutter 为所欲为. 文章汇 ...

  9. JavaScript 各种参数 详解(十二)

    程序代码 ' *---------------------------------------------------------------------------- ' * 函数:CheckIn ...

  10. c语言动画原理,动画详解十大经典排序算法(C语言版)

    排序算法是程序员必备的基础知识,弄明白它们的原理和实现很有必要.本文中将通过非常细节的动画展示出算法的原理,配合代码更容易理解. 概述 由于待排序的元素数量不同,使得排序过程中涉及的存储器不同,可将排 ...

最新文章

  1. 终于恢复了珍惜多年的照片
  2. 调用另一个python文件中的代码
  3. 006_表的CRUD的操作
  4. F4+2 团队项目软件设计方案
  5. spring 事务原理_Spring声明式事务处理的实现原理,来自面试官的穷追拷问
  6. tcp_handle_req: Made 4 read attempts but message is not complete yet - closing connection
  7. surface pro 6 黑苹果_微软Surface新款超薄触控笔抢鲜评测
  8. 收款码合并有什么弊端_合并收款码小程序,合并收款码助手
  9. C# 连蒙带骗不知所以然的搞定USB下位机读写
  10. 北风设计模式课程---创建模式、结构模式、行为模式的区别
  11. Python判断某一天是该年的第几天
  12. 【Word】利用域代码快速实现公式按章节自动编号
  13. 自制简易谷歌翻译器详解(附完整UI界面及代码文件)
  14. Android启动过程研究(二:AIL描述的init.rc)
  15. 【数据库设计及SQL代码实现】英皇电影院电影管理系统
  16. API是什么?API的基础知识你知道多少
  17. 三角形边长求高的c语言函数公式,三角形内三角函数与边长计算公式
  18. 计算机上英语CE,计算器英语
  19. excel单元格的合并与计算
  20. golang cond

热门文章

  1. 自然语言理解——词向量(一)
  2. 阿里云专家带你揭秘云计算数据底座——对象存储
  3. DaveGray推荐的视觉思维好书(一)
  4. 二十一天学通C语言:函数型指针
  5. 5.1 tensorflow2实现简单线性回归分析——python实战
  6. Keras:框架架构
  7. Scikit-learn:聚类clustering
  8. Linux实用小工具
  9. python递归函数代码_python – 进行深度优先搜索的递归函数
  10. 【报错】Error inserting GREEM=30 YELLOW=4 RED=5 android.database.sqlite.SQLiteException: no such tab