CCNP路由实验之六 动态路由协议之IS-IS

时间:2021-05-04 16:06:01


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网络,因此互联网project任务组制定了能够适用于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还能够实现其他协议的功能,也因此它也适用于其他子网互连方式。

术语

  1. IS(Intermediate System):中间系统。

    相当于TCP/IP中的路由器,是IS-IS协议中生成路由和传播路由信息的基本单元

  2. ES(End System):终端系统。

    相当于TCP/IP中的主机系统。ES不參与IS-IS路由协议的处理,ISO使用专门的ES-IS协议定义终端系统与中间系统间的通信。

  3. RD(Routing Domain):路由域。在一个路由域中多个IS通过同样的路由协议来交换路由信息。

  4. Area:区域。路由域的细分单元。IS-IS同意将整个路由域分为多个区域。

  5. LSDB(Link State DataBase):链路状态数据库。

    网络内全部链路的状态组成了链路状态数据库。在每个IS中都至少有一个LSDB。IS使用SPF算法,利用LSDB来生成自己的路由。

  6. LSP(Link State Protocol Data Unit或Link State Packet):链路状态协议数据单元或链路状态报文。

    在IS-IS中。每个IS都会生成LSP,此LSP包括了本IS的全部链路状态信息。每个IS收集本区域内全部的LSP生成自己的LSDB。

  7. NPDU(Network Protocol Data Unit):网络协议数据单元,是ISO中的网络层协议报文。相当于TCP/IP中的IP报文。

  8. DIS(Designated IS):广播网络上选举的指定路由器,也能够称为指定IS或伪节点。

    )接口优先级(默认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来保证。

  9. 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个字节。

  10. 区域地址:IDP和DSP中的HODSP(High
    Order DSP)一起,既可以标识路由域。也可以标识路由域中的区域。因此,它们一起被称为区域地址(Area Address)。两个不同的路由域中不同意有同样的区域地址。同一区域中的路由器都必须使用同样的区域地址,这个地址定义了该区域。区域地址用于L2路由选择。ES仅仅能识别同一子网中具有同样区域地址的IS和ES。

    。为了支持区域的平滑合并、切割及转换。一台路由器最多可配置3个区域地址。

  11. System ID用来在区域内唯一标识主机或路由器。它的长度固定为48bit(6字节)。实际System ID的指定可以有不同的方法。但要保证可以唯一标识主机或路由器,实际应用中,一般使用Router
    ID与System ID进行相应。

    如果一台路由器使用接口Loopback0的IP地址168.10.1.1作为Router ID,则它在IS-IS使用的System
    ID可通过例如以下方法转换得到:

  1. 将IP地址168.10.1.1的每一部分都扩展为3位,不足3位的在前面补0。

  2. 将扩展后的地址168.010.001.001又一次划分为3部分,每部分由4位数字组成,得到的1680.1000.1001就是System
    ID。

  1. SEL(NSAP Selector。有时也写成NSEL)的作用类似IP中的“协议标识符”。不同的传输协议相应不同的SEL。在IP中,SEL均为00。

  2. 路由方式:因为这样的地址结构明白地定义了区域。Level-1路由器非常easy识别出发往它所在的区域之外的报文,这些报文须要转交给具有Level-2功能的路由器去处理。Level-1路由器利用System ID进行区域内的路由。假设发现报文的目的地址不属于自己所在的区域。就将报文转发给近期的Level-1-2路由器。Level-2路由器依据区域地址进行区域间的路由。

  3. 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。

  4. IS-IS在路由域内採用两级的分层结构。

    一个大的路由域被分成一个或多个区域(Areas)。区域内的路由通过Level-1路由器管理。区域间的路由通过Level-2路由器管理。

  1. Level-1路由器负责区域内的路由。它仅仅与属于同一区域的Level-1和Level-1-2路由器形成邻居关系,维护一个Level-1的LSDB,该LSDB包括本区域的路由信息。到区域外的报文转发给近期的Level-1-2路由器。

    类似于OSPF的内部非骨干路由器。

  2. Level-2路由器负责区域间的路由,能够与同一区域或者其他区域的Level-2和Level-1-2路由器形成邻居关系。维护一个Level-2的LSDB。该LSDB包括区域间的路由信息。全部Level-2路由器和Level-1-2路由器组成路由域的骨干网。负责在不同区域间通信。路由域中的Level-2路由器必须是物理连续的。以保证骨干网的连续性。仅仅有Level-2路由器才干直接与路由域外的路由器交换数据报文或路由信息。

  3. 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路由器是否形成邻居关系则与区域无关。

  1. IS-IS路由协议中的路由信息分为四级:

  1. Level-0存在于ES与IS之间,准确的讲不算路由协议。我们能够称它为Discovery
    Protocol发现协议。类似于TCP/IP网络中的ARP地址解释协议。

  2. Level-1存在于同一区域内的多台路由器之间。用于实现区域内路由,类似于OSPF的域内路由(O)。

  3. Level-2存在于同一域内的多台路由器之间,用于实现域内路由。类似于OSPF的域间路由(O
    IA)。

  4. Level-3存在于不同的域之间。类似于TCP/IP网络中由BGP实现的AS间路由。

  1. IS-IS协议认证:IS-IS的认证仅仅限于明文口令。Cisco的IOS支持3个级别的认证:

  1. 邻居认证——相互连接的路由器接口必须配置同样的口令,同一时候必须为L1和L2类型的邻居关系配置各自的认证。L1邻居认证的password和L2邻居的认证的password能够不同。邻居认证通过命令“isis
    password”配置。

  2. 区域认证——区域内的每台路由器必须运行认证,而且必须使用同样的口令。区域认证通过命令“area-password”配置。

  3. 域认证——域内的每个L2和L1/L2类型的路由器必须运行认证。而且必须使用同样的口令。

    域认证通过命令“domain-password”配置。

  1. 接口的路由层次类型:对于类型是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区域。

    IS-IS网络类型仅仅支持两种依据物理链路不同可分为:

  1. 广播链路:如Ethernet、Token-Ring等。以多播形式发送LSPs。

  2. 点到点链路:如PPP、HDLC等。以单播形式发送LSPs

  3. 对于NBMA(Non-Broadcast Multi-Access)网络,如ATM,需对其配置子接口,并将子接口类型配置为点到点网络或广播网络。IS-IS不能在点到多点(Point
    to MultiPoint。P2MP)链路上执行。

 

IS-IS报文格式:

  1. 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。

  1. Reserved/Circuit Type:高位的6比特保留,值为0。

    低位的2比特表示路由器的类型(00保留,01表示L1。10表示L2,11表示L1/2)。

  2. Source ID:发送Hello报文的路由器的SystemID。

  3. Holding Time:保持时间。在此时间内假设没有收到邻居发来的Hello报文,则中止已建立的邻居关系。

  4. PDU Length:PDU的总长度,以字节为单位。

  5. Priority:选举DIS的优先级。

  6. 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的总长度,以字节为单位。

    1. Remaining Lifetime:LSP的存活时间,以秒为单位。

    2. LSP ID:由三部分组成,System ID、伪节点ID(一字节)和LSP的分片号(一字节)。

    3. Sequence Numer:LSP的序列号。

    4. Checksum:LSP的校验和。

    5. P(Partition Repair):仅与L2 LSP有关,表示路由器是否支持自己主动修复区域切割。

    6. ATT(Attachment):由L1/L2路由器产生,但仅与L1 LSP有关,表示产生此LSP的路由器(L1/L2路由器)与多个区域相连接。

    7. 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都有同样的通用报头格式

  1. Intradomain Routeing ProtocolDiscriminator(域内路由协议鉴别符):设置为0x83。

  2. Length Indicator(长度标识符):PDU头部的长度(包含通用报头和专用报头)。以字节为单位。

  3. Version/Protocol ID Extension(版本号/协议标识扩展):设置为1(0x01)。

  4. ID Length(标识长度):NSAP地址和NET的ID长度。

  5. R(Reserved。保留):设置为0。

  6. Version(版本号):设置为1(0x01)。

  7. Maximum Area Address(最大区域地址数):支持的最大区域个数。

    集成IS-IS特点:能够实现三种形式的路由即单纯的OSI协议路由、单纯的IP路由或两者的结合

  1. 维护一个链路状态数据库。并使用SPF算法来计算最佳路径。

  2. 用Hello包建立和维护邻居关系;

  3. 使用区域来构造两级层次化的拓扑结构;

  4. 在区域之间能够使用路由汇总来降低路由器的负担;

  5. 支持VLSM和CIDR。

  6. 在广播多路訪问网络通过选举指定IS(DIS)来管理和控制网络上的泛洪扩散;

  7. 具有认证功能;

  8. IS-IS採用Cost作为度量值;

  9. 高速收敛;

  10. 适合大型网络

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,数据库结构简单,定位故障easy

同步过程不同

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)

