当前位置: 首页>編程日記>正文

isis协议_[IS-IS] IS-IS路由协议的基本知识及配置

isis协议_[IS-IS] IS-IS路由协议的基本知识及配置

28607151a92d1f616f6c515b3b818e26.png

背景知识

  1. 不是那个ISIS,是“中间系统到中间系统”
  2. 链路状态路由协议
  3. 和另一个链路状态路由协议OSPF,几乎是同一时期的产物
  4. 发展IS-IS早期的驱动观点是,TCP/IP协议簇最终会被OSI协议簇取代,当然今天我们知道了 ,这一天只能在平行时空实现了……
  5. 在早期,OSPF学习了一些IS-IS的思想
  6. 天杀的某组织,现在搜这个协议搜出来的都是……emmmmmm
  7. IS-IS可能是唯一一个按照OSI框架来设计和实现的路由协议,虽然最后我们把它用在了TCP/IP的世界里……
  8. 中间系统全拼——Intermediate System,IS
  9. 在早期的发展过程中,IS-IS比较拘泥于形式,OSPF比较重视实践,所以你就知道了,计算机网络,是典型的“黑猫白猫抓着老鼠才是好猫的”这么一个行业(所以标准化是不存在的,去TMD标准化)
  10. 相比于OSPF那一堆堆的区域,IS-IS只有两个区域,或者说两种邻接关系——L1和L2;其中L2是核心或者说骨干,L1之间的通信必须经过L2
  11. 生产网络中使用IS-IS通常只有一个目的——希望IGP足够简单,负责打通基础网络就够了,剩下的事,让BGP来做,显然,OSPF不够简单
  12. 话虽如此,只有一个Area0并且完全P2P建立邻居的OSPF也是很简单的,时至今日,全看怎么用了
  13. 由于IS-IS并不是个TCP/IP协议,虽然它可以为TCP/IP提供路由选择,但是IS-IS之间的通信得按照OSI的套路来,说白了,IS-IS之间建立邻接关系的时候必须有个ISO地址——NET地址
  14. NET地址分三个部分——区域ID、系统ID、N-SEL
  15. NET地址有很多玩法,常见的玩法就是把通常的环回地址补0作为系统ID,然后和区域ID,以及一定为0的N-SEL组合到一起
  16. 因为是链路状态路由协议,所以运行IS-IS的路由器也会泛洪描述链路状态的数据包——LSP,此LSP非MPLS里的LSP,注意区分
  17. 在建立了链路状态数据库后,IS-IS也是执行SPF计算去算出最优路径,默认使用缺省度量值来计算,缺省度量值是10,不管啥样的接口都是10,你可以手动去改
  18. IS-IS的PDU格式很复杂,于本文来说,我们只需要记住一个很有名的字段——TLV(Type/Length/Value),通过扩展这个字段,就可以给IS-IS加特效……我是说加特性
  19. 我们知道的扩展TLV的比较有名的一个应用,就是MPLS TE
  20. 所以其实IS-IS也不"简单"

实验拓扑

34a5d94bd5b234bc7cbf6dd19e6d60c8.png

如上所示,环回地址的格式是10.40.0.x,例如R2就是10.40.0.2

一个通用的转换NET的地址方法如下——

  1. 定义好区域ID,这里我用了00.0001
  2. 环回IP地址进行补0,所以010.40.0.2补0后的结果是010.040.000.002
  3. 四位一组,变成0100.4000.0002
  4. 组合区域ID和补0后的系统ID——00.0001.0100.4000.0002
  5. 再加一个N-SEL,对于路由器来说,永远是00
  6. 结果就是——00.0001.0100.4000.0002.00

这个转换方法来自Cisco的一份PPT,代码为BRKRST-2327,有点古老了,搜一下应该找得到,下面两张截图是关于这个转换方法的部分——

3d337b24b6fe38640dddd40361c0c1c4.png
NET地址格式

a7819e7159cd530f75b420d36a7d75b1.png
环回口补0转换法

配置示例

配置IP这种就不列了,以R2为例,isis进程下的配置为——

router isisnet 00.0001.0100.4000.0002.00is-type level-2-onlymetric-style narrow

加入到isis的接口只需要一条命令

interface Loopback0ip address 10.40.0.2 255.255.255.255ip router isis

通过show isis protocol可以看到自己将哪些接口放到了is-is

R02#sh isis protocol IS-IS Router: <Null Tag> (0x10000)System Id: 0100.4000.0002.00  IS-Type: level-2Manual area address(es): 00.0001Routing for area address(es): 00.0001Interfaces supported by IS-IS:Loopback0 - IPGigabitEthernet2.401 - IPGigabitEthernet1.406 - IPRedistribute:static (on by default)Distance for L2 CLNS routes: 110RRR level: noneGenerate narrow metrics: level-1-2Accept narrow metrics:   level-1-2Generate wide metrics:   noneAccept wide metrics:     none

