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. IIncrementalGenerator 增量 Source Generator 生成代码入门 从语法到语义 获取类型完全限定名

    本文告诉大家如何在使用 IIncrementalGenerator 进行增量的 Source Generator 生成代码时,如何从语法分析过程,将获取的语法 Token 转换到语义分析上,比如获取类 ...

  2. React项目中报错:Parsing error: The keyword 'import' is reservedeslint

    记得更改完配置后,要重启编辑器(如:VSCode)!!! 记得更改完配置后,要重启编辑器(如:VSCode)!!! 记得更改完配置后,要重启编辑器(如:VSCode)!!! 这个错误通常发生在你尝试在 ...

  3. Intel Pentium III 512MB内存 i815集显上安装Ubuntu Server 14.04

    自己的御用奔腾III PC,接口齐全,准备安装Ubuntu Server 14.04 i386,继续发挥余热,物尽其用. 基本配置: CPU: Intel Pentium III 1000MHz, 2 ...

  4. CF1912K

    题意:给定一个长度为 n 的序列,求有多少个子序列满足该子序列内任意相邻 3 个数的和为偶数. 只与奇偶有关,所以可以把状态转化为 01 的. 设 \(f[i][x][y]\) 表示在前 i 个数中, ...

  5. c#胖东来小程序自动购物程序(接单,windows桌面程序、linux程序、网络应用等等)

    一.程序效果 自动打开胖东来小程序,自动购物 二.实现 先截屏,然后利用opencv库识别下一步按键所在位置,然后使用mouse_event控制鼠标,模拟人的动作 第一步,截取屏幕 static Bi ...

  6. 特工17Agent17汉化版游戏破解金币方法修改破解金币的增加方法

    又是一个renpy游戏,昨晚搞了半个小时搞定的,其实这个游戏要赚钱也不难,就是点点点就可以了,但是我觉得还是挺费劲的,因为好多道具都很贵,攒钱又不怎么容易,花钱的地方还挺多的,所以干脆不如直接破解了算 ...

  7. 04. rails入门学习 创建控制器

    学习视频 https://www.bilibili.com/video/BV1RJ411W7N3?t=49&p=7 一. 启动rails 启动 cd circles/ #到circles的项目 ...

  8. 飞桨PaddleLite架构研读

    一.架构全景图 二.源码详细解读 1. Lite体系下似乎有多种 op_desc/program_desc 的定义,之间的关系是什么?这样设计的背景和好处是什么? model_parser目录下,包含 ...

  9. USB3.0与Type-C接口的关系

    USB全称为Universal Serial Bus,翻译过来就是通用串行总线,是连接计算机与外部设备的一种串口总线标准.USB的发展经历了一下阶段: USB1.0:1.5Mbps(192KB/s)低 ...

  10. C语言:实现数组的删除和增加

    /*      删除方法:     如:12  32  56  84  95     用覆盖的方法     若删除第三个,则第四个要覆盖第三个,第五个要覆盖第四个     覆盖完:12  32  84 ...