ISIS 详解 
集成ISIS路由选择协议
1.       集成路由选择协议
2.       集成ISIS 寻址
3.       ISIS 路举包
4.       ISIS 邻接
5.       ISIS LSDB(链路数据库)
一:什么是ISIS 协议
Isis 就是中间系统-中间系统
ISO最初网络服务只定义了面向连接的通信服务(CONS),随后做了修改定义了无连接通信功能叫CLNS 和面向连接相比CLNS 在发送数据包之前不需要预先建立连接
CLNS 、IS-IS ES-IS 是独立的网络层协议 与之相对应的是TCP/IP
1.       什么是CLNP 它类似于IP 协议 ,CLNP 定义为独立于数据链路层
Ip 是TCP/IP 协议唯一的网络层协议:包括了路由协议和用户都封装在IP 数据包里而CLNP、isis 、en-is 协议都是网络层协议 分别封装在数据链路层帧内 也就是ISIS 比IP 安全的原因
数据包的格式图例
ISIS 

数据链路层头(OSI familyoxfefe)
IS-IS 固定报文头(第一个字节是0X83)
IS-ISTLV(type value 三元组合)

特点一:与OSPF 功能 类似但各有特点
ISIS 支持IP 和OSI 两种路由
ISIS 协议相关概念

缩略语
OSI 中概念
IP 中的对应概念
IS
中间系统
路由器
ES
端系统
主机
DIS
指派中间系统
DR
SYSID
系统标识
ROUTER-ID
PDU
包数据单元
LSA
NSAP
网络服务接入点
IP地址
NET
网络实体标记(网络设备)
---
IIH
Is to is 的hello包
Hello
Psnp
部分序列号
ACK
CSNP
完全序列号
DD

OSI 网络层编址方式 NSAP 构成

IDP
DSP
AFI
IDI
High order data
Systenm id
n-seltctor

                                                                                           6字节                   1字节    可变长的区域地址空间