如上所示,R2的Loopback0, GigabitEthernet2.401 以及 GigabitEthernet1.406加入到了is-is进程当中

通过show isis topology可以看到isis计算出来的拓扑——

R02#show isis topologyIS-IS TID 0 paths to level-2 routers
System Id            Metric     Next-Hop             Interface   SNPA
R02                  --
R03                  10         R03                  Gi2.401     0050.568a.d653 
R05                  20         R03                  Gi2.401     0050.568a.d653 
R06                  30         R03                  Gi2.401     0050.568a.d653 R08                  Gi1.406     0050.568a.9264 
R08                  10         R08                  Gi1.406     0050.568a.9264 
R09                  20         R08                  Gi1.406     0050.568a.9264 

可以很清楚地看到,从R2到R6有两条等价路径——因为默认度量都是10

这也符合我们的拓扑图

81ffb5bfb1556f24b341e121482c9d82.png

当然,实际上这张图上,粗线的带宽是更大的,换言之R2-R3-R5-R6应该是更好的路径

所以我们可以手动改一下度量值,粗线设置为1

通过在接口下敲一条isis metric 1的命令行来实现

所有路由器都改完后再去看R2上的拓扑——

R02#sh isis topology IS-IS TID 0 paths to level-2 routers
System Id            Metric     Next-Hop             Interface   SNPA
R02                  --
R03                  1          R03                  Gi2.401     0050.568a.d653 
R05                  11         R03                  Gi2.401     0050.568a.d653 
R06                  12         R03                  Gi2.401     0050.568a.d653 
R08                  10         R08                  Gi1.406     0050.568a.9264 
R09                  11         R08                  Gi1.406     0050.568a.9264 

现在R2认为去R6的最优路径是R3了,而不是负载的,计算结果显示然1+10+1=12,走R8的路径则为10+1+10=21

这篇就先酱紫


https://www.fengoutiyan.com/post/14256.html

相关文章:

  • 鏡像模式如何設置在哪,圖片鏡像操作
  • 什么軟件可以把圖片鏡像翻轉,C#圖片處理 解決左右鏡像相反(旋轉圖片)
  • 手機照片鏡像翻轉,C#圖像鏡像
  • 視頻鏡像翻轉軟件,python圖片鏡像翻轉_python中鏡像實現方法
  • 什么軟件可以把圖片鏡像翻轉,利用PS實現圖片的鏡像處理
  • 照片鏡像翻轉app,java實現圖片鏡像翻轉
  • 什么軟件可以把圖片鏡像翻轉,python圖片鏡像翻轉_python圖像處理之鏡像實現方法
  • matlab下載,matlab如何鏡像處理圖片,matlab實現圖像鏡像
  • 圖片鏡像翻轉,MATLAB:鏡像圖片
  • 鏡像翻轉圖片的軟件,圖像處理:實現圖片鏡像(基于python)
  • canvas可畫,JavaScript - canvas - 鏡像圖片
  • 圖片鏡像翻轉,UGUI優化:使用鏡像圖片
  • Codeforces,CodeForces 1253C
  • MySQL下載安裝,Mysql ERROR: 1253 解決方法
  • 勝利大逃亡英雄逃亡方案,HDU - 1253 勝利大逃亡 BFS
  • 大一c語言期末考試試題及答案匯總,電大計算機C語言1253,1253《C語言程序設計》電大期末精彩試題及其問題詳解
  • lu求解線性方程組,P1253 [yLOI2018] 扶蘇的問題 (線段樹)
  • c語言程序設計基礎題庫,1253號C語言程序設計試題,2016年1月試卷號1253C語言程序設計A.pdf
  • 信奧賽一本通官網,【信奧賽一本通】1253:抓住那頭牛(詳細代碼)
  • c語言程序設計1253,1253c語言程序設計a(2010年1月)
  • 勝利大逃亡英雄逃亡方案,BFS——1253 勝利大逃亡
  • 直流電壓測量模塊,IM1253B交直流電能計量模塊(艾銳達光電)
  • c語言程序設計第三版課后答案,【渝粵題庫】國家開放大學2021春1253C語言程序設計答案
  • 18轉換為二進制,1253. 將數字轉換為16進制
  • light-emitting diode,LightOJ-1253 Misere Nim
  • masterroyale魔改版,1253 Dungeon Master
  • codeformer官網中文版,codeforces.1253 B
  • c語言程序設計考研真題及答案,2020C語言程序設計1253,1253計算機科學與技術專業C語言程序設計A科目2020年09月國家開 放大學(中央廣播電視大學)
  • c語言程序設計基礎題庫,1253本科2016c語言程序設計試題,1253電大《C語言程序設計A》試題和答案200901
  • 肇事逃逸車輛無法聯系到車主怎么辦,1253尋找肇事司機