isis 协议
协议概述:
中间系统到中间系统IS-IS(Intermediate System to Intermediate System)属于内部网关协议IGP(Interior Gateway Protocol),
用于自治系统内部。IS-IS也是一种链路状态协议,使用最短路径优先SPF(Shortest Path First)算法进行路由计算。
工作原理
IS-IS是一种链路状态路由协议,每一台路由器都会生成一个LSP,它包含了该路由器所有使能IS-IS协议接口的链路状态信息。
通过跟相邻设备建立IS-IS邻接关系,互相更新本地设备的LSDB,可以使得LSDB与整个IS-IS网络的其他设备的LSDB实现同步。
然后根据LSDB运用SPF算法计算出IS-IS路由。如果此IS-IS路由是到目的地址的最优路由,则此路由会下发到IP路由表中,并指导报文的转发。
报文类型:
1. Hello:主要是用于邻居表的建立,维护和拆除,作用与OSPF中的hello相同
2.snp(序列号报文)
*CSNP:complele snp,完全序列号报文,相当于OSPF中的DD报文;
*PSNP:portion SNP,部分序列号报文,相当于OSPF中的LSR和LSAck;
3.LSP(link state pdu):链路状态报文/协议数据单元,相当于OSPF中的LSU
*伪节点LSP:表示的是由DIS产生的用于表示DIS的管理范围,类似于OSPF的2类LSC,不能用来表示路由条目信息。
*非伪节点LSP:由非DIS产生的LSP,其中包含的都是路由条目信息,可以用来计算路由条目
链路状态路由协议的特点:
OSPF和ISIS都称为“链路状态路由协议”
特点1:在路由器之间传递的是链路状态信息,不是路由
特点2:理论上来说,所支持的网络规范是没有限制的
案例1--相同区域建令居
*总长度是8个字节---20个字节
*系统ID和选择符都是固定的,区域ID是可变的,区域ID最短为1个字节,最长为13个字节
*display isis peer //查看isis的邻居关系表
*system id :邻居设备的系统ID
*interface:表示的是本地设备用来与对端建立邻居时使用的接口
*circuit id :电路ID,其实表示的是ISIS的DIS,平时还称之为“伪节点”
*state :邻居设备的状态,总共有三种情况:init/up/down,init:正要打算建立邻居,up:邻居建立完成,down:邻居未建立
*HoldTime:保持时间,表示在多长时间内收不到对方设备发送的hello报文,就该干掉该邻居,相当于ospf中的dead计时器。默认情况下是hello时间的3倍
*Type :表示邻居的类型,有两种:level 1/level 2 ,但是后面的()里面的L1/L2表示的是邻居路由器的类型【默认情况下,每个路由器都同时支持L1/L2的报文】
*PRI:priority,表示邻居设备的优先级,该参数仅仅用于DIS(DR)的选举,默认优先级是64.
-----------------------------------------------hello报文分析----------------------------------------------------
1. isis报文是封装在2层头部后面
2.2层头部的目标MAC地址:01-80-c2-00-00-14,表示所有的L1路由器
3.2层头部的目标MAC地址:01-80-c2-00-00-15,表示所有的L2路由器
4.结构:
*电路类型/接口类型:默认是L1/L2
*系统ID:发送报文的设备的系统ID
*保持时间:不同的路由器角色,保持时间不相同
*优先级:默认是64,专门用于选举DIS。
1. 默认情况下,接口上的DIS优先级,无论是L1还是L2,默认都是64
2.选举DIS的规则
*优先比较优先级,越大越好,取值范围0-127
*如果优先级相同,则比较接口的MAC地址,越大越好
3.在isis中,DIS的优先级数值为0,仅仅表示一个最小的优先级。DIS是可以被抢占的。
修改DIS优先级命令:
interface g0/0/0
isis dis-priority ** {level-1|level-1-2}
验证DIS参数的命令:
display isis interface g0/0/0 verbose //查看一个接口的isis协议的详细信息
4.DIS的特点:
*DIS是可以被抢占的【OSPF中的DR不可用被强占】
*isis中没有备份的DIS(即BDIS)【OSPF中可以存在BDR】
*isis中的DIS优先级为0的设备也可以参与选举。【OSPF中的优先级为0的设备,永远只能是DRouter,不能参与DR的选举】
*isis网络中,所有的isis设备之间都互相建立邻居,同步数据库,不仅仅是和DIS建立
*DIS设备的系统ID:在isis中,DIS依然是一个接口的概念,比如0000.0000.1111.01,表示的是系统ID为0000.0000.1111这个路由器
DIS的作用:
当建立ISIS邻居的两个路由器之间的网段中同时存在多个路由器,为了高效的同步isis数据库,所以选举一个“指定路由器”,即DIS
ISIS的网络类型:
1.广播网络类型
*需要选举DIS
*默认情况下运行ISIS协议的接口默认都是广播
如果要修改网络类型:
interface g0/0/0
isis ciruit-type p2p --->网络类型改为P2P
undo ciruit-type p2p -->网络类型改为广播
2.点到点网络类型
*不需要选举DIS
*区域ID:表示的是发送这个Hello报文的接口所属于的区域号
*IS neighbor:包含的是与自己建立了邻居状态的路由器的MAC地址
注意:如果ISIS路由器在接收到Hello报文中的is neighbor字段发现了自己的MAC地址,那么邻居的状态就会立刻进入到UP(此时是对应着OSPF的two-way)
*IP interface:表示与对端设备建立邻居时,所使用的接口的IP地址(如果两端的IP地址不能互通,也是无法建立邻居的)
*protocol supported:协议支持字段,该字段在当前的网络环境中,都是IP,即ISIS即支持IP,也支持CLNP,所以称之为:集成的ISIS协议。
-------------------------------------------ISIS邻居建立的影响因素--------------------------------------
案例2---不同区域建立邻居
1. 要考虑ISIS路由器的类型,决定了产生ISIS报文的能力,两边的路由器类型一定要互相兼容。默认是L1/2,但是可以手动修改;
命令:
isis 1
is-level Level-1 -->只产生Level 1的报文
验证命令:
display isis brief
------->system level:L1
2. 要考虑ISIS路由器接口的类型,决定了收发ISIS报文的能力,默认L1/L2,这个参数也是可以修改的;
命令:
interface g0/0/0
isis circuit-level level-1--->只收发类型1的报文
验证命令:
display isis interface g0/0/0
3.不同区域的ISIS邻居类型,只能是L2的。不同区域的ISIS路由器的类型以及接口的类型,必须同时支持level-2
*不同区域之间是不发送L1的,因此可以对不同区域之间的链路接口做个小优化,即只收发L2的报文
命令:
R2:
int g0/0/0
isis circuit-level level-2
R3:
int g0/0/1
isis circuit-level level-2
*骨干区域和非骨干区域
*骨干区域:level-2
*非骨干区域:level-1
*如何将区域49.00012配置为非骨干区域,区域49.0003配置为骨干区域?
#两种方法:
&方法1
1. 将R2/R3之间的链路的类型修改为L2
2. 将R1/R2之间的链路的类型修改为L1
命令:
R1:
int G0/0/0
isis circuit-level level-1
R2:
int g0/0/1
isis circuit-level level-1
int g0/0/0
isis circuit-level level-2
R3:
int g0/0/1
isis circuit-level level-2
&方法2
1.将R1路由器修改为level-1路由器
命令:
R1:
isis 1
is-level level-1
4. 两端地址必须可以ping通,接口IP地址的掩码是否相同,无所谓。
5.确保接口可以发送/接收报文
*必须确保接口下开启了isis协议
*接口链路类型,必须兼容“收到的isis报文”的类型
*接口下不能配置ACL,拒接ISIS报文
*确保接口下没有配置isis的“静默接口特性”
命令:
interface g0/0/0
isis silent --->不能发也不能收isis报文
*接口下不能配置ACL,拒接ISIS报文
举例:通过2层ACL,拒绝ISIS报文,影响邻居建立
配置:
R2:
acl 4000
rule 10 deny destination-mac 0180-c200-0014
quit
interface g0/0/1
traffic-filter inbound acl 4000
quit
6.比较hello报文的参数
*两边支持的最大区域数量一定要相同(默认3个),同一个路由器可以同时配置最多3个NET地址,区域ID不同,系统ID相同
*主要的应用场景;同一个路由器在不同的isis区域之间进行迁移,同时确保他们之间的数据通信不会断开。
*直接建立邻居的两个设备的“系统ID”不能相同
*建立邻居的接口
------------------------------------------------------原理详解------------------------------------------------
邻居表详解
数据库详解
-概述:
1. 包含的是“链路状态信息”
2.一部分的链路状态信息,是自己产生的
3.另外一部分链路状态信息,是从其他的邻居设备学习过来的
4.同一个区域中的所有的路由器的数据库是相同的
5.数据库中的条目信息,直接是用来计算路由条目信息的
-组成
1.L1的数据库:包含的全是L1的LSP
2.L2的数据库:包含的全是L2的LSP
3.数据库的类型
*完全是有路由器的ISIS系统级别决定的
*如果路由器的ISIS的is-level是L1,那么该设备上仅仅有L1的ISIS LSDB
*如果路由器的ISIS的is-level是L2,那么该设备上仅仅有L2的isis的 LSDB
*如果路由器的ISIS的IS-level是L1/L2,那么该设备上同时具备L1/L2的ISIS LSDB
-条目分析
查看ISIS数据库命令:display isis lsdb
举例:查看R1和R2所在区域的数据库
R1的lsdb:
LSPID:表示的是每个LSP的名字
组成:
*系统ID :产生这个LSP的那个ISIS路由器的系统ID,长度为6个字节
* 伪节点标识符 : 表示该LSP是不是DIS产生的【伪节点就相当于OSPF中的DR】
该字段的值为00,说明这个LSP叫做“非伪节点LSP”,可以直接用来计算路由,相当于OSPF中的1类LSA
该字段为非0时,就说明这个LSP就是DIS,这个非00的数值,表示的就是DR的接口编号。相当于OSPF中的2类LSA,仅仅用来宣告DIS的管理范围
* 分段标识符:即一个LSP的长度太大了,所以在发送的时候,LSP被分割了
1. 如果取值为00,说明这个LSP没有被分割
2.如果取值为非00,说明这个LSP被分割了
3.注意:当表示ISIS的外部路由的时候,也会将“分段标识符”设置为非00
* *号:
如果LSPID后面有*号,说明这个LSP是由当前路由器产生的
如果LSPID后面没有该符号,说明这个LSP是由其他设备产生的,即从邻居学习来的
Seq Num :
作用:sequence number ,序列号,表示的是LSP的新旧程度,LSP每变化一次,系列号都会+1,【这点与OSPF中的LSA的序列号作用相同】
Checksun :
作用:(效验和)主要是为了检查LSP在传输过程中有没有出错,同时,还能够用于比较LSP的新旧程度
Holdtime :
作用:(保持时间)表示的是LSP的存活时间。【与OSPF中的LSA的age计时器的作用相同】
1. 与LSA中的age比较,Holdtime 是倒计时的,age是正计时
2.与LSA中的age比较,Holdtime最大时间是1200s;age是3600s
3.在ISIS中,要删除一个LSP,就将他的Holdtiime设置为0
4.在OSPF中,要删除一个LSA,就将age设置为3600
LSP的标记位:
*ATT:作用:称之为attached(关联),关联着(骨干区域)的意思,
如果ATT为1,说明产生这个LSP的路由器,连接着骨干区域。路由器可以使用这样的LSP,计算出一个“默认路由”
如果ATT为0,说明产生LSP的路由器,没有连接骨干区域。路由器不能根据这种LSP,计算出一个“默认路由”
*P :作用:类似于OSPF中的“虚链路”,但是在当前的IPV4环境下,ISIS类似于“虚链路”的功能并没有进行开发,所以该标记位一直是0
*OL:作用:称之为overload(超载),如果OL为1,说明产生LSP的路由器系统资源不足,所以在计算路由时,不能将这个路由器作为下一跳路由器,数据包不能通过该 设备进行转发。如果OL为0,说明产生LSP的路由器没有超载,那么在计算路由器的时候,可以作为下一跳设备。
应用场景:当在进行设备割接/切换的时候,我们想将数据包的原来走的那个设备,给升级或者替换,就可以让“被更换的设备”直接设置自己的LSP的OL为1
举例:查看R1的ISIS数据库中L1的LSP的详细信息
display isis lsdb level-1 0000.0000.000100-00 verbose
-数据库的同步过程
1.广播类型:
#报文
“CSNP” ,相当于OSPF里面的DD报文,包含的是LSP的简要信息【在广播环境中,DIS快速的周期性的发送CSNP报文,用于对其他邻居路由器的数据条目确认】
"PSNP”:相当于OSPF中的LSR的请求报文,用于向邻居设备请求自己没有的LSP
"LSP": 相当于OSPF中的LSU,其中包含的是对方想要的链路状态信息
#过程:详细查看“官方产品文档”---->isis基本原理
注意:
在IDS的网络中,每个非DIS路由器都是将自己的数据库条目信息和DIS周期性发送的CSNP报文进行比较,来判断自己的数据库是否确实;
当一个非DIS路由器进行数据库条目的请求时,会发送PSNP报文。那么这个报文呢每个路由器收到以后,只有DIS进行回应
2.点到点的网络类型:
#报文:
CSNP:相当于OSPF里面的DD报文,包含的是LSP的简要信息
PSNP:可以用于数据库条目的请求,类似于OSPF的LSR
可以用于数据库条目的确认,类似于OSPF的LSACK
LSP:相当于OSPF中的LSU,其中包含的是对方想要的链路状态信息
3. 如何判断一个LSP的新旧程度
1. 比较序列号:越大越好
2.比较LSP的存活时间
*广播环境中:
&比较存活时间:越大越好
*点到点环境中:
&如果都不是0,;存活时间为0表示最新;
&如果存活时间没有0,则不比较存活时间的大小
3. 比较LSP的效验和:越大越好
-删除数据库条目信息
1. 如果一个路由器想要删除一个LSP,那么就会将这个LSP的存活时间设置为0,然后发送给其他的邻居路由器
2.其他邻居路由器收到这个LSP以后,就会给对端的邻居设备一个确认,然后继续向后续的LSP进行广播/泛洪该LSP。同时,删除自己的本地数据库中的LSP
路由表详解
1.包含的是基于数据库的LSP计算出来的,最好的路由条目
2.ISIS的路由,分为两类
*L1的路由:通过L1的“非伪节点”LSP计算出来的
*L2的路由:通过L2的“非伪节点”LSP计算出来的
3.ISIS宣告路由的方式
*在接口下开启ISIS进程:通过该方式宣告的路由称之为ISIS的内部路由
*在ISIS进程下,通过import-route的方式进行宣告路由,通过该方式宣告路由,称之为ISIS的外部路由
4.路由条目解析:
*网段/掩码:
1.来自于“非伪节点LSP”中的内容
&通过“接口下启用ISIS进程”的方式宣告的路由,位于非“分段的”LSP中,称之为:ip-internal(内部)
&通过“import-route”方式宣告的路由,位于“分段”的LSP中,称之为“IP-extend”(扩展)
2.特殊的路由:0.0.0.0/0,是ISIS路由器基于L1的LSP中的ATT位,计算出来的
&计算这个路由的路由器,必须是L1的路由器
&产生这个LSP的路由器,必须是L1/L2路由器
&ATT位为1的这个LSP,必须是level-1的LSP
*路由属性优先级
&无论是L1的路由,还是L2的路由,ISIS路由条目的优先级,默认都是15
&修改所有ISIS路由的优先级:
命令:
isis 1
preference 25 --->将所有的路由优先级修改为25
&修改特定的ISIS路由的优先级
1. 抓取路由
&使用基本ACL;
命令:
acl 2011
rule 10 permit source 10.10.10.0 0.0.0.255
quit
&使用前缀列表
命令:
ip ip-trefix A permit 10.10.10.0 24
定义策略:
命令:
route-policy ABC permit node 10
if-match acl 2011
apply preference 200
route-policy ABC permit node 10
if-match ip-prefix A
apply preference 200
调用策略
命令:
ISIS 1
preference 25 route-policy ABC--->对R2上的ISIS进程1学习到的路由,优先级修改为25,但是对route-policy ABC匹配到的路由,优先级修改为200
验证结果:
display ip routing-table protocol isis -->仅仅查看路由表中的ISIS路由条目
*路由属性-开销
*表示的是一个路由器去往一个网段的距离:是由LSP在传递过程中所经过的每一个入接口cost值的累加和,计算出来的。【和OSPF协议中路由计算方法相同】
#每个运行ISIS协议的物理接口,cost默认都是10,接口取值范围1-63.一个ISIS路由条目的最大COST是1024
&因为上述的不足,变相的限制了ISIS协议所支持的网络规模大小,为了解决该问题,我们将ISIS协议表示和计算metric/cost的方法,进行了升级
即出现了“带宽”的cost
1. 在该模式下,每个ISIS协议的几口cost取值空间增大,变成了0-16777214(即通过24bit表示接口的cost值)
2.在该模式下,如果将接口的cost,修改为了2的24次方,即最大值(16777215),则表示该端口在计算路由的时候是不可以使用的。
3.建立邻居路由器之间的cost的类型必须是相同的或者是互相兼容的。否则会导致路由器之间无法计算路由,从而无法产生ISIS路由表。
【邻居表可以建立,数据库可以同步】,建议,将整个ISIS网络中的所有ISIS路由器的cost-style设置为wide。
cost类型如下:配置介绍详情见“官方文档”
4.narrow和wide的平滑迁移
&可以将两边的cost类型都设置为compatible,即一个端口可以同时接收和发送narrow和wide类型的cost
&一旦确保wide类型的cost都设置完毕了,我们就可以逐渐的把每个接口都修改为wide。
#在计算路由的cost值的时候,我们仅仅关系“路由传递方向”的每个入接口cost值的累加和
*注意:
* ISIS L1区域的路由,会自动的进入到L2区域中;
* ISIS L2区域的路由,是不会进入到L1区域中的;
* L1/L2路由器不会产生默认路由,使用ATT位为1的LSP产生默认路由的路由器必须是L1的路由器,指向骨干区域,否则不会产生默认路由。
* 但是,同时连接L1区域和L2区域的L1/L2路由,为了能够让L1区域的设备顺利访问L2区域,以及其他的非骨干区域(L1),该L1/L2路由器,会向L1区域中产生一个ATT位
为1的L1的LSP
&L1不要区域之前的路由
&import-route导入的路由,不会进入到L1区域
&综上所述:L1区域特别向OSPF中的totally stub
*L1区域的L1路由器,会使用该LSP计算一个默认路由,下一跳指向这个L1/L2路由器。
5.ISIS路由的类型
*L1的路由,通过L1的LSP计算出来的
*L2的路由,通过L2的LSP计算出来的
*优先级:L1的路由优先级高于L2路由
ISIS的特性
基本配置命令:
* 注意,此时R1的路由器还是L1/L2路由器,是不会产生路由的,所以R1是无法ping通R5的。
因为只有L1路由器才会通过ATT位为1的LSP产生默认路由指向骨干区域,所以需要配置R1为L1路由器即可。
命令:
R1:
isis 1
is-level level-1
-ISIS路由过滤
#针对数据库的过滤
&在ISIS协议中,没有针对LSP的过滤手段,因为在ISIS协议中,每一个路由器产生的并且用来表示路由条目的LSP,就只有:非伪节点LSP
如果真的实行LSP过滤的话,那么这个路由器产生的路由就全被干掉了,不能实现路由的精准控制。
#针对路由表的过滤
&宣告的时候进行过滤
宣告的方式:
1. 接口下启用ISIS
2. 通过import-route方式引入路由到ISIS协议
案例需求:在R3上创建2个直连接口,即,loopback3 :10.10.3.3 32;loopback 33,即10.10.33.3 32;
loopback接口不开启isis, 然后再R3上仅仅引入loopback 3(10.10.3.3 32)的路由
配置命令:
1.创建ACL抓取路由
acl 2003
rule 10 permit source 10.10.3.3 0.0.0.0
2.指定路由策略
route-policy loop3 permit node 10
if-match acl 2003
3.调用策略
isis 1
import-route direct route-policy loop3
&这个时候10.10.3.3路由就被引入到L2路由器中了,而loopback 33没有做引入,则不会存在L2路由器中的路由表中 。
& 验证在L2路由器上使用命令:display isis lsdb level-2 0000.0000.3333.00-01 verbose
&可以看到产生了一个10.10.3.3的外部路由。
&传输路由的时候进行过滤,因为ISIS本身就是链路状态路由协议,传递的不是路由,是链路状态数据库的LSP,在ISIS中没有过滤LSP的方法!
&放入到路由表时,进行过滤,和OSPF的工具相同,即filter-policy。
1.入向过滤:
&对路由表起作用
&对“进入”路由表的各种类型的路由都起作用
配置命令:
R5:
acl 2003
rule 10 permit source 10.10.3.3 0.0.0.0-->R3loopback 3的接口地址
quit
isis 1
filter-poicy 2003 import
2.出向过滤
&对表示外部路由的LSP起作用
&仅仅对通过LSP“发送出去”的外部路由,起作用
配置命令:
acl 2003
rule 10 permit source 10.10.3.3 0.0.0.0
rule 20 permit source 10.10.33.3 0.0.0.0-->R3的loopback 33接口地址
quit
route-policy loop3 permit node 10
if-match acl 2003
quit
isis 1
import-route direct route-policy loop3
-->此时R3会产生一个分片的LSP,包含2个外部路由
acl 2000
rule 10 deny source 10.10.3.3 0.0.0.0
rule 20 permit source any
quit
isis 1
filter-policy 2000 export
--->此时再去查看表示外部路由的分片LSP,其中仅仅只有10.10.33.3/32,因为10.10.3.3/32已经被出向的filter-policy过滤了
-ISIS路由汇总(聚合)
好处:
1.减少发送的路由/链路状态信息的数量,从而可以节约链路资源以及对方的系统资源
2. 可以增强isis网络的稳定性。【因为做了汇总以后,设备之间仅仅发送汇总后的路由LSP,那些明细路由路由LSP不再发送了】
配置:
1. 在哪里配置
&区域之间的边界路由器上配置---L1/L2路由器
命令:
isis 1
summary (汇总的网段) (汇总的掩码) (路由即将进入的区域)-->区域如果不指定,默认就是L2区域
举例:
& 在R1上同时配置并引入3个直连网段的路由:
1.1.1.1/32
1.1.1.2/32
1.1.1.3/32
& 在L2/L2路由器上,路由进入到L2区域时汇总成:1.1.1.0/24
配置命令:
R1:
interface loopback 1
ip add 1.1.1.1 32
interface loopback 2
ip add 1.1.1.2 32
interface loopback 3
ip add 1.1.1.3 32
isis 1
import-route direct level-1
R2/R3:
isis 1
summary 1.1.1.0 255.255.255.0 level-2
&汇总后的路由会在骨干内部的路由器,而不是在R2/R3区域边界路由器上汇总。
-ISIS路由泄露
*产生次优路径的场景:
*当一个区域中存在多个L1/L2的时候,即去往L2区域有多个路径的时候
思考:
1.R1到R4的数据流量经过R3路由器,应该怎么做?
2.R1到R5的数据流量经过R2路由器,应该怎么做?
*为了解决这个次优路径问题,我们在区域边界路由器(R2/R3)上将L2的路由“泄露”
到L1区域。
*R2:
ISIS 1
import-route isis level-2 into level-1 filter-policy 2005-->将L2的路由泄露到L1路由器,按照ACL2005的匹配规则,然后我们再创建ACL 2005规则。
quit
ACL 2005
rule 10 permit source 10.10.5.5 0.0.0.0-->R5路由器的loopback地址
配置完成后,R1到R5的数据流量就经过R2了。
*R3:
ISIS 1
import-route isis level-2 into level-1 filter-policy 2004
quit
alc 2004
rule 10 permit source 10.10.4.4 0.0.0.0-->R4的loopback地址
配置完成后,R1到R4的数据流量就经过R3了。
*isis路由泄露扩展
1. 泄露的本质是:L2通过import-route进入到了L1。
2.L1路由会自动进入到L2,那么,能否通过import-toure的方式,将L1引入到L2呢?
答案:可以
好处:可以灵活的控制L1的哪些路由可以进入到L2。
方法:
1. 配置ACL 允许的路由(如acl 2001)
2.配置L1引入到L2的命令:要在L1/L2路由器上
isis 1
import-route isis level-1 into level-2 filter-policy 2001
&泄露后的路由优先级高于默认路由。
-ISIS默认路由
产生方法1:
&在L1区域中边界的L1/L2路由器,会在自己产生的L1的LSP中,将ATT设置为1。
同时,该区域中只有L1路由器可以基于这种LSA计算出来默认路由,下一跳都是指向L1/2,从而可以去往 骨干区域。
&默认情况下,L1/L2路由器会自动在L1 LSP中,设置ATT,但是也可以永远不设置ATT为1
设置命令:
isis 1
attached-bit advertise never
&配置后,就意味着level-1非骨干去往骨干区域和其他非骨干区域的路由就不会经过此边界路由器了。
&另外,我们还可以让特定的ISIS路由器,不使用ATT为1的LSP进行计算默认路由
配置命令:在任何一个路由器上(主要是L1)上使用
isis
attached-bit avoid-learning //拒绝使用ATT位1,计算默认路由
产生方法:2:
在ISIS中也可以使用与OSPF协议相同的方法:default-toure-advertise的方法进行产生。
&特点1:默认情况下,这种方式产生的默认路由,仅仅会进入到L2的LSP中;不会进入到L1的LSP
&特点2:在ISIS协议中使用该命令的时候,默认的会自动添加always参数,所以,即使设备本地没有默认路由,依然可以产生ISIS默认路由。
配置命令:
&如果想让默认路由发送给L1区域:
isis 1
default-route-advertise level-1
注意:这里配置后原levle1路由器中存在的默认路由会消失,而只存在一条此边界路由器产生的那条默认路由,
下一跳指向也是这个区域边界路由器。
&如果想让默认路由发送给L2区域:
isis 1
default-route-advertise level-2
总结:
通过方法2产生的默认路由,优先级要高于“方法1”产生的默认路由。
-ISIS认证
1. 链路认证
& 认证对应类型:L1/L2的hello,影响的是邻居表的建立
& 配置思路
*启用认证
*确定认证类型和密码
&配置命令
在两端路由器上如R1/R2:
interface 0/0/0
isis authentication mode simple HCIE
-->说明:只要指定认证模式了,就说明启用了认证,所以此时就对“接收到的数据包”检查密码字段信息。
只要指定了密码,就说明针对发送的数据包,必须是携带密码信息的。
&有可能出现的问题:isis链路认证的单向认证,即:
1、一边配置了认证模式和密码,一遍没有配置认证模式和密码
2. 结果是:启用认证的一端,邻居表是空的;没有启用认证的一端,可以看到邻居设备的信息
(在isis协议中,针对不认识的报文字段信息,直接略过)
2. 区域认证
&认证对象是:L1的LSP,影响的是L1的数据库。如果L1/L2的LSP都有,那么最终会使用L1的LSP,从而使用L1产生的路由条目
配置命令:
R1/R2:
ISIS 1
area-authentication-mode md5 HCIE
3. 域认证
&认证对象是:L2的LSP,影响的是L2的数据库,进而影响的是isis的L2的路由条目
配置命令:
R1/R2:
ISIS 1
domain-authentication-mode md5 HCIE
--------------------------------------------------ISIS对IPV6的支持--------------------------------------------------
*isis的扩展性非常强,在原来的基础上添加了额外的两个TLV,就可以完全支持IPV6了
1. TLV 232:包含的是设备上的接口的IPV6地址信息;
2.TLV 236:包含的是设备上的IPV6路由条目和对应的属性信息;
*配置IPV6环境下的ISIS
1. 启用ISIS进程(与IPV4相同)
2.指定NET地址(与IPV4相同)
3.在进程下开启IPV6功能
命令:
isis 1
ipv6 enable
4.在接口上启用IPV6 isis
命令:
int g0/0/0
isis ipv6 enable 1
5.在接口下修改IPV6的 isis开销
命令:
interface g0/0/0
isis ipv6 cost *