2023年11月26日发(作者:)
IS-IS路由协议总结
IS-IS路由协议
(Intermediate System-to-Intermediate System,中间系统到中间系统)
第⼀章 is-is的协议概述
1. 发展史
Is-is最早是iso为osi模型中CLNP⽽设计的协议,后来根据发展需要,也⽀持了TCP/IP协议,因此,is-is叫做integrated is-is或者dual is-is
CLNP(connection less network protocol)是⼀种ISO⽹络层数据报协议,⼯作在⽹络层;主要提供⽆连接⽹络服务;使⽤NSAP地址和标题来识别⽹
络设备;特性限制数据报停留在英特⽹中的时间。
2. 基本特点
Is-is是基于链路状态算法的IGP协议,它同时⽀持TCP/IP及OSI双重环境;
a) Is-is属于ISO协议族,是CLNS的⼀部分
CLNS(⽆连接⽹络服务)
CLNS由三个协议构成:
1. CLNP类似tcp/ip中的ip协议
2. IS-IS 中建系统间的路由协议
3. ES-IS主机系统与中间系统间的协议(相当于ip中的arp、icmp等)
b) 链路状态路由协议:根据路由计算⽅法来分
c) ⽀持OSI、IP双层环境;
d) 路由收敛速度快,结构清晰,适合于⼤规模⽹络。得到⼴泛应⽤。
e) 直接运⾏于链路层之上。
与⼤多数路由协议不同,IS-IS直接运⾏于链路层之上:
数据链路层由:FEFE标识
报⽂由固定报⽂头和变长字段组成:
IS-IS固定报⽂头:Ox83
IS-IS变长字段:TLV表⽰
TLV(type-length-value)编码⽅式:
1、 编码⽅式⾼效率、扩展性好的报⽂编码⽅式;也称CLV(code-length-value)
T—type:采⽤不同的值定义不同类型;
L-length:整个TLV三元组的长度
V-value:本TLV的实际内容,最重要的部分
2、 TLV编码的有点:
可扩展性好,如果想增加对于新特性的⽀持,只需增加新的TLV类型。
3. 基本概念
a) 协议相关术语(⼀)
缩略语 OSI中的概念 IP中对应的概念
IS Intermediate system中间系统 Router路由器
ES End system端系统 Host主机
DIS Designated intermediate system Designated router(DR)
指派中间系统 OSPF中的选举路由器
Sys ID System ID 系统ID OSPF中的router ID
PDU Packet data unit报⽂数据单元 IP报⽂
LSP Link state protocol data unit OSPF中的LSA ⽤来描述链路状态
链路状态协议数据单元
b) IS-IS协议相关术语(⼆)
缩略语 OSI中的概念 IP中对应的概念
NSAP Network service access point IP地址
⽹络服务访问点(⽹络层地址)
NET Network entity title⽹络实体标记
IIH IS to is hello pdu:is到is间hello Ospf中的hello报⽂
PSNP 部分序列号数据包7 Ospf的ack报⽂或LSR报⽂
CSNP 完全序列号数据包 OSPF的DD报⽂
Is-is的osi⽹络层地址编码⽅式:NSAP(相当于OSI的⽹络层CLNP)
⼀个NSAP由三个部分组成:区域地址、system ID和N-selector
Area ID 区域地址 System ID NSEL
变长 6字节 1字节
System id:推荐指定⽅法:
192.168.1.1 转换后1921.6800.1001
192.168.1.1 转换后1921.6800.1001
⽹络标识实体:NET
NET是⼀个特殊的NSAP地址
n-selector部分为0
NET是OSI协议栈中⽹络设备本⾝的标识
⼀个NET⾄少8个字节,最多20个字节
c) Is-is分层
1. Level-1:普通区域
2. Level-2:⾻⼲区域(Backbone)
⾻⼲区域:是连续Level-2路由器的集合;由所有的L2(包含L1/L2)路由器组成,注意必须是连续(连通)的;也就是说⾻⼲区域不能有L1;
L1和L2运⾏相同的SPF算法;
⼀个路由器可能同时参与L1和L2
d) 区域
1. IS-IS允许将整个路由域分为多个区域;
2. 区域之间通过L2(L1/L2)路由器相连接;
3. ⼀个路由器⽬前最多3个area id;
4. ⼀个路由器只能属于⼀个区域,⽽不能像OSPF⼀样同⼀台路由器不同的接⼝属于不同的区域;
5. 对于LEVEL-1路由器来说,只有属于同⼀区域才可以建⽴邻居,对于LEVEL-2路由器则没有此同⼀区域限制;
e) IS-IS的分层路由域
f) Level-1路由器(Totally stub)
1. 只与本区域路由器形成邻居
2. 只参与本区域内的路由,只保留本区域的数据库信息(LSDB)
3. 利⽤本区域最近的L1/L2路由器作为区域外⽹络出⼝
(缺省路由)
如何知道谁是L1/L2路由器?
通过IS-IS报⽂中的att标志位,att位由L1/L2产⽣;
当L1/L2与别的路由器有连接事,他会在报⽂中设置att bit来告诉区域中的L1路由器,它有⼀个区域出⼝;对于L1路由器来说如果有多个L1/L2,它
会选择离⾃⼰最近的,对于IP路由来说,具体表现L1安装⼀条缺省路由在路由表中。
g) Level-2路由器
1. 可以与其他区域路由器(L2或L1/2)形成邻居;
2. 保存L2的链路状态数据库LSDB,含有所有域间路由信息;
3. 保存整个⾻⼲区的路由信息。
h) L1/L2路由器(ABR)
1. 可以和本区域的任何路由器形成邻居关系;可以和其他区域的L2或者L1/L2路由器形成邻居;
2. 维护两个LSDB;
3. L1的LSDB⽤于区域内的路由,L2的LSDB⽤于区域间路由;
4. 完成它所有区域和⾻⼲区域之间的路由信息交换,将L1的LSDB中的路由信息转换到L2的LSDB中,既承担L1的职责也承担L2的职责;
5. 通常位于区域边界上,类似OSPF中的ABR。
i) IS-IS协议适⽤的⽹络类型
1. P-2-P⽹络
PPP
2. ⼴播⽹络
Ethernet、toekn ring等
3. IS-IS不能真正⽀持NBMA⽹络,可以将NBMA链路配置成⼦接⼝来⽀持。⼦接⼝类型为:P-2-P或者⼴播⽹络。
j) IS-IS协议的9种报⽂类型
1. IIH(IS-IS HELLO packets)建⽴和维护邻居关系
a) Level-1 hello报⽂(⼴播⽹络中LEVEL-1)
b) Level-2 hello报⽂(⼴播⽹络中LEVEL-2)
c) Point-to-point hello报⽂(⾮⼴播⽹络中)
2. LSP(Link state packets)链路状态报⽂,交换链路状态信息
a) Level-1 LSP(level-1中的链路状态数据库)
b) Level-2 LSP(level-2中的链路状态数据库)
3. CSNP(complete sequence number packets)包括LSDB中所有LSP摘要信息,从⽽保持相邻路由器之间的LSDB的同步;类似于OSPF中的DD;
⼴播⽹络中每10s发送⼀次,p-2-p⽹络中在刚开始建⽴邻居的时候发送。
a) Level-1 CSNP
b) Level-2 CSNP
4. PSNP(partial sequence number packets)列举最近收到的⼀个或多个LSP序号,可以⼀次对多个LSP进⾏确认,发现LSDB不同步时,通过psnp
请求邻居发送新的LSP,作⽤类似OSPF中的LSR和Lsack。
a) Level-1 PSNP
b) Level-2 PSNP
k) 总结问题:
1. IS-IS协议有哪些基本特点,常⽤术语有哪些?
2. 如何表⽰IS-IS⽹络地址?
2. 如何表⽰IS-IS⽹络地址?
3. IS-IS⽹络如何分层?每种类型路由器有什么作⽤?
4. IS-IS⽀持哪些⽹络类型?
5. IS-IS协议有哪些报⽂类型?
第⼆章 IS-IS的⼯作原理
1. 邻居关系的建⽴
a) IS-IS邻居关系建⽴
1. 两台IS-IS路由器交互协议报⽂实现路由功能之前必须⾸先建⽴邻居;
2. 在不同类型的⽹络上,IS-IS的邻居建⽴⽅式并不相同;
3. IS-IS邻居关系建⽴遵循的规则:
a) 只有同⼀层次的相邻路由器才有可能成为邻居;
b) 对于level-1路由器来说要求区域号必须⼀致;
c) 同⼀⽹段检查(在VRP中,isis运⾏在ip层上,要对对⽅ ip信息进⾏检查和收到isis报⽂的接⼝地址不在同⼀⽹断,将不形成邻居关系;可以避免
ip的不可达性。)
b) ⼴播⽹上的指定路由器:DIS
1. DIS:designated IS 指定中间系统,相当于ospf中的DR
2. 功能:在⼴播⽹络中创建和更新伪节点,并负责⽣成伪节点的LSP,⽤来描述⽹络上有哪些路由器。
3. 伪节点⽤来描述⼴播⽹络中的⼀个虚拟节点,并⾮真实路由器。
c) DIS选举规则
1. DIS由IIH(hello报⽂)选举,具备最⾼优先级的路由器会被当选。如果所有路由器优先级相同,则最⾼MAC地址当选;
2. LEVEL-1和LEVEL-2的DIS是分别选举的,选举结果可能不是同⼀个DIS;
3. DIS发送Hello数据报的时间间隔是普通路由器的1/3,这样可以保证DIS失效可以被快速检测到;
4. IS-IS优先级为0的路由器也参加选举;⽽ospf中为0的路由器不参加选举;
5. 与OSPF不同,它的选举时抢占式,可预见的;(当⼀个新的路由器加⼊到路由域时,并符合成为DIS条件时,会被选举为新的DIS)
6. IS-IS中不存在备份DIS,当⼀个DIS不能⼯作时,直接选举另⼀个;
7. 同⼀⽹段的所有路由器形成邻接关系(OSPF中的DR和other之间是不形成邻接关系的)
2. 链路状态数据库范洪过程
a) 链路状态数据单元:LSP
1. LSP ID:由三部分组成(system ID、伪节点ID(⼀字节)、LSP分⽚后的编号(⼀字节))
Pseudo node ID:普通LSP为0;pseduo node id LSP为⾮0;
LSP number:分⽚号(产⽣的LSP⼤于LSP mtu将分⽚)
2. LSP sequence number:LSP序列号
a) 当路由器启动is-is时候,⾃⼰产⽣的LSP的序列号为1;
b) 当发⽣变化需要重新⽣成LSP的时候,新的LSP的序号将在前⼀个LSP序列号的基础上加1,较⼤的序列号意味着LSP较新。
3. LSP remaining life time:LSP的⽣存时间,⽤于⽼化旧的LSP
a) Is-is的LSP的⽣存时间从1200秒倒计时到0(OSPF)
b) 这个时间减为0之前,如果没有接收到新的LSP来更新LSDB,则这个LSP会从LSDB中清除;
c) 在旧的LSP被从LSDB中清除后,它还会再保留ZeroAgeLifetime,当这个时间也达到时,它将会被真正删除。
4. ATT位
a) 由L1/L2路由器产⽣,⽤来指明始发路由器是否与其他路由器相连。
5. OLV过载标志位
a) 设置了过载标志位的LSP,虽然还在⽹络中扩散,但是在计算通过超载路由器的路由时不会被采⽤,及对路由器设置过载位后,其他路由器在进
⾏SPF计算时,不会考虑这台路由器。当路由器内存不⾜时,系统⾃动在发送的LSP报⽂中设置过载标志位。
b) 完全时序协议数据单元:CSNP
1. CSNP分为两种:level-1 CSNP和level-2 CSNP
2. CSNP包括LSDB中所有LSP的摘要信息,⽤于在泛红LSPDB时数据库同步,从⽽保持相邻路由器之间的LSDB的同步;
3. 在⼴播⽹络上,CSNP由DIS定期发送(缺省的发送周期为10秒)
4. 在点到点链路上,CSNP只在第⼀次建⽴邻接关系时发送。
c) 部分协议数据单元:PSNP
1. PSNP分为两种:level 1 PSNP和level 2 PSNP
2. PSNP的主要功能:
a) ⽤来请求接收最新的LSP,当路由器从邻居接收到CSNP时,通过⽐较⾃⼰的LSDB如果没有同步,路由器发送PSNP请求响应的LSP,以保持同
步。
b) 在点到点(p-2-p)链路上路由器⽤来作为ack应答以确认收到某个LSP
d) Is-is数据库交换过程
1. LSP报⽂泛红:
指当⼀个路由器向相邻路由器报告⾃⼰的LSP后,相邻路由器再将同样的LSP报⽂,传送到除发送该LSP路由器以外的其他邻居,并这样逐级向
LSP传送到整个层次内的⼀种⽅式,通过这种泛红,整个层次内的每⼀个路由器都可以拥有相同的LSP信息,并保持LSDB的同步。
Is-is域内所有路由器都会产⽣LSP
2. 产⽣新的LSP的时机:
a) 邻接关系建⽴up或down
b) IS-IS相关接⼝up/down
c) 引⼊的IP路由发⽣变化
d) 区域间的IP路由发⽣变化
d) 区域间的IP路由发⽣变化
e) 接⼝被赋了新的metric值
f) 周期性更新
e) ⼴播⽹络数据库交换
1. 新加⼊的RTC⾸先发送hello报⽂,与该域路由器建⽴邻居关系;
2. 邻居关系建⽴以后,RTC等待LSP超时,然后将⾃⼰LSP发送到组播地址,
LEVEL-1:0180 C200 0014
LEVEL-2:0180 C200 0015
及⽹络上所有的邻居都将收到该LSP;
3. 该域中的DIP会把收到的RTC的LSP加⼊到LSDB中,并等待CSNP定时器超时,并发送CSNP报⽂,进⾏该⽹络内的LSDB同步,CSNP发送时间间
隔缺省10s;
4. 路由器RTC受到发来的CSNP报⽂,对⽐⾃⼰的LSDB数据库,发送PSNP报⽂,请求⾃⼰没有的LSP。
5. DIS收到该PSNP请求报⽂后,发送对应的LSP,进⾏LSDB的同步,其中DIS的LSDB更新过程可以总结为以下四点:
a) DIS接收到LSP,在数据库中搜索对应的记录,若没有该LSP,则将其加⼊数据库,并⼴播新数据库内容。
b) 若数据库中的序列号⼩于报⽂中的序列号,就替换为新报⽂,并⼴播新数据库的内容。
c) 若数据库中序列号较⼤,就向⼊端⼝发送⼀个本地数据库的该LSP的新报⽂。
d) 若两个序列号相等,则不做任何事情。
f) 点到点⽹络数据库交换(多确认机制)
1. 邻居关系建⽴,请参考点到点邻居关系的建⽴。
2. 第⼀次建⽴邻居时,路由器会先发送CSNP给对端,如果对端的LSDB与CSNP没有同步,则发送PSNP请求索取响应的LSP,达到数据库同步后,
路由器会启动点到点P2P接⼝上的LSP和PSNP定时器,等到LSP定时器超时后,发送所有的LSP报⽂。
3. 如果在LSP定时超时后,还没有收到对端的PSNP报⽂作为应答,则重新发送该LSP,其中LSDB更新过程可以总结为以下三点:
a) 如果收到的LSP序列号⽐已有的更⼤,则将这个新的LSP存⼊LSDB中,再通过⼀个PSNP报⽂确认收到这个LSP,最后将这个新LSP接着发送到
其他邻居。
b) 如果收到的LSP和已有的具有相同的序列号,则直接通过⼀个PSNP报⽂确认收到此LSP。
c) 如果收到的LSP⽐已有的序列号更⼩,则直接给对⽅发送⾃⼰版本的LSP,然后等待对⽅给⼀个PSNP报⽂做回答。
第三章 IS-IS的路由计算
1. IS-IS路由计算
a) 链路状态协议路由算法
通过可靠的扩散算法各路由器将其它路由器扩散来的拓扑信息收集起来,组成⼀张⼀致的、完整的拓扑图,依靠SPF算法来计算出⾃⼰的路由表。
2. 路由渗透:Route Leaking
a) 路由渗透
1. Level-1区域只能和level-2区域相连
2. 不同的level-1区域之间并没有相连
3. Level-1区域的路由信息通过L1/L2路由器通告给level-2,因此L1/L2和L2路由器知道整个路由域的路由信息。但是在缺省情况下,L2路由器并不将
⾃⼰知道的其他LEVEL-1区域以及⾻⼲路由的信息通告给level-1区域,这样level-1区域将不了解本区域以外的信息,可能导致对本区域以外的地址选择最佳
的路由;为解决上述问题,IS-IS提供了路由渗透功能,使L2路由器可将移植的其他L1区域以及L2区域的路由信息通告给指定的L1区域。
b) 次优路由
如下图所⽰:
如果没有路由渗透,RTA要到达RTF,由于RTA并不知道本区域外部的路由,所以发往⾮本区域的报⽂,都是通过最近的L1/L2路由器RTC产⽣的缺
省路由发送出去,这样RTA到RTF的花销为10+30+10=50;
⽽RTA到RTF的最佳路径应该是RTA-RTB-RTD-RTE-RTF,因为这条路径的花销为40,这就造成了次优路由。
为了解决这个问题,此时分别在RTC和RTD的L1/L2路由器上执⾏inport route isis level-2 into level-1 命令,使⽤了路由渗透后,再重新tracert⼀下,
发现⾛的是最有路径。
第四章 isis与ospf的⽐较
1. IS-IS和OSPF协议⽐较总结(⼀)
⽐较点 IS-IS OSPF
最早为IP设计的 否 是
链路状态IGP 是 是
直接运⾏在链路上 是 否
有区域概念 是 是
适合⼤型⽹络 是 是
有指定路由器 是 是
DR选举时可确定的 是 否
抢占式的 ⾮抢占式
优先级0 优先级0
可以参加选举 不参加选举
产⽣LSP描述⽹络结构 是 是
⽀持IP协议 是 是
⽀持IP协议 是 是
⽀持⾮IP协议 是 否
划分区域⽅式 Level划分 接⼝划分
2. IS-IS和OSPF协议⽐较总结(⼆)
⽐较点 IS-IS OSPF
使⽤范围 ⼤型ISP中 在企业⽹和isp中普遍使⽤
复杂度 产⽣更少的LSPs 产⽣更多的LSAs
⼀般使⽤⼀个区域 ⼀般配置多个区域
可扩展性 可以⽀持相当⼤的单个区域 ⽐较⼤的⽹络⼀般划分为多个区域
对流量⼯作的⽀持 扩展⽀持 扩展⽀持
可调节性 ⾮常好 好


发布评论