理论+实验:ISIS动态路由协议

ISIS动态路由协议

  • 什么事IS-IS
    • 简介
  • 华为IS-IS的路由种类和功能
    • Level-1
    • Level-2
    • Level-1-2
      • 三种路由器的功能:L1,L2和L1-2
      • IS-IS度量值
    • 邻居关系的建立
  • IS-IS 特点
  • NSAP地址
    • NSAP地址的换算
  • 华为IS-IS常用命令
  • 实验验证
    • R5配置
    • R4配置
    • R3配置
    • R2配置
    • R1配置
    • R6配置
    • 路由重分发配置

什么事IS-IS

IS-IS(Intermediate System-to-Intermediate System,中间系统到中间系统)路由协议最初是ISO(the International Organization for Standardization,国际标准化组织)为CLNP(Connection Less Network Protocol,无连接网络协议)设计的一种动态路由协议。

简介

为了提供对IP路由的支持,通过对IS-IS进行扩充和修改,使IS-IS能够同时应用在TCP/IP和OSI环境中,形成了集成化IS-IS(Integrated IS-IS或Dual IS-IS)。现在提到的IS-IS协议都是指集成化的IS-IS协议,主要用于城域网和承载网。
IS-IS属于内部网关路由协议,用于自治系统内部。IS-IS是一种链路状态协议,与TCP/IP网络中的OSPF协议非常相似,使用最短路径优先算法进行路由计算。
ISO网络和IP网络的网络层地址的编址方式不同。IP网络的三层地址是常见的IPv4地址或IPv6地址,IS-IS协议将ISO网络层地址称NSAP(Network Service Access Point,网络服务接入点),用来描述ISO模型的网络地址结构。
运行IS-IS协议的网络包含了终端系统(End System)、中间系统(Intermediate System)、区域(Area)和路由域(Routing Domain)。一个路由器是Intermediate System(IS),一个主机就是End System(ES)。主机和路由器之间运行的协议称为ES-IS,路由器与路由器之间运行的协议称为IS-IS。区域是路由域的细分单元,IS-IS允许将整个路由域分为多个区域,IS-IS就是用来提供路由域内或一个区域内的路由。

华为IS-IS的路由种类和功能

为了支持大规模的路由网络,IS-IS在路由域内采用两级的分层结构。一个大的路由域被分成一个或多个区域(Areas)。并定义了路由器的三种角色:Level-1、Level-2、Level-1-2。区域内的路由通过Level-1路由器管理,区域间的路由通过Level-2路由器管理。下面简要说明一下这三类路由器角色

Level-1

Level-1路由器负责区域内的路由,它只与属于同一区域的Level-1和Level-1-2路由器形成邻居关系,维护一个Level-1的链路状态数据库,该链路状态数据库包含本区域的路由信息,到区域外的报文转发给最近的Level-1-2路由器。(类似OSPF中的1类和2类)

Level-2

Level-2路由器负责区域间的路由,可以与同一区域或者其它区域的Level-2和Level-1-2路由器形成邻居关系,维护一个Level-2的链路状态数据库,该链路状态数据库包含区域间的路由信息。所有Level-2路由器和Level-1-2路由器组成路由域的骨干网,负责在不同区域间通信,路由域中的Level-2路由器必须是物理连续的,以保证骨干网的连续性(类似OSPF的3类)

Level-1-2

同时属于Level-1和Level-2的路由器称为Level-1-2路由器,可以与同一区域的Level-1和Level-1-2路由器形成Level-1邻居关系,也可以与同一区域或者其他区域的Level-2和Level-1-2路由器形成Level-2的邻居关系。Level-1路由器必须通过Level-1-2路由器才能连接至其他区域。Level-1-2路由器维护两个链路状态数据库,Level-1的链路状态数据库用于区域内路由,Level-2的链路状态数据库用于区域间路由。

每台路由器只能属于一个区域,区域边界在链路上。

三种路由器的功能:L1,L2和L1-2

L1能获取区域内的路径信息

L2能获取区域间的路径信息

L1-2:能同时获取区域内和区域间路径

连接L2路由器和L1/L2路由器的路径会形成骨干区域

IS-IS度量值

接口的度量值默认是10,可修改

邻居关系的建立

相同区域内

L1可以和L1,L1-2建立邻居关系,但无法和L2建立邻居关系

L2可以和L2,L1-2建立邻居关系

L1-2可以和L1和L2建立邻居关系

不同区域内
L1无法和其他路由建立邻居关系

L2可以和其他路由建立邻居关系,除了L1

L1-2可以和其他路由建立邻居关系,除了L1

IS-IS 特点

