背景介绍
OSPF“表兄弟”,很另类,完全不同于OSI、TCP/IP协议栈,然而可以完全互相使用“双栈协议”。Intermediate system to intermediate system中间系统到中间系统
CLNS:ConnectionlessNetwork Service面向无连接的网络服务
IP ——àCLNS
OSPF——àISIS
ARP ——àESIS
链路状态路由协议,基于OSI七层模型设计
OSI参考模型确定了网络的标准,没有定义任何一个通信协议的细节但是提供了设计指导原则。
OSI网络层定义了两种服务:CONS与CLNS
基于CLNS的服务由以下网络层协议支持
– CLNP:无连接网络层协议
– ES-IS:终端系统-中间系统路由协议
– IS-IS :中间系统-中间系统路由协议
与OSPF拥有很多共同特性
– 维护一个链路状态数据库,使用SPF算法计算最短路径
– 使用Hello包形成和维护邻居关系
– 使用区域的概念来构建一个层次化的网络结构
– 支持手动汇总与VLSM
– 在广播多路访问网络中都选举指定路由器
– 都具备认证功能
IS-IS基本术语
– IS:中间系统,相当于TCP/IP中的路由器
– ES:终端系统,相当于TCP/IP中的主机系统
– LSP:链路状态数据库报文
– NPDU:网络协议数据单元,ISO网络层报文,同IP包
– NSAP:网路服务接入点,即ISO中网络层地址
– (也称为CLNP地址)
地址格式
<8byte~20byte>
DP:AFI、IDI
DSP:High-order DSP、System-ID、NSEL
Area:标识此IS端所在的区域
System:ID唯一标识次区域的IS
49.000x.0000.0000.000Y.00
AFI AreaID System-ID NSEI
X->区域
Y->服务接口
基本原理
相同点
算法:SPF算法
特征:链路状态
无类:VLSM/CIDR
不相同
① 区域设计
OSPF:ABR链路两个区域
ISIS:没有明显的区域边界
② 分组类型
OSPF:非常多
ISIS:少,精简
③ 路由器类型
OSPF |
骨干路由器 |
常规路由器 |
ABR |
ISIS |
L1路由器 |
L2路由器 |
L1/2路由器 |
六种路由器是互相对应的
四种类型的路由
基本特征
属于网络层
链路状态协议
无类协议
最佳路径
AD:115àTCP/IP,115àOSI
Metric:每跳,Metric为10
窄度量Narrow Metric接口2^6,总2^10
宽度量wide Metric接口2^24,总2^32
基本部署
接下去大都相同的,在开启clns路由,部署isis协议,在相应接口下部署isis
注意这个不同于osi模型,我们甚至查看不了路由
Ping的未知的地址回复也是不同的效果
然而仍然有表可查的
L1是常规区、L2骨干区
连通性测试
抓包之后发现不再是ICMP,这个也印证了ping不只是ICMP(其实TCP、ARP也可以~~)
修改区域类型
这里在L1,L1/2里面虽然都维护着R2的信息,但是对于R2来说根本没必要维护着R4的信息啊,所以就出现优化点。同理对于R4来说仅仅需要维护L2的信息即可
修改接口类型
我们知道R2是L1,R1、R3是L1/2,然而时不时R2会发送L2Hello包以维持R4的信息,所以需要相应的在接口下修改接口类型
结果
这里虽然没有路由信息竟然可以ping通!原因是什么?抓包可发现数据包的大小不同,但是在包里面却没有发现相应的路由信息啊。答案是,由于ISIS本身的算法,L1会寻找离它最近的L1/2(即默认路径)然后,通过该L1/2进行选路
修改度量值
双栈协议的体现
项目工程中很经常遇到的,集成ISIS,一般不会玩前面所说的纯ISIS。在这之前首先要给所有的路由器配上地址
结果
然而路由表、拓扑表中仍然没有信息
开始配置
根据拓扑,分别为其配置IP地址信息
不一一列举了,反正可以互相ping通就对了
提问
这两个命令意味着啥?
ISIS路由分组
在R2与交换机之间进行抓包,可发现
从这个地方可以发现:
- 如果我们没有做优化,L1/2会向L1转发L2的hello事实上这些数据包对于R2来说是没有意义的,可以称之为垃圾包,这个就是需要进行链路优化的地方
- Hello包发送非常密集,可以称之为”话痨“
Hello包
每3s发送一次,很消耗带宽,但可以很有效的报告当前的链路状态
CSNP包(DBD包)
每10s发送一次
PSNP
这个需要在串口状态下才能抓到,ISIS只认两种网络类型P2P、BMA
ISIS DIS机制 vs OSPF DR机制
1、ISIS无备份机制
2、ISIS的DIS可抢占
3、ISIS默认优先级为64
4、ISIS的DIS hello间隔3.3s,Holdtime 10s
R7R8一样的设置
LSP包
抓到这个包需要创建一个环回接口,然后才能抓到
虽然LSP是链路状态协议,但是完全可以说这个是EIGRP,因为几乎把所有的信息都公布出来了
ISIS路由算法
因为在OSPF的SPF算法的基础上多了PRC算法
① 算法优势:引入PRC,支持网络架构更大,网络更稳定;
② 拓扑优势:区域设计不像OSPF有物理骨干区域的限制,ISIS的骨干区域相对比较灵活;
③ 分组优势:引入TLV 类型长度值的概念,可以更好的拓展新的特性和功能
④ 迁移性:ISIS迁移到IPV4和IPV6,几乎无缝切换
路由汇总
汇总这个话题老生常谈~~
汇总
需要在两个端口写,统一汇总信息,看效果
路由认证
跟EIGRP几乎没有区别
被动接口
跟前面的一样~~isis进程下使用passtive-interface
默认路由
ISIS路由泄露
根据ISIS的寻路算法,假如我们使用R2pingR7那么他们返回的路径是
因此需要相应的通过ACL人为的规定流量路径。哈?为啥要规定?不规定的话,路由拓扑就会被泄露啦
ISIS区域迁移
注意:由前面的配置经验可知,如果在相应进程下通告路由信息的话,原来的信息会被覆盖的,然而在ISIS里面却不会发生这样的情况
区域迁移的意义在于
OSPF与ISIS对比
共同之处
1 都是链路状态路由协议,都要求区域内的路由器交换链路状态信息,链路状态信息被收集到链路状态数据库中
2 都是用了一种实现路由选择信息交换相似机制
3 都在广播网络中选择指定路由器来控制扩散并降低这类介质中多对多邻接的系统资源需求
4 都是基于链路状态库中的信息,采用几乎相同的算法-SPF算法来计算最佳路由
5 都支持两个分层路由选择
6 都支持IP前缀的无类路由选择(支持VSLM)
7 都是共有协议
不同之处:
ISIS |
OSPF |
|
1 |
ISIS支持ISOCLNP和IP两种网络 |
仅支持IP网络 |
2 |
ISIS报文封装在数据链路层帧中 |
封装在IP包中 |
3 |
ISIS支持ISO无连接网络环境,注意数据链路是ISO协议(在以太网上数据链路类型为FEFE),在ISO协议栈中ISIS网络层协议ID是0x83 |
OSPF封装在IP报文当中,协议号89 |
4 |
ISIS路由器通告包含直连邻居及路由信息的TLV的LSP,使用LSP承载所有的路由选择信息 |
OSPF使用不同类型的LSA承载不同的路由信息,LSA被封装进LSU通告给邻居 |
5 |
ISIS数据包利用TLV字段承载所有易于扩散的信息 |
OSPF只有LSA可扩展,而LSA扩展性太差 |
6 |
ISIS可以忽略它所不支持的TLV |
网络中的路由器为了进行适当的操作必须识别所有的LSA |
7 |
ISIS数据包可以承载多个TLV,只有一个包头,节省带宽 |
1类,2类LSA可以承载多个IP前缀;3类,4类,5类LSA只能承载单个IP前缀,如果需要发送多个IP前缀信息,需要多个LSA |
8 |
对于所有实际应用,ISIS仅支持广播和点对点链路。不支持NBMA链路。在NBMA环境下,可配置为p2p子接口或者广播链路(如果是全互联的连接方式)。 |
OSPF支持如下网络类型:p2p、广播、NMBA、点到多点和按需链路。 |
9 |
仅仅在广播链路实现3步邻接关系,IETF正在努力指定点到点链路的3步进程。 |
OSPF邻接关系的建立涉及到一个更加复杂的过程。 |
10 |
最初数据库同步在邻接关系建立后进行。 |
最初数据库同步在邻接关系形成前进行。 |
11 |
ISIS路由器只属于一个特定区域。 |
OSPF基于接口划分区域,路由器可属于不同的区域。 |
12 |
区域的边界在链路 |
区域的边界在路由器上。 |
13 |
默认情况下ISIS区域是stub区域,规定了level2到level1的路由泄漏 |
默认情况下,ospf区域不是stub,可以配置成为stub。 |
14 |
ISIS仅支持在点对点链路上可靠扩散,广播链路的扩散是不可靠的。然而通过DIS周期性的广播是可靠的。 |
OSPF确保所有链路上扩散的可靠性。 |
15 |
DIS无备份DIS,DIS可以被抢占,DIS以3被的频率发送Hello PDU |
有BDR,DR不能被抢占,DR以正常的频率发送Hello PDU |
16 |
默认情况下,ISIS的LSP最大生存时间为1200s刷新间隔为900s,而且定时器值可调。 |
OSPF的LSA的老化时间为3600s,刷新间隔为1800s,而且是固定值。 |
17 |
默认情况下,ISIS的接口cost值为10. |
默认情况下,OSPF的保持时间(dead-interval)为40s,而且为了建立邻接关系,必须使双方的保持时间一致。 |
18 |
ISIS通过将Hello PDU的大小填充至接口MTU大小来检查双方MTU是否匹配。 |
OSPF通过在DBD报文中嵌入接口的MTU字段来检查MTU是否匹配。 |
19 |
由于ISIS区域中IP前缀是SPF数的叶子,故部分路由计算(PRC)较多,通常这就意味着在一个大的区域中路由处理器的负载较低。 |
部分SPF被限制用于域间和外部路由,任何要求较小的区域和分层拓扑扩展引起的域间链路动荡导致完全的SPF计算。 |
20 |
没有对IP组播路由选择的支持。 |
MOSPF扩展提供对IP组播路由选择的支持。 |