ISIS学习二——与OSPF相比的ISIS报文以及路由计算

2024-05-11 22:28

本文主要是介绍ISIS学习二——与OSPF相比的ISIS报文以及路由计算,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一.ISIS支持的网络类型

1.OSPF支持

2.ISIS支持

二.ISIS最优路径的选取

(1).ISIS开销值设置

1.全局开销

2.接口开销

3.根据带宽设置开销

(2).ISIS的次优路径

三.ISIS报文格式

1.ISIS专用报头——TLV

2.ISIS通用头部

四.ISIS报文类型

1.IIH类型

(1)IIH报文

(2)伪节点

1.OSPF中DR信息

2.ISIS中DIS信息

2.LSP

3.SNP

4.ISIS配置步骤

5.ISIS邻接关系建立原则

五.LSP同步过程

A.广播中LSP同步过程

(1)第一次建立

(2)有新设备加入

B.P2P网络LSDB同步过程

六.ISIS路由计算

(1).缺省路由

(2)次优路径问题

(3)路由渗透


ISIS与OSPF有很强的相似性,从工作区域来说,他们属于IGP(内部网关协议),从工作机制来说,他们都属于链路状态路由协议。

一.ISIS支持的网络类型

鉴于他们的超强相似性,ISIS通过与OSPF对比进行学习。

1.OSPF支持

