科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道IS-IS路由协议学习总结

IS-IS路由协议学习总结

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

提供IS和ES(路由器和主机)之间通信的协议,就是ES-IS;提供IS和IS(路由器和路由器)之间通信的协议也就是路由协议,叫IS-IS。一个路由器可以同时是L1和L2区域的DR,取决于不同接口的优先级设置。

作者:中国IT实验室 2007年9月16日

关键字: 路由协议 EIGRP igrp SNMP CISCO 网络协议

  • 评论
  • 分享微博
  • 分享邮件

  一. 背景介绍

  1. CLNP是什么?

  CLNP:

  是OSI模型中网络层中的一种不面向连接的网络协议,和IP有相同的特质。但是它是纯粹的OSI模型的一个,而IP现在是我们熟悉的TCP/IP协议栈中的网络层协议。他们两个在OSI模型中是属于同一层的东西,但是在应用中,是两种不同的应用。

  2. Intergrate IS-IS有什么用?

  由于历史原因,OSI曾经是要比TCP/IP协议栈普及,当现在的TCP/IP流行的时候,以前的采用OSI模型中CLNS(由ISO制定的规范)的应用要和现在的TCP/IP(由IETF进行兼容,可以使网络层为CLNP和为IP的路由信息可以互通,所以需要要有个路由协议来作为这两种情况的兼容点。

  

  二. 和OSPF的相同点

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

  2. 都是用Hello报文来查找和维护邻居关系。

  3. 使用区域来维护一个阶级的概念。

  4. 在区域之间都可以使用路由汇总来减少路由器的负担。

  5. 都是无类的路由协议。

  6. 在广播网络里,都通过选举一个DR来减少报文数量。

  7. 都有认证功能。

  三. 名词解释

  1. ES-IS和IS-IS

  在ISO规范中,一个路由器就是一个IS(中间系统),一个主机就是一个ES(末端系统)。提供IS和ES(路由器和主机)之间通信的协议,就是ES-IS;提供IS和IS(路由器和路由器)之间通信的协议也就是路由协议,叫IS-IS。

  2. SNPA

  (Subnetwork Point of Attachment,子网连接点),是一个连接着子网的接口,它是一个概念上的接口,不一定是物理接口。

  3. PDU

  (Protocol Data Unit,协议数据单元),是在OSI模型中各层之间所传送的数据单元。

  数据帧就是Data Link PDU;报文就是Packet PDU;相当于OSPF中的LSA就是Link State PDU,但不象LSA,前面还要有OSPF头,IP头,LSP本身就是一个报文,不需要额外的封装。

  4. Level 1和 Level 2路由器

  首先要明白和OSPF的一个区别,OSPF路由协议的区域边界是以路由器为准,而IS-IS路由协议的区域边界是在链路上的。Level 1路由器是没有直接连接到其他区域的路由器;Level 2路由器是连接不同区域的路由器;

  Level 1路由器相当于OSPF中的非骨干区域中的路由器;

  Level 2路由器相当于OSPF中的骨干区域路由器;

  Level 1/Level 2路由器相当于OSPF中的ABR,他必须维护两个不同区域的链路状态表。但是他又不像ABR,他不会把Level 2的路由信息传到Level 1的区域中去。而Level 1区域就相当于OSPF中的完全存根区域,需要把L1/L2路由器作为一个网关,去请求一个去往外区域的路由,L1/L2路由器通过发送LSP报文到L1区域,设置ATT bit让L1区域的路由器知道,发送这个LSP的路由器知道如何去往外区域的路由。

  和OSPF的又一个不同:OSPF在区域内采用SPF算法,而区域间路由采用Distance Vector算法来实现;而IS-IS都采用SPF算法来计算路由,因为作为L1/L2路由器他同时维护了两张链路状态表。可以进行SPF计算。

  Area ID:

  由于IS-IS路由区域里,一个路由器必须只能属于一个区域,不会象OSPF中一个路由器同时属于多个区域,所以一个Area ID只会和一台路由器产生关系。

  System ID:

  相当于OSPF路由协议中的Router ID;

  Network Entity Titles:

  Area ID+System ID,System ID是不变的,在一个区域中,所有的IS都必须只能有一个System ID,而且System ID的长度必须一直,为6个Octet。一般都是接口的MAC地址。而所有处在相同Area 的路由器都必须有一致的Area ID

  四. IS-IS的网络层

  1. 分层

  IS-IS协议属于OSI模型,在网络层中,分为两个子层:

  Subnetwork Dependent Layer:

  它在Subnetwork Independent Layer上把链路状态屏蔽掉了,提供上层一个透明的工作环境。

  功能:

  完成了PDU从连接网络上的接受和发送;

  负责Hello PDU的发送接受,完成邻居的发现和链接关系的建立,维护;

  负责把IP和IS-IS的PDU交给各自的Process进行处理

  特性:

  由于它是负责和地下链路打交道的,所以它决定了IS-IS路由协议支持什么网络类型。

  广播和点对点两种类型。

  使用show clns is-neighbors命令可以查看邻居表:

  Circuit ID:

  是一个只有8位bit长度的ID用来确定IS的接口,如果这个接口是连接着一个广播网络,那么它的Circuit ID变成了连接多播网络的DR的System ID+Circuit ID。

  LAN ID:

  System ID+Circuit ID,也就是由DR产生分发的一个ID,来表示路由器邻居的特性。

  在IS-IS中,DR路由器的选择:

  通过接口的优先级,只不过这些优先级分成L1和L2,如果优先级为零,那么这个路由器无权进行DR选举。如果优先级相同,根据System ID来进行选择,最高的成为System ID。

  和OSPF不同的是,在广播网络中,IS-IS路由器和所有的邻居都会形成adjancency,而不只和DR形成;没有BDR的概念,如果一个Dr fail了,会在区域中重新选一个出来;而且IS-IS路由协议的DR不是恒定的,如果有一个优先级更高或System ID更高的路由器加入,会导致整个区域重新进行DR的选择,并重新泛洪LSP报文通知DR的信息。

  一个路由器可以同时是L1和L2区域的DR,取决于不同接口的优先级设置。

  

  Subnetwork Independent Layer:

  负责如何在CLNP网络中传送报文到目的地,并同时提供哪些服务对上层协议。而路由功能分为以下四个步骤:

  1. Update

  这个步骤负责构建L1和L2的链路数据库。

  IS-IS对LSP处理的方式和OSPF对LSA处理的方式有一些不同:

  IS-IS和OSPF使用MaxAge参数来控制LSP的更新度,但是IS-IS的MaxAge是从大到小计算,OSPF是通过从小到大来计算,一个到零就算过起了,一个到最大就算过期。而当LSP的MaxAge到零了的时候,IS-IS不会马上采取行动,而是会把它在数据库中再保留60秒(ZeroAgeLifetime)。

  IS-IS中,如果接收路由器发现LSP的校验和不对,可以删掉LSP,并要求重发。而OSPF中只有LSA的发送者可以清楚LSA。但是这样也等于增加了IS-IS区域中的通信流量,可以使用“ignore-lsp-errors”命令,来去掉接受者进行校验和检查的功能。但也可以使发送者知道LSP有问题,通过使用SNPs(相当于一个Ack)。

  

  在点对点网络上,IS使用单播来发送LSP;在广播网络上,IS使用组播来发送LSP。L1的LSP的目的地址是0180.c200.0014,L2的LSP的目的地址是0180.c200.0015。

  

  IS-IS使用SNPs来进行报文收到确认和维护链路状态同步。SNPs分为两种,Partial SNPs,Complete SNPs:

  PSNP是使用在点对点网络上;而CSNP是使用在广播网络上,通过使用组播来达到传送LSP确认的方式,但是它不是明确认,而是在隔了一段时间,收到一定数量的LSP后,它会发送CSNP其中包含了所收到的所有LSP的List,由它的邻接的路由器来判断是否对端路由器接收到了它的LSP。同时,如果CSNP中包含了一个LSP是自己没有的,它会发出组播的PSNP来列出自己没有的LSP,虽然是组播,但是只有DR会进行回复这种报文。类似于OSPF中的LSR和LSU的功能。

  

  

  IS-IS有一种检测网络负担和路由器负担的特性,如果他发现路由器的内存不够了,或路由区域中的路由太多了,它会设置LSP的Overload bit。一旦设了,不会影响到目的地是它的报文,但是其他路由器不会通过它来转发报文。

  

  

  2. Decision

  IS-IS路由决定也是使用SPF算法,它把路由分为两种,Internal和External;如果有多条路由到达相同目的地时,IS-IS支持负载均衡,最多同时可以支持6条路径。

  负责进行路由汇总

  支持VLSM

  负责计算最近的L2路由器作为到外区域的网关

  3. Forwarding

  4. Receive

  

  2.PDU的功能描述

  由8个Octet的报头加上CLV结构构成了PDU的基本结构,不同用途的PDU,会由不同的CLV结构构成。CLV结构目前有如下分类:

  Area address:

  通告源路由器所在地Area地址,并且同时有多个可以存在。

  IS Neighbors(LSPs)

  列出源路由器的邻居和链路信息

  ES Neighbors

  Partition Designated Level 2 IS

  Prefix Neighbors

  IS Neighbors(Hellos):

  列出上次Holdtime后,源路由器地的邻居的System ID列表。而且这类报文只用在LAN LSP中(发给DR路由器),在点对点网络中没有。Level 1的路由器只发送Level 1邻居,Level 2路由器只发送Level 2邻居。

  Padding:

  用来填充PDU,达到最小的报文尺寸。

  LSP Entries

  Authentication Information

  IP Internal Reachability Information

  列出路由区域中直接连接到源路由器的网络IP地址

  Protocols Supported:

  通告源路由器是否支持CLNP或IP。

  IP External Reachability Information

  列出路由区域外直接连接到源路由器的网络IP地址

  Inter-Domain Routing Protocol Information

  在路由重分发中使用,可以使IS路由器知道外路由域的路由信息。

  IP Interface Address

  通告源路由器发送PDU的接口的IP地址

  

  

  Hello PDU:

  起到邻居发现和维护邻居关系,根据网络类型可以分为点到点和局域网两种类型。PDU的大小收到源路由器的缓存和MTU的制约。在Hello PDU传送时,允许把PDU填充到最大容量,可以使邻居之间可以隐含的得知各自邻居的MTU。这种策略可以帮助减少链路的符合,避免在低链路上负载大的交通量。

  

  LSP PDU:

  相当

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章