IS-IS链路状态路由协议
IS-IS的由来
IS-IS是国际标准组织ISO为OSI中的无连接网络协议CLNP设计的一种动态路由协议。
现网使用TCP/IP协议,为了提供对IP路由的支持对IS-IS进行了扩充和修改,使它能够同时应用在TCP/IP和OSI环境中,称为集成IS-IS
IS-IS TLV协议,类型(TYPE),长度(LENGTH),值(VALUE)。使用TLV结构构建报文的好处是灵活性和扩展性好增加新特点只需要增加新TLV即可,不需要改变整个报文的整体结构。
中间系统到中间系统IS-IS,IS是指路由器,IS-IS是一种链路状态协议,使用最短路径优先SPF算法进行路由计算,osi7层模型,基于数据链路层封装,tcp/ip5层模型,基于网络层封装。
地址结构
Network Service Access Point,网络服务接入点,即OSI中的网络层地址,类似TCP/IP模型中的网络层IP地址。
NSAP由IDP(Initial Domain Part)和DSP(Domain Specific Part)组成。IDP相当于IP地址中的主网络号,DSP相当于IP地址中的子网号和主机号。IDP和DSP的长度都是可以变的。NSAP总长最多是20个字节,最少8个字节。
IDP部分是ISO规定的,由AFI(Authority and Format Identifler)与IDI(Initial Domain Indentfler)组成,AFI表示地址分配机构和地址格式,IDI用来标识域。
Area ID:IDP和DSP中的High Order DSP一起,既能够标识路由域,也能够标识路由域中的区域,因此,它们一起被称为区域地址(Area Address),相当于OSPF中的区域编号。同-->Level--1区域内的所有路由器必须具有相同的区域地址,Level--2区域内的路由器可以具有不同的区域地址。区域地址的长度是可以变化的,为1-13个字节。
System ID:系统ID,用来唯一标识区域内的IS,类似OSPF的RID。长度固定为48bit,可用MAC地址作为System ID,实际应用中,为了便于管理一般用RID对应System ID。实际SystemID的指定可以有不同的方法,但要保证能够唯一标识主机或路由器。
NSEL:(NSAP Selector,有时也写成N-SEL或者SEL)的作用类似IP中的“协议标识符”,标识上层使用的协议。不同的传输协议对应不同的NSEL。在IP中,NSEL均为00。
NET地址,Network Entity Title,网络实体名称,是一类特殊的NSAP,即SEL为0的NSAP地址。指的是IS本身的网络层信息,不包括传输层信息,所以SEL=0。因为ISIS进程中区域最多配置3个,所以NET最多可以配置3个,在配置多个NET时,必须保证System ID都相同。
ISIS和OSPF的区别
ospf的区域划分在路由器上,比如一个路由器可以配置不同的ospf区域
isis的区域是在边界上,比如一个路由器只能配置一个isis区域
IS-IS特性
- 优先级:
- 华为:15
- cisco:115
- 基于SPF算法生成最优无环路径
- 默认IS-IS链路开销值为10
- 当开销类型为narrow,narrow-compatible或compatible时取值范围是1~63
- 当开销类型为wide或wide-compatible时,取值范围是1~16777214
- 默认开销类型为narrow
IS-IS术语
IS-IS区域类型
IS-IS采用骨干区域与非骨干区域两级的分层结构。所有level-2和level1/2组成的 区域就是isis的骨干区域
Level-1路由器
- 只有level-1路由器建立临接关系,必须所以路由器都在同一个区域,level-2,level-1-2没有要求
- Level-1路由器(例如图中的R1)是一种IS-IS区域内部路由器,它只与属于同一区域的Level-1和Level-1-2路由器形成邻接关系,这种邻接关系称为Level-1邻接关系。Level-1路由器无法与Level-2路由器建立邻接关系。
- Level-1路由器只负责维护Level-1的链路状态数据库LSDB,该LSDB只包含本区域的路由信息。值得一提的是,Level-1路由器必须通过Level-1-2路由器接入IS-IS骨干区域从而访问其他区域。
Level-2路由器
- Level-2路由器(例如图中的R4、R5、R6、R7)是IS-IS骨干路由器,它可以与同一或者不同区域的Level-2路由器或者Level-1-2路由器形成邻接关系。Level-2路由器维护一个Level-2的LSDB,该LSDB包含整个IS-IS域的所有路由信息。
- 所有Level-2级别(即形成Level-2邻接关系)的路由器组成路由域的骨干网,负责在不同区域间通信。路由域中Level-2级别的路由器必须是物理连续的,以保证骨干网的连续性。
Level-1-2路由器
- Level-1-2路由器与OSPF中的ABR非常相似,它也是IS-IS骨干网络的组成部分。
- Level-1-2路由器维护两个LSDB,Level-1的LSDB用于区域内路由,Level-2的LSDB用于区域间路由。
- 同时属于Level-1和Level-2的路由器称为Level-1-2路由器(例如图中的R2和R3),它可以与同一区域的Level-1和Level-1-2路由器形成Level-1邻接关系,也可以与其他区域的Level-2和Level-1-2路由器形成Level-2的邻接关系。
IS-IS简单配置练习
R1配置ip
[R1]int g0/0/0 [R1-GigabitEthernet0/0/0]ip add 192.168.10.1 24 [R1]int l 0 [R1-LoopBack0]ip add 1.1.1.1 32
R2配置ip
[R2]int g0/0/0 [R2-GigabitEthernet0/0/0]ip add 192.168.10.2 24 [R2]int g0/0/1 [R2-GigabitEthernet0/0/1]ip add 192.168.20.1 24 [R2]int l 0 [R2-LoopBack0]ip add 2.2.2.2 32
R2配置ip
[R3]int g0/0/1 [R3-GigabitEthernet0/0/1]ip add 192.168.20.2 24 [R3]int l 0 [R3-LoopBack0]ip add 3.3.3.3 32
Level-1配置
[R1]isis 1 //配置NET的地址【49.0001表示区域号】 [R1-isis-1]network-entity 49.0001.0000.0000.0001.00 //配置Level级别 [R1-isis-1]is-level ? level-1 Level-1 level-1-2 Level-1-2 level-2 Level-2 [R1-isis-1]is-level level-1 //isis在接口下宣告 [R1]int g0/0/0 [R1-GigabitEthernet0/0/0]isis enable 1 (1是isis 的进程号) [R1]int l 0 [R1-LoopBack0]isis enable 1
Leve-1/2配置
[R2]isis 1 [R2-isis-1]network-entity 49.0001.0000.0000.0002.00 [R2-isis-1]is-level level-1-2 [R2]int g0/0/0 [R2-GigabitEthernet0/0/0]isis enable 1 [R2]int g0/0/1 [R2-GigabitEthernet0/0/1]isis enable 1 [R2]int l 0 [R2-LoopBack0]isis enable 1
level-2
[R3]isis 1 [R3-isis-1]network-entity 49.0002.0000.0000.0003.00 [R3-isis-1]is-level level-2 [R3]int g0/0/1 [R3-GigabitEthernet0/0/1]isis enable 1
isis路由引入
因为level-1无法学习到leve-2的路由,会产生一条默认路由,就会产生次优路径的问题,所以leve-1-2上要做level-2路由引入level-1
[R2]isis 1 [R2-isis-1]import-route isis level-2 into level-1
Level-1上就能学到level-2的路由了
isis修改网络类型
[R1]int g0/0/0 [R1-GigabitEthernet0/0/0]isis circuit-type ? p2p Change the network type of the circuit to P2P
isis只有两种网络类型,想要改回去就undo 掉就行了
OSPF的DR和isis的DIS
ospf | isis | |
取值范围 | 0-255 | 1-127 |
默认值 | 1 | 64 |
为0 | 不参与 | 参与 |
备份 | 有 | 无 |
抢占 | 不抢占 | 抢占 |
选举时间 | 建邻居时 | 建立邻居过程中 |
状态 | 2-way,FULL | up |
选举规则 | RID | MAC |
[R2]dis isis int Interface information for ISIS(1) --------------------------------- Interface Id IPV4.State IPV6.State MTU Type DIS GE0/0/0 001 Up Down 1497 L1/L2 No/No Loop0 001 Up Down 1500 L1/L2 -- GE0/0/1 002 Up Down 1497 L1/L2 No/No [R3]dis isis int Interface information for ISIS(1) --------------------------------- Interface Id IPV4.State IPV6.State MTU Type DIS GE0/0/1 001 Up Down 1497 L1/L2 No/Yes Loop0 001 Up Down 1500 L1/L2 --
isis数据库
[R3]dis isis lsdb
Database information for ISIS(1)
--------------------------------
Level-2 Link State Database
LSPID Seq Num Checksum Holdtime Length ATT/P/OL
-------------------------------------------------------------------------------
0000.0000.0002.00-00 0x0000001c 0x85bb 918 114 0/0/0
0000.0000.0003.00-00* 0x00000018 0x2a30 875 86 0/0/0
0000.0000.0003.01-00* 0x00000015 0xa1d1 875 55 0/0/0
Total LSP(s): 3
*(In TLV)-Leaking Route, *(By LSPID)-Self LSP, +-Self LSP(Extended),
ATT-Attached, P-Partition, OL-Overload
IS-IS工作原理
邻居关系建立
- 广播链路邻居关系的建立
- 三次握手
- 当收到的hello报文不包括自己的时候为init,当包括自己的时候为UP
- P2P链路邻居关系的建立
- 两次握手
- 三次握手
- 与广播链路建立邻居一致
- 邻居关系的建立原则
- 同一层次的相邻路由器才有可能成为邻居
- 对于level-1路由器来说,区域号必须一致
- 链路两端IS-IS接口的网络类型必须一致
- 链路两端IS-IS接口的地址必须处于同一网段
同步LSDB
- 广播网络类型
- 邻居UP后,为了加快LSDB同步,先向邻居发送自己LSDB中所以的LSP
- DIS周期性(10s)发送CSNP报文,保证区域内所以IS具有相同的LSDB
- 邻居路由器收到CSNP后,如果发现自己的LSDB域DIS不同步,那么就发送PSNP请求需要的LSP
- DIS发送对应的LSP,后续周期10s再发送CSNP
- P2P网络类型
- 邻居UP后,为了加快LSDB同步,先向邻居发送自己LSDB中所有的LSP,且发送CSNP报文,CSNP报文只发送一次
- 邻居如有需要的LSP,就发送PSNP报文请求
- 发送对于的LSP给邻居,等待邻居发送PSNP确认
通过SPF进行路由计算
ISIS报文类型
Hello 报文=====IIH
- Hello PDU,也称为IIH
- 发现,建立,维护邻居关系
- 广播网中的Level-1 IS-IS使用Level-1 LAN IIH,Level-2 IS-IS使用Level-2 LAN IIH;
- 点对点中则使用P2P IIH
- 它们的报文格式有所不同,P2P IIH中相对于LAN IIH来说,多了一个表示本地链路ID的Local Circuit ID字段,缺少了表示广播网中DIS Priority字段以及DIS System ID字段
LSP===ospf里的LSU
- Link State PDUs链路状态报文,用于交换链路状态信息。分为两种:Level-1 LSP和Level-2 LSP
- Level-1 LSP由Level-1 路由器传送
- Level-2 LSP由Level-2 路由器传送
- Level-1-2 路由器则可传送以上两种LSP
- LSP 报文中包含了两个重要字段是ATT字段, IS-Type字段。其中ATT字段用于标识该路由是Level-1-2路由器发送的,IS-Type用来指明生成此LSP的IS-IS类型是Level-1还是Level-2 IS-IS
SNP
- CSNP====ospf里的DD
- Complete Sequence Number PDU,包括LSDB中所有LSP的摘要信息,用于同步LSP,保证相邻路由器间保存LSDB同步,类似OSPF DBD报文
- PSNP====ospf里的LSR/LSack
- Partial Sequence Number PDU,包括部分LSDB中的LSP摘要信息,用于请求需要的LSP和确认LSP, 类似OSPF LSR或者LSAck

评论