本文简要分析IS-IS协议的原理和应用,利用GNS3仿真器搭建环境,对IS-IS协议进行实验配置,供学习记录。GNS3仿真环境中运行的是Cisco IOS镜像,比CPT更加接近真实环境,而且CPT也不支持ISIS协议。

初次使用GNS3踩了个坑,用的镜像配置起来是正常的,但是ISIS协议却配不通,折腾了几天换了个镜像就好了,所以使用GNS3一定要确保镜像正常,不然事倍功半浪费时间。

文章目录

  • 一、基本原理
    • (一) 路由器类型
    • (二) 区域类型
    • (三) NSAP地址转换
    • (四) 网络类型
    • (五) DIS
    • (六) 路由器状态
    • (七) 工作过程
    • (八) 优缺点分析
  • 二、实验配置
    • (一) 实验拓扑
    • (二) 配置命令

按照作用于AS的范围,常见路由协议可划分为两类:

  • 内部网关协议 (Interior Gateway Protocols, IGP):具体包括RIP、OSPF、IS-IS、EIGRP等,一般由单个ISP运营于一个AS内,有统一的自治系统号,目前大型企业内部多使用OSPF、IS-IS,小型企业内部使用RIP或静态路由
  • 外部网关协议 (Exterior Gateway Protocols, EGP):BGP是目前唯一使用的一种EGP协议,它是AS间的路由协议,一般用于不同ISP之间交换路由信息,以及大型企业、政府等具有较大规模的私有网络

下面对内部网关协议IS-IS进行介绍:

一、基本原理

IS-IS (Intermediate System-to-Intermediate System) 也是一种链路状态路由协议,最初设计用来应用于CLNP网络 (Connectionless Network Protocol,无连接网络协议,OSI体系中的网络层协议,类似TCP/IP模型中的IP协议),后因TCP/IP迅速发展和广泛应用,IS-IS对此进行了扩充和修改,使它能够同时应用在TCP/IP和OSI。

与OSPF协议相似,IS-IS同样使用最短路径优先算法 (Shortest Path First, SPF, 也称为Dijkstra算法) 生成最短路径树并构造路由表,其路径开销 (Cost) 计算基于接口的带宽,相比于OSPF,IS-IS更加适用于如ISP、数据中心等规模和承载量更大、区域类型相对简单、层次扁平化的大型网络。

IS-IS同样将AS划分成多个逻辑区域,分为骨干区域和非骨干区域,但其不再使用编号区分骨干区域和非骨干区域,而是基于路由器的级别 (Level)。IS-IS报文工作在链路层,每个区域中所有路由器通过组播 (Level-1: 01-80-C2-00-00-14, Level-2: 01-80-C2-00-00-15) 的方式维护着一个相同的链路状态数据库 (Link State DataBase, LSDB),LSDB存放着接口的相关信息 (IP地址、带宽以及所连接的邻居等),IS-IS路由器通过各自的LSDB进行路由计算。

(一) 路由器类型

IS-IS中的路由器按层次划分:

  • Level-1 (L1):负责区域内路由,它只与同一区域的L1和L1-2路由器形成L1邻居关系,维护一个L1的LSDB,该LSDB只包含本区域的路由信息,到区域外的报文要转发给最近的L1-2路由器。

  • Level-2 (L2):负责区域间路由,可以与同一区域的L2路由器,或者不同区域的L1-2路由器形成L2邻居关系,维护一个L2的LSDB,该LSDB包含区域间的路由信息,负责在不同区域间通信,路由域中的L2路由器必须是物理连续的,以保证骨干网的连续性。

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

(二) 区域类型

与OSPF相同,分为骨干区域和非骨干区域,L2邻居关系的路由器 (L2和L1-2路由器) 构成骨干区域,L1邻居关系的路由器 (L1和L1-2路由器) 构成非骨干区域,非骨干区域必须通过L1-2路由器与骨干区域相连,IS-IS协议中没有虚链路的概念,骨干区域与非骨干区域在物理上都必须是一个整体。