NSAP 即相当于OSI的网络层的CLNP 的地址
网络标识实体NET
NET 即network entity titles 是一个特殊的NSAP 的地址其中的NSEL 为0
作为特殊的NSAP ,一个NET 至少8个字节最多20个字节
分层
层次性.IS-IS 有两个级别,区分两个层次
Level-1:普通区域
Level-2 骨干区域
骨干区域中是连续的level-2 level-1/2 的集合 必须是连通性
L1 和L2 运行相同的SPF 算法
Level-1路由
只能在本区域的路由形成邻居
只能参与本区域内的路由、只保留本区域内的数据库信息
通过自己相连的L1/2 的路由器的ATTbit寻找与自己最近的L1/2路由器
通过发布指向离自己最近的L1/2路由器的缺省路由,访问其他区域
LVEVL-2路由器
Level-2
可以与其他区域的L2路由形成邻居
参与骨干区的路由
保存整个骨干区的路由信息
L1/2 可以同时参与L1 路由和L2 的路由
Level-1-2路由器
L1/2可以和本区域的任何级别的路由器形成邻居关系
可能有两个级别的链路状态数据库
L1用做区域内的路由:L2 用于区域间的路由
完成它所在的区域和骨干之间的路由信息交换,将L1 的LSDB 中的路由信息转换到L2 的LSDB 中 以在骨干中传播既承担L1和L2 的职责
通常用在边界区域
区域(areas)
Is-IS 容许将整个路由域划分多个区域
区域间通常用L2 /L1-2 路由器连接
一个路由器目前最多3个area id
一个路由器必须整个属于某个区域
同一个路由器的接口可以同属于几个区域
对于level-1 只能在同一区域中建立邻居关系 而l2路由器则没有同一区域的限制
IS-IS 协议使用的网络类型
1.P-2-P ppp
2.BMA ethernet tokenring
Isis 协议不能真正支持NBMA 网络 只有将它转换成p2p的网络
IS-IS 协议的报文类型(9种)
Is-is hello packets (iih )
L1 LAN is-is hello
L2 LAN is-is hello
P 2 P hello
Link state packets (lsp)
L1 LSP 和L2 的LSP
Complete sequence number(csnp)
L1 CSNP 和L2 的CSNP
Partial sequence number packets(psnp)
L1 pSNP 和L2 的PSNP
点到点的邻接关系
广播邻接关系
广播环境指定路由器 DIS
DIS 指定中间系统
功能:在广播网络中创建和更新为节点
DIS 选举规则
1.                  DIS 又LAN IIH 报文选举,具备最高优先级的路由器会被当选。当所以路由器的优先级相同则最高MAC地址当选
2.                  level-1 和level-2DIS 分别选举选举的结果可能不是同一个IS
3.                  DIS 发送HELLO 包的实际间隔是普通路由器的1/3 3.3S 这样可以保证DIS 失效可快速呗检测到
4.                  与OSPF不同的是它的选举是抢占的 可以预见的 ISIS 不存在备份当一个失效 直接选举另一个
链路状态数据库
TLV 编码
TLV 编码方式
TLV 即type-length-value 
TLV 编码是一种高效率的可拓展的报文编码方式
T---Type :采用不同的值定义不同类型
L—Length :整个TLV 三元组的长度
v—value :本TLV的实际内容最重要部分
链路状态协议数据单元
它是由三个标准组合起来用来唯一标识一个LSP
sourceID :产生该LSP 的节点或伪节点的SYSID
Pseudonode ID:对普通LSP 为0 对pseudonode LSP 非0
这个区分一个LSP 是否伪节点产生了标志
LSO number:分片号(产生的LSP大于LSPMTU 将分片)
.LSP ID 例子:00c0.0040.1234.01-00
Source id :00c0.0040.1234
Pseudonode id :01 (表明为为节点产生的
分片号:0
LSP 序列号
LSP sequence number
sequence number:每个LSP (含lsp分片)都有一个字节的序列号
当路由器启动IS-IS时候 ,自己产生的LSP 的序列号为1
当发生变化需要重新生成LSP 时候,产生序列号增加的新的LSP 重播出去
较大的序列号意味着LSP 较新
LSP remaing lifetime
每个LSP 都有一个变化的生存时间相联系,用于老化旧的的LSPS
当生存时间超时 ,lsp将从网络中清楚
完全时序协议数据单元(CSNP)
CSNP 分为两种:level 1csnp 和level2 CSNP
CSNP 用于在泛洪LSPDB时数据库同步,用范围来描述数据库LSDB中的所有的LSPS
部分时序协议数据单元(PSNP)
PSNP分为两种:level 1 PSNP 和level2 PSNP
PSNP 主要功能
在点到点的链路上路由器用来作为ACK 应答以确认收到某个LSP
用来请求接受最新的LSP ,当路由器从邻居接收到CNSP 时通过比较自觉的LSPDB注意到缺少了部分数据(或自觉的LSP 不见旧),路由器发送PSNP请求相应的LSP 来同步
和CNSP一样,PSNP 在头中利用LSPid ,sequence number remainning lifetime,lsp checksum 来描述lsp
IS-IS 数据库交换状态
进行数据库交换(flooding)的原因
所有的路由器都产生一个LSP(可能分片),放在自己的数据库中
所有的LSP 都要复制并发送到网络中的所有其他路由器,如果数据库不同步的话,路由计算就可能错误,可能引起路由环路
可靠的flooding是IS-IS SPF 路由计算算法的重要基础,而这两者是IS-IS作为链路状态路由协议最重要的两个组成部分
IS-IS数据库交换过程
产生新的LSP 的时机
邻接关系建立起来或down 掉
IS-IS相关接口up/down
引入的Ip路由发生变化
区域间的ip路由发生变化
接口被赋了新的metric值
周期性更新
其他
2.       收到邻居新的LSP的处理过程:
将新的LSP 安装到自己的LSPDB中标记为flooding
发送新的LSP 到所有邻居
邻居再扩散到其他邻居
广播网络数据库交换
由DIS周期性的发送csnp
中间系统接收到报文,在数据库中搜索对应的记录 若记录不存在,将其加入数据库,并广播新数据库内容
否则,若数据库中的序列号小于报文中的序列号,就替换为更新报文,并广播新数据库内容
否则,若数据库中序列号较大,就向入端接口发送一个包含本地数据库值的新报文
否则,若两个序列号相等,则不做任何事情
P-2-P链路数据库交换
如果收到的LSP 比已有的序列号更大,则将这个新的LSP存入自己的的LSDB中,再通过一个PSNP报文来确认收到了此LSP ,最后将这个新的LSP再接着发到其他的邻居
如果收到的LSP 和自己的序列号相等 则用PSNP 确认收到一个LSP
如果收到的LSP 比自己的序列号小 则用PSNP报文确认此LSP ,再发送自己的LSP 给对方 然后等待。
IS-IS 路由计算
SPF 算法
Shortest path first
它是以路由器为根,依据网络拓扑生成一棵最短路劲树(SPF)计算出到网络中所以目的地最短路径
在IS-IS中,SPF 算法分别独立的再level -1和level-2数据库中运行