导图社区 ISIS
中间系统到中间系统(IS-IS,Intermediate system to intermediate system,意为“中间系统到中间系统”)是一种IGP协议,是电信运营商普遍采用的内部Gateway协议之一。
编辑于2020-03-07 02:51:34ISIS
ISIS基本概念
ISIS地址结构
NSAP
区域地址 Area ID
IDP和DSP中的HODSP(High Order DSP)一起,既能够标识路由域,也能够标识路由域中的区域,因此,它们一起被称为区域地址(Area Address),相当于OSPF中的区域编号。同一个路由域中不同区域不允许有相同的区域地址。同一Level-1区域中路由器的区域地址必须相同。
可变长度,1-13个字节
System ID
System ID用来在区域内唯一标识主机或路由器。在设备的实现中,它的长度固定为48bit(6字节)。
在实际应用中,一般使用Router ID与System ID进行对应
SEL
SEL(NSAP Selector,有时也写成N-SEL)的作用类似IP中的“协议标识符”,不同的传输协议对应不同的SEL。在IP上SEL均为00。
NET
由于一个IS-IS进程中区域地址最多可配置3个,所以NET最多也只能配3个。在配置多个NET时,必须保证它们的System ID都相同。 位于同一区域内的路由器的区域地址必须相同。
网络实体名称NET(Network Entity Title)指的是IS本身的网络层信息,由区域地址和System ID组成,可以看作是一类特殊的NSAP(SEL=0)
例如,Router ID为 114.115.116.117可以设置对应network-entity为86.0512.1141.1511.6117.00,其中86.0512为变长,1141.1511.6117为固定48bit(6字节)
ISIS区域及路由器角色
整个骨干区域(backbone)不仅包括Area1中的所有L2路由器,还包括其它区域的L1/2路由器
Level-2路由器
Level-2路由器负责区域间的路由,可以与Level-2或其它区域的Level-1-2路由器形成邻居关系,维护一个Level-2的LSDB,该LSDB包含区域间的路由信息。 所有Level-2级别的路由器组成路由域的骨干网,负责在不同区域间通信,路由域中Level-2级别的路由器必须是连续的,以保证骨干网的连续性。只有Level-2级别的路由器才能直接与区域外的路由器交换数据报文或路由信息。
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用于区域间路由。
Level-1路由器
Level-1路由器负责区域内的路由,它只与属于同一区域的Level-1和Level-1-2路由器形成邻居关系。一个Level-1路由器只负责维护本区域内的LSDB(Link State Database,链路状态数据库),对于目的地不在本区域内的路由,Level-1路由器会将该路由的目的地标识为最近的Level-1-2路由器。
属于不同区域的Level-1路由器不能形成邻居关系。Level-2路由器之间可以形成邻居关系,与所在区域无关。
ISIS支持的网络类型
广播网
P2P网
ISIS基本技术
ISIS报文
IS-IS Hello Packets(IIH) 用于建立和维护邻居关系
Level-1 LAN IIH
L1 IIH的组播地址为:0180-C200-0014
Level-2 LAN IIH
L2 IIH的组播地址为:0180-C200-0015
P2P IIH
P2P IIH采用单播地址进行通信
LinkStatePackets(LSP) 用户交换链路状态信息
Level-1 LSP
Level1 LSP PDU只用于本地区域
Level-2 LSP
Level-2 LSP PDU包含IS-IS路由区域中所有可到达前缀的信息
Level-1 LSP由Level-1 IS-IS传送,Level-2 LSP由Level-2 IS-IS传送,Level-1-2 IS-IS则可传送以上两种LSP
SequenceNumberPackets(SNP) 用户维护LSDB的完整和同步, 且为摘要信息
CompleteSequenceNumberPackets(CSNP) 全序列号报文
Level-1 CSNP
Level-2 CSNP
包括LSDB中所有LSP的摘要信息,从而可以在相邻路由器间保持LSDB的同步。在广播网络上,CSNP由DIS定期发送(缺省的发送周期为10秒);在点到点链路上,CSNP只在第一次建立邻接关系时发送。
PartialSequenceNumberPackets(PSNP) 部分序列号报文
Level-1 PSNP
Level-2 PSNP
列举最近收到的一个或多个LSP的序号,它能够一次对多个LSP进行确认,当发现LSDB不同步时,也用PSNP来请求邻居发送新的LSP。
DIS and PseudoNode(伪节点)
DIS(Designated Intermediate System,指定中间系统)
是在IS-IS通信过程中,被选举出来作为中介路由器的一个中间系统
周期性发送CSNP,保障MA网络LSDB同步
伪节点(Pseudonodes)
是用来模拟广播网络的一个虚拟节点,并非真实的路由器。在IS-IS中,伪节点用DIS的System ID和一个字节的Circuit ID(非0值)标识。
建立邻居
P2P网络建立邻居
广播网络建立邻居
RouterA发送LAN Hello报文,RouterB收到此报文后,检测到neighbor字段不包含本地MAC地址,则将自己和RouterA的邻居状态标识为Initial;
RouterB回复LAN Hello报文给RouterA,RouterA收到该报文,检测到neighbor字段中包含了本地的MAC地址,于是将RouterB邻居状态标识为Established;
RouterA再次发送LAN Hello报文给RouterB,RouterB收到这个neighbor字段包含本地MAC地址的Hello报文后,将RouterA邻居状态标识为Established。此时,邻居正式建立。
ISIS邻接关系类型
ISIS在广播网络中所有路由器都形成邻接关系
MA网络相同区域邻接关系建立
L1路由器只可能建立L1邻接关系
L2路由器只可能建立L2邻接关系,L1-2路由器可以建立L1和L2邻接关系
要建立L1邻接关系,双方必须属于同一区域(可以跨区域建立L2邻接关系)
MA网络不同区域邻接关系建立
不同的区域只能建立L2邻接关系
尽管L1-2路由器具备建立L1和L2邻接关系的能力,但是如果不在同一区域,只能建立L2邻接关系
DIS选举
在广播网中,任意两台路由器之间都要传递信息。如果网络中有n台路由器,则需要建立nx(n-1)/2个邻接关系。这使得任何一台路由器的状态变化都会导致多次传递,浪费了带宽资源。为解决这一问题,IS-IS协议定义了DIS,所有路由器都只将信息发送给DIS,由DIS将网络链路状态广播出去。使用DIS和伪节点可以简化网络拓扑,使路由器产生的LSP报文长度较小。另外,当网络发生变化时,需要产生的LSP数量也会较少,减少SPF的资源消耗。 DIS选举发生在邻居关系建立后,Level-1和Level-2区域的DIS是分别选举的,用户可以为不同级别的DIS选举设置不同的优先级。IS-IS协议选举DIS的过程是每一台路由器接口都被指定一个L1类型的优先级和L2类型的优先级,路由器通过其每一个接口发送Hello数据包,并在Hello数据包中通告它的优先级。DIS优先级数值最大的被选为DIS。如果优先级数值最大的路由器有多台,则其中MAC地址最大的路由器会被选中。不同级别的DIS可以是同一台路由器,也可以是不同的路由器。 在选举DIS过程中,IS-IS协议与OSPF协议的不同点是: 优先级为0的路由器也参与DIS的选举; 当有新的路由器加入,并符合成为DIS的条件时,这个路由器会被选中成为新的DIS,此更改会引起一组新的LSP泛洪。
都参加选举,优先级为0的路由器也参与DIS的选举
抢占机制;当有新的路由器加入,并符合成为DIS的条件时,这个路由器会被选中成为新的DIS,此更改会引起一组新的LSP泛洪
LSDB同步
LSDB同步 IS-IS属于链路状态协议,IS-IS设备是直接从其他使用链路状态协议的路由器获得第一手的信息。每台路由器产生关于本身、直连网络及这些链路状态的信息,这些信息通过邻接路由器传向其他路由器,每台路由器都保存一份信息,但决不改动信息。最终每台路由器都有了一个相同的有关互联网络的信息,即完成链路状态数据库LSDB的同步。实现LSDB同步的这一过程就称为LSP泛洪。LSP报文的“泛洪”指当一个路由器向相邻路由器报告自己的LSP报文后,相邻路由器再将同样的LSP报文传送到除发送该报文的路由器外的其它邻居,并这样逐级将LSP报文传送到整个层次内的一种方式。通过这种“泛洪”,整个层次内的每一个路由器就都可以拥有相同的LSP信息,并保持LSDB的同步。 IS-IS路由域内的所有路由器都会产生LSP报文,以下事件会触发生成一个新的LSP报文: 邻居Up或Down IS-IS相关接口Up或Down 引入的IP路由发生变化 区域间的IP路由发生变化 接口被赋了新的metric值 周期性更新 不同路由器收到新的LSP报文的处理过程为: 广播链路的LSDB更新过程 广播网LSDB同步过程:广播网的LSDB同步主要通过DIS更新LSDB实现,其过程如图3所示。 DIS接收到LSP报文,在数据库中搜索对应的记录。若没有该LSP,则将其加入数据库,并广播新数据库内容。 若收到的LSP序列号大于本地LSP的序列号,就替换为新报文,并广播新数据库内容。 若收到的LSP序列号小于本地LSP的序列号,就向入端接口发送本地LSP报文。 若收到的LSP和本地LSP的序列号相等,则比较Remaining Lifetime。若收到的LSP报文的Remaining Lifetime为0,则将本地的报文替换为新报文,并广播新数据库内容;若收到的LSP报文的Remaining Lifetime不为0而本地LSP报文的Remaining Lifetime为0,就向入端接口发送本地LSP报文。 若收到的LSP和本地LSP的序列号相等且Remaining Lifetime都不为0,则比较Checksum。若收到的LSP报文的Checksum大于本地LSP的Checksum,就替换为新报文,并广播新数据库内容;若收到的LSP的Checksum小于本地LSP的Checksum,就向入端接口发送本地LSP报文。 若收到的LSP和本地LSP的Checksum也相等,则不转发该报文。 图3 广播链路数据库更新过程图  P2P的LSDB更新过程 若收到的LSP比本地LSP的序列号大,则将这个新的LSP存入自己的LSDB,并发送PSNP报文来确认收到此LSP,之后将这新的LSP发送给除了发送该LSP的邻居以外的邻居。 若收到的LSP比本地的序列号小,则将本地LSP发送给对方,然后等待对方发送的PSNP报文作为确认。 若收到的LSP序列号和本地LSP的序列号相同,则比较Remaining Lifetime,若收到的LSP报文的Remaining Lifetime为0,则将收到的LSP存入LSDB中并发送PSNP报文来确认收到此LSP,然后将该LSP发送给除了发送该LSP的邻居以外的邻居;若收到的LSP报文的Remaining Lifetime不为0而本地LSP报文的Remaining Lifetime为0,则直接给对方发送本地的LSP,然后等待对方给自己一个PSNP报文作为确认。 若收到的LSP和本地LSP的序列号相同且Remaining Lifetime都不为0,则比较Checksum,若收到LSP的Checksum大于本地LSP的Checksum,则将收到的LSP存入LSDB中并发送PSNP报文来确认收到此LSP,然后将该LSP发送给除了发送该LSP的邻居以外的邻居;若收到LSP的Checksum小于本地LSP的Checksum,则直接给对方发送本地的LSP,然后等待对方给自己一个PSNP报文作为确认。 若收到的LSP和本地LSP的Checksum也相等,则不转发该报文。
MA网络LSDB同步
P2P网络LSDB同步
路由计算
利用链路状态数据库(LSDB)使用SPF算法(Dijkstra算法),得到最短路径树,之后利用该最短路径树构建转发数据库,即建立路由表
在华为路由器上,接口的缺省开销值都是10
ISIS配置
基本配置
执行命令isis [ process-id ],创建IS-IS进程,进入IS-IS视图 执行命令network-entity net或network-entity area area-id auto-systemid lsr-id,设置网络实体名称。 执行命令is-level { level-1 | level-1-2 | level-2 },设置路由器的Level级别。 接口视图下,执行命令isis enable [ process-id ],使能IS-IS接口。
路由渗透
默认情况下,ISIS的区域都是末梢区域,因为没有其他区域的路由,需要通过路由泄露(L1-2路由器下发att置位为1的L1 lsp ),而ospf 的区域默认不是末梢区域
配置Level-2区域的路由渗透到Level-1区域
执行命令import-route isis level-2 into level-1 ,将Level-2区域和其他Level-1区域的某些路由渗透到本地Level-1区域。
使用acl匹配规则
配置Level-1区域的路由渗透到Level-2区域。
执行命令import-route isis level-2 into level-1 ,将Level-2区域和其他Level-1区域的某些路由渗透到本地Level-1区域。
使用acl匹配规则
该命令配置在与外部区域相连的Level-1-2设备上
路由聚合
isis视图下,执行命令summary ip-address mask,设置IS-IS生成聚合路由。
IPv6多拓扑
现网中务必开启
执行命令ipv6 topology topology-name ,使能IS-IS进程与指定拓扑实例相关联,并进入IS-IS IPv6拓扑视图。
ISIS认证
area认证
area-authentication-mode
domain认证
domain-authentication-mode
interface认证
isis authentication-mode
ISIS详细版v20200219