非骨干区域只维护自身区域的LSDB,骨干区域维护自身以及非骨干区域的LSDB,骨干区域和非骨干区域联系的唯一纽带就是L1-2路由器,当信息在骨干和非骨干区域之间传输时,L1-2路由器充当信息中转枢纽,具体如下:

  • 骨干区域访问非骨干区域时,L1-2路由器将L1级别的路由作为自身直连的节点进行描述,并通过L2级别的LSP在L2区域进行泛洪,因此骨干区域上的路由器知道非骨干区域的路由信息;
  • 非骨干区域访问骨干区域时,L1-2路由器下发一条访问骨干区域的缺省路由指向路由器自身,缺省路由通过ATT比特位进行标记,由非骨干区域路由器计算得到。

注意:骨干区域和区域并不是一个概念,L1-2路由器可以划分到L1区域也可以划分到L2区域,但L1-2和L2路由器一起构成了一个连续的骨干区域。

(三) NSAP地址转换

ISO网络和IP网络的网络层地址的编址方式不同,IP网络的三层地址是常见的IPv4地址或IPv6地址,而ISO网络层地址称为NSAP (Network Service Access Point,网络服务接入点),即便现在是集成IS-IS,但是使用NSAP地址这项还是保留了下来,NSAP由IDP与DSP两个部分组成,如下图所示:

  • IDP (Initial Domain Part):相当于IP地址中的主网络号 (网段),由AFI (Authority and Format ID) 与IDI (Inter-Domain ID) 两部分组成,AFI表示地址分配机构和地址格式,IDI表示AFI的子域
  • DSP (Domain Specific Part):相当于IP地址中的子网号和主机地址,它由High Order DSP、System ID和SEL三个部分组成,High Order DSP用来分割区域,System ID用来区分主机,一般要保持全局唯一性,相当于OSPF中的Router-ID,SEL用来指示服务类型,在IP网络中SEL为00。

IDP和DSP中的High Order DSP一起组成区域地址,用于标识IS-IS划分的区域,相当于OSPF中的区域编号,一般情况下,一个路由器只需要配置一个区域地址,且同一区域中所有节点的区域地址都要相同,有时为了支持区域的平滑合并、分割及转换,在设备的实现中,一个IS-IS进程下最多可配置3个区域地址。

IP地址向NSAP转换方法,一般设置环回接口 (Loopback Interface) 地址,将32位Lookback地址补齐成48位,分割后再补齐获得,具体如下图所示:(实际上在配置时可以有不同方法,但需要满足字节长度要求和全局唯一性)

区域地址 (AREA ID) 最前边1个字节AFI为组织格式标识符,代表一个独立的组织机构,49表示OSI协议的私有地址,39表示ISO国家代码,47表示ISO国际代码,后两个字节IDI为初始域标识符,代表AFI的子域,0001为区域编号。

(四) 网络类型

基于链路层网络协议,IS-IS支持两种网络类型:
(注意网络类型不同于物理拓扑,其划分主要基于网络在链路层运行的协议)

  • 点到点网络 (Point to Point, P2P):链路层协议如PPP和HDLC,此类网络不用进行DIS的选举,直接形成邻接关系
  • 广播多路访问网络 (Broadcast Multi-Access, BMA):链路层协议如以太网 (IEEE 802.3),可以 (泛洪) 发送广播和组播报文,需要进行DIS的选举

(五) DIS

在广播多路访问网络中,IS-IS需要在每个区域所有的路由器中选举一个作为DIS (Designated Intermediate System),用于创建伪节点并负责生成伪节点的链路状态协议数据单元LSP (Link State Protocol Data Unit),用来描述这个网络上的设备信息,同一区域内的路由器会通过DIS周期性 (10/3s) 发送CSNP来同步LSDB,路由器之间只有邻居关系,而在OSPF中,邻居关系的路由器不一定用于同步LSDB,只有在DROTHER与DR和BDR建立邻接关系才同步LSDB。

