CCNP路由实验之六 动态路由协议之IS-IS
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了CCNP路由实验之六 动态路由协议之IS-IS,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含32244字,纯文字阅读大概需要47分钟。
内容图文
![CCNP路由实验之六 动态路由协议之IS-IS](/upload/InfoBanner/zyjiaocheng/1063/bd4ff38f9fb3475aae9b0e43b82510de.jpg)
CCNP 路由实验之六 动态路由协议之 IS-IS
动态路由协议可以自动的发现远程网络,只要网络拓扑结构发生了变化,路由器就会相互交换路由信息,不仅能够自动获知新增加的网络,还可以在当前网络连接失败时找出备用路径。 根据是否在一个自治域内部使用, 动态 路由 协议分为内部网关协议( IGP )和 外部网关协议 ( EGP )。这里的自治域指一个具有统一管理机构、统一 路由 策略的网络。自治域内部采用的路由选择协议称为内部网关协议,常用的有 RIP 、 EIGRP 、 OSPF 、 IS-IS ; 外部网关协议 主要用于多个自治域之间的路由选择,常用的是 BGP 和 BGP-4 。 在一个 路由器 中,可同时配置 静态路由 和一种或多种动态路由。它们各自维护的路由表都提供给转发程序,但这些路由表的表项间可能会发生冲突。这种冲突可通过配置各路由表的 优先级 来解决。通常 静态路由 具有默认的最高 优先级 ,当其它路由表表项与它矛盾时,均按静态路由转发。
简介
IS-IS : Intermediate System to IntermediateSystem Routing Protocol 即中间系统到中间系统的 路由选择协议 ; IS-IS 协议 是由 国际标准化组织 制定的 ISO/IEC 10589:2002 所规范的。但是标准的 IS-IS 协议是 无连接网络服务 ( CLNS )设计的,并不直接适合于 IP 网络,因此 互联网工程任务组 制定了可以适用于 IP 网络的集成化的 IS-IS 协议,适合传送 IP 网络信息的 IS-IS 称之为在综合 IS-IS ( Integrated IS-IS )。在当前 路由选择协议 中, Integrated IS-IS 具有最重要的一个特征:它支持 VLSM 和 快速收敛 。另外它具有可伸缩性,能够支持大规模网络。。 IS-IS 是一种链路状态协议 , 是电信运营商普遍采用的内部网关协议之一 , IS ( 路由器 )负责交换基于链路开销的路由信息并决定 网络拓扑结构 。 IS-IS 类似于 TCP/IP 网络的开放最短路径优先( OSPF )协议。 IS-IS 路由 使用两层路由体系。 Level 1 路由器 只知道它们本区域中的拓扑,包括所有的路由器和 主机 ,而不知道区域以外的路由器以及目的地。 Level 1 路由器 将去往其它区域的所有流量都转发给本区域内的一台 L1/2 路由器,再由该 L1/2 把流量转发给 L2 区域中的 L1/2 路由器,再由 L2 区域中的 L1/2 路由器转发给 L2 路由器,完成数据转发。每台 路由器 只能属于一个区域,区域边界在链路上。 IS-IS 使用 LSP 分组来更新 LSDB ,更新数据流量小于 OSPF 的 LSA 更新 LSDB 。 ISIS 可以在不同的 子网 上操作,包括广播型和点到点链路 (注意: ISO 网络包含了 终端系统 、中间系统、区域( Area )和域( Domain )。 终端系统 指用户设备,中间系统指 路由器 。 路由器 形成的 本地组 称之为 “ 区域 ” ,多个区域组成一个 “ 域 ” 。 IS-IS 被设计来提供域内或一个区域内的 路由 。 IS-IS 与 CLNP 、 ES-IS 和 IDRP 协议相结合,为整个网络提供完整的 路由选择 )
ISO 发布的 OSI 七层模型中的网络层:
CLNS: 无连接网络服务 (IS-IS (Routing , IGP))
CLNP: 无连接网络协议 ( 类似 IP , IPX) , CLNS 是为 CLNP 所支撑的服务
CONS ( Connection Oriented Network Service )面向连接的服务
CONP
:面向连接网络协议
(
Connection-Oriented
Network Protocol
),如
x.25
ES-IS
:终端系统和中间系统路由交换协议
(
End
System to Intermediate System Routing Exchange protocol
)
IDRP
:域间路由选择协议
(
IInter-Domain
Routing Protocol
)
IS-IS
:中间系统到中间系统协议
(
Intermediate
System to Intermediate System
)
CLNP
可以用于终端系统的网络实体之间或网络层中继系统(
Network
Layer relay systems
)中。
CLNP
主要提供无连接网络服务。
CLNP
的目标是用于充当子网独立收敛协议(
SNICP
)的角色,其功能为在定义的一组底层服务上建立
OSI
网络服务,并支持一组相同或不同的互连子网上的
OSI
无连接模式网络服务的统一性。当子网独立收敛协议和
/
或子网访问协议没有提供在一个
NSAP
到另一个
NSAP
的全部或部分路径上支持无连接网络服务所需的功能时,
CLNP
可以用来进行调整。除
SNICP
之外,
CLNP
还可以实现其它协议的功能,也因此它也适用于其它子网互连方式。
术语
-
IS ( Intermediate System ):中间系统。相当于 TCP/IP 中的路由器,是 IS-IS 协议中生成路由和传播路由信息的基本单元
-
ES ( End System ):终端系统。相当于 TCP/IP 中的主机系统。 ES 不参与 IS-IS 路由协议的处理, ISO 使用专门的 ES-IS 协议定义终端系统与中间系统间的通信。
-
RD ( Routing Domain ):路由域。在一个路由域中多个 IS 通过相同的路由协议来交换路由信息。
-
Area :区域,路由域的细分单元, IS-IS 允许将整个路由域分为多个区域。
-
LSDB ( Link State DataBase ):链路状态数据库。网络内所有链路的状态组成了链路状态数据库,在每一个 IS 中都至少有一个 LSDB 。 IS 使用 SPF 算法,利用 LSDB 来生成自己的路由。
-
LSP ( Link State Protocol Data Unit 或 Link State Packet ):链路状态协议数据单元或链路状态报文。在 IS-IS 中,每一个 IS 都会生成 LSP ,此 LSP 包含了本 IS 的所有链路状态信息。每个 IS 收集本区域内所有的 LSP 生成自己的 LSDB 。
-
NPDU ( Network Protocol Data Unit ):网络协议数据单元,是 ISO 中的网络层协议报文,相当于 TCP/IP 中的 IP 报文。
-
DIS ( Designated IS ):广播网络上选举的指定路由器,也可以称为指定 IS 或伪节点。选举 DIS 顺序: 1 )接口优先级(默认 64 );( 2 )最大 MAC 地址。 在广播网络中,IS-IS需要在所有的路由器中选举一个路由器作为DIS(Designated Intermediate System)。Level-1和Level-2的DIS是分别选举的,用户可以为不同级别的DIS选举设置不同的优先级。DIS优先级数值越高,被选中的可能性就越大。如果优先级最高的路由器有多台,则其中SNPA(Subnetwork Point of Attachment,子网连接点)地址(广播网络中的SNPA地址是MAC地址)最大的路由器会被选中。不同级别的DIS可以是同一台路由器,也可以是不同的路由器。在IS-IS广播网中,同一网段上的同一级别的路由器之间都会形成邻接关系,包括所有的非DIS路由器之间也会形成邻接关系。DIS用来创建和更新伪节点(Pseudonodes),并负责生成伪节点的LSP,用来描述这个网络上有哪些路由器。伪节点是用来模拟广播网络的一个虚拟节点,并非真实的路由器。在IS-IS中,伪节点用DIS的SystemID和一个字节的Circuit ID(非0值)标识。使用伪节点可以简化网络拓扑,使产生的LSP数量较少,减少SPF的资源消耗。IS-IS 广播网络上所有的路由器之间都形成邻接关系,但 LSDB 的同步仍然依靠 DIS 来保证。
-
NSAP ( Network Service Access Point ):网络服务接入点,即 ISO 中网络层的地址,用来标识一个抽象的网络服务访问点, 每种服务对应一个 NSAP 地址, 描述 ISO 模型的网络地址结构。 NSAP 由IDP(Initial Domain Part)和DSP(Domain Specific Part)组成。IDP相当于IP地址中的主网络号,DSP相当于IP地址中的子网号和主机地址。IDP部分是ISO规定的,它由AFI(Authority and Format Identifier)与IDI(Initial Domain Identifier)组成,AFI表示地址分配机构和地址格式,IDI用来标识域。DSP由HODSP(High Order DSP)、SystemID和SEL三个部分组成。HODSP用来分割区域,SystemID用来区分主机,SEL指示服务类型。IDP和DSP的长度都是可变的,NSAP总长最多是20个字节,最少8个字节。
-
区域地址:IDP和DSP中的HODSP(High Order DSP)一起,既能够标识路由域,也能够标识路由域中的区域,因此,它们一起被称为区域地址(Area Address)。两个不同的路由域中不允许有相同的区域地址。 同一区域中的 路由器 都必须使用相同的区域地址,这个地址定义了该区域。区域地址用于 L2 路由选择 。 ES 只能识别同一 子网 中具有相同区域地址的 IS 和 ES 。 。为了支持区域的平滑合并、分割及转换,一台路由器最多可配置3个区域地址 。
-
System ID 用来在区域内唯一标识主机或路由器。它的长度固定为48bit(6字节)。实际System ID的指定可以有不同的方法,但要保证能够唯一标识主机或路由器,实际应用中,一般使用Router ID与System ID进行对应。假设一台路由器使用接口Loopback0的IP地址168.10.1.1作为Router ID,则它在IS-IS使用的System ID可通过如下方法转换得到:
-
将 IP 地址 168.10.1.1 的每一部分都扩展为 3 位,不足 3 位的在前面补 0 ;
-
将扩展后的地址 168.010.001.001 重新划分为 3 部分,每部分由 4 位数字组成,得到的 1680.1000.1001 就是 System ID 。
-
SEL (NSAP Selector,有时也写成NSEL)的作用类似IP中的“协议标识符”,不同的传输协议对应不同的SEL。在IP中,SEL均为00。
-
路由方式:由于这种地址结构明确地定义了区域,Level-1路由器很容易识别出发往它所在的区域之外的报文,这些报文需要转交给具有Level-2功能的路由器去处理。Level-1路由器利用System ID进行区域内的路由,如果发现报文的目的地址不属于自己所在的区域,就将报文转发给最近的Level-1-2路由器。Level-2路由器根据区域地址进行区域间的路由。
-
NET (Network Entity Title,网络实体名称)指示的是IS本身的网络层信息,不包括传输层信息(SEL=0),可以看作是一类特殊的NSAP,即SEL为0的NSAP地址。因此,NET的长度与NSAP的相同,最多为20个字节,最少为8个字节。通常情况下,一台路由器配置一个NET即可,当区域需要重新划分时,例如将多个区域合并,或者将一个区域划分为多个区域,这种情况下配置多个NET可以在重新配置时仍然能够保证路由的正确性。由于一台路由器最多可配置3个区域地址,所以最多也只能配置3个NET。在配置多个NET时,必须保证它们的System ID都相同。例如NET为:ab.cdef.1234.5678.9abc.00,则其中Area为ab.cdef,SystemID为1234.5678.9abc,SEL为00。
-
IS-IS 在路由域内采用两级的分层结构。一个大的路由域被分成一个或多个区域( Areas )。区域内的路由通过 Level-1 路由器管理,区域间的路由通过 Level-2 路由器管理。
-
Level-1 路由器负责区域内的路由,它只与属于同一区域的Level-1和Level-1-2路由器形成邻居关系,维护一个Level-1的LSDB,该LSDB包含本区域的路由信息,到区域外的报文转发给最近的Level-1-2路由器。类似于OSPF的内部非骨干路由器。
-
Level-2 路由器负责区域间的路由,可以与同一区域或者其它区域的Level-2和Level-1-2路由器形成邻居关系,维护一个Level-2的LSDB,该LSDB包含区域间的路由信息。所有Level-2路由器和Level-1-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用于区域间路由。类似于OSPF的ABR。但它不向L1路由器通告L2路由,所以L1路由器不会学到区域外的路由,这有点像OSPF的完全末节区域。
说明 :于不同区域的 Level-1 路由器不能形成邻居关系。 Level-2 路由器是否形成邻居关系则与区域无关。
-
IS-IS 路由协议中的路由信息分为四级:
-
Level-0 存在于 ES 与 IS 之间,准确的讲不算路由协议,我们可以称它为 Discovery Protocol 发现协议,类似于 TCP/IP 网络中的 ARP 地址解释协议。
-
Level-1 存在于同一区域内的多台路由器之间,用于实现区域内路由,类似于 OSPF 的域内路由( O )。
-
Level-2 存在于同一域内的多台路由器之间,用于实现域内路由,类似于 OSPF 的域间路由( O IA )。
-
Level-3 存在于不同的域之间,类似于 TCP/IP 网络中由 BGP 实现的 AS 间路由。
-
IS-IS 协议认证 : IS-IS 的认证只限于明文口令, Cisco 的 IOS 支持 3 个级别的认证:
-
邻居认证 —— 相互连接的路由器接口必须配置相同的口令,同时必须为 L1 和 L2 类型的邻居关系配置各自的认证, L1 邻居认证的密码和 L2 邻居的认证的密码可以不同。邻居认证通过命令 “isis password” 配置。
-
区域认证 —— 区域内的每台路由器必须执行认证,并且必须使用相同的口令。区域认证通过命令 “area-password” 配置。
-
域认证 —— 域内的每一个 L2 和 L1/L2 类型的路由器必须执行认证,并且必须使用相同的口令。域认证通过命令 “domain-password” 配置。
-
接口的路由层次类型: 对于类型是Level-1-2的路由器,可能需要与某个对端只建立Level-1的邻接关系,与另一个对端只建立Level-2的邻接关系。可以通过设置相应接口的路由层次类型来限制接口上所能建立的邻接关系,如Level-1的接口只能建立Level-1的邻接关系,Level-2的接口只能建立Level-2的邻接关系。对于Level-1-2的路由器,通过将某些接口配置为Level-2,还可以防止将Level-1的Hello报文发送到Level-2骨干网上,从而节省带宽。
路由渗透( Route Leaking ) 通常情况下,IS-IS的区域也称为Level-1区域,区域内的路由通过Level-1的路由器进行管理。所有的Level-2路由器构成一个Level-2区域。因此,一个IS-IS的路由域可以包含多个Level-1区域,但只有一个Level-2区域。Level-1区域必须且只能与Level-2区域相连,不同的Level-1区域之间并不相连。Level-1区域内的路由信息通过Level-1-2路由器发布到Level-2区域,因此,Level-2路由器知道整个IS-IS路由域的路由信息。但是,在缺省情况下,Level-2路由器并不将自己知道的其他Level-1区域以及Level-2区域的路由信息发布到Level-1区域。这样,Level-1路由器将不了解本区域以外的路由信息,Level-1路由器只将去往其它区域的报文发送到最近的Level-1-2路由器,所以可能导致对本区域之外的目的地址无法选择最佳的路由。为解决上述问题,IS-IS提供了路由渗透功能,使Level-1-2路由器可以将己知的其他Level-1区域以及Level-2区域的路由信息发布到指定的Level-1区域。
-
广播链路:如 Ethernet 、 Token-Ring 等。以多播形式发送 LSPs 。
-
点到点链路:如 PPP 、 HDLC 等。以单播形式发送 LSPs
-
对于 NBMA ( Non-Broadcast Multi-Access )网络,如 ATM ,需对其配置子接口,并将子接口类型配置为点到点网络或广播网络。 IS-IS 不能在点到多点( Point to MultiPoint , P2MP )链路上运行。
IS-IS 报文格式:
-
PDU 头格式: 网络层的PDU称之为数据报或包(Datagram or Packet),数据链路层的PDU称之为帧(Frame)。 IS-IS 报文是直接封装在数据链路层的帧结构中的。PDU(Protocol Data Unit,协议数据单元)可以分为两个部分,报文头和变长字段部分。其中报文头又可分为通用报头和专用报头。对于所有PDU来说,通用报头都是相同的,但专用报头根据PDU类型不同而有所差别
b) Hello 、包括ESH(ES发至IS),ISH(IS发至ES),IIH(IS之间)三种类型,用于建立和维护毗邻关系。广播网中的Level-1路由器使用Level-1 LAN IIH,广播网中的Level-2路由器使用Level-2 LAN IIH,点到点网络中的路由器则使用P2P IIH。 它们的报文格式有所不同, P2P IIH 中的多数字段与 LAN IIH 相同。不同的是没有 Priority 和 LAN ID 字段,而多了一个 Local Circuit ID 字段,表示本地链路 ID 。
-
Reserved/Circuit Type :高位的 6 比特保留,值为 0 。低位的 2 比特表示路由器的类型( 00 保留, 01 表示 L1 , 10 表示 L2 , 11 表示 L1/2 )。
-
Source ID :发送 Hello 报文的路由器的 SystemID 。
-
Holding Time :保持时间。在此时间内如果没有收到邻居发来的 Hello 报文,则中止已建立的邻居关系。
-
PDU Length : PDU 的总长度,以字节为单位。
-
Priority :选举 DIS 的优先级。
-
LAN ID :包括 System ID 和一字节的伪节点 ID 。
c) LSP 报文格式 (Link State PDUs,链路状态报文)用于交换链路状态信息。LSP分为两种:Level-1 LSP和Level-2LSP。Level-1路由器传送Level-1 LSP,Level-2路由器传送Level-2 LSP,Level-1-2路由器则可传送以上两种LSP。用于发布链路状态信息。注意它是数据链路层数据包,不依靠于其它协议传递,但同时也意味着只能在直接相连的路由器之间传递。两类LSP有相同的报文格式
1) PDU Length : PDU 的总长度,以字节为单位。
-
Remaining Lifetime :LSP的存活时间,以秒为单位。
-
LSP ID :由三部分组成,System ID、伪节点ID(一字节)和LSP的分片号(一字节)。
-
Sequence Numer :LSP的序列号。
-
Checksum :LSP的校验和。
-
P (Partition Repair):仅与L2 LSP有关,表示路由器是否支持自动修复区域分割。
-
ATT (Attachment):由L1/L2路由器产生,但仅与L1 LSP有关,表示产生此LSP的路由器(L1/L2路由器)与多个区域相连接。
-
OL (LSDB Overload):表示本路由器因内存不足而导致LSDB不完整。其他路由器在得知这一信息后,就不会把需要此路由器转发的报文发给它,但到此路由器直连地址的报文仍然可以被转发。如图10所示,假设正常情况下RouterA到RouterC的报文都是经过RouterB转发,但如果RouterB的OL位置1,则RouterA会认为RouterB的路由不完整,从而将报文通过RouterD、RouterE转发给RouterC,但到RouterB直连地址的报文不受影响。
d) SNP 格式: 时序报文SNP(SequenceNumber PDUs)用于确认邻居之间最新接收的LSP,作用类似于确认(Acknowledge)报文,但更有效。SNP包括CSNP(Complete SNP,全时序报文)和PSNP(Partial SNP,部分时序报文),进一步又可分为Level-1 CSNP、Level-2 CSNP、Level-1 PSNP和Level-2 PSNP。CSNP包括LSDB中所有LSP的摘要信息,从而可以在相邻路由器间保持LSDB的同步。在广播网络上,CSNP由DIS定期发送(缺省的发送周期为10秒);在点到点链路上,CSNP只在第一次建立邻接关系时发送。 PSNP 只列举最近收到的一个或多个 LSP 的序号,它能够一次对多个 LSP 进行确认。当发现 LSDB 不同步时,也用 PSNP 来请求邻居发送新的 LSP 。
e) TLV : PDU 中的变长字段部分是多个TLV(Type-Length-Value)三元组。 不同PDU类型所包含的TLV是不同的
f) 通用报头格式 所有的PDU都有相同的通用报头格式
-
Intradomain Routeing ProtocolDiscriminator (域内路由协议鉴别符):设置为 0x83 。
-
Length Indicator (长度标识符): PDU 头部的长度(包括通用报头和专用报头),以字节为单位。
-
Version/Protocol ID Extension (版本 / 协议标识扩展):设置为 1 ( 0x01 )。
-
ID Length (标识长度): NSAP 地址和 NET 的 ID 长度。
-
R ( Reserved ,保留):设置为 0 。
-
Version (版本):设置为 1 ( 0x01 )。
-
Maximum Area Address (最大区域地址数):支持的最大区域个数。
集成 IS-IS 特点:可以实现三种形式的路由即单纯的 OSI 协议路由、单纯的 IP 路由或两者的结合
-
维护一个链路状态数据库,并使用 SPF 算法来计算最佳路径;
-
用 Hello 包建立和维护邻居关系;
-
使用区域来构造两级层次化的拓扑结构;
-
在区域之间可以使用路由汇总来减少路由器的负担;
-
支持 VLSM 和 CIDR ;
-
在广播多路访问网络通过选举指定 IS ( DIS )来管理和控制网络上的泛洪扩散;
-
具有认证功能;
-
IS-IS 采用 Cost 作为度量值;
-
快速收敛;
-
适合大型网络
IS-IS 与 OPSF 比较:
|
相同点 |
不同点 |
基本特点比较 |
都是应用广泛的 IGP ,都是链路状态协议 |
IS-IS 支持 CLNP 环境 |
都支持 IP 环境 |
IS-IS 只支持点到点和广播子网。 OSPF 支持 P2P ,广播, P2MP , NBMA 网络 |
|
都采用分层设计和分区域设计 |
OSPF 支持虚链接 |
|
|
报文封装方式不同 |
|
|
OSPF 基于接口划分区域。 IS-IS 基于路由路划分区域 |
|
|
|
|
邻接关系比较 |
都通过 Hello 协议发现领居,形成邻接关系 |
建立邻接关系的条件不同。 ISIS 采用的 Hello 协议比较简单, OSPF 比较复杂;而且 ISIS 检查比较宽松,领居之间的 Hello 和 Dead 时间不必一样,而 OSPF 要求一致。 |
在多点访问网络上选举 DR/DIS |
点到点链路上 OSPF 的邻接关系形成比 IS-IS 要可靠。 ISIS 使用两次握手机制形成邻接关系,但现在也有 3 次握手的机制。 |
|
|
IS-IS 的邻接关系分成 L1 和 L2 邻接关系 |
|
|
OSPF 中普通路由器不同 DR 形成邻接关系。 IS-IS 中都形成邻接关系 |
|
|
DR 和 DIS 选举过程不同 ISIS 协议的 DIS 选举比较简单,而且是抢占式可预见的,优先级最高的是 DIS ,优先级为 0 的也可能成为 DIS ; 为了保证变动小, OSPF 的 DR 选举复杂且不可预见,优先级最高的不一定是 DR ,优先级为 0 的不可能成为 DR ,并且有 BDR 的概念, DR 失败, BDR 立即承担 DR 的职责,而 ISIS 没有备份 DIS , DIS 失败,重新选举 DIS 。 |
|
|
|
|
链路状态数据库同步过程比较 |
都遵循基本的链路状态数据库同步方法 |
OSPF 的 LSA 种类很多,数据库结构复杂,定位故障困难; ISIS 的 LSP 只有路由器 LSP 和伪节点 LSP ,数据库结构简单,定位故障容易 |
|
同步过程不同 |
|
|
OSPF 的 LSA 生存周期是从 0 增加( 0~60 分钟,且周期不可配置); ISIS 从最大值减小( 20 分钟 ~0 ,周期可配置) |
|
|
|
|
路由计算过程比较 |
都使用 SPF 算法计算路由 |
OSPF 把前缀作为 SPT 的节点; ISIS 把前缀作为叶子。 ISSI 的 SPF 算法要简单一些,另外 ISIS 把前缀作为 SPT 的叶子,因此在叶子发生变化时可以使用部分路由计算( PRC )来更新叶子而不需进行 SPF 运算。 |
|
ISIS 接口 cost 值为 0~63 ,对链路层区分不够,且一个网络的 metric 达到 1024 就认为不可达( IEFT 在 RFC3784 中扩大了 const 的取值范围和最大 metric ); OSPF 接口 cost 值为 0~1024 ,一个网络的 metric 达到 65535 才认为不可达。 |
|
|
ISIS 开销类型比 OSPF 复杂。 ISIS 开销分为: narrow 、 narrow-compatible 、 wide 、 wide-compatible 、 compatible |
|
|
|
|
性能比较 |
无环路,收敛快,支持大规模网络应用( 200 台以上) |
OSPF 提倡划分区域; ISIS 一般使用单区域 |
|
ISIS 采用 TLV 结构,扩展性更好 |
实验一:配置单区域集成的 IS-IS ( IP 和 CLNS )
R1 配置:
R1(config)#conf t
R1(config)#clns routing // 先全局启用 CLNS 路由选择
R1(config)#int fa0/0
R1(config-if)#clns router isis // 再在接口上启用 CLNS 路由选择
R1(config-if)#isis circuit-typelevel-1 // 在接口中修改链路类型为 L1 ,默认级别为 L1/L2
R1(config-if)#no sh
R1(config)#router isis // 启用 ISIS 路由协议
R1(config-router)#is-type level-1 // 设置路由器类型 L1
R1(config-router)#net49.0001.1111.1111.1111.00 // 配置 NET 地址; NET 地址由区域地址 (49.0001) 、系统 ID(0000.0000.0003) 和 NSEL(00) 组成
R1(config-router)#exit
R2 配置:
R2#conf t
R2(config)#clns routing
R2(config)#int fa0/0
R2(config-if)#clns router isis
R2(config-if)#isis circuit-typelevel-1
R2(config-if)#no sh
R2(config-if)#exit
R2(config)#int s1/0
R2(config-if)#clock rate 64000
R2(config-if)#clns router isis
R2(config-if)#isis circuit-typelevel-1
R2(config-if)#no sh
R2(config-if)#exit
R2(config)#router isis
R2(config-router)#net49.0001.2222.2222.2222.00
R2(config-router)#exit
R3 配置:
R3#conf t
R3(config)#clns routing
R3(config)#int s0/0
R3(config-if)#clock rate 64000
R3(config-if)#clns router isis
R3(config-if)#isis circuit-type level-1
R3(config-if)#no sh
R3(config-if)#exit
R3(config)#router isis
R3(config-router)#net 49.0001.3333.3333.3333.00
R3(config-router)#exit
此时查看 R1 的路由信息和与其他路由器的联通性
R1#ping 49.0001.3333.3333.3333.00
Type escape sequence to abort.
Sending 5, 100-byte CLNS Echos with timeout2 seconds
!!!!!
Success rate is 100 percent (5/5),round-trip min/avg/max = 40/43/56 ms
R1#ping 49.0001.2222.2222.2222.00
Type escape sequence to abort.
Sending 5, 100-byte CLNS Echos with timeout2 seconds
!!!!!
Success rate is 100 percent (5/5),round-trip min/avg/max = 16/22/36 ms
show clns route
show clns nei
show ip route isis
show isis topology
show isis database
下面我们要此网络实现 IP 路由支持,需要对 R1 、 R2 、 R3 进行如下配置:
R1#conf t
R1(config)#int fa0/0
R1(config-if)#ip add 192.168.12.1255.255.255.0
R1(config-if)#ip router isis // 接口上运行 IS-IS
R1(config-if)#exit
R1(config)#int lo0
R1(config-if)#ip add 1.1.1.1 255.255.255.0
R1(config-if)#ip router isis
R1(config-if)#exit
R2#conf t
R2(config)#int fa0/0
R2(config-if)#ip add 192.168.12.2255.255.255.0
R2(config-if)#ip router isis
R2(config-if)#exit
R2(config)#int lo1
R2(config-if)#ip add 2.2.2.2 255.255.255.0
R2(config-if)#ip router isis
R2(config-if)#exit
R2(config)#int s1/0
R2(config-if)#ip add 192.168.23.1255.255.255.0
R2(config-if)#ip router isis
R2(config-if)#exit
R3#conf t
R3(config)#int lo0
R3(config-if)#ip add 3.3.3.3 255.255.255.0
R3(config-if)#exit
R3(config)#int s0/1
R3(config-if)#ip add 192.168.23.2255.255.255.0
R3(config-if)#ip router isis
R3(config-if)#exit
再次查看 R1 的变化和 IP 网络联通性
R1#sh ip rou isis
2.0.0.0/24 is subnetted, 1 subnets
i L1 2.2.2.0 [115/20] via 192.168.12.2, FastEthernet0/0
i L1 192.168.23.0/24 [115/20] via 192.168.12.2,FastEthernet0/0
R1#sh isis database
IS-IS Level-1 Link State Database:
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
R1.00-00 * 0x00000010 0x8DB4 829 0/0/0
R1.01-00 * 0x00000002 0xC4CE 0 (825) 0/0/0
R2.00-00 0x00000011 0xC8BF 1049 0/0/0
R2.01-00 0x0000000B 0x123A 823 0/0/0
R3.00-00 0x00000003 0xC476 470 0/0/0
IS-IS Level-2 Link State Database:
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
R1.00-00 * 0x00000004 0xD805 1023 0/0/0
R1#sh ip rou isis
2.0.0.0/24 is subnetted, 1 subnets
i L1 2.2.2.0 [115/20] via 192.168.12.2,FastEthernet0/0
i L1 192.168.23.0/24 [115/20] via192.168.12.2, FastEthernet0/0
完成以上配置我们的 IS-IS 路由协议就能同时支持 IP 和 clns 协议了
实验二: IS-IS 之 DIS 选举
R1 配置:
R1#conf t
R1(config)#int lo0
R1(config-if)#ip add 1.1.1.1255.255.255.0
R1(config-if)#ip router isis
R1(config-if)#exit
R1(config)#int fa0/0
R1(config-if)#ip add 192.168.1.1255.255.255.0
R1(config-if)#ip router isis
R1(config-if)#no sh
R1(config-if)#exit
R1(config)#router isis
R1(config-router)#net49.0001.1111.1111.1111.00
R1(config-router)#is-type level-1
R1(config-router)#passive-interfaceloopback 0 // 设置环回口 只能学习 , 不能向别人发送更新包
R1(config-router)#exit
R2 配置:
R2#conf t
R2(config)#int lo0
R2(config-if)#ip add 2.2.2.2255.255.255.0
R2(config-if)#ip router isis
R2(config-if)#exit
R2(config)#int fa0/0
R2(config-if)#ip add 192.168.1.2255.255.255.0
R2(config-if)#ip router isis
R2(config-if)#exit
R2(config)#int fa0/0
R2(config-if)#no sh
R2(config-if)#exit
R2(config)#router isis
R2(config-router)#net49.0001.2222.2222.2222.00
R2(config-router)#is-type level-1
R2(config-router)#passive-interfaceloopback 0
R2(config-router)#exit
R3 配置:
R3#conf t
Enter configuration commands, oneper line. End with CNTL/Z.
R3(config)#int lo0
R3(config-if)#ip add 3.3.3
R3(config-if)#ip add 3.3.3.3255.255.255.0
R3(config-if)#ip router isis
R3(config-if)#exit
R3(config)#int fa0/0
R3(config-if)#ip add 192.168.1.3255.255.255.0
R3(config-if)#ip router isis
R3(config-if)#no sh
R3(config-if)#exit
R3(config)#router isis
R3(config-router)#net49.0001.3333.3333.3333.00
R3(config-router)#is-type level-1
R3(config-router)#passive-interfaceloopback 0
R3(config-router)#exit
完成配置后全网就能互通啦,此时查看 R1 的 IS-IS 的路由表、链路状态数据库、邻居表,发现 R3 是 DIS ,因为 DIS 比较的原则为:先比优先级,在比较 MAC ,从上可知,以太网的优先级默认为 64 。
R1#sh ip rou isis
2.0.0.0/24 is subnetted, 1 subnets
i L1 2.2.2.0 [115/10] via 192.168.1.2,FastEthernet0/0
3.0.0.0/24 is subnetted, 1 subnets
i L1 3.3.3.0 [115/10] via 192.168.1.3,FastEthernet0/0
R1#sh isis database
IS-IS Level-1 Link State Database:
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
R1.00-00 * 0x0000000A 0xF37B 935 0/0/0
R2.00-00 0x00000009 0x936E 985 0/0/0
R3.00-00 0x00000006 0x375F 944 0/0/0
R3.02-00 0x00000003 0xF638 771 0/0/0
R1#sh isis neighbors
System Id Type Interface IP Address State Holdtime Circuit Id
R2 L1 Fa0/0 192.168.1.2 UP 29 R3.02
R3 L1 Fa0/0 192.168.1.3 UP 7 R3.02
然后我们修改 R1 接口优先级大于 64 ,此时再查看 R1 的邻居表和链路状态数据库,会发现 R1 变成了 DIS 。
R1#conf t
R1(config)#int fa0/0
R1(config-if)#isis priority 100
R1#sh isis database
IS-IS Level-1 Link State Database:
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
R1.00-00 * 0x0000000E 0xB87F 858 0/0/0
R1.02-00 * 0x00000003 0x906B 862 0/0/0
2222.2222.2222.00-00 0x0000000D 0x5872 861 0/0/0
3333.3333.3333.00-00 0x0000000C 0xF765 871 0/0/0
3333.3333.3333.02-00 0x00000001 0x5771 0 (871) 0/0/0
R1#sh isis neighbors
System Id Type Interface IP Address State Holdtime Circuit Id
2222.2222.2222 L1 Fa0/0 192.168.1.2 UP 26 R1.02
3333.3333.3333 L1 Fa0/0 192.168.1.3 UP 20 R1.02
我们可以发现 DIS 选举的规则是:先比较接口优先级(默认 64 ),再比较 MAC.
实验三: IS-IS 区域间路由、路由汇总、路由泄露
R1 配置:
R1#conf t
R1(config)#intlo0
R1(config-if)#ipadd 1.1.1.1 255.255.255.0
R1(config-if)#iprouter isis
R1(config-if)#exit
R1(config)#intfa0/0
R1(config-if)#ipadd 192.168.12.1 255.255.255.0
R1(config-if)#iprouter isis
R1(config-if)#isiscircuit-type level-1
R1(config-if)#nosh
R1(config-if)#exit
R1(config)#routerisis
R1(config-router)#net49.0001.1111.1111.1111.00
R1(config-router)#passive-interfaceloopback 0
R1(config-router)#is-typelevel-1
R1(config-router)#
R2 配置:
R2#conf t
R2(config)#intlo0
R2(config-if)#ipadd 2.2.2.2 255.255.255.0
R2(config-if)#iprouter isis
R2(config-if)#exit
R2(config)#intfa0/0
R2(config-if)#ipadd 192.168.12.2 255.255.255.0
R2(config-if)#iprouter isis
R2(config-if)#isiscircuit-type level-1-2
R2(config-if)#nosh
R2(config-if)#exit
R2(config)#ints1/0
R2(config-if)#clockrate 64000
R2(config-if)#ipadd 192.168.23.1 255.255.255.0
R2(config-if)#isiscircuit-type level-1-2
R2(config-if)#nosh
R2(config-if)#exit
R2(config)#routerisis
R2(config-router)#net49.0001.2222.2222.2222.00
R2(config-router)#is-typelevel-1-2
R2(config-router)#passive-interfaceloopback 0
R2(config-router)#exit
R3 配置:
R3(config)#intlo0
R3(config-if)#ipadd 3.3.3.3 255.255.255.0
R3(config-if)#iprouter isis
R3(config-if)#exit
R3(config)#intlo1
R3(config-if)#ipadd 172.168.16.1 255.255.255.0
R3(config-if)#iprouter isis
R3(config-if)#exit
R3(config)#intlo2
R3(config-if)#ipadd 172.168.17.1 255.255.255.0
R3(config-if)#iprouter isis
R3(config-if)#exit
R3(config)#intlo3
R3(config-if)#ipadd 172.168.18.1 255.255.255.0
R3(config-if)#iprouter isis
R3(config-if)#exit
R3(config)#ints0/0
R3(config-if)#clockrate 64000
R3(config-if)#ipadd 192.168.23.2 255.255.255.0
R3(config-if)#iprouter isis
R3(config-if)#isiscircuit-type level-1-2
R3(config-if)#nosh
R3(config-if)#exit
R3(config)#routerisis
R3(config-router)#net49.0002.3333.3333.3333.00
R3(config-router)#is-typelevel-1-2
R3(config-router)#passive-interfaceloopback 0
R3(config-router)#
完成以上配置全网互通了,然后我们查看 R1 、 R2 、 R3 的路由表、链路状态数据库、邻居表
R1#ship rou isis
2.0.0.0/24 is subnetted, 1 subnets
iL1 2.2.2.0 [115/20] via 192.168.12.2,FastEthernet0/0
iL1 192.168.23.0/24 [115/20] via 192.168.12.2, FastEthernet0/0
i*L1 0.0.0.0/0 [115/10]via 192.168.12.2, FastEthernet0/0
R1#shisis database
IS-ISLevel-1 Link State Database:
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
R1.00-00 * 0x00000007 0xA02D 503 0/0/0
R2.00-00 0x00000007 0xE949 788 1/0/0
R2.02-00 0x00000004 0x1939 476 0/0/0
R1#shisis neighbors
SystemId Type Interface IP Address State Holdtime Circuit Id
R2 L1 Fa0/0 192.168.12.2 UP 8 R2.02
R2#ship rou isis
1.0.0.0/24 is subnetted, 1 subnets
iL1 1.1.1.0 [115/10] via 192.168.12.1,FastEthernet0/0
3.0.0.0/24 is subnetted, 1 subnets
iL2 3.3.3.0 [115/10] via 192.168.23.2,Serial1/0
172.168.0.0/24 is subnetted, 3 subnets
iL2 172.168.16.0 [115/20] via192.168.23.2, Serial1/0
iL2 172.168.17.0 [115/20] via192.168.23.2, Serial1/0
iL2 172.168.18.0 [115/20] via192.168.23.2, Serial1/0
R2#shisis database
IS-ISLevel-1 Link State Database:
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
R1.00-00 0x00000007 0xA02D 412 0/0/0
R2.00-00 * 0x00000007 0xE949 700 1/0/0
R2.02-00 * 0x00000005 0x173A 1123 0/0/0
IS-ISLevel-2 Link State Database:
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
R2.00-00 * 0x00000006 0xC577 694 0/0/0
R3.00-00 0x0000000B 0xEDF8 694 0/0/0
R2#shisis neighbors
SystemId Type Interface IP Address State Holdtime Circuit Id
R1 L1 Fa0/0 192.168.12.1 UP 28 R2.02
R3 L2 Se1/0 192.168.23.2 UP 22 00
R3#ship rou isis
iL2 192.168.12.0/24 [115/20] via 192.168.23.1, Serial0/0
1.0.0.0/24 is subnetted, 1 subnets
iL2 1.1.1.0 [115/20] via 192.168.23.1,Serial0/0
2.0.0.0/24 is subnetted, 1 subnets
iL2 2.2.2.0 [115/20] via 192.168.23.1,Serial0/0
R3#shisis database
IS-ISLevel-1 Link State Database:
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
R3.00-00 * 0x0000000B 0x4101 577 1/0/0
IS-ISLevel-2 Link State Database:
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
R2.00-00 0x00000006 0xC577 571 0/0/0
R3.00-00 * 0x0000000B 0xEDF8 571 0/0/0
R3#shisis nei
R3#shisis neighbors
SystemId Type Interface IP Address State Holdtime Circuit Id
R2 L2 Se0/0 192.168.23.1 UP 25 00
以上我们可以看出:
-
R1 有一条默认路由,原因是 R1 的路由类型为 L1 ,而 R2 是 L1-2 类型, R1 和 R2 处于相同区域 Area49.0001. 因此其会接到 R2 路由器发送的 L1 类型的默认路由。这有点像 ospf 中的完全末节区域。这样做的好处就是减少了路由表的大小。同时也增强了 isis 的稳定性
-
路由器类型(is-type),相邻路由器要么同时是L1或L2,要么2端中有一端是L1L2,否则形成不了邻居。
-
链路类型(isiscircuit-type),链路的2端,要么同时是L1或L2,要么2端中有一端是L1L2,否则形成不了邻居。
-
路由器类型为L1时,只能建立L1的邻居,且只学习域内的路由。对于路由器类型为L2,同样只能建立L2的邻居,不仅学习域内路由还会学习域间路由,L1/L2路由器维护两个分离的L1和L2的link statedatebase,将计算完全独立的L1和L2拓扑自已SPF tree。
-
两端的路由器类型要和链路类型相匹配,否则不能建立邻居关系。
接着把目光放到 R2 的路由表上,发现它学习到的路由有点臃肿,有些路由可以汇总,减小路由表的大小,而这些路由是来自域外的 R3 的。那么可以对 R3 进行汇总,然后再次查看 R2 的路由表变化
R3(config)#router isis
R3(config-router)#summary-address172.168.16.0 255.255.252.0
R2#sh ip rou isis
1.0.0.0/24 is subnetted, 1 subnets
i L1 1.1.1.0 [115/10] via 192.168.12.1, FastEthernet0/0
3.0.0.0/24 is subnetted, 1 subnets
i L2 3.3.3.0 [115/10] via 192.168.23.2, Serial1/0
172.168.0.0/22 issubnetted, 1 subnets
i L2 172.168.16.0 [115/20] via 192.168.23.2,Serial1/0
我们再把目光移到 R1 上,发现 R1 有一条默认路由指向 R2 通往域外。有时候我们可能需要 R1 知道一些域外的明细路由达到最优选路,此时就要使用 IS-IS 的路由泄露功能。针对 R2 进行如下配置,然后再查看 R1 的 IS-IS 路由表变化
R2#conft
R2(config)#access-list100 permit ip 3.3.3.0 0.0.0.255 any // 创建 ACL 允许注入的域外网段 R2(config)#router isis
R2(config-router)#redistributeisis ip level-2 into level-1 distribute-list 100 // 根据 ACL 从 L2 路由器将域外网段注入 L1 路由器
R1#ship rou isis
2.0.0.0/24 is subnetted, 1 subnets
iL1 2.2.2.0 [115/20] via 192.168.12.2,FastEthernet0/0
3.0.0.0/24 is subnetted, 1 subnets
i ia 3.3.3.0 [115/148] via 192.168.12.2,FastEthernet0/0 // 多了一条域外路由
iL1 192.168.23.0/24 [115/20] via 192.168.12.2, FastEthernet0/0
i*L10.0.0.0/0 [115/10] via 192.168.12.2, FastEthernet0/0
实验四: IS-IS 的多进程多区域和区域迁移
R1 配置:
R1#conf t
R1(config)#int lo0
R1(config-if)#iip add 1.1.1.1 255.255.255.0
R1(config-if)#exit
R1(config)#int s0/0
R1(config-if)#clock rate 64000
R1(config-if)#ip add 192.168.12.1 255.255.255.0
R1(config-if)#ip router isis 1
R1(config-if)#isis circuit-type level-1-2 // 可以不打,默认即可
R1(config-if)#no sh
R1(config-if)#exit
R1(config)#int s0/1
R1(config-if)#clock rate 64000
R1(config-if)#ip add 192.168.13.1 255.255.255.0
R1(config-if)#ip router isis 1
R1(config-if)#isis circuit-type level-1-2
R1(config-if)#no sh
R1(config-if)#exit
R1(config)#router isis 1
R1(config-router)#net 49.0001.1111.1111.1111.00
R1(config-router)#is-type level-1-2
R1(config-router)#passive-interface loopback 0
R1(config-router)#exit
R2 配置:
R2#conf t
R2(config)#int lo0
R2(config-if)#ip add 2.2.2.2 255.255.255.0
R2(config-if)#ip router isis 1
R2(config-if)#exit
R2(config)#int s0/0
R2(config-if)#clock rate 64000
R2(config-if)#ip add 192.168.12.2 255.255.255.0
R2(config-if)#ip router isis 2
R2(config-if)#no sh
R2(config-if)#exit
R2(config)#router isis 1
R2(config-router)#net 49.0002.2222.2222.2222.00
R2(config-router)#is-typelevel-1 //IS-IS 等级为 1 ,只与本区域( L1 区域)交换路由信息,它会收到本区域中 L1/L2 的默认路由
R2(config-router)#exit
R2(config)#router isis 2
R2(config-router)#net 49.0001.2222.2222.2222.00
R3(config-router)#is-typelevel-1 -2
R2(config-router)#exit
R3 配置:
R3#conf t
R3(config)#int lo0
R3(config-if)#ip add 3.3.3.3 255.255.255.0
R3(config-if)#ip router isis 1
R3(config-if)#exit
R3(config)#int s0/0
R3(config-if)#clock rate 64000
R3(config-if)#ip add 192.168.13.2 255.255.255.0
R3(config-if)#ip router isis 2
R3(config-if)#no sh
R3(config-if)#exit
R3(config)#router isis 1
R3(config-router)#net 49.0003.3333.3333.3333.00
R3(config-router)#is-typelevel-1
R3(config-router)#exit
R3(config)#router isis 2
R3(config-router)#net 49.0001.3333.3333.3333.00
R3(config-router)#is-typelevel-1-2
R3(config-router)#exit
配置完成后就可以全网互通了,查看 R2 的路由表、链路状态数据库、邻居表,此时我们发现
-
一台路由器上启动多个 IS-IS 路由进程,并将不同的进程应用到相应的接口上,使一个路由器可以支持多个 area 。
-
在 IS-IS 中进程号用 TAG 表示,它可以使数字或字母,与 OSPF , EIGRP 等略有不同
-
is-is 创建的第一个进程默认为 L2 或 L1/L2 等级,第二个进程是 L1 等级。
-
IS-IS 等级为 1 时,只与本区域( L1 区域)交换路由信息,它会收到本区域中 L1/L2 的默认路由
R2# sh ip rou isis
1.0.0.0/24 is subnetted, 1 subnets
i L1 1.1.1.0 [115/10] via 192.168.12.1, Serial0/0
i L1 192.168.13.0/24 [115/20] via192.168.12.1, Serial0/0
3.0.0.0/24 is subnetted, 1 subnets
i L2 3.3.3.0 [115/30] via 192.168.12.1, Serial0/0
R2#sh isis database
Area 2:
IS-IS Level-1 Link State Database:
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
R1.00-00 0x00000007 0xEEFE 1125 1/0/0
R2.00-00 * 0x00000006 0xA73B 328 1/0/0
R3.00-00 0x00000003 0xB8C3 810 1/0/0
IS-IS Level-2 Link State Database:
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
R1.00-00 0x00000004 0xCD2B 1134 0/0/0
R2.00-00 * 0x00000002 0x0B41 1135 0/0/0
R3.00-00 0x00000004 0x3AA3 803 0/0/0
Area 1:
IS-IS Level-1 Link State Database:
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
R2.00-00 * 0x00000003 0x04BC 563 1/0/0
R2#sh isis neighbors
Area 2:
System Id Type Interface IP Address State Holdtime Circuit Id
R1 L1L2 Se0/0 192.168.12.1 UP 25 00
Area 1:
System Id Type Interface IP Address State Holdtime Circuit Id
接着我们进行区域实时迁移,且不中断网络业务 (OSP 迁移需要中断网络 ) ,将 Area 49.0001 迁移到 Area 50.abcd. 下面对 R1 、 R2 、 R3 同时添加迁移目标的 NET 地址,最后才删除原来的 NET 地址,达到平滑过渡迁移的目的。
R1(config)#router isis 1
R1(config-router)#net 50.abcd.1111.1111.1111.00 // 在对应 IS-IS 进程中添加我们需要迁移的目标 NET ,最多可添加 3 个
R2(config)#router isis 2
R2(config-router)#net 50.abcd.2222.2222.2222.00 // 在对应 IS-IS 进程中添加我们需要迁移的目标 NET ,最多可添加 3 个
R3(config)#router isis 2
R3(config-router)#net 50.abcd.3333.3333.3333.00 // 在对应 IS-IS 进程中添加我们需要迁移的目标 NET ,最多可添加 3 个
R1(config)#router isis 1
R1(config-router)#no net 49.0001.1111.1111.1111.00 // 添加完成后,删除不需要的 NET 地址
R2(config)#router isis 2
R2(config-router)#no net 49.0001.2222.2222.2222.00// 添加完成后,删除不需要的 NET 地址
R3(config)#router isis 2
R3(config-router)#no net 49.0001.3333.3333.3333.00// 添加完成后,删除不需要的 NET 地址
测试网络连通在修改过程联通性,并且查看 R1 的链路状态数据库变化
R1#sh isis database detail
IS-IS Level-1 Link State Database:
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
R1.00-00 * 0x00000017 0x91CC 503 1/0/0
Area Address: 50.abcd
NLPID: 0xCC
Hostname: R1
IP Address: 1.1.1.1
Metric: 10 IP 192.168.12.0 255.255.255.0
Metric: 10 IP 192.168.13.0 255.255.255.0
Metric: 0 IP 1.1.1.0 255.255.255.0
Metric: 10 IS R2.00
Metric: 10 IS R3.00
--More--
实验五: IS-IS 的认证
IS-IS 认证特性分为邻居关系认证、区域认证、路由域认证三个方面。认证的目的即是为了防 止恶意攻击,蓄意入侵。 IS-IS 认证的加密方式有两种,一种是明文加密,一种是 MD5 密文加密,这里我们推荐使用 MD5 加密认证。
-
R1 配置:
R1#conft
R1(config)#key chain test // 创建密钥链 test
R1(config-keychain)#key 1 // 为密钥链 test 创建密钥 key 1
R1(config-keychain-key)#key-string kkfloat // 设置 key 1 的密码为 kkfloat
R1(config-keychain-key)#exit
R1(config-keychain)#exit
R1(config)#int lo0
R1(config-if)#ip add 1.1.1.1 255.255.255.0
R1(config-if)#ip router isis
R1(config-if)#exit
R1(config)#int fa0/0
R1(config-if)#ip add 192.168.12.1 255.255.255.0
R1(config-if)#ip router isis
R1(config-if)#isis authentication key-chain test level-1 // 在接口 fa0/0 上开启 is-is 的 level-1 验证,并设置密钥链为 test
R1(config-if)#isis authentication mode md5 level-1 // 设置 IS-IS 的 Level-1 验证使用使用 MD5 加密方式
R1(config-if)#no sh
R1(config-if)#exit
R1(config)#router isis
R1(config-router)#net 49.0001.1111.1111.1111.00
R1(config-router)#passive-interface loopback 0
R1(config-router)#authentication key-chain test // 设置 IS-IS 的 49.0001 域认证使用密钥链 test
R1(config-router)#authentication mode md5 level-1// 设置 IS-IS 的 49.0001 域认证使用 MD5 加密
R1(config-router)#exit
R2 配置:
R2#conf t
R2(config)#key chain test // 创建密钥链 test
R2(config-keychain)#key 1 // 为密钥链 test 创建密钥 key 1
R2(config-keychain-key)#key-string kkfloat// 设置密钥 key 1 的密码为 kkfloat
R2(config-keychain-key)#exit
R2(config-keychain)#exit
R2(config)#int lo0
R2(config-if)#ip add 2.2.2.2 255.255.255.0
R2(config-if)#ip router isis
R2(config-if)#exit
R2(config)#int fa0/0
R2(config-if)#ip add 192.168.12.2 255.255.255.0
R2(config-if)#ip router isis
R2(config-if)#isis authentication key-chain test // 在接口 fa0/0 上开启 is-is 的 level-1 验证,并设置密钥链为 test
R2(config-if)#isis authentication mode md5 level-1 // 设置 IS-IS 的 Level-1 验证使用使用 MD5 加密方式
-
R2(config-if)#no sh
R2(config-if)#exit
R2(config)#int s1/0
R2(config-if)#clock rate 64000
R2(config-if)#ip add 192.168.23.2 255.255.255.0
R2(config-if)#ip router isis
R2(config-if)#no sh
R2(config-if)#exit
-
R2(config)#router isis
R2(config-router)#net 49.0001.2222.2222.2222.00
R2(config-router)#passive-interface loopback 0
R2(config-router)#authentication key-chain test // 设置 IS-IS 的 49.0001 域内认证使用密钥链 test
R2(config-router)#authentication mode md5 level-1 // 设置 IS-IS 的 49.0001 域内认证使用 MD5 加密
R2(config-router)#authentication key-chain test level-2 // 设置 IS-IS 路由域将的认证使用密钥链 test
R2(config-router)#authentication mode md5 level-2// 设置 IS-IS 路由域间的认证使用 MD5 加密
R3 配置:
R3#conft
R3(config)#key chain test// 创建密钥链 test
R3(config-keychain)#key 1// 为密钥链 test 创建密钥 key 1
R3(config-keychain-key)#key-string kkfloat// 为密钥 key1 设置密码为 kkfloat
R3(config-keychain-key)#exit
R3(config-keychain)#exit
R3(config)#int lo0
R3(config-if)#ip add 3.3.3.3 255.255.255.0
R3(config-if)#ip router isis
R3(config-if)#exit
R3(config)#int s0/0
R3(config-if)#clock rate 64000
R3(config-if)#ipadd 192.168.23.3 255.255.255.0
R3(config-if)#ip router isis
R3(config-if)#no sh
R3(config-if)#exit
R3(config)#router isis
R3(config-router)#net49.0002.3333.3333.3333.00
R3(config-router)#authentication key-chain test level-2// 设置 IS-IS 路由域将的认证使用密钥链 test
R3(config-router)#authentication mode md5 level-2// 设置 IS-IS 路由域间的认证使用 MD5 加密
R3(config-router)#passive-interface loopback 0
R3(config-router)#exit
总结三种认证:
-
IS-IS 邻居关系认证:即是接口认证,用以确认邻居的正确性和有效性,防止与无法信任的路由器形成邻居。 可以为 IS-IS 的 level1 或 level2 分配一个接口认证密码。如果不指定 level2 ,则默认的 level1 的认证。如果接口开启了明文认证,那么密码会被插入封装到到 IS-IS 的 Hello 报文中,接收路由器会对接收到的 Hello 报文进行认证密码的检查,一致时才会与对端 IS-IS 路由器建立邻居关系。 比如 A , B 两台 路由器 互联,如果 A 没有配邻居认证,而 B 配置了邻居认证,那么在 A 来说是可以建立 B 的邻居关系 . 而 B 则不起邻居关系。因为在协议实现上,没配置认证的一端是可以接收对端的 Hello 报文,并不进行密文的比较,可以建立起邻居关系的 ; 而配置认证的一端,收到 hello 报文后,必须进行密文的比较,如果两端密文不一致,则直接丢弃 ; 也就是说自己不配置认证的宽入,配置认证的严入 ;
-
IS-IS 区域认证: 其实就是 Level 1 area 的验证, 区域认证可以防止将从不信任的路由器学习到的路由信息加入到本地 Level-1 的 LSDB 中,也就是拒绝接收没有通过认证的路由器发来的路由通告。配置区域认证后,认证密码将封装到 Level-1 报文( LSP 、 CSNP 、 PSNP )中,并对收到的 Level-1 报文进行认证密码的检查。但同一区域内的路由器必须配置相同的认证方式和认证密码。例如 如果 A 路由器配置了区域认证,但是 B 没有配置,此时 A 发送出来的 Level 1LSP 都会携带密文认证的 TLV ,然而由于 B 并没有开启认证,因此 A 发送的这些 LSP 到了 B , B 直接忽略 LSP 中的认证信息,直接去读取,因此 B 能学习到 A 通告的路由,然而 A 不能从 B 学习到任何路由。
-
IS-IS 路由域认证:即是 Level 2 认证,可以防止将不可信的 Level-2 路由信息注入当前路由域。配置路由域认证后,认证密码将会封装到 Level-2 报文( LSP 、 CSNP 、 PSNP )中,并对收到的 Level-2 报文进行认证密码的检查。但所有骨干层( Level-2 )路由器必须配置相同的认证方式和认证密码。例如 如果 A 路由器配置了路由域认证,但是 B 没有配置,此时 A 发送出来的 Level 2LSP 都会携带密文认证的 TLV ,然而由于 B 并没有开启认证,因此 A 发送的这些 LSP 到了 B , B 直接忽略 LSP 中的认证信息,直接去读取,因此 B 能学习到 A 通告的路由,然而 A 不能从 B 学习到任何路由。
原文:http://blog.csdn.net/kkfloat/article/details/24853361
内容总结
以上是互联网集市为您收集整理的CCNP路由实验之六 动态路由协议之IS-IS全部内容,希望文章能够帮你解决CCNP路由实验之六 动态路由协议之IS-IS所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。