1.维护一个链路状态数据库,并使用SPF算法来计算最佳路径;
2.用Hello包建立和维护邻居关系;
3.使用区域来构造两级层次化的拓扑结构;
4.在区域之间可以使用路由汇总来减少路由器的负担;
5.支持VLSM和CIDR;
6.在广播多路访问网络通过选举指定IS(DIS)来管理和控制网络上的泛洪扩散;
7.具有认证功能;
8.IS-IS采用Cost作为度量值;
9.快速收敛;
10.适合大型网络。

NSAP地址

  • IS-IS中NSAP类似于OSPF中的router-id
  • LSP 使用NSAP地址来标识路由器并建立拓扑表,因此为IP提供路由选择需要NSAP地址
  • NSAP地址8-20字节,用16进制标识,包含如下主要信息:
    • 1.区域编号
    • 2.系统编号(固定6个字节)
    • 3.NSEL位(固定1字节,并重置为0)

NSAP地址的换算

  • 原则:
    • 通过环回口32位地址补齐成48位获得,即补足3位,然后4位分割
  • 例如:49.0001.0020.0200.2002.00
    • 分析:49.0001:49是固定格式,0001代表在area1,若区域为2,则为49.0002
    • 0020.0200.2002:是由IP地址2.2.2.2转换过来的 00:固定格式1.4.1:NSAP地址的换算 原则: 通过环回口32位地址补齐成48位获得,即补足3位,然后4位分割
    • 举例:12.12.12.12 补足3位:变成012.012.012.012 4位分割:变成0120.1201.2012所以12.12.12.12转换49.0001.0120.1201.2012.00

华为IS-IS常用命令

查看命令

dis isis peer  	 				##查看isis邻居关系
dis isis 1 brief    			##查看isis接口的明细
dis isis interface g0/0/1		##查看接口isis详情

配置命令

[Huawei]  isis 1   											##isis 后面跟进程。默认不加就是1进程	
[Huawei-isis-1]  network-entity 49.0001.0010.0100.1001.00 	##补足三位,然后4位分割
[Huawei-isis-1]  is-level level-1    						##根据网络结构配置IS-IS路由类型,这边有路由器类型
[Huawei-isis-1]  int g0/0/1             					##进接口
[Huawei-g0/0/1] isis enable									##启动ISIS

路由重分发

isis 1
import-route   rip 1 lever-1   					##引入后变成L1信息  默认值

rip 1
import-route isis 1 cost 5 						##对于rip的度量值是跳数 

isis 1
import-route isis level-2 into level-1			##华为手册这个叫路由泄露

路由汇总

isis 1
summary 202.0.0.0 255.255.254.0 level-1-2		##ABR汇总:域间路由汇总

isis 1
summary 203.0.0.0 255.255.254.0 level-1			##ASBR汇总:不同协议间的路由汇总

实验验证

理论+实验:ISIS动态路由协议_第1张图片

R5配置

[R5]isis 1
[R5-isis-1] is-level level-1										#将路由器isis等级设置L1
[R5-isis-1] network-entity 49.0002.0050.0500.5005.00				#0002宣告Area区域0050...宣告环回地址
[R5-isis-1]int g0/0/0												#进接口				
[R5-GigabitEthernet0/0/0]ip address 45.0.0.2 30						#添加IP地址
[R5-GigabitEthernet0/0/0]isis enable 1								#开启isis(重要一定要开启)
[R5-GigabitEthernet0/0/0]int loo 0
[R5-LoopBack0] ip address 5.5.5.5 32
[R5-LoopBack0] isis enable 1
[R5-LoopBack0] int loo 1
[R5-LoopBack1] ip address 202.0.0.1 24
[R5-LoopBack1] isis enable 1
[R5-LoopBack1]int loo 2
[R5-LoopBack2] ip address 202.0.1.1 24
[R5-LoopBack2] isis enable 1

R4配置

[R4]isis 1
[R4-isis-1]is-level level-1-2										#将路由器isis等级设置L1-2
[R4-isis-1]network-entity 49.0002.0020.0200.2002.00
[R4-isis-1]int g0/0/0
[R4-GigabitEthernet0/0/0]ip address 45.0.0.2 30
[R4-GigabitEthernet0/0/0]isis enable 1
[R4-GigabitEthernet0/0/0]int g0/0/2
[R4-GigabitEthernet0/0/2]ip add 34.0.0.1 30
[R4-GigabitEthernet0/0/2]isis enable 1
[R4-GigabitEthernet0/0/2]int loo 0
[R4-LoopBack0]ip add 4.4.4.4 32
[R4-LoopBack0]isis enable 1

R3配置

[R3]isis 1
[R3-isis-1]is-level level-2												#将路由器isis等级设置L2
[R3-isis-1]network-entity 49.0000.0030.0300.3003.00
[R3-isis-1]int g0/0/2
[R3-GigabitEthernet0/0/2]ip add 34.0.0.2 30
[R3-GigabitEthernet0/0/2]isis enable 1
[R3-GigabitEthernet0/0/2]int g0/0/1
[R3-GigabitEthernet0/0/1]ip add 23.0.0.1 30
[R3-GigabitEthernet0/0/1]isis enable 1
[R3-GigabitEthernet0/0/1]int loo 0
[R3-LoopBack0]ip add 3.3.3.3 32
[R3-LoopBack0]isis enable 1

