ISIS学习笔记

背景介绍

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与交换机之间进行抓包,可发现

从这个地方可以发现:

  1. 如果我们没有做优化,L1/2会向L1转发L2的hello事实上这些数据包对于R2来说是没有意义的,可以称之为垃圾包,这个就是需要进行链路优化的地方
  2. 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组播路由选择的支持。

时间: 2024-10-27 13:52:45

ISIS学习笔记的相关文章

CCNA学习笔记七——路由概述

静态路由协议: 动态路由协议:AS(自治系统):执行统一路由策略的一组设备的集合 EGP(外部网关协议): BGP:边界网关协议 IGP(内部网关协议): 距离矢量协议: RIP:V1,V2 IGRP EIGRP 链路状态路由协议: OSPF IS-IS 静态路由: 特点: 路由表是手工设置的 除非网络管理员干预,否则静态路由不会发生变化 路由表的形成不需要占用网络资源 适合环境 一般用于网络规模很小,拓扑结构固定的网络中 默认路由: 特点: 在所有路由类型中,默认路由优先级最低 适用环境: 一

CCIE学习笔记之MPLS与MPLS VPN

配置: 接口下启用:mpls ip mpls label protocol ldp | tdp | both 配置LDP RID(全局):mpls ldp route-id interface [force] 如mpls ldp route-idloopback0 force 注:force强制命令立即生效,注意对方的LDP RID可达才能和对方建立LDP邻居关系 修改MPLS MTU(接口):mpls mtu [override] 1516       //因为加上4字节的标签,这条命令可以用

vector 学习笔记

vector 使用练习: /**************************************** * File Name: vector.cpp * Author: sky0917 * Created Time: 2014年04月27日 11:07:33 ****************************************/ #include <iostream> #include <vector> using namespace std; int main

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则 用了几天时间看了一下开源框架Caliburn.Micro 这是他源码的地址http://caliburnmicro.codeplex.com/ 文档也写的很详细,自己在看它的文档和代码时写了一些demo和笔记,还有它实现的原理记录一下 学习Caliburn.Micro要有MEF和MVVM的基础 先说一下他的命名规则和引导类 以后我会把Caliburn.Micro的 Actions IResult,IHandle ICondu

jQuery学习笔记(一):入门

jQuery学习笔记(一):入门 一.JQuery是什么 JQuery是什么?始终是萦绕在我心中的一个问题: 借鉴网上同学们的总结,可以从以下几个方面观察. 不使用JQuery时获取DOM文本的操作如下: 1 document.getElementById('info').value = 'Hello World!'; 使用JQuery时获取DOM文本操作如下: 1 $('#info').val('Hello World!'); 嗯,可以看出,使用JQuery的优势之一是可以使代码更加简练,使开

[原创]java WEB学习笔记93:Hibernate学习之路---Hibernate 缓存介绍,缓存级别,使用二级缓存的情况,二级缓存的架构集合缓存,二级缓存的并发策略,实现步骤,集合缓存,查询缓存,时间戳缓存

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

Activiti 学习笔记记录(三)

上一篇:Activiti 学习笔记记录(二) 导读:上一篇学习了bpmn 画图的常用图形标记.那如何用它们组成一个可用文件呢? 我们知道 bpmn 其实是一个xml 文件

HTML&CSS基础学习笔记8-预格式文本

<pre>标签的主要作用是预格式化文本.被包围在 pre 标签中的文本通常会保留空格和换行符.而文本也会呈现为等宽字体. <pre>标签的一个常见应用就是用来表示计算机的源代码.当然你也可以在你需要在网页中预显示格式时使用它. 会使你的文本换行的标签(例如<h>.<p>)绝不能包含在 <pre> 所定义的块里.尽管有些浏览器会把段落结束标签解释为简单地换行,但是这种行为在所有浏览器上并不都是一样的. 更多学习内容,就在码芽网http://www.

java/android 设计模式学习笔记(14)---外观模式

这篇博客来介绍外观模式(Facade Pattern),外观模式也称为门面模式,它在开发过程中运用频率非常高,尤其是第三方 SDK 基本很大概率都会使用外观模式.通过一个外观类使得整个子系统只有一个统一的高层的接口,这样能够降低用户的使用成本,也对用户屏蔽了很多实现细节.当然,在我们的开发过程中,外观模式也是我们封装 API 的常用手段,例如网络模块.ImageLoader 模块等.其实我们在开发过程中可能已经使用过很多次外观模式,只是没有从理论层面去了解它. 转载请注明出处:http://bl