写点什么

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

作者:wljslmz
  • 2022 年 6 月 15 日
  • 本文字数:2898 字

    阅读完需:约 10 分钟

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

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


前阶段给大家介绍了 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 terminalRouter 1 (config) # router isis 1Router 1 (config-rtr)# net 21.0000.0000.0000.1111.00Router 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-basedset interfaces s-0/0/0 unit 0 description to-R2set interfaces s-0/0/0 unit 0 family iso address 21.0000.0000.1111.00set interfaces s-0/0/0 unit 0 family isoset 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 的比较,希望文章对您有帮助!

用户头像

wljslmz

关注

极致主义者,追求技术的路上,勇往直前! 2021.05.24 加入

订阅号:网络技术联盟站 个站:https://www.wljslmz.cn

评论

发布
暂无评论
运营商动态路由的神器 :IS-IS 协议_6月月更_wljslmz_InfoQ写作社区