合作机构:阿里云 / 腾讯云 / 亚马逊云 / DreamHost / NameSilo / INWX / GODADDY / 百度统计
一、IS-IS概述
IS-IS(Intermediate System to Intermediate System,中间系统到中间系统)最初是国际化标准组织ISO为它的无连接网络协议CLNP设计的一种动态路由协议。随着TCP/IP的流行,为了提供对IP路由的支持,IETF在RFC1195中对IS-IS进行了扩充和修改,使它能够同时应用在TCP/IP和OSI环境中,修订后的IS-IS协议被称为集成化的IS-IS。
由于IS-IS的简便性及扩展性强的特点,目前在大型ISP(互联网服务提供商)的网络中被广泛地部署。
IS-IS和OSPF一样都属于链路状态协议,都是采用SPF路由算法,都会划分区域等,但是它们也存在一些区别,下文会详细介绍。IS-IS的特点如下:
a)IS-IS是一种链路状态路由协议;
b)IS-IS支持IP、CLNP两种协议;
c)IS-IS支持灵活的TLV(Tag、Length、Value)编址方式、协议拓展性好;
d)IS-IS路由收敛速度快、结构清晰、适用于大规模网络;
e)IS-IS直接运行于链路层之上;
f)IS-IS支持VLSM和CIDR。
二、IS-IS的基本概念
1.IS-IS的基本术语:
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-IS协议的路由器所组成的范围。
4)Area:区域。路由域的细分单元,IS-IS允许将整个路由域分为多个区域。
5)Sys ID:系统ID。在IS-IS协议中使用Sys ID唯一标识一台路由器。
6)LSP(Link-State Packet):链路状态报文。ISP是IS-IS网络中的设备用来向邻居通告自己链路状态信息的报文。
7)LSDB(Link State DataBase):链路状态数据库。网络内所有链路的状态组成了链路状态数据库,在每一个IS中都至少有一个LSDB。IS使用SPF算法,利用LSDB来生成自己的路由。
8)DIS(Designated IS):指定IS。广播网络上选举的指定中间系统,以便周期性地向区域内其他路由器进行区域LSDB数据库的泛洪,使整个区域中路由器的LSDB同步。
2.IS-IS PDU报文类型:
IS-IS路由协议和其他路由协议不同,它直接运行在数据链路层上,对等路由器间通过PDU(协议数据单元)来传递链路状态信息,完成链路状态PDU数据库(LSPDB)的同步。
IS-IS网络主要使用的PDU类型有:Hello PDU、LSP(Link-State PDU,链路状态PDU)和SNP(Sequence Number PDU,序列号PDU)三种。
1)Hello PDU:周期性地向邻居发送此报文,用于建立和维持邻居关系,称为IIH(IS-to-IS Hello),类似OSPF的Hello报文。
2)LSP PDU:包含IS-IS链路状态信息的PDU,用于与其他IS-IS路由器交换链路状态信息,类似OSPF的lSA报文。
3)SNP PDU:通过描述全部或部分数据库终端LSP来同步各LSDB,从而维护相同区域中同级别LSDB的完整与同步,类似OSPF的DD报文。
3.ISIS协议地址编址方式:
ISIS采用的通信地址为NSAP(Network Service Access Point)地址,用十六进制表示。
NSAP地址由Area ID(区域ID)、System ID(系统ID)和NSEL三部分组成。
(1)区域ID:由IDP(Initial Domain Part)的AFI、IDI,和DSP(Domain Specific Part)的HOD组成,用来标识组织结构。(AFI:权限和格式标识符,用来表示地址分配机构和地址格式。IDI:初始域标识符,用来标识域。HOD:High Order DSP高位的域内特定部分,用来分割区域。)
(2)系统ID:用来唯一标识主机或路由器,在设备的实现中,它的长度固定为6个字节。
(3)NSEL:NSAP标识(NSAP-Selector),用来指示选定的服务,相当于TCP/IP地址中的端口号。
NET:
NET(Network Entity Title网络实体标记)是特殊NSAP,用于IS-IS系统中时最后一个字节为0。在路由器上配置IS-IS时,只需要考虑NET即可。
NET的表示:
一个中间系统至少有一个NET(最多可有3个)且System Id 要相同。同一Area的中间系统必须有相同的Area Id,每个中间系统在一个Area中必须有一个唯一的System Id。
4.区域划分与路由器角色:
IS-IS在自治系统内采用骨干区域与普通区域两级的分层结构,骨干区域Backbone是指连续的Level-2路由器(含L1/L2)的集合。通过划分区域来减少区域块大小、减少报文的交互,便于管理。
一般来说,将Level-1路由器部署在普通区域,将Level-2路由器部署在骨干区域,每一个非骨干区域都通过Level-1-2路由器与骨干区域相连。对于Level-1路由器来说,只有属于同一区域才可以建立Level-1&Level-1邻居,对于Level-2路由器则没有此同一区域限制,都可以建立Level-2&Level-2邻居。
一个路由器必须整个属于某个区域,而不能像OSPF那样是同一台路由器上不同的接口可以属于不同的区域。
5.IS-IS与OSPF的异同点:
1)相同点:
都是基于链路状态数据库的协议,采用SPF算法,收敛快,无环路;
都利用hello协议来形成和维护邻居关系;
都是利用区域形成两层的层次性拓扑,都有Area的概念;
都能在区域间聚合路由,都支持VLSM和CIDR,适合大型网络;
在广播网络上都选举DR(DIS),且都产生LSA(LSP)来描述整个网段。
2)不同点:
TOP