R2配置

[R2]isis 1
[R2-isis-1]is-level level-1-2
[R2-isis-1]network-entity 49.0001.0020.0200.2002.00
[R2-isis-1]int g0/0/1
[R2-GigabitEthernet0/0/1]ip add 23.0.0.2 30
[R2-GigabitEthernet0/0/1]isis enable 1
[R2-GigabitEthernet0/0/1]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 12.0.0.1 30
[R2-GigabitEthernet0/0/0]isis enable 1
[R2-GigabitEthernet0/0/0]int loo 0
[R2-LoopBack0]ip add 2.2.2.2 32
[R2-LoopBack0]isis enable 1

R1配置

[R1]isis 1
[R1-isis-1]is-level level-1
[R1-isis-1]network-entity 49.0001.0010.0100.1001.00
[R1-isis-1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 12.0.0.2 30
[R1-GigabitEthernet0/0/0]isis enable 1
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]ip add 16.0.0.1 30
[R1-GigabitEthernet0/0/1]int loo 0
[R1-LoopBack0]ip add 1.1.1.1 32
[R1-LoopBack0]isis enable 1
[R1-LoopBack0]q
[R1]rip 1																#进入rip进程
[R1-rip-1]version 2														#选择版本2
[R1-rip-1]undo summary 													#关闭路由汇总
[R1-rip-1]network 1.0.0.0					
[R1-rip-1]network 16.0.0.0												#宣告网段

R6配置

[R6]int g0/0/1
[R6-GigabitEthernet0/0/1]ip add 16.0.0.2 30
[R6-GigabitEthernet0/0/1]int loo 0
[R6-LoopBack0]ip add 6.6.6.6 32
[R6-LoopBack0]int loo 1
[R6-LoopBack1]ip add 203.0.0.1 24
[R6-LoopBack1]int loo 2
[R6-LoopBack2]ip add 203.0.1.1 24
[R6-LoopBack2]q
[R6]rip 1
[R6-rip-1]undo summary 
[R6-rip-1]version 2
[R6-rip-1]network 6.0.0.0
[R6-rip-1]network 16.0.0.0
[R6-rip-1]network 203.0.0.0
[R6-rip-1]network 203.0.1.0

路由重分发配置

[R1]rip 1														
[R1-rip-1]import-route isis 1 cost 5 							#将rip注入到isis中
[R1-rip-1]q
[R1]isis 1
[R1-isis-1]import-route rip 1 level-1							#将isis注入到rip中
  • 此时使用R2查看路由信息,发现isis中的路由可以学习到rip中路由表条目了

  • 但是此时会发现,R1和R6学习不到isis中的路由网段,且R5也学习不到本区域外的网段,那么如何解决?

    • 原因:因为R1是L1,所以他只能学习区域内的路由,其他区域的isis路由信息学习不到
    • 解决:路由泄露
[R2]isis 1
[R2-isis-1]import-route isis level-2 into level-1 					#将isisL2的信息泄露成L1的信息
  • 此时再次查看R1和R5,会发现已经学习到路由条目了
  • 同理,在R4上,将路由信息泄露给R5
[R4]isis 1
[R4-isis-1]import-route isis level-2 into level-1 
  • 我们发现R5和R6的两个loopback地址是同网段的,使用其他路由器查看路由表的时候,可以发现这些loopback地址是分开的
[R2]dis ip routing-table
省略内容
      202.0.0.0/24  ISIS-L2 15   30          D   23.0.0.2        GigabitEthernet0/0/0
      202.0.1.0/24  ISIS-L2 15   30          D   23.0.0.2        GigabitEthernet0/0/0
      203.0.0.0/24  ISIS-L1 15   74          D   12.0.0.1        GigabitEthernet0/0/1
      203.0.1.0/24  ISIS-L1 15   74          D   12.0.0.1        GigabitEthernet0/0/1
  • 我们可以汇总
[R4]isis 	
[R4-isis-1]summary 202.0.0.0 255.255.254.0 level-1-2					#R4汇总
[R1]isis                           
[R1-isis-1]summary 203.0.0.0 255.255.254.0 level-1						#R1汇总
  • 此时我们使用路由查看IP地址
[R2]dis ip routing-table
省略内容
      202.0.0.0/23  ISIS-L2 15   30          D   23.0.0.2        GigabitEthernet0/0/0
      203.0.0.0/23  ISIS-L1 15   74          D   12.0.0.1        GigabitEthernet0/0/1

实验结束

你可能感兴趣的:(网络)