IS-IS的原理
NSAP=IDP+DSP
NSAP是OSI网络层的地址格式
IDP相当于主网络号
DSP:进一步细分区域和主机
IDP=AFI+IDI
AFI=地址分配机构和格式
IDI=域标识符
DSP=HO-DSP+ System ID+SEL
字段 | 含义 | 长度 | 说明 |
HO-DSP | 高层DSP | 可变 | 用于区域划分 |
System ID | 系统标识符 | 固定6字节 | 唯一标识设备 |
SEL(NSEL) | 服务选择符 | 1字节 | 类似协议号,IP中总是为00 |
NET是NSAP的一种特殊形式,其SEL在IP中为00
它用于标识路由本身,而不是服务
一台IS最多可配置3个NET,必须具有相同的System ID,区域地址可以相同
IS-IS是二层协议,直接跑在以太网等链路上
通过不同的组播MAC地址区分Level-1和Level-2的Hello报文
IS-IS:协议号:0x83
直接封装在数据链路层
四种报文:
IIH:建立维护邻居 (Helloa报文)
LSP:传递链路状态信息 (链路状态报文) 每个LSP序列号越大,表示LSP越新
CSNP:发布完整LSDB目录 ,同步链路状态数据库的摘要 (完整序列号报文)
PSNP:请求或确认LSP (部分序列号报文)
CLV:
CLV是IS-IS报文承载具体信息的变长字段部分,它使得IS-IS协议非常灵活,易于扩展
重要的CLV列表;
CLV1:检查区域,决定邻居类别
CLV 132:检查IP网段
CLV 2 :描述拓扑
CLV 128:发布IP路由
CLV1和CLV3 对建立邻居至关重要
CLV2和CLV128:是LSP报文的核心,分别描述了网络拓扑和IP路由的信息
IS-IS网络类型:
PPP,HDLC上,接口缺省类型为点到点
Ethernet上,默认网络类型为广播
点到点网络的邻接关系:
同一区域下,L1和L1,可以形成L1路由;不同区域下L1和L1不能形成邻居关系
区域一致性原则:
L1:邻居只能在同一区域的路由器间建立
L2:邻居可以在任何区域区域的路由器间建立(主要用于骨干区域互联)
特性对比 | 点到点 (P2P) 网络 | 广播 (Broadcast) 网络 |
使用的Hello报文 | P2P IIH | Level-1 LAN IIH 或 Level-2 LAN IIH |
报文发送方式 | 单播 | 组播 (L1: 0180-C200-0014; L2: 0180-C200-0015) |
建立过程 | 两次握手 | 三次握手 |
有无DIS | 无 | 有 (分别选举L1 DIS和L2 DIS) |
邻接关系数量 | 只有1个 | 多个 (n(n-1)/2),全网状邻接 |
Hello Timer | 默认10s | 默认10s,但DIS发送间隔为3.3s |
点到点网络建立过程:两次握手
Init状态:端口UP后,路由器开始发送P2P IIH 报文
Up:状态:一旦收到对端发来的P2P IIH报文,且检查参数通过,邻居状态立即变为Up,邻接关系建立
广播网络建立需要三次握手:
过程:
RTA发送:RTA发送Hello报文,邻居列表为空
RTB接受回应:RTB接收到RTA的Hello报文,将RTA的MAC地址填到自己的Hello报文的邻居列表字段并组播发出,这是RTB认为RTA是邻居,状态是Init
RTA回应: RTA收到RTB的Hello报文,发现RTB里面有RTA的MAC地址,意味着双向通信确认,RTA将状态设为UP,并将RTB的MAC地址表加入到RTA中
RTB确认:RTB也收到RTA发来的Hello报文,发现里面有自己(RTB)的MAC地址,将邻居状态设为UP,邻居关系正式确立
广播网络的特殊角色:DIS
DIS(指中间系统):是IS-IS在广播网络中为了提高效率而引入的概念
为了避免广播网络中所有路由器两两同步信息造成的资源浪费,选举一个”发言人“来代表这个网络
伪节点:
一个由DIS创建的路由器,用于简化拓扑计算
所有路由器只与伪节点建立联系,使拓扑图从网状变为星型,减少了SPF算法的计算复杂度
DIS选举规则:优先级优先,MAC地址大的优先
广播网络上的同步过程:
过程可以概括为:目录同步→请求缺失→分发确认
广播网络同步全靠DIS这个“中心目录服务器”
点到点(P2P):网络上的同步过程
“一次交换目录→互相发货→逐个确认”
P2P网同步时“点对点”的,采用一发一确认的可靠机制
IS-IS生成IP路由的过程 计算:
1,运行SPF算法,计算网络拓扑
到达所有NET(路由器本身)的路径
L1和L2分别计算 (L1-2路由器要计算两遍),到DIS开销为0
2,执行PRC,生成IP路由表
当网络只涉及IP地址,不涉及拓扑图,不需要重新跑复杂的SPF算法,直接运行PRC
因为网络中大部分变化都是IP前缀的增删,而不是节点或链路的故障,这是IS-IS相比OSPF的一个设计优势