ISIS术语表:
IS ---Router路由器
ES ---Host主机
DIS ---Designated Router (DR) 功能:在广播网络中创建和更新伪结点
DIS由LAN IIH报文选举,具备最高优先级的路由器会被当选。如果所有路由器优先级相同,则最高MAC地址者当选
SysID---类似OSPF中的Router ID
PDU ---IP报文
LSP ---类似OSPF中的LSA用来描述链路状态
NSAP ---IP地址
NET ---Network Entity Title 网络实体标记,带有区域标志。
IIH ---OSPF中的Hello报文
PSNP ---OSPF的ACK报文或LSR报文
CSNP ---OSPF的DD报文
ISIS网络地址编码(重点):
NSAP由三个部分组成:区域地址,System ID和n-selector
1,区域地址 该部分长度是可变的。区域地址标识区域的路由域长度,并在路由域里固定。
2,System ID 长度为6个八位字节,在一个自治系统中值是唯一的。
3,N选择器 长度总是1个八位字节,用来指定上层协议。当N选择器设置成0时,用于IP网络。
NET---Network Entity Titles,是一个特殊的NSAP地址,其中n-selector部分为0
NET是OSI协议栈中网络设备本身的标识
IS-IS NET地址至少需要八个字节:一个字节的区域地址,六个字节的系统标识和一个字节的N 选择器,最多为20个字节。
举例:49.0001.aaaa.bbbb.cccc.00
三种地位的路由器:
Level-1路由器:
_ 只与本区域的路由器形成邻居---与直连网段的路由器协商邻居时会查看:(1)区域是否一致、(2)level级别是否一致。
_ 只参与本区域内的路由,只保留本区域的数据库信息---只保留本区域的level-1的lsdb,且该lsdb中只宣告使能了level-1级别的网段
_ 通过与自己相连的L1/2路由器的ATT bit寻找与自己最近的L1/2路由器
_ 通过发布指向离自己最近的L1/2路由器的缺省路由,访问其他区域
Level-2路由器:
_ 可以与其他区域的L2路由器形成邻居---与直连网段的路由器协商邻居时只查看是否level级别一致。
_ 参与骨干区的路由 ---level-2级别的lsdb除了宣告level-2层的网段,还宣告自己知晓的level-1层的网段。
_ 保存整个骨干区的路由信息
_ L1/2路由器同时可以参与L1路由
附:同一台路由器上,如果开启了ISIS多进程,那么也只能有一个进程被配置为level-2,第二个进程使能level-2时会提示失败。
Level-1-2路由器:
_ 可以和本区域的任何级别路由器形成邻居关系;可以和其它区域相邻的L2或L1/L2路由器形成邻居关系。如果是两个level-1-2则形成level-1-2邻居。
_ 可能有两个级别的链路状态数据库
_ L1用来作为区域内路由;L2用来作为区域间路由
_ 完成它所在的区域和骨干之间的路由信息的交换,将L1 LSDB中的路由信息转换到L2 LSDB中,以在骨干中传播,既承担L1的职责也承担L2的职责
_ 通常位于区域边界上
_ 区域边界L1/L2路由器通过下发ATT bit,指导本区域的L1路由器选择离它最近的L1/L2路由器作为访问外部网络的出口,同时下发一条默认路由。
_ 一个路由器必须整个属于某个区域,如果是level-1-2路由器,则配置的NET中指示的区域就是level-1的区域;level-2级别的路由器则无所谓属于哪个区域了。
ISIS九种报文类型:
IS-IS Hello Packets (IIH) 定期发送,用来确定相邻的其它系统是否在运行IS-IS,以建立邻接关系,交换LSP,达到LSDB同步
1,Level 1 LAN IS-IS Hello
2,Level 2 LAN IS-IS Hello
3,Point-to-point Hello
hello报文发送到组播MAC层地址:L1 IIH的组播地址为:0180-C200-0014;L2 IIH的组播地址为:0180-C200-0015
Link State Packets (LSP) 每个LSP( 含LSP分片) 都有一个自己的序列号;越大的表明越新。
Level 1 LSP:只用于本地区域,LSP报文描述了本路由器中所有的链路状态信息。
Level 2 LSP:包含IS-IS路由区域中所有可到达前缀的信息。
Complete Sequence Number packets (CSNP) CSNP用于在泛洪LSPDB时数据库同步,以范围来描述数据库LSDB中的所有的LSPs
包括Level 1 CSNP 和 Level 2 CSNP ---在广播网络上,由DIS定期发送(缺省10秒的周期);在点到点串行链路上,只在第一次形成邻接时发送CSNP来同步LSDB。
主要功能:
用于数据库同步,以范围来描述数据库LSDB中的所有的LSPs。包含地址范围,各LSP的简要信息:LSPid,SequeceNumber, checksum, remainning lifetime等重要信息。如果路由器的LSDB非常大,将分成多个CSNP发出。功能上类似于OSPF协议中的DD报文。
Partial Sequence Number Packets (PSNP)
包括Level 1 PSNP 和 Level 2 PSNP
主要功能:
在点到点链路上路由器用来相互交换作为Ack应答以确认收到某个LSP,功能上类似于OSPF协议中的LS Ack报文;
在广播网络中用来请求发送最新的LSP,当路由器从近邻接收到CSNP时,注意到某些LSP本地数据库中没有的(或自己的比较旧),路由器发送PSNP请求新的LSP。PSNP在头中利用LSPid,SequenceNumber,Remainning lifetime, LSP checksum来描述LSPs,仅仅包含有LSP报文的头部。功能上类似于OSPF协议中的LS Request报文。
DIS的选举规则:
DIS的选举原则:
_ DIS由LAN IIH报文选举,具备最高优先级的路由器会被当选。如果所有路由器优先级相同,则最高MAC地址者当选
_ Level-1和Level-2的DIS是分别选举的,选举结果可能不是同一个IS
_ DIS发送Hello数据包的时间间隔是普通路由器的1/3,这样可以保证DIS失效可以被快速检测到
_ 与OSPF不同,它的选举是抢占式,可预见的;IS-IS中不存在备份DIS,当一个DIS不能工作时,直接选举另一个
建立DIS的目的:
在广播类型子网上,如果每个路由器都独立的和其他路由器(包括这个LAN以外的路由器)进行LSP报文的交换以同步各自的链接状态数据库(LSDB),将导致一个巨大的流量增长。为防止流量因为网络的增大而迅猛增加以及使得路由器保存的状态最少,IS-IS在广播类型子网上选出一个指定路由器(DIS),并由其产生一个伪节点(pseudonode)来和其他路由器进行交互。伪节点不是一个真实的路由器,但它要占用一个额外的LSP 项。伪节点LSP是由DIS创建的。
不同层次有不同层次的DIS,即L1级的广播网选举L1级的DIS,L2级的广播网选举L2级的DIS。
OSPF和IS-IS的区别:
1,在OSPF中,我们要选举DR和BDR。DR一旦当选,具有终生制,如果DR发生故障,BDR接替原有DR,同时重新选举BDR。而在IS-IS路由协议中,我们只需要选举DIS路由器,没有备份DIS的概念,DIS路由器不具终生制,一旦网络中新增加的路由器DIS的优先级高于当前的DIS的优先级,网络中将重新选举新的DIS,网络的稳定性较差。
2,在OSPF路由协议中普通路由器DR Other只需和DR、BDR建立邻接关系,DR Other路由器间只需建立邻居关系,相互间握手即可。而IS-IS路由协议中由DIS生成一个伪节点(pseudonode),由伪节点周期性的发送CSNP报文和其他节点进行数据库的同步。
DIS负责生成伪节点的LSP,伪节点和本网络中的所有路由器建立联系,并且不允许它们之间直接联系。
总结:IS-IS协议中,广播子网和NBMA网络在外部被看成一个伪节点。同一网络中的IS之间会根据各自优先权选出一个DIS。网络中的非DIS会向DIS报告自己的链路状态信息,而DIS 则代表整个网络中所有的IS报告链路状态信息。
DIS的作用:
1,在广播子网中创建并向所有路由器通告伪节点LSP
2,在LAN中通过每10秒周期性地发送CSNP来泛洪LSP
伪节点的作用:
1,伪节点是在广播多路访问网络中的一台虚拟路由器
2,伪节点由DIS创建
3,DIS在伪节点LSP中通告LAN中的所有邻居
4,LAN中的所有路由器在它们的LSP中通告自己与伪节点的连接性
ISIS区域的定义:
IS-IS将整个路由域分为若干个区域(Area),我们使用NET(Network Entity Title)中的Area ID部分来标识区域号。本区域的所有L1路由器必须有相同的Area ID,L2路由器则没有此限制。
Level-1的普通区域和Level-2的骨干区域间通过L1/L2路由器相连,L1/L2路由器完成把L1 LSDB的链路数据库信息转化为L2 LSDB的链路数据库信息传递到骨干区域中;同时通过ATT bit指导L1路由器如何转发流量到外部网络。
IS-IS路由协议与OSPF路由协议不同,一台路由器必须整体属于某个区域,而不像OSPF路由协议那样一台路由器的不同接口可以分别属于不同的区域。可以说IS-IS是以路由器来划分区域的,而OSPF以接口来划分区域的。
IS-IS路由协议采用分层的网络结构,只有同一层次的路由器才能建立邻居关系,L1路由器只有和本区域的L1路由建立邻居关系,L2路由器可以和其他区域的L2路由器形成邻居关系,L1/L2路由器既可以和本区域的L1路由器形成邻居关系,又可以和其他区域的L2路由器形成邻居关系。
ISIS邻居关系的建立:
IS-IS路由协议中只有同一层次的相邻路由器才可能成为邻接体。在不同类型的网络上,IS-IS的邻接建立的方式并不相同。
定义:通过互相发送hello报文的方式,告知对方自己的源地址,保持时间以及支持的网络层协议(比如IP)
IS-IS路由协议通过IIH报文建立邻居关系时需要遵循的基本原则:
(1) 只有同一层次的相邻路由器才有可能成为邻接体
(2) 对于Level-1路由器来说要求区域号一致
(3) 同一网段检查,此项为华为特性。由于IS-IS直接承载在数据链路层之上,理论上是不需要进行同一网段的检查。华为VRP提供了这一新功能,进行同一网段检查,保证邻居关系的正确建立。
(4) 与OSPF协议的不同之处:OSPF协议使用接口来划分区域,一台路由器可能同时属于多个区域,和多个区域的路由器形成邻居关系;而IS-IS协议规定路由器整体属于某个特定的区域,L1路由器只能建立Level-1的邻居关系,L2路由器只能建立Level-2的邻居关系。
针对点到点网络:
1,IS-IS路由协议中在点到点链路上,没有三次握手机制,即一方收到对方的hello,经合法性检查后,邻居就直接up了。OSPF需要三次握手才能建立邻居关系,可靠性更好。
2,在点到点链路上,缺省将进行ip地址在同一网段上的检查,ip地址不在同一网段将导致链路两端邻居建立失败。最近,VRP新做了一条命令,ignore-ppp-ip-check, 通过配置该命令可以取消ppp链路上的同一网段检查。该命令只对链路层为ppp协议的链路生效,缺省情况下该命令不生效。
针对广播型网络:(1)先通报自己,邻居为null;(2)收到对方的通报,邻居也为空;(3)发送通过,邻居为对方,然后邻居关系就建立了。
1,IS-IS的广播网网络类型采用组播地址发送HELLO报文。邻居双方都收到了HELLO报文,邻居关系就建立了。
2,IS-IS路由协议中广播链路上需要进行三次握手验证,邻居才可以UP。因此可靠性更好一些。在这一点上和OSPF协议的广播类型一致。
ISIS协议数据报文PDU:
IS-IS路由协议和其他路由协议不同,它直接承载在数据链路层之上。Peer间通过传递协议数据包(PDU)来传递链路信息,完成链路数据库的同步。
PDU (Protocol Data Unit)的格式分为三大部分:
1,数据链路层头:OSI Family 固定为0XFEFE。
2,IS-IS固定报文头:第一字节为0X83;如果采用ES-IS协议,其固定报文头的第一个字节为0x82,采用CLNP协议,其固定报文头的第一个字节为0x81。
3,IS-IS TLVs:具体描述IS的链路状态。
ISIS链路状态协议单元LSP:
以下三个标志组合起来用来唯一标识一个LSP:
1,SourceID(产生该LSP的结点或伪结点的SysID);
2,Pseudonode ID:对普通LSP为0;对Pseudonode LSP为非0,这是区分一个LSP是否是伪结点产生的标志;
3,LSP number:分片号(产生的LSP大于LSP MTU将分片)
LSP id 例子:00c0.0040.1234.01--00, 其中: SourceID :00c0.0040.1234;Pseudonode ID :01( 表明为伪结点产生的);分片号:0
如何区别一个LSP较新:
LSP序列号:
1)每个LSP报文中都包含后一个LSP Sequence Number参数,来标识该LSP报文的序列号。当第一次产生该LSP报文时,序列号值为1,当发生变化重新生成LSP时,序列号会逐次增加,LSP序列号的范围:0-2^32。
2)当路由器接受到邻居发送过来的LSP时,会比较该LSP报文的序列号,如果序列号比本地数据库中的序列号更大,则表明该LSP报文更新,需要接收到本地的链路状态数据库中,LSP Sequence Number越大,LSP越新。
LSP生存时间:
IS-IS路由协议的LSP生存时间从1200秒(20分钟)倒计时到0,我们也可以设置最大为65535秒的生存时间;而OSPF路由协议的生存时间从0秒正计时到3600(60分钟)。
收到较新版本的LSP时,将重置生存时间;当生存时间超时,该LSP将从网络中被清除。
IS-IS路由协议产生LSP的路由器会在15分钟时主动发起泛洪,进行LSP的更新,OSPF路由协议产生LSA的路由器会在30分钟时主动发起泛洪,更新LSA。
产生新的LSP的时机:
1,邻接关系建立起来或者down掉;
2,IS-IS相关接口up/down;
3,引入的IP路由发生变化;
4,区域间的IP路由发生变化;
5,接口被赋予了新的matric值;
6,周期性更新。
链路状态报文,含有一个路由器的所有信息,包括邻接、所连接的IP前缀、OSI终端系统、区域地址等
ISIS数据库交换过程:
进行数据库交换(flooding)的原因:可靠的flooding是IS-IS SPF路由计算算法的重要基础,而这两者是IS-IS作为链路状态路由协议最重要的两个组成部分
1,所有的路由器都产生一个LSP(可能分片),放在自己的数据库中;
2,所有的LSP都要复制并发送到网络中的所有其他路由器,如果数据库不同步的话,路由计算就可能错误,可能引起路由环路
收到邻居新的LSP的处理过程:
1,将新的LSP安装到自己的LSPDB数据库中标记为flooding
2,发送新的LSP到所有邻居
3,邻居再扩散到其它邻居
点到点链路数据库交换:一旦邻居关系建立后,邻居间相互发送LSP报文进行LSDB的同步
当路由器收到一个LSP报文时,会与自己LSDB中对应(对应产生此LSP的路由器)的已有LSP进行比较:
(1)如果收到的LSP比已有的序列号更大,则将这个新的LSP存入自己的LSDB中,再通过一个PSNP报文来确认此LSP,最后将这个新LSP再接着“泛洪”到所有其他邻居。
(2)如果收到的LSP和已有的具有相同的序列号,则直接通过一个PSNP报文确认此LSP。
(3)如果收到的LSP比已有的序列号更小,则通过一个PSNP报文确认此LSP,再发送给对方我们版本的LSP,然后等待对方给我一个PSNP报文作为回答。
广播网络数据库交换:由DIS周期性的发送CSNP
1,DIS产生的伪节点周期性的发送CSNP报文给本区域中的其他路由器,普通路由器接受到CSNP报文后,和本地链路状态数据库LSDB进行比较:
2,如果本地数据库中没有的或者有更新的LSP信息,则向DIS路由器发送PSNP报文请求需要的LSP。DIS路由器收到请求报文PSNP,根据要求发送LSP给相应的请求路由器。
3,如果收到的CSNP报文中的LSP信息比本地数据库中的要陈旧,则发送本地的LSP给DIS进行更新。
4,如果收到的CSNP报文中的LSP信息和本地数据库中信息一致,则不做任何操作。
ISIS进行路由引入,即把引入的路由信息加入到lsp的分片中发给邻居,然后邻居根据这些lsp进行引入路由的计算,并加入总路由表。特别注意,level-1级别的路由器缺省无法进行路由的引入。(因为缺省引入level-2级别)
ATT位的功能(重点):
ATT位的作用:当某个区域的L1/L2路由器和其它区域有连接关系的时候,它将在它产生的L1 LSP中设置ATT bit,来告诉本区域中的L1路由器,它有一个区域出口点;
本区域的L1路由器利用L1 LSPDB中的ATT bit来作为可能的区域出口点;如果有多个,选择一个离自己最近的设置了ATT bit的L1/L2路由器作为区域的缺省出口点,对于IP路由来说,具体表现就是L1路由安装一条指向该L1/L2路由的缺省路由0.0.0.0/0在路由表中。
注:即level-1路由器会找到置位的level-1-2路由器,并选择出到这些路由器cost最小的,然后生成一条默认路由指向该level-1-2路由器。
由于是离自己最近的边界路由器,并不一定是最优路径,所以可能存在次优路由,我们可以通过路由渗透的方法,强制把骨干区域的路由注入到Level-1区域内,保证路径选择的可靠性和最优性。即在level-1-2路由器上,指定将某些level-2的路由发布给level-1路由器。这样在level-1路由器就有此具体路由,可以在level-1内部进行选路。通过ATT bit实现。
ATT置位的条件:当level-2路由表中存在level-1路由表不存在的路由项时,会在相应的level-1-lsp中置位。
level-1-2路由器向level-1区域传递缺省路由的条件是:level-1-2路由器上至少存在一个和所连level-1区域号不一致的区域。如果所有路由器的net的区域部分配置都一样,那么就算路由器被配置为level-1-2路由器,也不会在ATT上置位。
涉及两种跨级别引入方式:
import-route isis level-1 into level-2 route-policy用来控制Level-1路由向Level-2区域的渗透,有利于路由管理。该命令需配置在与外部区域相连的Level-1-2路由器上。
缺省情况下,Level-1的路由信息(除了缺省路由的信息)都将渗透到Level-2区域中。增加route-policy等过滤条件,实现对部分不想引入level-2的路由的过滤。
import-route isis level-2 into level-1 route-policy命令用来控制IS-IS从Level-2向Level-1进行路由渗透,该命令需配置在与外部区域相连的Level-1-2路由器上。
缺省情况下,Level-2区域的路由信息不渗透到Level-1区域渗透。
LSP的解析(重点):
LSPID Seq Num Checksum Holdtime Length ATT/P/OL
-------------------------------------------------------------------------------
0110.0100.1001.00-00* 0x00000019 0x985f 527 137 0/0/0
SOURCE 0110.0100.1001.00
NLPID IPV4
AREA ADDR 49.0001
INTF ADDR 100.0.1.2 //该路由器上使能了isis的接口,不管是那个级别的
INTF ADDR 100.0.13.1
INTF ADDR 100.0.12.1
NBR ID 0010.0100.1010.00 COST: 10 //该路由器在该级别的邻居
NBR ID 0110.0100.1002.00 COST: 10
IP-Internal 100.0.1.0 255.255.255.252 COST: 10 //该路由器所了解的网段信息(自身的),对于level-1则只有使能了level-1的接口网段
IP-Internal 100.0.13.0 255.255.255.252 COST: 10
IP-Internal 100.0.24.0 255.255.255.252 COST: 20
IP-Internal 100.0.34.0 255.255.255.252 COST: 20
IP-Internal 100.0.12.0 255.255.255.252 COST: 10
注释:标红部分表示该LSDB描述的IP网段信息,附带开销信息,其中“IP-Internal”表示为narrow开销模式,“+IP-Extended”表示为wide开销模式,两种模式无法兼容(除非isis下开销模式配置为兼容模式)会导致对应的路由在本地无法生成。
如果引入了路由,则会产生一个lsp分片,把引入的路由信息或者缺省路由信息显示在里面。
level-2路由的计算过程:
1、首先isis路由器根据lsp指示的system-id计算出路由器的生成树,且每个路由器的lsp上都存在ip前缀。
2、isis路由器根据level-2级别的lsp所指示的level-2接口网段,先计算出可靠的level-2路由网段,可以看到下一跳;
3、然后根据邻居的lsp指示的ip前缀,计算出level-1路由网段,后面没有下一跳。(由于lsp中邻居的ip前缀是无法区分这是一个level-1还是level-2的,但是自己的lsp是可以区分出的,所以添加level-1的路由网段时是根据邻居的lsp生成的,相应的cost值需要进行累加)
ISIS快收敛(重点):
ISIS实现快收敛的四个主要途径:
1)i-SPF(增量SPF计算)
2)PRC(部分路由重计算)
3)LSP快速扩散
4)智能定时器(包括SPF智能定时器和LSP产生的智能定时器)
此外还可以通过BFD for ISIS来实现故障快速检测,优化ISIS网络类型来实现快速收敛的目的。
配置参考:
isis 1
is-level level-2
cost-style wide
timer lsp-generation 1 50 50 level-2 // LSP产生智能定时器配置(两次产生同一LSP时使用该定时器)
flash-flood 15 level-2 // 快速泛洪LSP(每接口每33ms)
bfd all-interfaces enable // 如果所有运行了ISIS的接口都需要BFD,则配置该命令使能BFD for ISIS
network-entity 22.0000.0000.0001.00
timer spf 1 50 50 // SPF计算智能定时器(SPF计算延时智能定时器)
traffic-eng level-2 // 全网要启用TE,故需要配置ISIS扩展
interface GigabitEthernet1/0/0
undo shutdown
ip address 22.1.3.1 255.255.255.0
isis enable 1
isis bfd enable //也可以接口单独启用BFD for ISIS
interface GigabitEthernet1/0/1
undo shutdown
ip address 22.1.2.1 255.255.255.0
isis circuit-type p2p //对于点到点连接的广播链路可以修改链路类型为P2P,避免选举DIS,加快收敛
isis enable 1
isis bfd enable
注意:i-SPF功能和PRC功能为当前ISIS的默认算法,已经使能,不需要另外单独配置。
解释:Timer lsp-generation 两次产生同一个LSP分片时使用该定时器,init-interval :产生同一LSP分片的初始间隔时间。 incr-interval :两次产生同一LSP分片之间的递增时间间隔,每变化一次,间隔增加一个incr-interval。在初次进行SPF计算时,所需时间间隔为init-interval;随后,每变化一次,间隔增加一个incr-interval,直到max-interval。稳定在max-interval三次后,间隔又降回到init-interval。
在IS-IS协议中,当LSDB改变时,需要重新计算最短路径,如果频繁地计算最短路径,将占用大量的资源,影响路由器的效率,延迟SPF计算可以在一定程度上提高路由计算的效率,减少系统资源的消耗。但另一方面,如果路由计算的延迟时间过长,则会减慢路由的收敛速度。为了加快路由的收敛速度,同时又不至于影响路由器的效率,在SPF计算中使用了智能定时器,它可以根据LSDB的变化频率自动调整间隔时间。
ISIS路由优选原则:
ISIS路由优选:
整体原则:Internal类路由优于External类外部路由
Internal类路由:包括Internal路由和Internal类型的外部路由,优先级相同,直接比较cost。引入的路由如果指定为internal类型,那么引入路由和isis内部路由优先级一致。
External类外部路由:仅cost-style为narrow时存在。即引入时指定路由类型为external,cost=64。优先级要低于isis内部路由和internal类型的外部路由。
L1/L2路由器上:路由类型相同时优选从L1区域学到的路由(不比较cost),从L2渗透到L1的路由除外
形成等值路由的条件:多条路由来自同一层次且类型和cost相同,区域呢??????
外部路由的生成:
引入路由缺省发布到level2(即其为level-1路由器,会造成路由引入不成功)
Cost-style为narrow/narrow compatible
使用TLV 0X82(IP External Reachbility)承载路由信息,不能携带tag
缺省引入路由类型为External、cost=64(external外部路由的cost值必然大于isis内部路由,因为isis内部路由narrow模式下cost值最大为63,而external路由指定cost值时实际路由计算时按64+指定值计算)
引入路由类型设置为Internal时,缺省cost=0
Cost-style为wide/wide compatible(该模式下由于不区分internal和external,所以引入路由和isis内部路由优先级一致)
使用TLV 0X87(Extended IP Reachbility)承载路由信息,可以通过sub-TLV携带tag信息
不区分External和Internal类型,缺省cost=0
附:ISIS协议引入外部路由时可以配置inherit-cost参数,意思是引入外部路由时保留路由的原有开销值。当配置IS-IS保留引入路由的原有开销值时,将不能配置引入路由的开销类型和开销值。目前OSPF引入外部路由没有类似参数。
ISIS外部路由优选原则:
1、narrow-metric
使用TLV 0X82(IP External Reachbility)携带外部路由信息,可集成在原始LSP(.00-00 VRP5)或独立的分片LSP(.00-nn VRP3)中;不能携带tag信息
1.1 import缺省引入路由类型为External、cost=64(对应LSP中default-metric为0)、引入到level-2;指定cost值时实际路由计算时按64+指定值计算。路由优先级低于Internal类型路由,如下例:
[RT4-isis-1]disp this
isis 1
is-level level-1
network-entity 48.0000.0000.0004.00
import-route static cost 5 level-1 tag 1414
[RT4-isis-1]disp isis lsdb local verbose
Level-1 Link State Database
LSPID Seq Num Checksum Holdtime Length ATT/P/OL
-------------------------------------------------------------------------------
0000.0000.0004.00-00* 0x0000001d 0xfa49 580 98 0/0/0
SOURCE 0000.0000.0004.00
NLPID IPV4
AREA ADDR 48
INTF ADDR 1.1.1.14
INTF ADDR 172.16.20.2
NBR ID 0000.0000.0004.02 COST: 10
IP-Internal 1.1.1.14 255.255.255.255 COST: 0
IP-Internal 172.16.20.0 255.255.255.252 COST: 10
IP-External 10.10.0.0 255.255.255.0 COST: 69
1.2 import引入路由类型设置为Internal时,缺省cost=0(对应LSP中default-metric为0)、引入到level-2;配置的cost值为用于实际路由计算的cost,引入路由与ISIS内部路由优先级一样,cost直接可比。如下例:
[RT0-isis-1]disp this
isis 1
is-level level-1
network-entity 49.0000.0000.0010.00
import-route static cost 60 cost-type internal level-1
[RT0-isis-1]disp isis lsdb loc v
Database information for ISIS(1)
Level-1 Link State Database
LSPID Seq Num Checksum Holdtime Length ATT/P/OL
-------------------------------------------------------------------------------
0000.0000.0010.00-00* 0x00000019 0xba09 967 130 0/0/0
SOURCE 0000.0000.0010.00
NLPID IPV4
AREA ADDR 49
INTF ADDR 1.1.1.10
INTF ADDR 10.0.0.1
INTF ADDR 192.168.1.1
INTF ADDR 1.1.2.10
NBR ID 0000.0000.0001.00 COST: 10
IP-Internal 1.1.1.10 255.255.255.255 COST: 0
IP-Internal 10.0.0.0 255.255.255.252 COST: 10
IP-Internal 192.168.1.0 255.255.255.252 COST: 10
IP-Internal 1.1.2.10 255.255.255.255 COST: 0
IP-Internal 10.10.0.0 255.255.255.0 COST: 60
2、wide-metric
使用TLV 0X87(Extended IP Reachbility)携带外部路由信息,集成在原始LSP(.00-00 )中;可以通过sub-TLV携带tag信息
不再区分External和Internal类型,缺省cost=0(对应LSP中default-metric为0)、引入到level-2;指定的cost值为实际路由计算的cost,引入路由与ISIS内部路由优先级一样,cost直接可比。如下例:
[RT4-isis-1]import-route static ?
cost Cost of imported routes
level-1 Import into level-1 area
level-1-2 Import into level-1 and level-2 area
level-2 Import into level-2 area
route-policy Apply the specified route policy to filter route
tag Set tag for routes imported into ISIS
[RT4-isis-1]import-route static cost ?
INTEGER<0-4261412864> Cost value
[RT4-isis-1]disp this
isis 1
is-level level-1
cost-style wide
network-entity 48.0000.0000.0004.00
import-route static cost 5 level-1 tag 1414
LSPID Seq Num Checksum Holdtime Length ATT/P/OL
-------------------------------------------------------------------------------
0000.0000.0004.00-00* 0x00000029 0xdddb 1199 92 0/0/0
SOURCE 0000.0000.0004.00
NLPID IPV4
AREA ADDR 48
INTF ADDR 1.1.1.14
INTF ADDR 172.16.20.2
+NBR ID 0000.0000.0004.02 COST: 10
+IP-Extended 1.1.1.14 255.255.255.255 COST: 0
+IP-Extended 172.16.20.0 255.255.255.252 COST: 10
+IP-Extended 10.10.0.0 255.255.255.0 COST: 5 Tag: 1414
可以看到蓝色部分不再是internal和external了。同时从上面看,除了tag外,看不出来外部路由和内部路由的区别。
ISIS路由聚合:
ISIS路由聚合:
summary ip-address ip-mask [ level-1 | level-1-2 | level-2 ]
1、可以在本地路由器(本地生成或引入的)或L1/L2路由器(跨级别引入的,当然L1/L2路由器也可以聚合本地产生的)上使用
2、本地路由器上可以聚合本地产生的内部+外部路由(路由聚合时不区分路由类型)??????
解释:本地路由器包括所有级别的路由器,如果是level-1,那么就把自己产生和引入的路由聚合后作为level-1的lsa发布到level-1区域中(实际只level-1参数有效);如果是level-2,那么就把自己产生和引入的路由聚合后作为level-2的lsa发布到level-2骨干区域(实际只level-2参数有效);如果是level-1-2,那么这三种参数都可以配置,分别可以把自己产生和引入的路由聚合后作为相应的level-1或level-2的lsa单独发往level-1或level-2或者两者都发。
3、level级别参数,表示只对引入到Level-1或骨干区域的路由进行聚合,如果是level-1-2,表示对向Level-1区域以及骨干网络引入的路由都进行聚合
聚合路由属性:
Narrow-metric:路由类型统一改为Internal;如明细路由全部为External类型,聚合路由cost统一改为63(Internal路由的最大cost值)
Wide-metric:聚合路由的cost与最优明细路由相同,tag丢失
4、L1/L2上可以聚合发给L2的本区域内部所有类型路由(缺省就会将level-1的路由发往level-2)
5、L1/L2上可以聚合发给L1区域的L2层所有类型路由(路由渗透时)
6、建议加上[ avoid-feedback ](表示不会再处理自己聚合过的又从别人送回来的) 和[ generate_null0_route ]参数,避免聚合路由造成环路(仅VRP5支持)
注意点:
不要聚合loopback地址路由
为便于管理,建议为聚合路由配置tag进行标记
为避免出现环路或路由黑洞,注意在本地配置相同的静态黑洞路由(VRP5中配置[generate_null0_route]参数后自动生成黑洞路由)
ISIS路由过滤:
ISIS的路由过滤只有三种:
1、filter-policy export命令用来配置IS-IS对import引入的路由在向外发布时进行过滤。
2、filter-policy import命令用来设置IS-IS对接收的路由是否加入IP路由表进行过滤。该命令不影响LSA。
3、set-overload命令用来设置非伪节点LSP的过载标志位。虽然设置了过载标志位的LSP会在网络中扩散,但是在计算通过超载路由器的路由时不会被采用。即,对ME设备设置过载位后,其它ME设备在进行SPF计算时不会考虑这台ME设备。但该ME设备的直连路由不会被忽略。
ISIS的COST设置:
cost-style { narrow | wide | wide-compatible }
cost-style { compatible | narrow-compatible } [ relax-spf-limit ]
命令用来设置IS-IS路由器接收和发送路由的开销类型,缺省情况下,路由的开销类型为narrow。
relax-spf-limit 表示允许接收开销值大于1023的路由。否则做丢弃处理。
compatible 可以接收或发送开销类型为narrow和wide的路由。
narrow和wide的兼容原则是:
1、narrow和narrow-compatible类型缺省可以发送和接收narrow类型,而只有narrow-compatible可以接收wide类型;
2、wide和wide-compatible类型缺省可以发送和接收wide类型,而只有wide-compatible可以接收narrow类型;
结合以上两点,来计算这四者之间的兼容性。
缺省不使能接口自动cost,然后所有接口的cost值都是10。
![ccb05214ec48cfe776c7a7a9c3974865.png](https://i-blog.csdnimg.cn/blog_migrate/84b92804d03a91cf165ac50e2476f34a.jpeg)