运营商动态路由的神器 :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 配置
配置均以下图为拓扑图实例:
思科
华为
H3C
同华为
Juniper
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 的比较,希望文章对您有帮助!
评论