IS-IS:一般不会见到,唯一见到过一次是在BAT中某家的骨干网

|->CLNP (类似IP,IPX)
|->CLNS->|->IS-IS (Routing,IGP)
ISO->OSI->Network->|      |->ES-IS (ARP/ICMP/IGMP)用于终端系统到中间系统
                   |->CONS->CONP
CLNS(ConnectionLess Network Service)无连接的服务
CLNP(ConnectionLess Network Protocol)无连接的网络协议(三层)
CONS(Connection Oriented Network Service)面向连接的服务
CONP(Connection Oriented Network Protocol)

·理论上OSPF只支持1万条路由条目,IS-IS支持2万条路由条目。

·IS-IS工作在3层,协议报文直接封装在数据链路层的帧结构中。
·L1路由器获悉域内路由
 L2路由器获悉域间路由
 L1/2路由器获悉域内/间路由(相当于OSPF中的ABR)。

·属于不同区域的L1路由器不能形成邻接关系。
 L2路由器是否形成邻接关系与区域无关。
 ISIS的BackBone区域是由所有相连的L2、L1/2路由器组成。

·默认采用Narrow Metric:
 Max Interface Metric=63 (6bit) / Max Path Metric=1023 (10bit)

 Cisco所有ISIS接口默认Metric=10

·OSI规范定义了4种类型的路由选择操作:(0-3)
 IS-IS L0路由选择:
  ·在ES和IS之间建立邻接关系
  ·创建数据链路层地址和网络地址的映射。

 IS-IS L1路由选择:  
    ·域内路由选择。

 IS-IS L2路由选择:  
    ·域间路由选择。

 IS-IS L3路由选择:  
  ·不同自治系统之间的路由选择,IDRP(InterDomain Routing Protocol)
  ·IDRP功能类似于BGP,Cisco不支持IDRP。

ISIS和OSPF的比较:

----------------------------------------------------------------------------------------
CLNS地址规划:
·与IP地址不同,CLNS地址用于整个节点而不是接口。
 路由器使用的CLNS地址被称为NSAP(Network Service Access Point)。

 NSAP=Area + System ID + NSEL    (8-20Bytes)
       (1-13)     (6)       (1)

 IDP(Initial Domain Part)
 ·AFI(Authority and Format ID 机构和格式标识符) 指定该地址的格式以及分配给该地址的机构
   47:国际代码指示符。
   49:本地管理(私有地址)
 ·IDI(Initial Domain ID)
   AFI下的子域。 
 e.g :47.0005分配给美国非军事部门 / 47.0006分配给美国国防部

 [IDP相当于一个IP的主类]

 DSP(Domain-Specific Part)
 ·HODSP(High Order DSP)
   将一个AS划分成多个Area。
   [HODSP相当于IP子网]
 ·System ID
   唯一标识某台设备。
   [System ID相当于Router-ID]
 ·NSEL(NSAP Selector)
   标识设备中的进程。
   [相当于端口号]
   在路由选择中,NSEL=00
 ·当NSEL=00时,被称为NET(Network Entity Title)

·与OSPF不同,ISIS路由器只能是一个Area的成员,
 其NET地址有如下限制:
 1)同一Area的所有路由器必须使用相同的区域地址。
 2)ES只能识别同一子网具有相同区域地址的IS/ES。
 3)L1路由器域内路由选择基于Sys ID。因此,同一Area每个ES/IS必须有唯一的Sys ID。
 4)所在骨干区域的L2、L1/L2路由器也必须有唯一的Sys ID。
 5)NET地址的起始和结束都必须为1Byte.(49.xxxxxxxxx.00)

·SNPA(SubNetwork Point of Attachment)
 就是3层NET地址对应的2层地址。通常为MAC/HDLC/DLCI

·Circuit ID
 为每个接口分配一个Circuit ID (1Byte),用于区分不同接口。本地有效。
 P2P: 0x00 / LAN: 1921.6800.0001.01 (R1.01 CISCO路由器上使用主机名表示,而不是system ID来表示)

·域间路由选择使用Area ID
 域内路由选择使用System ID

·L1路由器不知道L2的数据库,它只知道如何到达最近的L1/L2路由器。
 在L1/L2路由器上算出最短路径。

·PDU(Protocol Data Unit)
 从一个节点的OSI层到另一个节点对等的OSI层的数据单元称为PDU。

IS-IS的四种报文
这四种报文都是直接封装在二层中的:
·Hello(ESH/ISH/IIH):用于建立和维护邻接关系。
·LSP(Link-State PDU):用于分发链路状态信息。是详细信息(类似LSA)
·PSNP(Partial Sequence Number PDU):用于请求和确认LSP,包含LSDB中的部分LSP的摘要信息。 (类似LSR/ACK)在点到点链路中,充当了ACK
·CSNP(Complete Sequence Number PDU):用于LSDB的同步,包含LSDB中的所有LSP的摘要信息。    (类似DBD)

 以上每种报文都分为L1/L2,IIH多加一种P2P IIH.

在以太网中,LSP和hello报文是发向组播地址
在点到点链路上,是发向单播地址