CCNP路由实验之六 动态路由协议之IS-IS

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2tmbG9hdA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center">

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选举

CCNP路由实验之六 动态路由协议之IS-IS

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2tmbG9hdA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center">

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区域间路由、路由汇总、路由泄露

CCNP路由实验之六 动态路由协议之IS-IS

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2tmbG9hdA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center">

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

以上我们能够看出:

  1. R1有一条默认路由,原因是R1的路由类型为L1,而R2是L1-2类型,R1和R2处于同样区域Area49.0001.因此其会接到R2路由器发送的L1类型的默认路由。

    这有点像ospf中的全然末节区域。这样做的优点就是降低了路由表的大小。同一时候也增强了isis的稳定性

  2. 路由器类型(is-type),相邻路由器要么同一时候是L1或L2,要么2端中有一端是L1L2,否则形成不了邻居。

  3. 链路类型(isiscircuit-type),链路的2端,要么同一时候是L1或L2,要么2端中有一端是L1L2。否则形成不了邻居。

  4. 路由器类型为L1时,仅仅能建立L1的邻居。且仅仅学习域内的路由。对于路由器类型为L2,相同仅仅能建立L2的邻居,不仅学习域内路由还会学习域间路由,L1/L2路由器维护两个分离的L1和L2的link
    statedatebase,将计算全然独立的L1和L2拓扑自已SPF tree。

  5. 两端的路由器类型要和链路类型相匹配,否则不能建立邻居关系。