伪节点是用来模拟广播网络的一个虚拟节点,并非真实的路由器。伪节点用DIS的System ID和一个字节的Circuit ID (非0值) 标识,伪节点可以减小LSP大小,提高SPF计算速度。

DIS的选举通过比较优先级,当有多个IS-IS路由器时,优先级高的选为DIS,与OSPF不同的是,优先级为0的路由器也参与DIS的选举,而且DIS没有备份;如果优先级相同则通过比较SNPA大小,SNPA大的选为DIS,在局域网中SNPA为MAC地址。

(六) 路由器状态

OSPF根据同步LSDB的阶段来划分路由器状态,而IS-IS路由器仅根据邻居关系建立过程区分三种路由器状态:

  • Down:没有收到邻居HELLO包时的状态
  • Initiated:收到邻居HELLO包,但是在HELLO包中没有发现自身信息
  • Up:收到邻居HELLO包,并发现自身信息,随后会进行DIS选举

(七) 工作过程

以常见的BMA类型网络为例,IS-IS基本工作过程如下:

① 建立邻居关系:IS-IS路由器初始化时,所有相邻路由器之间通过HELLO报文发现并建立邻居关系,邻居关系的路由器状态为Up;

② 同步LSDB:互为邻居关系的路由器首先选举出DIS,刚加入区域的路由器会发送LSP,DIS收到LSP后将相应信息加入自身LSDB,然后定期向邻居路由器发送完全序列号数据包 (Complete Sequence Number Packets, CSNP),CSNP中包括LSP的摘要信息,包括接口地址、带宽、邻居等链路状态信息,如果收到CSNP的路由器发现数据包中LSP描述没有自身信息,则会返回特殊序列号数据包 (Partial Sequence Numbers PDU, PSNP),DIS收到PSNP后会发送相应的LSP,直到单个区域内所有的路由器都形成相同的LSDB;

③ 构建路由表:同一个区域内的路由器会结合自身LSDB信息,使用SPF算法生成最短路径树,构建出各自的区域内路由表;L1-2路由器将L1级别的路由作为自身直连的节点进行描述,并通过L2级别的LSP在L2区域进行泛洪,因此骨干区域上的路由器既有自身区域又有非骨干区域的路由信息,而非骨干区域路由器只有自身区域的路由信息,当其访问骨干区域时,L1-2路由器下发一条访问骨干区域的缺省路由指向路由器自身。

④ 路由信息维护:一方面,当路由器的邻居状态发生改变,或是自身路由信息发生变化时,会触发LSP更新;另一方面,DIS会周期性发送CSNP,当区域中有路由器状态发生变化时会返回PSNP请求LSP以完成LSDB的同步。LSDB完成同步后,如果路由信息更新则会重新计算生成新的路由表项。

(八) 优缺点分析

优点:

  • 收敛速度快,能够在最短的时间内将路由变化传递到整个自治系统
  • 支持大量网络节点和网络平移、分割、合并,适用于超大规模网络
  • 采用路径开销 (Cost) 作为度量标准,路径开销计算基于接口的带宽
  • 划分区域进行管理,减少大规模网络中协议运行的流量和开销
  • 协议相对OSPF更加简化,配置简单

缺点:

  • 支持网络类型有限

二、实验配置

(一) 实验拓扑

以BMA型网络为例,拓扑如下:
R1、R2、R3、R4所在区域Area ID为49.0001
R5、R6、R11、R12所在区域Area ID为49.0002
R7、R8、R9、R10所在区域Area ID为49.0003

(二) 配置命令

(基础配置略过,只记录路由相关配置部分)

