IS-IS中间系统到中间系统网络协议

158 阅读9分钟

ISIS简介

IS-IS属于IGP(Interior Gateway Protocol,内部网关协议),用于自治系统内部。IS-IS是一种链路状态协议,使用SPF(Shortest Path First,最短路径优先)算法进行路由计算。SPF算法本身防环。 由于简便性和扩展性(TLV字段) 普遍应用于ISP网络中。

ISIS特点

  1. 支持CLNP网络.IP网络
  2. 工作在数据链路层

ISIS拓扑结构

图片.png

  • 采用骨干区域与非骨干区域两级的分层结构
  • 一般来说,将Level-1路由器部署在非骨干区域,将Level-2路由器和Level-1-2路由器部署在骨干区域
  • 每一个非骨干区域都通过Level-1-2路由器与骨干区域相连

图片.png

  • 与OSPF的区别
对比项OSPFIS-IS
区域划分接口路由器
骨干区域area0L2和L1-2组成
路由算法SPF(同一区域)SPF

ISIS路由器分类

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

  • 属于不同区域的Level-1路由器不能形成邻居关系

  1. Level-2路由器
  • Level-2路由器负责区域间的路由,可以与同一区域或者其它区域的Level-2和Level-1-2路由器形成邻居关系,维护一个Level-2的LSDB,该LSDB包含区域间的路由信息。所有Level-2路由器和Level-1-2路由器组成路由域的骨干网,负责在不同区域间通信,骨干网必须是物理连续的

  • Level-2路由器是否形成邻居关系与区域无关

  1. 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路由器维护两个LSDB,Level-1的LSDB用于区域内路由,Level-2的LSDB用于区域间路由

ISIS网络类型以及邻居

网络类型

网络类型接口
广播链路Ethernet,Roken-Ring
点到点链路PPP,HDLC

邻居

对比项广播点到点
Hello间隔10s,DIS=3.3s10s
邻接关系n*(n-1)/2n-1
使用DIS
LSP和IIH发送方式组播单播
IIH类型L1 LLH, L2 LLHP2P IIH

IIH类似于ospf的hello包

广播网络邻接关系

图片.png

  • DIS (Designated IS) 作用是创建和更新伪节点,以简化拓扑,减少资源消耗
  • 同一级别的路由器之间都会形成邻接关系

DIS与DR对比

对比项OSPF-DRISIS-DIS
选举优先级0优先级不参与选举所有优先级都参与选举
选举规则优先级->RID优先级->MAC地址
选举等待时间40sHello报文间隔*2
备份有 BDR
邻接关系DRother之间是2-way所有路由器互相都是邻接关系
抢占性不会抢占会抢占
作用减少LSA泛洪减少LSA泛洪 周期发送CCNP同步LSDB
层次性L1和L2分别选举
其他伪接点

ISIS地址结构

NSAP由IDP(Initial Domain Part)和DSP(Domain Specific Part)组成。IDP相当于IP地址中的主网络号,DSP相当于IP地址中的子网号和主机地址。

图片.png

如果最后两位是00那么是IP网络NET NET由AreaID+SystemID+00 AFI+IDI+HODSP=AreaID 区域ID为可变长度

图片.png

Area Address区域地址

  • 一台设备可以配置三个不同区域的NET,但是SystemID必须一致
  • 既可以标识路由域,也能够标识路由域中的区域
  • 相当于OSPF的区域编号
  • 两个不同的路由域中不允许有相同的区域地址
  • 一般情况下,一台路由器只需要配置一个区域地址,且所有区域中的所有节点的区域地址都要相同
  • 为了支持区域的平滑合并,分割以及转换,一台路由器最多可以配置3个区域地址

System ID 系统ID

  • 在区域内唯一标识主机和路由器 在实际应用中,一般使用RouterID与SystemID进行对应

SEL

  • NSAP Selector 类似于IP中的协议标识符,在IP中 SEL为00

NET Network Entity Title 网络实体名称

  • 可以看作是一类特殊的NSAP,即SEL=00的NSAP地址。
  • 通常情况下,一台路由器配置一个NET即可。
  • 当区域需要重新划分时,例如将多个区域合并,或者将一个区域划分为多个区域,这种情况下配置多个NET可以在重新配置时仍然能够保证路由的正确性。
  • 由于一台路由器最多可配置3个区域地址,所以最多也只能配置3个NET。
  • 在配置多个NET时,必须保证它们的SystemID都相同。

典型NET生成方法

图片.png

ISIS报文结构

  • 直接封装在数据链路层的帧结构中
  • 分为通用报头,专用报头,可变长报头

图片.png

ISIS报文类型

类型全称备注
IIHISIS Hello PDU建立和维护邻居关系
LSPLink State PDU传输链路状态信息
SNPSequence Numbers PDU描述数据库中的LSP

PDU类型

