背景介绍

OSPF“表兄弟”,很另类,完全不同于OSITCP/IP协议栈,然而可以完全互相使用“双栈协议”。Intermediate system to intermediate system中间系统到中间系统

CLNSConnectionlessNetwork Service面向无连接的网络服务

IP      ——àCLNS

OSPF——àISIS

ARP  ——àESIS

wKioL1h1AKOCAqwMAABJWvHQnCw990.jpg-wh_50

链路状态路由协议,基于OSI七层模型设计

OSI参考模型确定了网络的标准,没有定义任何一个通信协议的细节但是提供了设计指导原则。

OSI网络层定义了两种服务:CONSCLNS

基于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>

wKioL1h1AOnjcKcdAABU4oIijyA994.png

DPAFIIDI

DSPHigh-order DSPSystem-IDNSEL

Area:标识此IS端所在的区域

SystemID唯一标识次区域的IS

49.000x.0000.0000.000Y.00

AFI             AreaID    System-ID                                                       NSEI

X->区域

Y->服务接口

基本原理

相同点

算法:SPF算法

特征:链路状态

无类:VLSM/CIDR

不相同

  区域设计

OSPFABR链路两个区域

ISIS:没有明显的区域边界

  分组类型

OSPF:非常多

ISIS:少,精简

  路由器类型

OSPF

骨干路由器

常规路由器

ABR

ISIS

L1路由器

L2路由器

L1/2路由器

六种路由器是互相对应的

四种类型的路由

wKiom1h1AKaRDCKOAARGiYuEoPs163.png-wh_50

基本特征

属于网络层

链路状态协议

无类协议

最佳路径

         AD:115àTCP/IP,115àOSI

         Metric:每跳,Metric10

                   窄度量Narrow Metric接口2^6,2^10

                   宽度量wide Metric接口2^24,2^32

基本部署

wKiom1h1AKfhkOgyAAEbTa21bsk474.png-wh_50

wKioL1h1AKiQ8St-AAF1lzsylqw600.png-wh_50

下去大都相同的,在开启clns路由,部署isis协议,在相应接口下部署isis

wKiom1h1AKmBu46xAADyYzg94Sw557.png-wh_50

wKiom1h1AKmzC254AACdb6nHX00504.jpg-wh_50

wKioL1h1AKuRCO7zAAC-1q6x_wg779.jpg-wh_50

wKiom1h1AKyzql66AAD9SyWo-XQ130.png-wh_50

注意这个不同于osi模型,我们甚至查看不了路由

wKiom1h1AK3ySs1yAACgDD0D9gs631.png-wh_50

Ping的未知的地址回复也是不同的效果

wKioL1h1AK2D3-YdAABeZG5EQLg916.png-wh_50

然而仍然有表可查的

wKioL1h1AK7iX-d8AABo3L6BpVc069.png-wh_50

wKioL1h1AK-jH8OZAABleqAXFuU855.png-wh_50

L1是常规区、L2骨干区

连通性测试

wKioL1h1AK_guZK3AAA7hBuTUww919.png-wh_50

抓包之后发现不再是ICMP,这个也印证了ping不只是ICMP(其实TCPARP也可以~~)

wKiom1h1ALDCiNjlAAA8YMhrFkc651.png-wh_50

修改区域类型

wKiom1h1ALHg_1nhAADKVXgCQS4751.png-wh_50

这里在L1L1/2里面虽然都维护着R2的信息,但是对于R2来说根本没必要维护着R4的信息啊,所以就出现优化点。同理对于R4来说仅仅需要维护L2的信息即可

wKioL1h1AgHTDzx-AAA338mWz5k165.jpg-wh_50

wKiom1h1AgLBY0IAAAGEEcs4DLw732.png-wh_50

修改接口类型

我们知道R2L1R1R3L1/2,然而时不时R2会发送L2Hello包以维持R4的信息,所以需要相应的在接口下修改接口类型

wKiom1h1AgTx9ICzAAErBYixSyY181.png-wh_50

结果

wKiom1h1AgTApauYAAC4go_67sQ473.png-wh_50

这里虽然没有路由信息竟然可以ping!原因是什么?抓包可发现数据包的大小不同,但是在包里面却没有发现相应的路由信息啊。答案是,由于ISIS本身的算法,L1会寻找离它最近的L1/2(即默认路径)然后,通过该L1/2进行选路

wKiom1h1AgXCojRCAAC_QzxPonY324.png-wh_50

修改度量值

wKiom1h1Agbj0nHAAACJG35w4dc330.png-wh_50

