运营商动态路由的神器 :IS-IS 协议

举报
wljslmz 发表于 2022/09/13 16:42:50 2022/09/13
【摘要】 你好,这里是网络技术联盟站。前阶段给大家介绍了OSPF协议,留言区大家对IS-IS协议的呼吁声比较高:我也在网上包括公众号上搜索有关IS-IS协议的文章,真的是一头脑,要么就是垃圾水文,要么就是各种转载,而且不成体系,那么今天瑞哥就安排一下,还是那句话,总结到位、清晰明了、人类看得懂!让我们直接开始! 什么是IS-IS协议? 什么是CLNP? IS-IS特点 IS-IS术语 IS ES CL...

你好,这里是网络技术联盟站。

前阶段给大家介绍了OSPF协议,留言区大家对IS-IS协议的呼吁声比较高:

我也在网上包括公众号上搜索有关IS-IS协议的文章,真的是一头脑,要么就是垃圾水文,要么就是各种转载,而且不成体系,那么今天瑞哥就安排一下,还是那句话,总结到位、清晰明了、人类看得懂!

让我们直接开始!

什么是IS-IS协议?

  • 英文全称:Intermediate System to Intermediate System
  • 中文意思:中间系统到中间系统
  • IS-IS 最初设计用作 ISO CLNP 的动态路由协议,在 ISO 10589 标准中定义
  • 后来适应于携带除 CLNP(称为集成或双 IS-IS)之外的 IP 前缀
  • 是一种 IGP,链路状态路由协议
  • 类似于 OSPF 的链路状态路由协议
  • 主要用于ISP环境

💡 CLNP是个啥东东?

什么是CLNP?

CLNP,英文全称:Connectionless Network Service,即无连接模式网络服务,它是一个协议栈,最初是作为 TCP/IP 的替代品而开发的。

早在 OSPF 和 IS-IS 被开发时,IP 并不是今天的主导协议。当人们想到 OSI 时,自然而然会想到 OSI 模型,但当时,ISO(国际标准化组织)也创建了类似于 IP 和 UDP 的东西,称为 CLNP(无连接模式网络协议)和 CLNS(无连接模式网络服务)。CLNS(无连接网络服务)与 CLNP(无连接网络协议)相结合是相当于 IP 的 ISO(国际标准组织)。

IS-IS特点

  • 允许使用区域进行分层网络设计
  • IS-IS 将与相同IS-IS 类型的相邻路由器形成邻居关系
  • IS-IS 不是通告连接网络的距离,而是以链路状态数据包 (LSP) 的形式通告直接连接“链路”的状态,IS-IS 只会在其链接之一发生更改时发送更新,并且只会发送更新中的更改。
  • IS-IS 使用 Dijkstra 最短路径优先算法来确定最短路径
  • IS-IS 是无类协议,因此支持 VLSM
  • IS-IS 最初是为路由 ISO 地址空间而开发的,因此不限于 IP 路由
  • IS-IS 路由的管理距离为 115
  • IS-IS 没有跳数限制

IS-IS术语

IS

  • 英文全称:Intermediate System
  • 中文名称:中间系统

路由器的 ISO 名称,用于中间系统或路由器之间的通信。

ES

  • 英文全称:End System
  • 中文名称:终端系统

网络上的设备,例如服务器或工作站。

CLNS

  • 英文全称:Connection-Less Network Service
  • 中文名称:无连接网络服务

OSI 堆栈中的网络服务,CLNP (无连接网络协议)是实现 CLNS 的协议。

NSAP

  • 英文全称:Network Service Access Point
  • 中文名称:网络服务接入点

CLNS 数据包的第 3 层地址,这就像 TCP/IP 堆栈中的 IP 地址,IS-IS 使用 NSAP 地址进行通信,而不是 IP 地址。

IS-IS拓扑示例

IS-IS协议头

  • IRPD:Intradomain Routing Protocol Discriminator,域内路由协议鉴别器
  • Packet Length:包长度
  • Version/Protocol ID Extension:版本/协议 ID 扩展
  • ID Length:源 ID 字段的长度
  • PDU Type:PDU类型
  • Version:版本
  • Reserved:保留,未使用的位
  • Maximum Area Address:最大区域地址
  • TLV:Type、Length 和 Value,类型、长度和值

NSAP 地址

  • AFI:Authorityand Format Identifier,规定地址格式
  • IDI:Initial Domain Identifier,初始域部分
  • HODSP:High-Order DSP,高阶DSP,DSP就是域特定部分
  • Area:区域
  • System ID:系统ID
  • SEL:NSAP selector,NSAP选择器

CLNS一般分为三大部分,如图已经显示了:

  • 区域部分:AFI、IDI、HODSP
  • 标识部分:System ID
  • SEL部分:SEL

这里我们直接用一个NSAP地址的例子来讲解:

这张图可以很直观的反映出地址的每部分的对应关系。

