IS-IS
    管理距离115
    ISIS是链路状态协议
    封装在数据链路层,所以没有协议号
    使用SPF算法计算最短路径
    没有骨干区的概念
    使用IIH(ISIS Hello)包来发现邻居
    和OSPF不同,ISIS一个路由器属于一个区域(也可以一个路由器属于多个区域)
    L1/2路由器向L1路由器通告自己是出口,若有多个则负载均衡
IS-IS术语
    CLNS 无连接网络服务
    CLNP 无连接网络协议 相当于TCP/IP中的IP,提供尽力而为的传输
    PDU  数据单元 相当于包Packet
    NSAP 网络服务访问点 相当于IP+端口
    NSEL NSAP地址的最后一个字节,相当于接口号
    NET  这是一个用于标识路由器的地址,相当于IP(NSAP最后一个字节为0)
    SNPA 相当于MAC地址
    SysID相当于OSPF中的router-id
    LSP  相当于OSPF中的LSA
    LSPDB  LSP数据库
    DIS  指定中间系统,相当于OSPF中的DR
ISO编址(NET地址)
    49.0f01.0002.0000.0c00.1111.00
        49.0f01可变长,一般固定为49(私有地址)
        0002为区域ID
        0000.0c00.1111为系统ID
        最后的00为端口号,但是不在这里使用端口号,所以为00
IS-IS路由器类型
    Level 1
        用于区域内部,只能和内部路由器建立邻居
        无法学习到其他区域的路由,相当于OSPF中的T-stub
        生成一个指向最近L1/2的默认路由(可能造成次优路径)
    Level 2
        只能跟L2建立邻居
        L2路由器可以学习全网路由
    Level 1/2
        以上的功能都有
        同时拥有两个独立的数据库,L1数据库和L2数据库
        会通告给L1路由器自己是出口(在LSP中ATT bit置位)
DIS
    DIS可以抢占,没有备份。DIS故障,立即重新选举。
    DIS发送hello包的时间是普通路由器的1/3(3.3s),确保故障时能快速被发现。
    DIS会产生一个伪节点,伪节点负责与同区域路由器连接
    DIS选举
        1.比较接口优先级(默认64),与OSPF不同,ISIS中接口优先级为0也参与选举。
        2.SNPA(相当于MAC地址)比大。
        3.系统ID比大。
        修改接口优先级:isis priority 100 level-1
IS-IS的MTU隐含检查
    //1.各台IS的ISDB应保持一致,这样才能保证计算出来的最小生成树是基于同一个拓扑的,
        从而防止环路的发生。
    //2.IS-IS作为数据链路层的协议,是没有分片的概念的。如果MTU超过了最大值,则会丢包
        从而导致ISDB不一致。
    //3.在IIH里填满padding,如果有一台超过了MTU值,则丢包,不能建立邻居。
        然后修改MTU→邻居建立。
    //补充:普通路由器10秒钟发一次hello包。如果两台同时发就会产生突发流量,
            以25%的抖动来减少网络中IIH同步传输的可能性(也就是2.5秒)
    //no isis hello padding  //在两台路由器接口上关闭路由器填充
IS-IS metric
    default metric //每经过一台路由器metric加10
    其他metric计算方式厂家都不支持
LSP Holdtime
    1200s的老化时间
    900s刷新一次
特殊置位
    Attached-bit
        L1/2路由器向L1路由器通告自己是出口,则将ATT置位
    Overload-bit
        过载位,置位后其他路由器应尽量避开此路由器
        手动设置set-overload-bit
IS-IS配置
    接口下:ip router isis  //在接口上激活ISIS!!!
    router isis
        net 49.0001.0000.0000.0001.00  //最多配置3个NET地址
        is-type level-1
        log-adjacency-changes  //开启日志向控制台发送的功能(默认不开启)
    接口下:isis circuit-type level-2
        L1/L2路由器会通告给L1自己的直连(哪怕是连接L2路由器)
        这样就不会向L1通告此接口所在的网段了
    sh isis database
        R3.01-00中的1表示这是一个PSN(伪节点)
主机名到NSAP地址映射
    分静态映射和动态映射
    静态映射
        router isis  //每一台路由器都要设置
            net 49.0001.1111.2222.3333.00
            exit
        clns host RouterA 49.0001.1111.2222.3333.00
        clns host RouterB 49.0001.4444.5555.6666.00
    show isis hostname [detail] //查看地址映射关系
    show isis neighbors
    show clns neighbors
