路由技术IS-IS协议

2018年7月6日22:40:46

定义

IS-IS:Intermediate System to Intermediate System Routing Protocol,中间系统到中间系统的路由选择协议。

中间系统到中间系统的路由选择协议(IS-IS)是由 ISO 提出的一种路由选择协议。它是一种链路状态协议。在该协议中,IS(路由器)负责交换基于链路开销的路由信息并决定网络拓扑结构。IS-IS 类似于 TCP/IP 网络的开放最短路径优先(OSPF)协议。

  • IS-IS原始设计为ISO的CLNP的动态路由协议ISO10589 or RFC1195)
  • IS-IS是类似于OSPF的链路状态路由协议,是在AS内部使用的IGP
  • CLNP是类似于IP的协议,用来传送数据报文(ISO8473,RFC994)

 

基本原理

ISO 网络包含了终端系统、中间系统、区域(Area)和域(Domain)。终端系统指用户设备,中间系统指路由器。路由器形成的本地组称之为“区域”,多个区域组成一个“域”。IS-IS 被设计来提供域内或一个区域内的路由。IS-IS与 CLNP、ES-IS 和 IDRP协议相结合,为整个网络提供完整的路由选择。

OSPF路由协议的区域边界是以路由器为准,而IS-IS路由协议的区域边界是在链路上的。Level 1路由器是没有直接连接到其他区域的路由器,Level 2路由器是连接不同区域的路由器:Level 1 路由器只知道它们本区域中的拓扑,包括所有的路由器和主机,而不知道区域以外的路由器以及目的地。Level 1 路由器将去往其它区域的所有流量都转发给本区域内的一台 L1/2 路由器,再由该L1/2把流量转发给L2区域中的L1/2路由器,再由L2区域中的L1/2路由器转发给L2路由器,完成数据转发。每台路由器只能属于一个区域,区域边界在链路上。IS-IS使用LSP分组(链路状态分组) 来更新LSDB(连接状态数据库),更新数据流量小于OSPF的LSA(链路状态通告)更新LSDB。

  • 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的路由器知道如何去往外区域的路由。

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 具有两种地址类型:

网络服务访问点(NSAP:network service access point)– NSAP 地址用来标识网络层服务,每种服务对应一个 NSAP 地址。

网络实体标题(NET)– NET 地址用来标识网络层实体或过程,而不是服务。每种设备可能不止含有一个地址,但是 NET 应该是唯一的并且每个系统中 NSAP 的 系统 ID 部分也必须是唯一的。

 

将IS-IS用作IGP时,大多数公司都是用最简单的NSAP格式。CLNP地址称为网络服务访问点NSAP3段构成: AREA区域,长度可变,113个字节;ID长度可变,一般是6字节;唯一性Selector 在网络实体名称NET中是0x00,其组成如下:

1.区域地址,至少一个字节,有下面两部分组成。

-----AFI设置为49:表示AFI是本地管理,因此公司有权分配各个地址。

-----区域标示符(ID):是区域地址中位于AFI后面的字节。

同一区域中的路由器都必须使用相同的区域地址,这个地址定义了该区域。区域地址用于L2路由选择。ES只能识别同一子网中具有相同区域地址的IS和ES。

2.系统ID:在CISCO路由器中要求使用6字节的系统ID,且系统ID必须是唯一的,通常将路由器的MAC地址用作系统ID。然而综合IS-IS将IP地址用作系统ID的一部分。在整个AS中,系统ID都应该是唯一的,这样,将设备移到其他区域时,不会导致L1或L2冲突。

3.NSEL:对于路由器总是为0

•  例一:47.0001.aaaa.bbbb.cccc.00

     区域: 47.0001, 系统ID: aaaa.bbbb.cccc, SEL=00

•  例二:39.0f01.0002.0000.0c00.1111.00

     区域: 39.0f01.0002, 系统ID: 0000.0c00.1111, SEL=00

 

OSPF与IS-IS的异同点

•  OSPF与IS-IS的相同点

  • 都采用链路状态算法,属于链路状态路由协议;
  • 都适用于比较大型复杂的网络;
  • 都不会产生路由环路问题;
  • 都是使用hello报文;
  • 都可以划分区域。

•   OSPF与IS-IS的不同点

  • IS-IS协议直接在链路层上使用,报文直接封装在链路层报文中,支持IP、IPX等多种协议;OSPF封装在IP中,只支持IP协议;
  • IS-IS所有路由器间都形成邻接关系;OSPF所有路由器只跟DR、BDR形成邻接关系;
  • 在IS-IS协议中整个路由器只能属于一个区域,路由器的LSDB按Level来维护;而在OSPF协议中路由器可以属于多个区域,为每个区域维护一个LSDB数据库;
  • IS-IS不支持NBMA(non-broadcast multiple access,非广播多路访问网络)、点对多点类型的网络;OSPF可以很好地支持各种网络类型;
  • IS-IS的配置比OSPF简单,但OSPF更加灵活;
  • OSPF是专门为IP设计的,更适合IP的路由,并且OSPF发展成熟,标准化程度高,支持厂商多,缺点暴露多,改进也多;而IS-IS功能相对单一。

  • 更新时间:2018年7月6日22:40:46 ,共 2574 字。