System-ID 通常由设备的 MAC 地址或 IPv4 地址填充。

同一区域内的路由器必须共享相同的 AFI、IDI 和 HO-DSP 值,但每个路由器必须具有唯一的 System-ID

IS-IS 路由器区域

与 OSPF 一样,IS-IS 也使用区域,与OSPF不同的是IS-IS 使用整个路由器所在的区域,而不是像 OSPF 那样仅使用它的一个接口,没有骨干区域,骨干是由一串路由器组成的。

路由器分为三种:

Level-1路由器

正常区域中的路由器,不连接到另一个区域

Level-2路由器

不连接到其他区域的骨干路由器

Level-1-2路由器

连接不同区域的普通或骨干区域中的路由器

级别 1-2 是 Cisco IOS 路由器的默认设置.

如图所示,很直观的能够看出Level-1路由器、Level-2路由器、Level-1-2路由器是什么样子的。

IS-IS 网络类型

IS-IS包含两种网络类型:

广播

  • 用于以太网等多路访问接口
  • 在广播网络中选举指定中间系统(DIS),类似于OSPF DR
  • DIS 根据最高优先级和最高 SNPA (MAC) 地址选出
  • DIS 选举是抢先的

点对点

  • 用于两个路由器以点对点方式连接
  • 每个 LSP 都必须由 PSNP 确认
  • L1 和 L2 LSP 直接发送给邻居
  • 没有点对点进行 DIS 选举

IS-IS配置

配置均以下图为拓扑图实例:

思科

Router 1 # config terminal
Router 1 (config) # router isis 1
Router 1 (config-rtr)# net 21.0000.0000.0000.1111.00
Router 1 (config-rtr)# is-type level-2-only

华为

[Router1] isis 1
[Router1-isis-1] is-level level-2
[Router1-isis-1] network-entity 21.0000.0000.1111.00
[Router1-isis-1] quit
[Router1] interface s 0/0/0
[Router1-GigabitEthernet1/0/0] isis enable 1
[Router1-GigabitEthernet1/0/0] quit

H3C

[Router1] isis 1
[Router1-isis-1] is-level level-2
[Router1-isis-1] network-entity 21.0000.0000.1111.00
[Router1-isis-1] quit
[Router1] interface s 0/0/0
[Router1-GigabitEthernet1/0/0] isis enable 1
[Router1-GigabitEthernet1/0/0] quit

同华为

Juniper

set security forwarding-options family iso mode packet-based
set interfaces s-0/0/0 unit 0 description to-R2
set interfaces s-0/0/0 unit 0 family iso address 21.0000.0000.1111.00
set interfaces s-0/0/0 unit 0 family iso
set protocols isis interface s-0/0/0

OSPF 与 IS-IS对比

OSPF 和 IS-IS 共同之处

  • 两者都使用Dijkstra SPF 算法的链路状态路由协议
  • 两者都是IGP
  • 两者都使用 Hello 数据包来创建和维护相邻路由器之间的邻接关系
  • 两者都在广播网络中选举一个指定的路由器
  • 两者都是无类协议,并支持CIDR和VLSM
  • 两者都支持无限数量的跳数
  • 两者都支持认证机制
  • 两者都支持多路径

OSPF 和 IS-IS 不同之处

  • OSPF 支持 NBMA 和点对多点链路,而 IS-IS 不支持
  • IS-IS 运行在数据链路层,而 OSPF 运行在网络层
  • OSPF在不能被抢占的广播网络上选举一个DR和BDR,而ISIS选举一个可以被抢占的DIS
  • OSPF 的默认管理距离为 110,ISIS 的默认管理距离为 115
  • OSPF 支持将远程区域连接到骨干区域 0 的虚拟链路,而 IS-IS 不支持虚拟链路概念
  • OSPF 使用路由器 ID,而 ISIS 使用系统 ID 来识别网络上的每个路由器
  • 在 OSPF 的情况下,路由器之间需要 IP 连接来共享路由信息,而 ISIS 不需要 IP 连接,因为更新是通过 CLNS 而不是 IP 发送的
  • 一个 OSPF 路由器可以属于多个区域,而一个 IS-IS 路由器只能属于一个区域
  • 与 OSPF 相比,ISIS 更易于配置、操作灵活和可扩展,因此被广泛配置为服务提供商核心骨干网中的 IGP
  • OSPF 每 30 分钟(或最多在 60 分钟后)刷新其完整的数据库表,但是,ISIS 不会像 OSPF 那样定期刷新其整个数据库

OSPF 和 IS-IS 术语对比

这样的表格对比记忆,非常直观,可以保存起来。

总结

IS-IS 是一种高度可扩展的路由协议,广泛用于大型服务提供商网络骨干网,不是我们用不到,而是我们接触不到,本文瑞哥大篇幅讲解了IS-IS的基本理论、配置还有和OSPF的比较,希望文章对您有帮助!

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。