ISIS总结
ISIS 和 OSPF一样 属于链路状态IGP协议,使用的是SPF 计算路由。
ISIS的特点是
支持CLNP网络,IP网络。工作在数据链路层
OSPF的特点是
目前只支持IP网络,工作在IP层
ISIS 拓扑结构 采用的是骨干区域和非骨干区域两级的分层结构。
L1 路由器都部署在非骨干区域,L2和L1/2部署在骨干区域
每一个非骨干区域都要通过L1/2 路由器相连
L1路由器简历邻接关系的时候 区域ID必须一致
L1 路由器负责区域内的路由
仅与相同区域的L1,L1/L2建立邻居
L1/2路由器
负责区域内和区域间的路由,可以建立L1,L1/2,L2建立邻居
L2
负责区域间的路由
与相同或不同区域内或间 L1/2 L2建立邻居
DIS 作用是创建和更新为节点,用于简化拓扑,减少资源消耗
ISIS的地址结构
NSAP 叫做网络服务访问点
是OSI中网络层的地址,由IDP和DSP组成
IDP 相当于IP地址中的主网络号
DSP 相当于IP地址中的子网号和主机地址
AFI 用于标识地址分配机构和地址格式
IDI 标识域
HODSP 分割区域
PS AFI+DID+DSP=Area address
System ID 标识路由器和主机
SEL 标识服务类型 IP上均为00
Area Address 区域地址
- 既能够标识路由域,也能够标识路由域中的区域
- 相当于OSPF中的区域编号
- 两个不同的路由域中不允许由相同的区域地址
- 一般情况下,一台路由器只需要配置一个区域地址,且同一区域中所有节点的区域地址都要相同
- 为了支持区域的平滑合并,分割转换,一台路由器最多可以配置3个区域
System ID
系统ID
在区域内唯一标识主机或路由器
在实际应用中,一般使用Router ID 与System ID 进行对应
SEL 类似于IP中的协议标识符,在IP中 SEL均为0
NET 网络实体名称
可以看作是一类特殊的NSAP 即SEL=00 的
NSAP地址
通常情况下 一台路由器配置一个NET即可
当区域需要重新划分时,例如将多个区域合并,或者将一个区域划分成多个区域,这种情况下配置多个NET可以在重新配置时仍然能够保障路由的正确性
由于一台路由器最多可以配置3个区域地址,所以也最多只能配置三个NET
在配置多个NET的时候,必须保障System ID相同
举例说明
ab.cdef.1234.5678.9abc
area address = ab.cdef
system id = 1234.5678.9abc
sel = 00
同一个区域内 相同的Area address
不同的system ID
ISIS 的报文结构
- 直接封装在数据链路层的帧结构中
- 分为通用报头和专用报头和可边长报头
ISIS的报文类型
整体分类
Hello报文类型(IIH)
L1 IIH 广播网络中的L1路由器使用
L2 IIH 广播网络中的L2路由器使用
P2P IIH 点到点网络中的路由器使用
其中
Reserved/Circuit Type : 高位的6比特保留 值为0 低位的2比特标识路由器的类型
01 = L1
02 = L2
11 = L1/2
Source ID :标识发出hello报文的路由器的System ID
Holding Time :邻居的保持时间
PDU Length: PDU的总长度
Priority :选举DIS的优先级 取值范围 是 0~127 越大越优先
LAN ID DIS 和伪节点的System ID
Local Circuit ID : 本地链路的ID
--------------------------------------------------2021年4月1日------------------------------------------------------
LSP报文类型
PDU Length PDU总长度
Remaining Lifetume LSP的存货时间
LSP ID 由三部分组成 : system ID ,伪节点ID和LSP的分片号
Sequence Numer : LSP的序列号
Checksum : LSP的校验和
P : 仅与L2 LSP 有关 ,表示路由器是否支持自动修复和区域分割
ATT : 由L1/2路由器产生 ,仅与L1 LSP有关,表示产生此LSP的路由器与多个区域相连接。
OL : 表示本路由器因内存不足而导致LSDB不完整,其他路由器在进行SPF计算时不会考虑这台路由器,但到此路由器直连地址的报文仍然可以被 转发
IS-type 生成LSP的路由器的类型 01 = Level-1 11= Level-2
SNP报文类型
CSNP 通告LSDB中所有摘要信息
PSNP 请求和确认链路状态信息
TLV/CLV
ISIS 报文中的变长字段部分是多个TLV 三元组
TLV也称为 CLV
ISIS邻居的建立
邻居的Hello报文 (IIH)
点到点类型
广播多路访问网络类型
L1 LAN IIH MAC:0180-C200-0014
L2 LAN IIH MAC:0180-C200-0015
邻居关系的建立过程
邻居关系的建立 首先是点到点
RA向RB 发送 点到点的IIH 紧接着RB向R1发送点到点的IIH 双方只要接收到 并且检验没有差错,就立即进入UP状态。但是 两次握手 可靠性 不高
在MA网络中建立邻居关系
首先A向B发送一个IIH 包 带着自己的system ID 邻居为空
B收到A发送的这个IIH包以后 把收到这个IIH的包的端口置为init,并且发送一个IIH 此时
这个IIH 的system ID 是自己 邻居填充的是A 的信息
A收到B发送的IIH的时候,发现是自己。立即把收到IIH的接口置为up状态,并发一个IIH 包含了自己的system ID 和对方的 邻居信息
B收到以后立即进入UP状态
邻居建立的条件
1 . 只有同一层次的相邻的路由器才有可能成为邻居
2 . 对于Leve -1 路由器来说,区域号必须一致
3 . 链路两端的ISIS接口网络类型必须一致
4 . 链路两端的ISIS接口的地址必须处于同一网段/
如果接口配置了从IP 只要双方有某个IP (主或从)IP 在同一网段即可
对于P2P 接口, 可以配置接口忽略IP地址检查
对于以太网接口,需要将以太网接口模拟P2P接口,然后才可以配置接口忽略IP地址检查。
链路状态信息的载体
LSP PDU 用于交换链路状态信息
·实节点LSP
·伪节点LSP(只在广播链路存在)
SNP PDU 用于维护LSDB 的完整与同步,且为摘要信息
·CSNP 用于同步LSP
·PSNP 用于请求和确认LSP
协议报文都分为 L1 和 L2 两种 在MA网络中所有协议报文的目的MAC 都是组播地址
L1 地址为 0180-C200-0014
L2 地址为 0180-C200-0015
LSP的刷新时间间隔为15分钟,老化时间为20分钟
一条LSP的老化除了要等待20分钟外,还要等待60秒的零老化时延
LSP 重传时间为5 秒
链路状态信息的交互
首先看点到点 P2P
首先 A向B发送一个 CSNP 相当于DD报文
B收到以后 查看CSNP 的信息 发现有些信息B没有,所以B向A发送一个PSNP 用来请求B所需的信息
A收到PSNP之后,查看请求PSNP 发现 奥原来B要这些
然后A通过LSP 发送给了B
注意的是 P2P网络CSNP报文只发送一次 邻居建立以后立即发送
我们再来看看MA网络下 链路状态信息的交互
此时AB已经建立了邻居关系,又冒出来一个C,要加入MA网络中
C向MA网络中广播发送LCP, A,B都能收到LCP ,但是不会做出回应,因为已经建立了邻居关系
在等到下次DIR倒计时结束开始更新数据库的时候,会发送一个CSNP ,广播发送,所有设备都能收到CSNP,此时A 的数据库是全的所以不需要回应,但是C的数据库只有自己 收到CSNP以后 发现好多都没有,此时C会向DIS发送一个PSNP 用来请求缺失的信息,然后由伪节点,发送一个LSP 给C 。
LSP的比较规则
- 序列号 越大越新
- Remaining lifetime 越小越新
- Check sum 越大越新
SPF的计算过程
- 单区域LSDB同步完成
- 生成全网拓扑结构图
- 以本节点为根生成最短路径树
- 默认跨越每个节点的开销一样
ISIS路由计算的开销方式
- 设备默认接口开销值都是10
区域间路由
ISIS 的路由渗透
默认情况下 L1路由器只有本区域的路由(L1/2 路由器 不会向一个区域通告其他区域的L1和L2),所以只能通过L1/2路由器注入默认路由去往本区域之外的目的地。
L1路由器 可以理解为stub router
路由渗透可能会导致次优路径和路由不同步
通过在L1/2的路由器上定义ACL 路由策略 tag 标记等方式,将符合条件的路由筛选出来,通报给自己所在的L1区域
同时为了避免环路,渗透的路由会打上downbit
区域外次优路径的解决办法 就是 通过 L1/2路由器 把L2路由信息发布到L1中
ISIS 接口开销
与OSPF不同,默认每个接口的开销都为10,与带宽无关。
接口开销: 为单个接口设置开销。
全局开销: 为所有接口设置开销
自动计算开销: 根据接口带宽自动计算开销
优先级 : 接口>全局>自动
接口开销类型
narrow 窄
6bit 取值范围 1~63
wide 宽
华为路由器默认为narrow
wide和narrow类型下的ISIS不可实现互通
接口的开销类型
narrow 接收 narrow 发送 narrow
wide 接收wide 发送 wide
compatible 接收 narrow&wide 发送 narrow&wide
narrow-compatible 接收 narrow&wide 发送 narrow
wide-compatible 接收 narrow&wide 发送wide
ISIS
IIH = Hello
LSP = LSU(LSA)
CSNP = DD
PSNP = LSR,LSACK
ISIS基础命令
isis1 ## 创建并配置ISIS进程
network-entity 10.0000.0000.0001.00 配置 NET
isis-level level /1-2 配置路由器类型 默认为 L1/2
int g0/0/0
isis enable 1 ##在接口下启用isis
isis circuit-level level-1/2 ## 配置接口链路类型 默认为L1/2
isis circuit-type p2p ## 配置接口网络类型
isis peer-ip-ignore ## 配置对Hello 不做IP地址检查
isis ppp-negotiation 3-way ##配置协商方式
isis 度量值配置
int g0/0/0
isis cost 5 ##配置接口链路开销,默认是10
isis 1
circuit-cost 5 ##配置全局链路开销
auto-cost enable 开启自动计算度量值功能 (参考值/带宽)*10
bandwidth-reference 1000 #配置参考值 默认 = 100
cost-style wide ## 配置开销类型
生效顺序 接口>全局>自动
要改变LOOKback 接口的开销的时候 只能使用 isis cost 命令配置
仅当开销类型为wide或wide-compatible时,bandwidth-reference 才有效
而当开销类型为narrow narrow-compatible或compatble时,各个接口的自动开销根据 这些来确定
isis显示和维护
display isis brief ##显示ls摘要信息
display isis interface ## 显示isis接口信息
display isis lsdb ## 显示isis链路状态数据库
display isis peer ##显示isis邻居信息
display isis route ## 显示isis路由信息
display isis statitcs 显示isis统计信息
reset isis all 清除所有isis 数据库信息