IS-IS基础篇
在随着互联网的演化而出现的所有IP路由协议中,只有3种路由协议经受住了考验,这就是BGP、OSPF、ISIS。其中BGP是用于自治域之间的协议。
本基础篇从以下方面介绍ISIS协议:
ISIS路由选择协议
l 集成ISIS路由选择协议
l 集成ISIS寻址
l ISIS 数据包,这个比较枯燥^_^
l ISIS邻接
l ISIS的LSDB(链路数据库)
首先介绍ISIS路由协议:
什么是ISIS协议呢?
ISIS就是Intermediate System-Intermediate System 就是中间系统-中间系统,当前的ISIS规范中把网络节点叫做中间系统,其他协议比如OSPF把节点叫做路由器。
国际标准化组织,也就是现在ITU指定了OSI七层模型,最初网络服务只定义了面向连接的通信服务(CONS),随后做了修订,定义了无连接通信的功能,叫CLNS;和面向连接服务CONS不同的是在转发数据包的网络设备间无需预先定义端到端的路径。
、IS-IS、ES-IS等ISO协议支持。
、IS-IS等都是独立的网络层协议,与之形成对比的是TCP/IP协议,共存于OSI的第三层。编码格式:
l CLNP:0x81
l ES-IS:0x82
l IS-IS:0x83
什么是CLNP:
CLNP类似于IP协议,CLNP定义为独立于数据链路层。
IP是TCP/IP协议种唯一的网络层协议,包括路由协议和用户数据都封装在IP包内;而CLNP、IS-IS协议都是网络层协议,分别被封装在数据链路层的帧内,这也是ISIS
比IP安全重要原因。
看看数据包的格式图例:
其实简单的可以理解为:
IP协议相当于CLNS 都是无连接的
IP包相当于CLNP包
OSPF为IP包进行路由、而ISIS则是为CLNP包提供路由服务。
什么是ES-IS:
ES-IS是终端系统-中间系统路由交换协议,使用同一网段或链路的ISO终端系统和路由器之间自动交换信息,在后面的试验中将展示形成ES-IS邻接的过程。路由器发送IS报文hello (ISH)主机发送ES报文hello(ESH)。
ES主机(ES是没有路由能力的))靠侦听IS发的ISH报文来发现最近的IS路由器,当ES要发送数据到其他的ES的时候,它发送包到直连的IS(如果多个IS的话,则随机选择一个IS),IS路由器查目的地址然后转发数据。
ES和IS的通信可以叫做Level-0
Level-1是在多个IS路由器在相同区域中实现路由
Level-2是在多个IS路由器在不同区域中实现路由
详细的OSI和IP的名字对比,可以看看最后的附图
下面讲一下什么是Area和Domain:
Area:这是在路由协议中的一个概念,为了划分层次,减少路由信息,减轻路由器的负担,降低路由震荡等等。
Domain:好像只在ISIS中才有,在一个AS域中可以划分出好多Domain,每个Domain可以应用不同的路由协议,Level-3级路由就是可以在不同的Domain中进行路由的
每个ip地址由什么组成相互引入。
ISIS协议最初是为了用来路由CLNP数据包,但随着IP的流行,IETF修改ISIS来进行
IP包路由,所以说ISIS是双重的(也叫集成isis),既可以路由CLNP又可以路由IP包,OSPF只能路由IP数据包。
想一想还有什么协议可以支持路由多种格式的数据包?
对了,EIRGP,可以路由IP、IPX、AppTalk等协议
IS-IS也是够无聊的了:
每个节点都需要定义地址,在ISIS包中的地址为CLNP的NSAP格式。
NSAP格式:
整个NSAP地址由两大部分组
IDP(Inter-Domain Portion,相当于TCP/IP地址中的主网络号。
DSP(Domain Service Portion)域内服务标识部分,相当于TCP/IP地址中的子网号,主机号外加端口号。
IDP由两部分组成:
AFI(Authority and Format ID)机构与格式ID用来表示地址格式或地址分配机构。
IDI(Inter-Domain ID)域间ID用来标识域。
DSP由三部分组成:
HODSP(High Order DSP)DSP高位,用来分割区域,相当于TCP/IP地址中的子网部分。SID(System ID)系统ID,用来区分主机,相当于TCP/IP地址中的主机部分。
NSEL(NSAP-Selector)NSAP标识,用来指示选定的服务,相当于TCP/IP地址中的端口号。ISO-IGRP 路由采用三层体系:域(IDP,第三级),区域(HODSP,第二级)和系统ID (SystemID,第一级)。
ISIS采用二层体系:区域ID(IDP+HODSP)+系统ID
现在我们来看一下NSAP地址中各部分的长度。
对于Cisco IS-IS路由协议,NSEL固定为一个字节,系统ID固定为6个字节,区域地址长度可由1-13字节构成,所以整个NSAP地址总长度为8-20字节。
对于Cisco ISO-IGRP路由协议,Area ID被分为Domain ID和Area ID两部分,Area ID为2个字节,Domain ID最少一个字节,所以NSAP地址总长度为10-20字节
AFI=39表示ISO数据国家代码。
AFI=47表示ISO国际代码指定
NET地址必须以00结尾,且必须为整字节(偶数个十六进制数),中间以dot分隔。System ID通常由MAC地址构成或由IP地址转换而来。
Domain ID和Area ID则通常在全网内统一指定。
例子
NET(Network Entity Title)网络实体标识
NSEL值定义了网络层服务的用户,路由层是特殊的网络层服务用户,它的SEL值是0,也就是说我们在交换路由信息时将NSEL固定为00,这样的NSAP表示设备自身,我们称之为NET。NSEL帮助网络层数据发送到适当的应用程序或服务用户,根据OSI方案,网络层服务上面是传输层,也就是说网络层是00,那么传输层就不是00了,如果要将数据提交到传输层的话就是0x21,表示DECNet Phase IV传输层,0x22表示传输层TP 4。
AFI=49的地址为OSI协议的私有地址,像TCP/IP中的10.0.0.0,172.16.0.0-172.31.0.0和192.168.0.0,后面的实验中通常使用这样的地址。如果你只想通过IS-IS实现IP路由,用这个前缀就可以了。
System ID定义:
Sysid长度在1-8字节之间,cisco遵从GOSIP2.0标准,长度为6字节,与MAC地址一致,所以可以用路由器上一个LAN的MAC地址作为system id,不过用的最多的是将loopback 地址作为system id,如:
Loopback 192.168.1.24
Net 49.0001.1921.6800.1024.00
几条定址规则:
1、位于同一区域内的路由器Area ID必须相同。
2、同一区域内的Level-1 IS为了彼此区分必须有惟一的System ID。(建议整个域内所有IS 都有惟一的System ID)
3、整个域内所有Level-2 IS为了彼此区分必须有惟一的System ID。
4、包交换网络中,虚电路号或DLCI号码经常加在System ID的后面构成LAN ID,这主要是为了防止同时属于多个Area的IS在不同的Area中有相同的System ID。
5、如果系统检测到System ID重复,将会报告以下错误:
IS-IS: possible duplicate system ID <sys_id> detected
为单个ISIS进程配置多个NET:
通常一个ISIS进程只需要一个NET,但可以通过定义多个区域ID的NET可以将合并多个区域,如:
Net 49.0001.1921.6800.1024.00
Net 49.0002.1921.6800.1024.00
可以将49.0001层1中的lsp传递到49.0002中,从而可以合并2个层1区域。
一般配置多个NET 用于:
l 区域合并
l 区域分离
l 重编址
NSAP到主机名的映射:
NSAP地址很长为了便于使用,借鉴IP中域名的好处,可将NSAP映射到域名。
命令:
clns host <hostname><nsap>
可创建静态主机名到nsap地址的映射,如:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论