类型简称全称
15L1 LAN IIHhello包
16L2 LAN IIHhello包
17P2P IIHhello包
18L1 LSP
20L2 LSP
24L1 CSNP全部数据库描述
25L2 CSNP全部数据库描述
26L1 PSNP部分数据库描述
27L2 PSNP部分数据库描述

hello报文分析

图片.png

  • DIS选举优先级 取值范围0-127 越大越优先 默认64

LSP报文分析

图片.png

  • OL LSDB overload 表示本路由器内存不足而导致LSDB不完整,其他路由器在进行SPF计算时不会考虑这台路由器,但到此路由器直连地址的报文仍然可以被转发 置位1

SNP报文分析

CSNP报文

图片.png

PSNP报文

  • 请求或者确认链路摘要信息

TLV/CLV字段

  • ISIS报文中的变长字段部分是多个TLV三元组
  • TLV也称为CLV

图片.png

ISIS邻居建立

图片.png

图片.png

建立邻居机制

  • 点到点可以是两次握手建立邻居 也可以三次握手
  • MA广播网络必须是三次握手建立邻居
  • 默认是三次握手

图片.png

邻居建立条件

  • 只有同一层次的相邻路由器才有可能成为邻居
  • 对于L1路由器来说,区域号必须一致
  • 链路两点ISIS接口的网络类型必须一致
  • 链路两端的ISIS接口的地址必须处于同一网段
  • 如果接口配置了从IP,只要双方有某个IP在同一网段即可
  • 对于P2P接口 可以配置接口忽略IP地址检查
  • 对于以太网接口 需要将以太网接口模拟成P2P接口 才可以配置接口忽略IP地址检查

LSDB数据库同步

  • LSP刷新间隔为15分钟,老化时间为20分钟
  • 一条LSP的老化除了要等待20分钟外,还要等待60秒的零老化时延
  • LSP重传时间为5秒

图片.png

图片.png

更新链路状态

图片.png

LSP比较规则

  • 序列号 越大越新
  • Remaining Lifetime 存活时间 越小越新
  • Checksum 校验和 越大越新

图片.png

路由算法

图片.png

图片.png

区域间路由

图片.png

L1路由器在转发时候 如何发现目的设备与自己同一区域 那么会查询自己的L1数据库直接转发 如果发现目的地址不在同一区域 那么会将数据包发给距离自己最近的L1-2路由器转发

默认路由

当ATT置位于1 代表该设备连接多区域 那么L1路由器会产生下一跳指向L1/2路由器的默认路由 图片.png

图片.png

ISIS路由渗透 Router Leaking, RFC2966

  • 默认情况下,L1路由器只有在本区域的路由(L1/2路由器不会向一个区域通告其他区域的L1和L2路由),所以只能通过L1/2路由器注入默认路由去往本区域之外的目的地
  • RFC1195中把L1路由器定义为 Stub Router
  • 这样就可能导致次优路径和路由不同步
  • 通过在L1/2路由器上定义ACL,路由策略,Tag标记等方式,将符合条件的路由筛选出来,通告在自己所在的L1区域
  • 同时为了避免换路,渗透的路由会打上downbit

路由不同步问题 [tracert可以判断出来]

图片.png

路由渗透解决 图片.png

路由渗透防环 图片.png

区域外次优路径

L1路由器临近两个L1/2路由器开销值相同但是区域外链路开销不同的情况

在引入外部路由时 附带开销值 图片.png

路由渗透配置实验

  1. 可以R2/R3同时引入 或者R2单独引入

图片.png

  • 默认无路由渗透两条默认路由负载均衡 图片.png
# 在R2的L2数据库引入L1数据库
[R2-isis-1]address-family ipv4
[R2-isis-1-ipv4]import-route isis level-2 into level-1 
  • 此时已经存在明细路由 图片.png

  • 查看到4.4.4.4为渗透路由 图片.png

  • 报文分析[防环机制]

# 重置isis
reset isis all

图片.png

ip internal reachability 内部路由 extended ip reachability 外部路由

ISIS接口开销

  • 与ospf不同 isis默认每个接口开销都为10 与带宽无关
开销配置方式备注
接口开销为单个接口设置开销
全局开销为所有接口设置开销
自动计算开销根据接口带宽自动计算开销
优先级接口>全局>自动

不同的开销值类型存在不同的字节长度 存在兼容性问题

接口开销类型备注
narrow6bit,取值范围=1-63,路由开销最大为1023 超过1023认为不可达
wide24bit,取值范围=1-16777215,路由开销最大为4261412864 配置16777215表示路由不可达
  • 华为默认narrow
  • wide和narrow类型不互通
[R1-isis-1]cost-style narrow  // 默认为narrow
[R1-LoopBack0]isis cost 63    // 接口开销最大63

图片.png

compatible兼容模式 narrow-compatibe与wide-compatibe在发送时存在差距