双栈协议的体现

项目工程中很经常遇到的,集成ISIS,一般不会玩前面所说的纯ISIS。在这之前首先要给所有的路由器配上地址

wKioL1h1AgiwlTnsAAMNJ1Ge8u8471.png-wh_50

wKiom1h1Agnj6AekAAFhIdC53gA403.png-wh_50

wKioL1h1Agrzbs5aAAHmk_aORnE071.png-wh_50


wKiom1h1Agyyk4aGAACoKS1PgjY339.png-wh_50

结果

wKioL1h1AgyA1I26AACnN5vIjBg900.png-wh_50

然而路由表、拓扑表中仍然没有信息

wKioL1h1Ag2SwFL3AADl8dV5NjI627.png-wh_50

开始配置

根据拓扑,分别为其配置IP地址信息

wKioL1h1Ag7g5i02AABuHGZMtvc249.png-wh_50

wKiom1h1Ag-Skz7CAADT7N09MyU022.png-wh_50

wKiom1h1AhCxncY9AACc1hQ2xOo344.png-wh_50

不一一列举了,反正可以互相ping通就对了

wKiom1h1AhHwrY_WAAE4nddeQ60657.png-wh_50

wKioL1h1AhKBfds8AAF__X90-ls507.png-wh_50

提问

wKiom1h1AyeTWYGSAADWzqiv7N0555.png-wh_50

这两个命令意味着啥?

ISIS路由分组

wKiom1h1AyjAlgkbAABsXLb_GM8494.png-wh_50

R2与交换机之间进行抓包,可发现

wKiom1h1AymDO2Z5AAD9GZ9z1UQ879.png-wh_50

从这个地方可以发现:

  1. 如果我们没有做优化,L1/2会向L1转发L2hello事实上这些数据包对于R2来说是没有意义的,可以称之为垃圾包,这个就是需要进行链路优化的地方

  2. Hello包发送非常密集,可以称之为话痨

Hello

3s发送一次,很消耗带宽,但可以很有效的报告当前的链路状态

wKioL1h1Ayrw-4ZfAACqxFPMygE775.png-wh_50

CSNP包(DBD包)

10s发送一次

wKioL1h1Ayrw1eB9AACMcLXtShE989.png-wh_50

PSNP

这个需要在串口状态下才能抓到,ISIS只认两种网络类型P2PBMA

wKiom1h1AyvioeIjAABKXUo9TNg789.png-wh_50

ISIS DIS机制  vs  OSPF DR机制

1ISIS无备份机制

2ISISDIS可抢占

3ISIS默认优先级为64

4ISISDIS hello间隔3.3sHoldtime 10s


wKiom1h1AyyQLRSiAADgm7yqGEI497.png-wh_50

wKioL1h1Ay7A-t7mAADVihJmJ4w961.png-wh_50

R7R8一样的设置

wKiom1h1Ay_y3oYXAACAxpnZ18Q458.png-wh_50

LSP

抓到这个包需要创建一个环回接口,然后才能抓到

wKiom1h1AzDwj0vRAAH-pA0m5UM666.png-wh_50

虽然LSP是链路状态协议,但是完全可以说这个是EIGRP,因为几乎把所有的信息都公布出来了

wKioL1h1AzGy5EWzAACVAPoAsa4042.png-wh_50

ISIS路由算法

因为在OSPFSPF算法的基础上多了PRC算法

  算法优势:引入PRC,支持网络架构更大,网络更稳定;

  拓扑优势:区域设计不像OSPF有物理骨干区域的限制,ISIS的骨干区域相对比较灵活;

  分组优势:引入TLV 类型长度值的概念,可以更好的拓展新的特性和功能

  迁移性:ISIS迁移到IPV4IPV6,几乎无缝切换

路由汇总

汇总这个话题老生常谈~~ 

wKioL1h1AzKTGRE9AABT54NtjyE248.png-wh_50

wKioL1h1AzLScxqaAADxK75Lx90409.png-wh_50

wKioL1h1AzOBfyBDAAFXvRWKHL4201.png-wh_50

汇总

wKiom1h1AzWiyU3ZAAGIOdD4I14613.png-wh_50

需要在两个端口写,统一汇总信息,看效果

wKiom1h1Azby51p7AADCZ6Ny8uc160.png-wh_50

wKiom1h1BC7RCVZsAAFXvRWKHL4133.png-wh_50

路由认证

EIGRP几乎没有区别

wKiom1h1BDORefh4AAGva1ciqsQ285.png-wh_50