·aging times---LSP每隔15分钟发送一次,老化时间从20分钟倒计时到0。

·TLV(Type Length Value)
 CLV(Code Length Value)

 ISIS的协议报文:通用的LSP头部+TLV
 TLV可灵活的将数据添加到LSP中,从而增加了扩展性,支持多种其他协议。(IPV6/MPLS)

·ISIS支持2种链路状态:Broadcast/P2P

·在Broadcast模式下,所有路由器彼此都形成邻接关系。
 但每台路由器只通告它与伪节点的邻接关系。
 由DIS代表整个LAN发送LSP信息。

·选举DIS顺序:
 1)接口优先级(默认64)
 2)最大MAC地址

·对于L1&L2分别选举DIS。
 不存在Back DIS。
 DIS具有抢占权。
 DIS是接口概念。
 
·P2P:Unicast    使用单播发送hello
 Broadcast:Multicast MAC组播地址    使用二层MAC组播地址发送hello

·L1 IIH发向:0180.C200.0014
·L2 IIH发向:0180.C200.0015
 
 Hello=10S  Hold=3*Hello=30S
 DIS's Hello : 3.3S (10/3)

           CSNP           PSNP
  Broadcast 由DIS每隔10S发送一次     请求缺少的LSP/确认已收到的LSP
  P2P    只在邻居建立的时候发送一次   请求缺少的LSP/确认已收到的LSP
              之后只发送描述拓扑变化的LSP
-----------------------------------------------------------------------------------------
<IS-IS>

R2(config)#router isis
R2(config-router)#net 49.0001.0000.0000.0002.00
R2(config-router)#int s0
R2(config-if)#ip router isis (接口启用ISIS)

R1#show clns neighbors   显示IS或ES邻居
R1#show clns is-neighbors 和第一条命令的显示内容不一样,互相之间互补,
R1#show isis hostname   看systemID和主机名的映射关系
R1#show ip protocols
R1#show clns protocol   显示路由器中特定IS-IS进程信息
R1#show isis topology   显示L1或L2的拓扑表
R1#show isis database   显示LSP信息
R1#show clns interface s0   显示接口的CLNS信息,可以显示hello时间,metric,优先级

R1#show clns is-neighbors 如果是在LAN链路上,可以看到伪节点的电路号,它不属于任何一个真实的路由器

默认都是L1/L2路由器

R2(config)#router isis
R2(config-router)#log-adjacency-changes all(显示邻居变化信息)需要手工做,其它路由协议默认就有这一命令

R1#clear clns neighbors
R1#clear isis *        清除数据库中所有邻居的LSP

<改Hello/Hold>

R2(config)#int s0
R2(config-if)#isis hello-interval 1
R2(config-if)#isis hello-multiplier 10 修改乘数值

·不会影响邻居建立。

优化
R2(config)#router isis
R2(config-router)#is-type level-1 (设置为L1路由器)

L1/L2路由器会自动下发默认路由给域内的L1路由器。
条件:1、L1/L2必须和其他区域路由器形成邻接关系。
   2、此L1/L2路由器将LSP的ATT=1,通告给区域内的L1,也即和本区域内的路由器形成L1关系
   3、表明此L1/L2有到达其他区域的路径。
默认路由Seed Metric=0

R2(config)#int s0
R2(config-if)#isis metric 8 (接口改Metric,可单独针对L1或L2来改)

还是遵循:路由流向入口改Metric。

R2(config)#int s0
R2(config-if)#isis circuit-type level-1(接口设置Level)

R4(config)#int e0
R4(config-if)#isis priority 65(设置接口优先级)

<被动接口>
 
R4(config-router)#passive-interface loopback 3
 (宣告Loopback3,而且不计算Loopback3的Metric)

R4(config-router)#passive-interface ethernet 0
 (不发Hello包,邻居关系Down)

<路由汇总>

在本区域的边界路由上做汇总。(类似于OSPF的域间汇总)

R3(config)#router isis
R3(config-router)#summary-address 3.0.0.0 255.0.0.0 (默认L2)

本地产生 i su   3.0.0.0/8 [115/10] via 0.0.0.0, Null0

只发送汇总路由出去。

路由泄露Route-Leaking
router isis
redistribute isis ip level-2 into level-1 distribute-list 100
access-list 100 permit ip 100.1.1.0 0.0.0.0 any 只能用扩展访问列表
泄露的路由前面会打上ia
漏给L1的路由默认COST值是148

在frame-delay下运行ISIS,要按下面来做
router(config-if)#frame-delay map clns * broadcast

<认证>仅支持明文

1)Link Authentication:
 R2(config)#int s0
 R2(config-if)#isis password wolf (默认L1)

 L1和L2类型的邻接关系需要配置各自的认证。

2)Area Authentication:
 R1(config)#router isis
 R1(config-router)#area-password ccie

 如果区域认证失败,仍然可以起邻居,但会导致L1 LSP交换失败,
 最终将会有某些路由器路由不完整。
 因为area-password是在L1 LSP/CSNP/PSNP中传递的。
 所以只能用来验证L1层的信息交换。

