IS-Is
中间系统到中间系统
ISO
开发了
IS-IS
,文档号
105899
,最早由美国班府和军方使用,现过波到了运营商。
IETF
开发了
OSPF
,只支持
IP
两者都使用
SPF
算法。
企业网只可能采用
OSPF
,运营商大多采用
IS-IS
IS-IS
是双栈协议
DUAL
,既支持
TCP/IP
,又能支持
OSI7
层模型。
OSPF
只支持
TCP/IP
IS-IS
中的数语:
System
(
OSI
的术语)
= node
(节点)(
TCP/IP
中的术语)
末端系统
ES
(
OSI
的术语)
=
主机节点(
TCP/IP
中的术语)
PC
、服务器、打印机等等
中间系统
IS
(
OSI
的术语)
=
网络节点(
TCP/IP
中的术语)
路由器、接入服务器等等
CLNS
:无连接的网络服务
CONS
:面向连接的网络服务
CLNS
取代了
CONS
CLNS
是
OSI
开发的一个第三层协议族同,包括如下组件:
1
.
CLNS
无连接的网络协议,相当于
IP
协议:对应者
CLNS
地址和
IP
地址
2
.
IS-IS
中间系统到中间系统,相当于
OSPF
或
EIGRP
,此为学习重点。
OSI
模型下广域网的解决
3
.
ES-IS
末端系统到中间系统。
OSI
模型下局域网的解决方案
OSPF
的链路状态数据库当中所有承载的是否
LSA1-11
(有些在用,而有些还在草案阶段)
IS-IS
的链路状态数据库当中所承载的是
LSP
(链路状态包),已经是独立的第三层
PDU
了,而不像
OSPF
的
LSA
那样还需要加上一个
IP
包头,可以直接向下封装成第二层的帧。
CLNP
地址也可叫做
CLNS
地址、
IS-IS
地址、
OSI
地址
IS-IS
使用以上地址标识路由器和建链路状态数据库。
即便是用在一个纯
IP
的环境中,
IS-IS
仍然使用上述地址来构建链路状态数据库
优点是先天无环路,收敛快速,不足是内存和
CPU
占用较多,但对网络资源链路带宽的使用率很高,因为使用的是触发更新方式,它比
OSPF
收敛还要快。
OSPF
使用的算法是
SPF
IS-IS
使用的算法是
SPF+PRC
(部分路由计算)
IS-IS
的
LSDB
中只有两种
LSP
:指的是路由级别或者层次
1、
level 1
,放在
L1
的链路状态数据库中
2、
leve l2
,放在
L2
的链路状态数据库中
路由条目也相应的分为两种:
IS-IS
中不再有区域
0
、常规区域、骨干区域的概念,更没有虚链路的存在,相比
OSPF
,它更符合同链路状态路由选择协议的定位。
Level 1
主内,负责存储本区域内的拓扑信息。
Level 2
主外,负责存储区域间的拓扑信息。
IS-IS
的路由器默认为
L1-2
类型的路由器(相当于
OSPF
的
ABR
,既能对外也能对内),还可以有
L1
路由器、
L2
路由器。
IS-IS
中没有常规区域与骨干区域的划分,但通常情况下是把
L2
当成骨干链路,
L1
当成接入链路。
IS-IS
的
AD
是
115
,
metric
有如下
4
种标准(
EIGRP
只有
1
种标准
5
个元素),其中后
3
种都没有实用化:
1、
default
2、
error
3、
expense
4、
delay
现在只有第一种在用,后三种都不可用。
而
default
标准又分为如下两种:
不论接口带宽就是供这个接口的真实带宽
CCIE
考点
1、
narrow style
(陕义的):每个接口不论接口带宽为多少,开销都为定值
10
,可改动的范围是
0-63
,总路径开销(接口开销之
)不超过
1024 CCIE
考点
2、
wide style
(广义的):每个接口不论接口带宽为多少,开销都为定值
10
,可改动的范围是
0-224-1
,总路径开销不超过
232
IS-IS
的第一个缺点:
不灵活,大多要手动的分配接口开销,不适合企业使用(
IS-IS
好是好,但没有必要去用,因为
OSPF
已经能够完成胜任在企业网中的工作),但对运营商来说不是太大的问题,因为运营商考虑更多的是路由策略的实施控制,所以相对于
OSPF
的自动
metric
生成,他们更倾向于手工配置,运营商的核心网通常都使用
IS-IS
运营商的核心网的接口带宽种类很少:
2.5G
、
10G
、
40G
,所以分配起来也方便,比如对应分为:
15
、
5
、
1
就可以了。
ES-IS
的介绍:
负责工作站与中间系统之间建立连接的协议,无需配置,自动激活。
Hello
包的分类:
1、
IIH
在路由器之间工作
2、
ESH/ISH
在主机与路由器之间工作
如果
IS
要去找
ES
的话,路由器发送的是
IS hello
包
如果是
ES
要去找
IS
的话,主机发送的是
ES hello
包
如果
IS
要去找
IS
的话,路由器发送的是
ISIS hello
包
OSPF
与
IS-IS
的比较:
1、
都是链路状态路由选择协议
2、
对区域的认知不同,划分方式也不同:
随着规模越大,
IS-IS
比
OSPF
的扩展性更强,这个扩展性重点不是体现在能容纳的路由器更多,资源带宽占用更少,而是体现在
IS-IS
的
TLV
上:如果现在网络中出现一种新的应用,这中新应用要求与
IGP
进行交流和通信,如果这种
IGP
是
OSPF
的话,那么需要为此开发一种新的
LSA
,用来让
OSPF
支持这种新应用,但这样做所付出的代价巨大,且老的
OSPF
路由器无法识别而丢弃(就像思科路由器不支持
LSA6
,也就是
MOSPF
),也就是向后兼容性很差;但如果这种
IGP
是
IS-IS
的话,情况就简单了,它支持任何新的应用都无需开发新的
LSP
,因为它有
TLV-T
代表
type
(新特性的名字)、
L
代表
length
(新特性字段长度)、
V
代表
value
(新特性的具体属性),
TLV
相当于一节车厢,而
LSP
相当于一列车,当出现新应用后只需要加挂一节车厢即可,当出现和
OSPF
里类似的无法识别的情况时,不是作丢弃操作,而是跳过不读取而已。
OSPF
为了支持
IPV6
而专门开发了一个
V3
的版本,而对于
IS-IS
来说,无需再专门开发一个针对
IPV6
的版本,只要增加一个新的支持
IPV6
的
TLV
就可以了。
IS-IS
超强扩展性就在于此。
OSI
中使用的地址叫做
NSAP
可以对系统进行标识,并说明其所属区域一个
NSAP
地址表明了一个系统,而一个
IP
地址仅表明一个节点上的一个接口
TCP/IP
下路由器不同接口的
IP
地址是不同的,
OSI
下路由器所有接口用一个
NSAP
地址表示
NSAP
地址是变长的,最长只能为
20
个字节,高位表示区域,低位表示系统
IDP
|
DSP
|
AFI
|
IDI
|
High-Order DSP
|
System ID
|
NSEL
|
Variable-Length
Area Address
(高位)
|
6
Bytes
|
1
Byte
|
|
|
|
|
|
区域
ID
:最短
1
个字节,最长
13
个字节
系统
ID
:定长
6
个字节
NSEL
:定长
1
个字节,
NSAP
的服务标识符,指明上层服务应用
NSAP
:最短
8
个字节,最长
20
个字节
49.0001.1111.1111.1111.00
49
:
AFI
,表示这是一个本地的、内网的地址;
48
、
49
就是私网地址
0001
:
2
个字节的区域,要求是本地唯一,但通常都规划为全局唯一;
1111.1111.1111
:
6
个字节的系统
ID
,通常用路由器的以太接口的
MAC
表示;
00
:
NSEL
,通常都设为
00
,因为对于一个路由器来说它是个三层设备,不需要上层应用;
做实验时可将上面地址简化为
0001.1111.1111.1111.00
当
NSEL
为
00
时,就可以把
NSAP
地址称之为
NET-Network Entity Title
:(网络实体名)
两个术语:
1、
SNPA/
子网接入点,等同于
TCP/IP
环境中的二层编址概念;
2、
Circuit ID/
电路
ID
,
NSAP
表示路由器的所有接口,所以要用电路
ID
来对路由器的接口进行唯一的标识
TCP/IP
环境下的二层编址如下:
局域网:以太网、邻牌环、802.2
、802.3
以太网:ATM
、FR
、HDLC
、PPP
、X.25
SNPA=Layer 2 address
:
Virtual circuit ID(DLCI on Frame Relay)
MAC address on LAN interfaces
Interfaces uniquely identifled by circuit ID:
On point-to-point interfaces,SNPA is used.
On LANs,circuit ID=system ID+1
个字节的随机字符
to from seven-octer LAN ID
(
for example,1921.6800.0001.01
)
is used.
Cisco routers use host name instead of system ID
(
for example,
“
R 1.01 ” )
R1.01 R1
的第一个接口
R1.02 R1
的第二个接口
区域
ID
是用在不同的区域间的,而系统
ID
是用同一个区域内的
IS-IS
的第二个缺点:
IS-Is
的一条运行规则
-----
如果将某个路由器的
L2
数据库删除掉、或者说将某个路由器配置成
L1
路由器,那么高它最近的
L1-2
路由器会自动的向它宣告一条默认路由,用于引导该
L1
路由器去往外部区域,这会一口咬定
来一个比较严重的问题:路由次优化(走的不是最佳路径)和非对称路由(去程回程路径不一致)。上图所示,
Y
不是站在全局的高度而是站在本区域的高度考虑如何去
X
的问题
解决方案:
route leaking
路由泄露(
IS-IS
内置的一个技术)
使用
TLV
中的“上、下”位,原理是
Y
把关于
X
的
L2
的路由信息引入自己的
L1
的链路状态数据库中,这样
Y
就能以全局的高度考虑如何去往
X
了。
OSI PDUs
:
IS-IS
|
Data-link header
(
OSI family 0xFEFE
)
|
IS-IS header
(
first byte is 0x83
)
|
IS-IS TLVs
|
ES-IS
|
Data-link header
(
OSI family 0xFEFE
)
|
ES-IS header
(
first byte is 0x82
)
|
ES-IS TLVs
|
|
Data-link header
(
OSI family 0xFEFE
)
|
IS-IS header
(
first byte is 0x81
)
|
CLNS
|
IS-IS PDUs
:与
OSPF
进行对比
OSPF
:
hellow/DBD/LSR/LSU/LSAck
IS-IS
:
hellow
(
L1
和
L2
的
hellow
)
/LSR
(
L1
和
L2
的)
/SNP
基于序列号的
PDU
(
PSNP
部分基于序列号的
PDU
、
CNSP
完全或完整基于序列号的
PDU
)
SNP=DBD/LSR/LSAck
LSP=LSU
Hellow=hellow
LSP
的确认是靠
PSNP
来完成的,如下图:
IS-IS
的网络类型:
IS-IS
没有
NBMA
网络的概念
1、
Broadcast
有类似于
OSPF
的
DR
概念的设备,叫做
DIS
,指定的中间系统,
DIS
的选举和
DR
相似,先比接口优先级,再比
MAC
地址、越大越优先,但没有备份
DIS
,当
DIS
设备
DOWN
后会立刻进行新
DIS
的选举,
DIS
是分
LEVEL
的,
level 1
有自己的
DIS
,
level 2
也有自己的
DIS
2、
Point-to-point
没有类似于
OSPF
的
DR
概念的设备
OSPF
中
DR/BDR
的作用是为了减少邻接会话数量,从而减少
LSA
洪泛的量,进而减少网络带宽的占用且
Drother
间是无法建立邻接关系的
非
DIS
设备除了要与
DIS
建立邻居关系外,它彼此之间不要建立邻接关系,如此一来,
DIS
存在的目的就不是为了减少邻接会话数量了。
通过
DIS
创建一个伪节点,或者叫做仿真节点,目的是代表整个局域网,这种理论比
OSPF
的DR/BDR
更为先进和超前
,如下图:
将中间那台路由器作为
DIS
,它将局域网上的所有设备进行一个概括,形成一个仿真节点,简称
PSN
,对于这个局域网以外的广域网而言,
PSN
实际上就是一个节点,但
PSN
的本质是一个局域网。这就产生了一个结果,当广域网上洪泛
LSP
时,只复制一份给
DIS
,
DIS
将它加入自己的
SDB
,然后周期性的广播自己的
LSDB
,也就是每隔
10
秒发送自己的目录信息,这个目录信息就是
CSNP
,
CNSP
类似于
OSPF
的
DBD
,当其它路由器收到此
CSNP
后,检查其中的目录信息,发现自己有所缺少时,就以
PSNP
作为请求向
DIS
发送
LSP
的请求;如果没有
DIS
,那么就会洪泛五份进入这个局域网,从上图来看,存在
DIS
时,带宽占用就减少了
80%
。
综上所述,
PSNP=LSAck/LSR
,
CSNP=DBD
一次性发不完,剩余的下载附件!