ISIS.docx
- 文档编号:30540266
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:54
- 大小:305.26KB
ISIS.docx
《ISIS.docx》由会员分享,可在线阅读,更多相关《ISIS.docx(54页珍藏版)》请在冰豆网上搜索。
ISIS
第1章IS-IS配置
1.1IS-IS简介
IS-IS(IntermediateSystem-to-IntermediateSystemintra-domainroutinginformationexchangeprotocol,中间系统到中间系统的域内路由信息交换协议)最初是国际标准化组织(theInternationalOrganizationforStandardization,ISO)为它的无连接网络协议(ConnectionLessNetworkProtocol,CLNP)设计的一种动态路由协议。
为了提供对IP的路由支持,IETF在RFC1195中对IS-IS进行了扩充和修改,使它能够同时应用在TCP/IP和OSI环境中,称为集成化IS-IS(IntegratedIS-IS或DualIS-IS)。
IS-IS属于内部网关协议(InteriorGatewayProtocol,IGP),用于自治系统内部。
IS-IS是一种链路状态协议,使用最短路径优先(ShortestPathFirst,SPF)算法进行路由计算。
1.1.1基本概念
1.IS-IS路由协议的基本术语
●IS(IntermediateSystem):
中间系统。
相当于TCP/IP中的路由器,是IS-IS协议中生成路由和传播路由信息的基本单元。
在下文中IS和路由器具有相同的含义。
●ES(EndSystem):
终端系统。
相当于TCP/IP中的主机系统。
ES不参与IS-IS路由协议的处理,ISO使用专门的ES-IS协议定义终端系统与中间系统间的通信。
●RD(RoutingDomain):
路由域。
在一个路由域中多个IS通过相同的路由协议来交换路由信息。
●Area:
区域,路由域的细分单元,IS-IS允许将整个路由域分为多个区域。
●LSDB(LinkStateDataBase):
链路状态数据库。
网络内所有链路的状态组成了链路状态数据库,在每一个IS中都至少有一个LSDB。
IS使用SPF算法,利用LSDB来生成自己的路由。
●LSPDU(LinkStateProtocolDataUnit):
链路状态协议数据单元,简称LSP。
在IS-IS中,每一个IS都会生成LSP,此LSP包含了本IS的所有链路状态信息。
每个IS收集本区域内所有的LSP生成自己的LSDB。
●NPDU(NetworkProtocolDataUnit):
网络协议数据单元,是ISO中的网络层协议报文,相当于TCP/IP中的IP报文。
●DIS(DesignatedIS):
广播网络上选举的指定中间系统,也可以称为指定IS或伪节点。
●NSAP(NetworkServiceAccessPoint):
网络服务接入点,即ISO中网络层的地址,用来标识一个抽象的网络服务访问点,描述ISO模型的网络地址结构。
2.IS-IS地址结构
(1)NSAP
如图1-1所示,NSAP由IDP(InitialDomainPart,初始域部分)和DSP(DomainSpecificPart,域内自定义部分)组成。
IDP相当于IP地址中的主网络号,DSP相当于IP地址中的子网号和主机地址。
IDP部分是ISO规定的,它由AFI(AuthorityandFormatIdentifier,授权和格式标识符)与IDI(InitialDomainIdentifier,可变长的初始标识符)组成,AFI表示地址分配机构和地址格式,IDI用来标识域。
DSP由HODSP(HighOrderDSP,域内自定义部分的高位部分)、SystemID和SEL三个部分组成。
HODSP用来分割区域,SystemID用来区分主机,SEL指示服务类型。
IDP和DSP的长度都是可变的,NSAP总长最多是20个字节,最少8个字节。
图1-1IS-IS协议的地址结构示意图
(2)区域地址
IDP和DSP中的HODSP一起,既能够标识路由域,也能够标识路由域中的区域,因此,它们一起被称为区域地址(AreaAddress)。
两个不同的路由域中不允许有相同的区域地址。
一般情况下,一台路由器只需要配置一个区域地址,且同一区域中所有节点的区域地址都要相同。
为了支持区域的平滑合并、分割及转换,一台路由器最多可配置3个区域地址。
(3)SystemID
SystemID用来在区域内唯一标识主机或路由器。
它的长度固定为48bit(6字节)。
在实际应用中,一般使用RouterID与SystemID进行对应。
假设一台路由器使用接口Loopback0的IP地址168.10.1.1作为RouterID,则它在IS-IS使用的SystemID可通过如下方法转换得到:
●将IP地址168.10.1.1的每一部分都扩展为3位,不足3位的在前面补0;
●将扩展后的地址168.010.001.001重新划分为3部分,每部分由4位数字组成,得到的1680.1000.1001就是SystemID。
实际SystemID的指定可以有不同的方法,但要保证能够唯一标识主机或路由器。
(4)SEL
SEL(NSAPSelector,有时也写成N-SEL)的作用类似IP中的“协议标识符”,不同的传输协议对应不同的SEL。
在IP中,SEL均为00。
(5)路由方式
由于这种地址结构明确地定义了区域,Level-1路由器很容易识别出发往它所在的区域之外的报文,这些报文需要转交给具有Level-2功能的路由器去处理。
Level-1路由器利用SystemID进行区域内的路由,如果发现报文的目的地址不属于自己所在的区域,就将报文转发给最近的Level-1-2路由器。
Level-2路由器根据区域地址进行区域间的路由。
3.NET
NET(NetworkEntityTitle,网络实体名称)指示的是IS本身的网络层信息,不包括传输层信息(SEL=0),可以看作是一类特殊的NSAP,即SEL为0的NSAP地址。
因此,NET的长度与NSAP的相同,最多为20个字节,最少为8个字节。
通常情况下,一台路由器配置一个NET即可,当区域需要重新划分时,例如将多个区域合并,或者将一个区域划分为多个区域,这种情况下配置多个NET可以在重新配置时仍然能够保证路由的正确性。
由于一台路由器最多可配置3个区域地址,所以最多也只能配置3个NET。
在配置多个NET时,必须保证它们的SystemID都相同。
例如NET为:
ab.cdef.1234.5678.9abc.00,则其中Area为ab.cdef,SystemID为1234.5678.9abc,SEL为00。
1.1.2IS-IS区域
1.两级结构
为了支持大规模的路由网络,IS-IS在路由域内采用两级的分层结构。
一个大的路由域被分成一个或多个区域(Areas)。
区域内的路由通过Level-1路由器管理,区域间的路由通过Level-2路由器管理。
2.Level-1与Level-2
(1)Level-1路由器
Level-1路由器负责区域内的路由,它只与属于同一区域的Level-1和Level-1-2路由器形成邻居关系,维护一个Level-1的LSDB,该LSDB包含本区域的路由信息,到区域外的报文转发给最近的Level-1-2路由器。
(2)Level-2路由器
Level-2路由器负责区域间的路由,可以与同一区域或者其它区域的Level-2和Level-1-2路由器形成邻居关系,维护一个Level-2的LSDB,该LSDB包含区域间的路由信息。
所有Level-2路由器和Level-1-2路由器组成路由域的骨干网,负责在不同区域间通信,骨干网必须是物理连续的。
只有Level-2路由器才能直接与路由域外的路由器交换数据报文或路由信息。
3.Level-1-2路由器
同时属于Level-1和Level-2的路由器称为Level-1-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用于区域间路由。
说明:
●属于不同区域的Level-1路由器不能形成邻居关系。
●Level-2路由器是否形成邻居关系则与区域无关。
图1-2为一个运行IS-IS协议的网络,其中Area1是骨干区域,该区域中的所有路由器均是Level-2路由器。
另外4个区域为非骨干区域,它们都通过Level-1-2路由器与骨干路由器相连。
图1-1IS-IS拓扑结构图之一
图1-3是IS-IS的另外一种拓扑结构图。
其中Level-1-2路由器不仅仅用来连接Level-1和Level-2路由器,而且还与其他Level-2路由器一起构成了IS-IS的骨干网。
在这个拓扑中,并没有规定哪个区域是骨干区域。
所有Level-2路由器和Level-1-2路由器构成了IS-IS的骨干网,他们可以属于不同的区域,但必须是物理连续的。
图1-2IS-IS拓扑结构图之二
说明:
IS-IS的骨干网(Backbone)指的不是一个特定的区域。
IS-IS不论是Level-1还是Level-2路由,都采用SPF算法,分别生成最短路径树(ShortestPathTree,SPT)。
4.接口的路由层次类型
对于类型是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骨干网上,从而节省带宽。
5.路由渗透(RouteLeaking)
通常情况下,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区域。
1.1.3IS-IS的网络类型
1.网络类型
IS-IS只支持两种类型的网络,根据物理链路不同可分为:
●广播链路:
如Ethernet、Token-Ring等。
●点到点链路:
如PPP、HDLC等。
说明:
对于NBMA(Non-BroadcastMulti-Access)网络,如ATM,需对其配置子接口,并将子接口类型配置为点到点网络或广播网络。
IS-IS不能在点到多点(PointtoMultiPoint,P2MP)链路上运行。
2.DIS和伪节点
在广播网络中,IS-IS需要在所有的路由器中选举一个路由器作为DIS(DesignatedIntermediateSystem)。
Level-1和Level-2的DIS是分别选举的,用户可以为不同级别的DIS选举设置不同的优先级。
DIS优先级数值越高,被选中的可能性就越大。
如果优先级最高的路由器有多台,则其中SNPA(SubnetworkPointofAttachment,子网连接点)地址(广播网络中的SNPA地址是MAC地址)最大的路由器会被选中。
不同级别的DIS可以是同一台路由器,也可以是不同的路由器。
在IS-IS广播网中,同一网段上的同一级别的路由器之间都会形成邻接关系,包括所有的非DIS路由器之间也会形成邻接关系。
如图1-4所示。
图1-1IS-IS广播网的DIS和邻接关系
DIS用来创建和更新伪节点(Pseudonodes),并负责生成伪节点的LSP,用来描述这个网络上有哪些路由器。
伪节点是用来模拟广播网络的一个虚拟节点,并非真实的路由器。
在IS-IS中,伪节点用DIS的SystemID和一个字节的CircuitID(非0值)标识。
使用伪节点可以简化网络拓扑,使产生的LSP数量较少,减少SPF的资源消耗。
说明:
IS-IS广播网络上所有的路由器之间都形成邻接关系,但LSDB的同步仍然依靠DIS来保证。
1.1.4IS-IS的PDU格式
1.PDU头格式
IS-IS报文是直接封装在数据链路层的帧结构中的。
PDU(ProtocolDataUnit,协议数据单元)可以分为两个部分,报文头和变长字段部分。
其中报文头又可分为通用报头和专用报头。
对于所有PDU来说,通用报头都是相同的,但专用报头根据PDU类型不同而有所差别,如图1-5所示。
图1-1PDU格式
2.通用报头格式
所有的PDU都有相同的通用报头格式,如图1-6所示。
图1-1PDU头格式
主要字段的解释如下:
●IntradomainRoutingProtocolDiscriminator(域内路由协议鉴别符):
设置为0x83。
●LengthIndicator(长度标识符):
PDU头部的长度(包括通用报头和专用报头),以字节为单位。
●Version/ProtocolIDExtension(版本/协议标识扩展):
设置为1(0x01)。
●IDLength(标识长度):
NSAP地址和NET的ID长度。
●R(Reserved,保留):
设置为0。
●PDUType(PDU类型):
详细信息请参考表1-1。
●Version(版本):
设置为1(0x01)。
●MaximumAreaAddress(最大区域地址数):
支持的最大区域个数。
表1-1PDU类型对应关系表
类型值
PDU类型
简称
15
Level-1LANIS-ISHelloPDU
L1LANIIH
16
Level-2LANIS-ISHelloPDU
L2LANIIH
17
Point-to-PointIS-ISHelloPDU
P2PIIH
18
Level-1LinkStatePDU
L1LSP
20
Level-2LinkStatePDU
L2LSP
24
Level-1CompleteSequenceNumbersPDU
L1CSNP
25
Level-2CompleteSequenceNumbersPDU
L2CSNP
26
Level-1PartialSequenceNumbersPDU
L1PSNP
27
Level-2PartialSequenceNumbersPDU
L2PSNP
3.Hello
Hello报文用于建立和维持邻居关系,也称为IIH(IS-to-ISHelloPDUs)。
其中,广播网中的Level-1路由器使用Level-1LANIIH;广播网中的Level-2路由器使用Level-2LANIIH,点到点网络中的路由器则使用P2PIIH。
点到点网络中的Hello报文格式如图1-7所示(浅蓝色部分是通用报文头)。
图1-1L1/L2LANIIH格式
主要字段的解释如下:
●Reserved/CircuitType:
高位的6比特保留,值为0。
低位的2比特表示路由器的类型(00保留,01表示L1,10表示L2,11表示L1/2)。
●SourceID:
发送Hello报文的路由器的SystemID。
●HoldingTime:
保持时间。
在此时间内如果没有收到邻居发来的Hello报文,则中止已建立的邻居关系。
●PDULength:
PDU的总长度,以字节为单位。
●Priority:
选举DIS的优先级。
●LANID:
包括SystemID和一个字节的伪节点ID。
点到点网络中的Hello报文格式如图1-8所示(浅蓝色部分是通用报文头)。
图1-2P2PIIH格式
从图中可以看出,P2PIIH中的多数字段与LANIIH相同。
不同的是没有Priority和LANID字段,而多了一个LocalCircuitID字段,表示本地链路ID。
4.LSP报文格式
LSP用于交换链路状态信息。
LSP分为两种:
Level-1LSP和Level-2LSP。
Level-1路由器传送Level-1LSP,Level-2路由器传送Level-2LSP,Level-1-2路由器则可传送以上两种LSP。
两类LSP有相同的报文格式,如图1-9所示(浅蓝色部分是通用报文头)。
图1-1L1/L2LSP格式
主要字段的解释如下:
●PDULength:
PDU的总长度,以字节为单位。
●RemainingLifetime:
LSP的存活时间,以秒为单位。
●LSPID:
由三部分组成,SystemID、伪节点ID(一个字节)和LSP的分片号(一个字节)。
●SequenceNumber:
LSP的序列号。
●Checksum:
LSP的校验和。
●P(PartitionRepair):
仅与L2LSP有关,表示路由器是否支持自动修复区域分割。
●ATT(Attachment):
由L1/L2路由器产生,但仅与L1LSP有关,表示产生此LSP的路由器(L1/L2路由器)与多个区域相连接。
●OL(LSDBOverload):
表示本路由器因内存不足而导致LSDB不完整。
其他路由器在得知这一信息后,就不会把需要此路由器转发的报文发给它,但到此路由器直连地址的报文仍然可以被转发。
如图1-10所示,假设正常情况下RouterA到RouterC的报文都是经过RouterB转发,但如果RouterB的OL位置1,则RouterA会认为RouterB的路由不完整,从而将报文通过RouterD、RouterE转发给RouterC,但到RouterB直连地址的报文不受影响。
图1-2LSDBOverload示意图
●ISType:
生成LSP的路由器的类型。
5.SNP格式
时序报文SNP(SequenceNumberPDUs)用于确认邻居之间最新接收的LSP,作用类似于确认(Acknowledge)报文,但更有效。
SNP包括CSNP(CompleteSNP,全时序报文)和PSNP(PartialSNP,部分时序报文),进一步又可分为Level-1CSNP、Level-2CSNP、Level-1PSNP和Level-2PSNP。
CSNP包括LSDB中所有LSP的摘要信息,从而可以在相邻路由器间保持LSDB的同步。
在广播网络上,CSNP由DIS定期发送(缺省的发送周期为10秒);在点到点链路上,CSNP只在第一次建立邻接关系时发送。
CSNP的报文格式如图1-11所示(浅蓝色部分是通用报文头)。
图1-1L1/L2CSNP格式
PSNP只列举最近收到的一个或多个LSP的序号,它能够一次对多个LSP进行确认。
当发现LSDB不同步时,也用PSNP来请求邻居发送新的LSP。
PSNP的报文格式如图1-12所示:
图1-2L1/L2PSNP格式
6.CLV
PDU中的变长字段部分是多个CLV(Code-Length-Value)三元组。
其格式如图1-13所示:
图1-1CLV格式
不同PDU类型所包含的CLV是不同的,如表1-2所示。
表1-1PDU类型和包含的CLV名称
CLVCode
名称
所应用的PDU类型
1
AreaAddresses
IIH、LSP
2
ISNeighbors(LSP)
LSP
4
PartitionDesignatedLevel-2IS
L2LSP
6
ISNeighbors(MACAddress)
LANIIH
7
ISNeighbors(SNPAAddress)
LANIIH
8
Padding
IIH
9
LSPEntries
SNP
10
AuthenticationInformation
IIH、LSP、SNP
128
IPInternalReachabilityInformation
LSP
129
ProtocolsSupported
IIH、LSP
130
IPExternalReachabilityInformation
L2LSP
131
Inter-DomainRoutingProtocolInformation
L2LSP
132
IPInterfaceAddress
IIH、LSP
其中,Code值从1到10的CLV在ISO10589中定义(有2类未在上表中列出),其他几种CLV在RFC1195中定义。
1.1.5支持的IS-IS特性
1.多实例和多进程
为了方便管理,提高控制效率,IS-IS支持多进程和多实例特性。
多进程允许为一个指定的IS-IS进程关联一组接口,从而保证该进程进行的所有协议操作都仅限于这一组接口。
这样,就可以实现一台路由器有多个IS-IS协议进程,每个进程负责唯一的一组接口。
对于支持VPN的路由器,每个IS-IS进程都与一个指定的VPN实例相关联。
这样,所有附加到该进程的接口都应与该进程相关联的VPN实例相关联。
2.GR
GR是GracefulRestart(完美重启)的简称,它表示当路由协议重启时保证转发业务不中断。
IS-IS进行GR重启后,重新向邻居发送邻接请求,在不改变邻接关系的前提下,重新获取网络中的有效IS-IS邻居信息,重新获取网络链路状态数据库的内容,同步LSDB数据库。
说明:
GR的详细配置请参见“系统分册”中的“GR配置”。
3.IS-ISTE
IS-ISTE(TrafficEngineering,流量工程)支持建立和维护TE的LSP(LabelSwitchedPath,标签交换路径)。
MPLS在构建CRLSP(Constraint-basedRoutedLSP,基于约束路由的LSP)时,需要了解本区域中所有链路的流量属性信息。
它可以通过IS-IS来获取链路的流量工程信息。
说明:
IS-ISTE的详细配置请参见“MPLS分册”中的“MPLSTE配置”。
4.管理标记
管理标记简化了对路由信息
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ISIS