默认路由
    router isis
        default information-originate  //下发默认路由,L1路由器不能产生
路由汇总
    只能把本区域的路由汇总到其他区域
    router isis
        summary-address 172.16.0.0 255.255.0.0 level-1
认证
    明文:
        接口(接口模式下):
            isis password {密码}
        区域(isis进程下):
            area-password {密码}
    密文:
        1.设置key-chain
        2.接口下isis authentication key-chain {钥匙链名}
        3.接口下isis authentication mode md5
坑 
    L1/2路由器与其他L2路由器断开连接时依然会将ATT置位,导致L1丢包
    解决方案:
        自动检测,与L2断连时取消ATT置位
        ip prefix-list test seq 5 permit 5.5.5.0/24
        route-map test permit 10
            match ip address prefix-list test
        router isis
            set-attached-bit route-map test
    所有L1/2路由器都会将ATT置位,可能导致L1路由产生次优路径
    解决方案:路由泄露
        access-list 100 permit ip host 5.5.5.0 host 255.255.255.0  //匹配子网掩码(隐含用法)
        router isis
            redistribute isis ip level-2 into level-1 distribute-list 100

随机推荐

  1. 推荐一款轻量级堡垒机系统让你防护“rm -rf 删库跑路”

    大家好,我是 Java陈序员. 我们在开发工作中,会经常与服务器打交道,而服务器的资源又是十分宝贵,特别是服务器里面的数据资源. 但是,偶尔会经常因为疏忽而导致服务器数据资源丢失,给自己和公司带来巨大 ...

  2. python性能分析line_profiler

    在编程世界中,效率是王道.对于Python开发者来说,line_profiler 是一把锐利的剑,能够深入代码的每一行,找出性能瓶颈.今天,就让我们一起深入探索 line_profiler,学习如何用 ...

  3. 程序员天天 CURD,怎么才能成长,职业发展的思考(2)

    接着上一篇:程序员天天 CURD,怎么才能成长,职业发展思考 上一篇写到了用年限来谈程序员的发展,在 4 - 6 年这个时间段需要做的一些事情,接着写这个时间段的. 第 4.5 年时候,你可能会做一些 ...

  4. gin框架获取参数

    目录 httpext包 获取header头里的参数: scene := httpext.GetHeaderByName(ctx, "scene") // online / dev ...

  5. JDK源码阅读-------自学笔记(九)(常用类型Integer初探)

    常用类 主要分为几部分需要学习: 包装类的介绍和使用 字符串的介绍和使用 时间类的介绍和使用 其他类型介绍和使用 包装类(Wrapper Class)基本知识: 1.基本数据类型不是对象,但有时需要将 ...

  6. 13-flask博客项目之restful api详解1-概念

    一 传统的开发模式 前后端分类概念 前端只需要独立编写客户端代码,后端也只需要独立编写服务端代码提供数据接口即可前端通过AJAX请求来访问后端的数据接口,将Model展示到View中即可 前后端开发者 ...

  7. 重做贪吃蛇 万向移动型 蛇的移动和吃食部分C# wpf版

    之前写了一个贪吃蛇,代码实在太乱了,上一个是用polyline做的,这次这个是用一个个的elipse来渲染蛇的身体,其中一个圆点,就是一个elipse了.蛇的移动是通过定时器来实现的,方向键 A D控 ...

  8. ThreadLocal原理详解——终于弄明白了ThreadLocal

    目录 概述 API介绍 ThreadLocal的理解 ThreadLocal的原理分析 总结 概述 在java学习生涯中可能很多人都会听到ThreadLocal变量,从字面上理解ThreadLocal ...

  9. CSS操作——边框属性

    1.border-style(边框风格) 定义边框的风格,值可以有: /* none:没有边框,当border的值为none的时候,系统将会忽略[border-color] hidden:隐藏边框,低 ...

  10. 很多人讲不明白HTTPS,但是我能

    很多人讲不明白HTTPS,但是我能 今天我们用问答的形式,来彻底弄明白HTTPS的过程 下面的问题都是 小明和小丽两个人通信为例 可以把小明想象成服务端,小丽想象成客户端 1. https是做什么用的 ...