3)ISIS Domain Authentication:
 R1(config)#router isis
 R1(config-router)#domain-password ccnp

 如果ISIS域认证失败,仍然可以起邻居,但会导致L2 LSP交换失败,
 最终将会有某些路由器路由不完整。
 因为domain-password是在L2 LSP/CSNP/PSNP中传递的。
 所以只能用来验证L2层的信息交换。

<区域迁移>

·一台ISIS路由器默认最多属于3个区域。

 R3(config-router)#max-area-addresses (3-254)

 配置多个NET地址,将原来NET地址删除。

CLNP:NSAP地址 Network Service Access Point

ISIS的骨干链路由连续的L2以及L1/L2路由器互联而成。

IDP:Initial Domain Part

AFI:Authority  Format ID:组织格式标示符 45

IDI:0005 0006

45.0005  45.0006

49

DSP:Domain Specific Part

HODSP:高位域指定部分 用来描述设备所属的区域。 0001 0002

System ID:系统ID用来标识一个区域内的某台设备本身。6Byte

NSEL:NSAP选择位

49.0001.0000.0000.0001.00

ATT位(下放默认路由)

1:当一台路由器是Level1-Level2路由器的时候,该路由器可以发送ATT置位的LSP

2:当该路由器收到了其Level-2邻居通告的Level-2 LSP的时候才会发送ATT置位的Level-1 LSP

只有Level-1的路由器收到ATT置位的Level-1 LSP的时候,会指该路由器缺省路由。

IS-IS笔记的更多相关文章

  1. git-简单流程(学习笔记)

    这是阅读廖雪峰的官方网站的笔记,用于自己以后回看 1.进入项目文件夹 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file ...

  2. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  3. SQL Server技术内幕笔记合集

    SQL Server技术内幕笔记合集 发这一篇文章主要是方便大家找到我的笔记入口,方便大家o(∩_∩)o Microsoft SQL Server 6.5 技术内幕 笔记http://www.cnbl ...

  4. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  5. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  6. NET Core-学习笔记(三)

    这里将要和大家分享的是学习总结第三篇:首先感慨一下这周跟随netcore官网学习是遇到的一些问题: a.官网的英文版教程使用的部分nuget包和我当时安装的最新包版本不一致,所以没法按照教材上给出的列 ...

  7. springMVC学习笔记--知识点总结1

    以下是学习springmvc框架时的笔记整理: 结果跳转方式 1.设置ModelAndView,根据view的名称,和视图渲染器跳转到指定的页面. 比如jsp的视图渲染器是如下配置的: <!-- ...

  8. 读书笔记汇总 - SQL必知必会(第4版)

    本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...

  9. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  10. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

随机推荐

  1. solr7.7.0搜索引擎使用(四)(搜索语法)

    solr搜索语法 参数defType   指定用于处理查询语句(参数q的内容)的查询解析器,eg:defType=lucenesort    指定响应的排序方式:升序asc或降序desc.同时需要指定 ...

  2. 【转】nc 使用说明

    netcat是网络工具中的瑞士军刀,它能通过TCP和UDP在网络中读写数据.通过与其他工具结合和重定向,你可以在脚本中以多种方式使用它.使用netcat命令所能完成的事情令人惊讶. netcat所做的 ...

  3. IText实现对PDF文档属性的基本设置

    一.Itext简介 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf的文档,而且可以将XML.Html文 ...

  4. 4k项目--PHY通道绑定的两种模式

    1.通道绑定有两种模式: • PMA bonding• PMA and PCS bonding GT通道是不支持通道绑定的 2.PMA绑定 PMA绑定减少了PMA之间的通道之间的Skew.并且在PMA ...

  5. Paper | Batch Normalization

    目录 1. PROBLEM 1.1. Introduction 1.2. Analysis 2. SOLUTION 2.1. Batch Normalization 及其问题 2.2. 梯度修正及其问 ...

  6. Scala数组小结

    1.定长数组 定长数组:指长度不可变的数组Array. 第一种方式: 先声明一个数组,后初始化该数组: scala> val array = new Array[Double](5) array ...

  7. Springboot高版本中@ConfigurationProperties注解取消location属性

    在spring boot 1.5 版本之前 在@ConfigurationProperties注释中有两个属性:locations:指定配置文件的所在位置prefix:指定配置文件中键名称的前缀 sp ...

  8. [smf]论坛实现编辑器附件插入的插件

    smf论坛代码的相关介绍,可以参见博客园的其他文章,这里不再详细说明了. 插件功能: 在帖子里的任何位置插入附件图片. 关于安装: 该插件已经经过“维尼熊的百宝箱”的修改,在新版本SMF 2.0.14 ...

  9. EBS CAS SSO测试

    https://wiki.jasig.org/display/CAS/CASifying+Oracle+Portal https://wenku.baidu.com/view/5f110a85b9d5 ...

  10. WeexSDK之注册Components

    先来看一下注册Components的源码: + (void)_registerDefaultComponents { [self registerComponent:@"container& ...