BMA-广播  NBMA—非广播多路访问 P2P——串行 P2MP点到多点网络(加粗的在现网中使用较广泛。一共有4个

2.ISIS支持

广播和P2P

二.ISIS最优路径的选取

OSPF通过消耗的入接口COST值来选取最佳路由

(1).ISIS开销值设置

1.全局开销

为所以接口设置开销

2.接口开销

单个接口设置开销

3.根据带宽设置开销

COST = 100BPS/接口带宽

(2).ISIS的次优路径

ISIS的默认开销是10,不因带宽的改变而改变,那么根据跳数来看总开销就会产生次优路径

按照跳数一定会选择第一条路径,但根据带宽来说,是线路2更优

三.ISIS报文格式

OSPF是有version的,并且他们之间并不兼容,甚至可以说是大相径庭

但ISIS就没有这个问题,一切都要感谢TLV数据结构

1.ISIS专用报头——TLV

T——Type——类型

L——Length——长度

V——Value——值

TLV的优点是灵活,扩展性好

2.ISIS通用头部

比较重点的就是

PDU Type ==ISIS报文类型

System id length 长度6Byte

MAX.Areas :最多3的区域,一般不用

四.ISIS报文类型

1.IIH类型

类似于Hello报文,发现建立和维护邻居关系

(1)IIH报文

Resrved/Circuit Type —— 路由器的级别,L1——01 L2——10 L1-2——11

Source ID ——发送IIH报文路由器的System ID

Holding ID——保持时间/死亡时间,OSPF是40s,ISIS 是30S

priority ——优先级,选择DIS(DR)

LAN ID ——DIS的System ID,和伪节点ID,只在BMA网络中存在,P2P没有

Local Circuit ID——本地链路ID,只在P2P里有 

(2)伪节点

DIS ,类似于OSPF中的DR

1.OSPF中DR信息

优先级+Router ID选举

0-255

非抢占式吗,0不参与选举

2.ISIS中DIS信息

抢占式,0参与选举

优先级+MAC地址

0-127

每10s发送一次,可快速发现故障

2.LSP

LSP类似于OSPF中的LAU,承载链路状态信息

3.SNP

4.ISIS配置步骤

(1)创建ISIS进程

(2)配置NET地址

(3)配置路由级别,默认是L1-2

(4)接口使能ISIS

5.ISIS邻接关系建立原则

(1)同一层次建立邻接关系

(2)对L1来说,Area ID必须相同(NET里的Area ID)

(3)ISIS接口网络类型必须一致

(4)ISIS接口地址必须处于同一网段

6.ISIS中LSBD信息

LSPID 

0000.0000.0007.00                                -00                       *

System ID          伪节点标识,         分片号,                   带*是路由器之间生成的

                           =0是伪节点生成的 00是未分片

                            非0不是                    非0 已经分片

伪节点LSP约等于二类LSP

五.LSP同步过程

A.广播中LSP同步过程

(1)第一次建立

1.IIH建立邻接关系

2.选举DIS,泛洪LSP

3.由DIS收集网络中LSP生成LSDB

4.启动定时器,每10s一次发CSNP描述LSDB摘要

5.非DIS收到CSNP与自己LSDB比较,如果缺少,向DIS发送PSNP请求

DIS缺失,非DIS直接泛洪LSP(少谁发谁)

6.DIS收到PSNP,响应请求

(2)有新设备加入

(1)优先级比DIS低,抢不过,泛洪LSP。等待DIS的CSNP同步

(2)优先级比DIS高,抢占为DIS,网络中所有设备都泛洪LSP,由新的DIS学习,生成新的LSDB表项,继续4,5,6步骤

B.P2P网络LSDB同步过程

1.通过P2PIIH建立邻接关系

2.各自发送CSNP(有且只有一次),描述自身LSDB摘要

3.缺少方发送PSNP进行请求(超时重传)

4.收到PSNP后响应对应的LSP(LSU),同时启动定时器等待确认

5,缺少方收到LSP,响应PSNP进行确认

六.ISIS路由计算

(1).缺省路由

L1级别路由器通过缺省路由来访问骨干区域

缺省路由L1-2由ATT置位为1时,L1自己生成缺省路由指向L1-2设备

ATT为1的条件

1.有L1邻接

2.有不同区域L2邻接

(2)次优路径问题

学习到两条缺省路由,产生次路径问题

(3)路由渗透

缺省指向外部路由会产生次优路径问题

路由渗透使L2可以学习到其他区域的明细路由(注意是部分)

渗透前

渗透后

这篇关于ISIS学习二——与OSPF相比的ISIS报文以及路由计算的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/980826

相关文章

Python文本相似度计算的方法大全

《Python文本相似度计算的方法大全》文本相似度是指两个文本在内容、结构或语义上的相近程度,通常用0到1之间的数值表示,0表示完全不同,1表示完全相同,本文将深入解析多种文本相似度计算方法,帮助您选... 目录前言什么是文本相似度?1. Levenshtein 距离(编辑距离)核心公式实现示例2. Jac

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

Go语言使用Gin处理路由参数和查询参数

《Go语言使用Gin处理路由参数和查询参数》在WebAPI开发中,处理路由参数(PathParameter)和查询参数(QueryParameter)是非常常见的需求,下面我们就来看看Go语言... 目录一、路由参数 vs 查询参数二、Gin 获取路由参数和查询参数三、示例代码四、运行与测试1. 测试编程路

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

Python中经纬度距离计算的实现方式

《Python中经纬度距离计算的实现方式》文章介绍Python中计算经纬度距离的方法及中国加密坐标系转换工具,主要方法包括geopy(Vincenty/Karney)、Haversine、pyproj... 目录一、基本方法1. 使用geopy库(推荐)2. 手动实现 Haversine 公式3. 使用py

Django中的函数视图和类视图以及路由的定义方式

《Django中的函数视图和类视图以及路由的定义方式》Django视图分函数视图和类视图,前者用函数处理请求,后者继承View类定义方法,路由使用path()、re_path()或url(),通过in... 目录函数视图类视图路由总路由函数视图的路由类视图定义路由总结Django允许接收的请求方法http

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

golang实现动态路由的项目实践

《golang实现动态路由的项目实践》本文主要介绍了golang实现动态路由项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习... 目录一、动态路由1.结构体(数据库的定义)2.预加载preload3.添加关联的方法一、动态路由1