接着把目光放到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的多进程多区域和区域迁移

CCNP路由实验之六 动态路由协议之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的路由表、链路状态数据库、邻居表,此时我们发现

  1. 一台路由器上启动多个IS-IS路由进程,并将不同的进程应用到对应的接口上。使一个路由器能够支持多个area。

  2. 在IS-IS中进程号用TAG表示。它能够使数字或字母,与OSPF,EIGRP等略有不同

  3. is-is创建的第一个进程默觉得L2或L1/L2等级,第二个进程是L1等级。

  4. 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加密认证。

  5. CCNP路由实验之六 动态路由协议之IS-IS

    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的password为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的password为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加密方式

  6. 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

  7. 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设置password为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

    总结三种认证:

  1. IS-IS邻居关系认证:即是接口认证,用以确认邻居的正确性和有效性,防止与无法信任的路由器形成邻居。能够为IS-IS的level1或level2分配一个接口认证password。假设不指定level2,则默认的level1的认证。

    假设接口开启了明文认证。那么password会被插入封装到到IS-IS的Hello报文中,接收路由器会对接收到的Hello报文进行认证password的检查,一致时才会与对端IS-IS路由器建立邻居关系。比方A,B两台路由器互联,假设A没有配邻居认证,而B配置了邻居认证。那么在A来说是能够建立B的邻居关系.而B则不起邻居关系。由于在协议实现上。没配置认证的一端是能够接收对端的Hello报文,并不进行密文的比較,能够建立起邻居关系的;而配置认证的一端。收到hello报文后,必须进行密文的比較,假设两端密文不一致。则直接丢弃;也就是说自己不配置认证的宽入。配置认证的严入;

  2. IS-IS区域认证:事实上就是Level 1 area的验证。区域认证能够防止将从不信任的路由器学习到的路由信息增加到本地Level-1的LSDB中。也就是拒绝接收没有通过认证的路由器发来的路由通告。配置区域认证后。认证password将封装到Level-1报文(LSP、CSNP、PSNP)中。并对收到的Level-1报文进行认证password的检查。但同一区域内的路由器必须配置同样的认证方式和认证password。比如假设A路由器配置了区域认证。可是B没有配置,此时A发送出来的Level
    1LSP都会携带密文认证的TLV,然而因为B并没有开启认证。因此A发送的这些LSP到了B。B直接忽略LSP中的认证信息。直接去读取,因此B能学习到A通告的路由。然而A不能从B学习到不论什么路由。

  3. IS-IS路由域认证:即是Level 2认证。能够防止将不可信的Level-2路由信息注入当前路由域。配置路由域认证后,认证password将会封装到Level-2报文(LSP、CSNP、PSNP)中,并对收到的Level-2报文进行认证password的检查。

    但全部骨干层(Level-2)路由器必须配置同样的认证方式和认证password。比如假设A路由器配置了路由域认证。可是B没有配置。此时A发送出来的Level
    2LSP都会携带密文认证的TLV。然而因为B并没有开启认证,因此A发送的这些LSP到了B。B直接忽略LSP中的认证信息,直接去读取,因此B能学习到A通告的路由,然而A不能从B学习到不论什么路由。