wKiom1h1BDSiFi0lAAFk-CafB34394.png-wh_50

被动接口

跟前面的一样~~isis进程下使用passtive-interface

默认路由

wKioL1h1BDWRJm1lAABWcDfBa2A714.png-wh_50

wKiom1h1BDai2hEqAACIUjtqp-A875.png-wh_50

ISIS路由泄露

wKiom1h1BDiyUVUpAAQp7KeUs54607.png-wh_50

根据ISIS的寻路算法,假如我们使用R2pingR7那么他们返回的路径是

wKioL1h1BDjCRbrgAAELxld9Z9s344.png-wh_50

因此需要相应的通过ACL人为的规定流量路径。哈?为啥要规定?不规定的话,路由拓扑就会被泄露啦

wKiom1h1BDqzQCb_AAFeUCed2jI581.png-wh_50

wKiom1h1BDui8-wDAADEMOT96Sc387.png-wh_50

wKioL1h1BDyj5ZVZAAFWZ_SGNNM207.png-wh_50

ISIS区域迁移

注意:由前面的配置经验可知,如果在相应进程下通告路由信息的话,原来的信息会被覆盖的,然而在ISIS里面却不会发生这样的情况

wKioL1h1BD3hmJ-sAACw-OGC75A986.png-wh_50

区域迁移的意义在于

wKiom1h1BD6xQynFAAD4no3luHA619.png-wh_50

OSPFISIS对比

共同之处

1 都是链路状态路由协议,都要求区域内的路由器交换链路状态信息,链路状态信息被收集到链路状态数据库中

2 都是用了一种实现路由选择信息交换相似机制

3 都在广播网络中选择指定路由器来控制扩散并降低这类介质中多对多邻接的系统资源需求

4 都是基于链路状态库中的信息,采用几乎相同的算法-SPF算法来计算最佳路由

5 都支持两个分层路由选择

6 都支持IP前缀的无类路由选择(支持VSLM

7 都是共有协议

不同之处:


ISIS

OSPF

1

ISIS支持ISOCLNPIP两种网络

仅支持IP网络

2

ISIS报文封装在数据链路层帧中

封装在IP包中

3

ISIS支持ISO无连接网络环境,注意数据链路是ISO协议(在以太网上数据链路类型为FEFE),在ISO协议栈中ISIS网络层协议ID0x83

OSPF封装在IP报文当中,协议号89

4

ISIS路由器通告包含直连邻居及路由信息的TLVLSP,使用LSP承载所有的路由选择信息

OSPF使用不同类型的LSA承载不同的路由信息,LSA被封装进LSU通告给邻居

5

ISIS数据包利用TLV字段承载所有易于扩散的信息

OSPF只有LSA可扩展,而LSA扩展性太差

6

ISIS可以忽略它所不支持的TLV

网络中的路由器为了进行适当的操作必须识别所有的LSA

7

ISIS数据包可以承载多个TLV,只有一个包头,节省带宽

1类,2LSA可以承载多个IP前缀;3类,4类,5LSA只能承载单个IP前缀,如果需要发送多个IP前缀信息,需要多个LSA

8

对于所有实际应用,ISIS仅支持广播和点对点链路。不支持NBMA链路。在NBMA环境下,可配置为p2p子接口或者广播链路(如果是全互联的连接方式)。

OSPF支持如下网络类型:p2p、广播、NMBA、点到多点和按需链路。

9

仅仅在广播链路实现3步邻接关系,IETF正在努力指定点到点链路的3步进程。

OSPF邻接关系的建立涉及到一个更加复杂的过程。

10

最初数据库同步在邻接关系建立后进行。

最初数据库同步在邻接关系形成前进行。

11

ISIS路由器只属于一个特定区域。

OSPF基于接口划分区域,路由器可属于不同的区域。

12

区域的边界在链路

区域的边界在路由器上。

13

默认情况下ISIS区域是stub区域,规定了level2level1的路由泄漏

默认情况下,ospf区域不是stub,可以配置成为stub

14

ISIS仅支持在点对点链路上可靠扩散,广播链路的扩散是不可靠的。然而通过DIS周期性的广播是可靠的。

OSPF确保所有链路上扩散的可靠性。

15

DIS无备份DISDIS可以被抢占,DIS3被的频率发送Hello PDU

BDRDR不能被抢占,DR以正常的频率发送Hello PDU

16

默认情况下,ISISLSP最大生存时间为1200s刷新间隔为900s,而且定时器值可调。

OSPFLSA的老化时间为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组播路由选择的支持。