# R1、R2、R3、R4都是L2路由器,配置命令相似,以R1配置为例
# R1、R2、R3、R4所在区域Area ID为49.0001
R1(config)# interface loopback 1    // 配置环回接口,接口地址用于配置NSAP中的SYSTEM ID
R1(config-if)# ip address 10.10.11.1 255.255.255.0
R1(config-if)# exit
R1(config)# router isis
R1(config-router)# net 49.0001.0100.1001.0001.00  // 配置NSAP,同一个区域的AREA ID是相同的,这里骨干区域ID设为49.0001
R1(config-router)# is-type level-2-only           // 配置IS-IS路由器类型 (缺省为Level-1-2)
R1(config-router)# exit
R1(config)# interface fa0/0
R1(config-if)# no shutdown
R1(config-if)# ip address 1.1.1.1 255.255.255.0
R1(config-if)# ip router isis                     // 在接口开启IS-IS路由功能
R1(config-if)# exit
R1(config)# interface fa0/1
R1(config-if)# no shutdown
R1(config-if)# ip address 4.4.4.1 255.255.255.0
R1(config-if)# ip router isis
R1(config-if)# exit
R1(config)# interface fa1/0
R1(config-if)# no shutdown
R1(config-if)# ip address 5.5.5.1 255.255.255.0
R1(config-if)# ip router isis
R1(config-if)# exit# R5、R7、R9、R11都是L1-2路由器,配置命令相似,以R5配置为例
# R5、R11所在区域Area ID为49.0002,R7、R9所在区域Area ID为49.0003
R5(config)# interface loopback 1
R5(config-if)# ip address 10.10.11.5 255.255.255.0
R5(config-if)# exit
R5(config)# router isis
R5(config-router)# net 49.0002.0100.1001.0005.00    // 配置NSAP,同一个区域的AREA ID相同
R5(config-router)# is-type level-1-2
R5(config-router)# exit
R5(config)# interface fa0/0
R5(config-if)# no shutdown
R5(config-if)# ip address 5.5.5.2 255.255.255.0
R5(config-if)# ip router isis
R5(config-if)# exit
R5(config)# interface fa0/1
R5(config-if)# no shutdown
R5(config-if)# ip address 6.6.6.1 255.255.255.0
R5(config-if)# ip router isis
R5(config-if)# exit# R6、R8、R10、R12都是L1路由器,配置命令相似,以R6配置为例
# R6、R12所在区域Area ID为49.0002,R8、R10所在区域Area ID为49.0003
R6(config)# interface loopback 1
R6(config-if)# ip address 10.10.11.6 255.255.255.0
R6(config-if)# exit
R6(config)# router isis
R6(config-router)# net 49.0002.0100.1001.0006.00    // 配置NSAP,同一个区域的AREA ID相同
R6(config-router)# is-type level-1
R6(config-router)# exit
R6(config)# interface fa0/0
R6(config-if)# no shutdown
R6(config-if)# ip address 6.6.6.2 255.255.255.0
R6(config-if)# ip router isis
R6(config-if)# exit

配置后可用命令查看路由信息:

# 查看isis配置信息
Router# show isis ?# 查看所有路由表项
Router# show ip route# 查看IS-IS路由表项
Router# show ip route isis# 查看IP路由协议配置参数和运行情况
Router# show ip protocols

可见骨干区域路由器 (L2、L1-2) 路由信息中有全网的路由信息,而非骨干区域路由器 (L1) 路由信息中只有本区域的路由信息,以及指向0.0.0.0的默认路由表项。

如果一次性需要配置多个路由器,可以先将命令逐行写出,然后复制粘贴就可以一次性完成配置,如下所示:

IS-IS协议分析与配置相关推荐

  1. OSPF协议分析与配置

    本文简要分析OSPF协议的原理和应用,利用Cisco Packet Tracer仿真器搭建环境,对OSPF协议进行实验配置,供学习记录. 文章目录 一.基本原理 (一) 区域类型 (二) 路由器类型 ...

  2. PYTHON黑帽编程1.5 使用WIRESHARK练习网络协议分析

    Python黑帽编程1.5  使用Wireshark练习网络协议分析 1.5.0.1  本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks At ...

  3. 简单的路由协议分析和配置

    简单的路由协议分析和配置 我们都知道路由器的功能主要是寻址和转发 寻址是通过路由算来实现的 路由算法将收集到的不同信息添到路由表中 而转发则是通过路由表进行 路由器之间相互通信 更新 维护路由表 而路 ...

  4. 计算机网络协议教案,计算机网络实验教案(6)网络协议分析-IP协议3.pdf

    计算机网络实验教案(6)网络协议分析-IP协议3.pdf (2页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 <计算机网络实验> ...

  5. 0x0806 ARP协议分析

    一.基本概念 ARP(Address Resolution Protocol) 即地址解析协议,用于实现从IP地址到MAC地址映射. 二. ARP工作流程 2.1 同一网段ARP工作流程分析 1.  ...

  6. tcp文件服务器设计报告,TCPIP协议分析课程设计报告书.doc

    <TCP/IP协议分析>课程设计 题目:用协议分析工具分析 DNS以及以下各层协议的工作机制 院系: 计算机学院 班 级: 2012级网络工程班 姓 名: 学 号: 组 别 : 第 四 组 ...

  7. 钉钉小程序可以上传文件_怎样禁止钉钉外发文件?钉钉文件传输协议分析

    钉钉(DingTalk)是中国领先的智能移动办公平台,用于商务沟通和工作协同.越来越多企业采用钉钉来进行办公自动化,但是由此带来的信息安全问题也不能忽视.钉钉软件可以很容易的上传附件.外发和接收文件, ...

  8. lwIP ARP协议分析

    ARP 协议分析 总的来说,lwip将链路层ethernet的协议分组格式分为ether和etherarp 分开处理.ip分组先进入etharp_ip_input更新一下arp表项,然后直接进入 ne ...

  9. NS2相关学习——可靠的MANET应用程序的Gossip协议分析

    好久不写,应该努力啦!老师把这篇论文给了我,现在还不知道它在讲什么,来边翻译边学习吧! 文章链接:https://www.researchgate.net/publication/316844643_ ...

最新文章

  1. 在Ubuntu 14.04 64bit上安装配置sublime text 3(Build 3083)
  2. linux 代码获取当前路径,【linux】shell代码,获取当前路径,创建文件夹
  3. 远程网络读取服务器文件是否存在,远程读取服务器文件是否存在
  4. 幼儿园带括号算式口诀_整理41组“数学顺口溜”+大九九乘法口诀表!给孩子们收藏...
  5. dos下实现延迟功能
  6. DCMTK:用于管理常见的增强型CT特定类型的类
  7. python if和while的区别_python基础--while循环和if判断、基本运算符
  8. node.js 中间件_Node.js中的Passport中间件(模块)
  9. 经验 | 清华大学计算机系教授~浅谈研究生学位论文选题方法
  10. apache rewrite机制
  11. sql 如何查询上次的记录_学会SQL并不难,小白学习记录之五(多表查询)
  12. 中国紧凑型玻璃垫圈行业市场供需与战略研究报告
  13. 【PostgreSQL-9.6.3】函数(3)--日期和时间函数
  14. 阶段5 3.微服务项目【学成在线】_day03 CMS页面管理开发_15-异常处理-异常处理流程...
  15. happy number(快乐数)
  16. 宁夏诗词学会红寺堡采风专辑
  17. C# 微信公众号开发
  18. 如何强制卸载Google浏览器,不用担心Google打开为白板,亲测有效。
  19. oracle12162错误,ORA-12162: TNS:net service name is incorrectly specified报错问题如何解决?...
  20. python设置excel单元格数据类型为文本_Python xlwt设置excel单元格字体及格式

热门文章

  1. 若依ruoyi左侧菜单栏增加新的主题色
  2. 在vscode中安装python步骤
  3. Linux sed命令 | 参数说明 | 超详细
  4. Mac安装虚拟机,实现三台虚拟机联网
  5. 让我们进入面向对象的世界(一)
  6. 关于RGB颜色与十六进制颜色
  7. 好用的PHP导航源码
  8. auto.js去除手机顶部状态栏的绿色部分
  9. Python计算阶乘(5种方法)
  10. HashMap底层原理全解析