计算机网络-IS-IS路由计算

news2024/12/23 5:01:32

前面已经学习了建立IS-IS邻接关系和同步LSDB,然后基于此路由器会进行路由计算。

一、路由计算

因为IS-IS路由器有不同的级别,只维护自身级别的LSDB,因此就是Level-1只有区域内的路由信息,Level-2有Level-2的路由信息,Level-1通过Level-1-2的ATT置位下发默认路由到骨干区域。

1.1 Level-1路由器的路由计算:

Level-1路由计算
Level-1路由计算
Level-1-2下发ATT置位
Level-1-2下发ATT置位

Level-1作为非骨干区域,去往骨干区域需要通过Level-1-2这个中间人默认路由转发,Level-1只有本区域的路由信息,Cost默认为10。

次优路径:

缺省时, R1只能通过指向R2或R3的默认路由到达区域外部,但是R1距离R2和R3路由器的Cost值相等,那么当R1发送数据包到192.168.20.0/24时,就有可能选择路径2,导致出现次优路径。

次优路径
次优路径

就是说因为Level-1路由器是通过默认路由转发的,没有明细路由所以可以走上面R2或者下面R3,所以有可能出现次优的路径。那为了解决这个问题呢就有了一个路由渗透。

路由渗透:为了解决次优路径,渗透明细路由到区域内。

缺省情况下,Level-1-2路由器不会将到达其他区域的路由通告本Level-1区域中。

通过路由渗透,可以将区域间路由通过Leve-1-2路由器传递到Level-1区域,此时Leve-1路由器可以学习到其他区域的详细路由,从而计算出最优路径。但是这样子呢可能会增加Level-1路由器的资源消耗,因为需要额外维护路由表,因此需要根据实际情况判断通过前缀列表渗透特定的明细路由。

路由渗透
路由渗透

1.2 Level-1-2路由器的路由计算

Level-1-2会分别维护两个级别的LSDB
Level-1-2会分别维护两个级别的LSDB
Level-1-2路由
Level-1-2路由
  • R2及R3都维护Level-1 LSDB,它们能够通过这些LSDB中的LSP计算出Area 49.0001的路由。
  • R2及R3都维护Level-2 LSDB,它们能够通过这些LSDB中的LSP计算出Area 49.0002的路由。
  • R2及R3将到达Area 49.0001的路由以Level-2 LSP的形式发送到Area 49.0002。

Level-1-2会分别维护两个级别的LSDB,默认情况下通过ATT置位向Level-1下发默认路由到达骨干区域。

1.3 Level-2路由器的路由计算:

R4及R5作为Level-2路由器,只会维护Level-2 LSDB,它们能够根据该LSDB计算出到达全网各个网段的路由。Level-2路由器作为骨干区域能够学习到达Level-1的路由。

Level-2路由计算
Level-2路由计算
Level-2路由
Level-2路由

简单说就是Level-1只有本区域的路由信息,Level-1-2有两个区域的路由信息,Level-2有全网的路由,Level-1需要通过Level-1-2的默认路由去往骨干区域。这个设计一方面是考虑到Level-1路由器可以不用处理那么多LSDB及路由信息,但是可能会导致次优路径,可以通过配置路由渗透将Level-2的明细路由渗透到Level-1区域。

二、IS-IS认证功能

IS-IS认证是基于网络安全性的要求而实现的一种认证手段,通过在IS-IS报文中增加认证字段对报文进行认证。当本地路由器接收到远端路由器发送过来的IS-IS报文,如果发现认证密码不匹配,则将收到的报文进行丢弃,达到自我保护的目的。

根据报文的种类,认证可以分为以下三类:

  • 接口认证:在接口视图下配置,对Level-1和Level-2的Hello报文进行认证。
  • 区域认证:在IS-IS进程视图下配置,对Level-1的CSNP、PSNP和LSP报文进行认证。
  • 路由域认证:在IS-IS进程视图下配置,对Level-2的CSNP、PSNP和LSP报文进行认证。

接口认证:在接口视图下配置,对Level-1和Level-2的Hello报文进行认证。

Hello报文使用的认证密码保存在接口下,发送带认证TLV的认证报文,互相连接的路由器接口必须配置相同的口令。

配置:

# 进入接口
[R1] interface GigabitEthernet0/0/0

# level-1 指定设置Level-1级别的认证;level-2 指定设置Level-2级别的认证;send-only 指定只对发送的Hello报文加载认证信息,不对接收的Hello报文进行认证。
[R1-GigabitEthernet0/0/0] isis authentication-mode simple cipher  huawei

区域认证:在IS-IS进程视图下配置,对Level-1的CSNP、PSNP和LSP报文进行认证。

区域内的每一台L1路由器都必须使用相同的认证模式和具有共同的钥匙串。

配置:

[Huawei-isis-1] area-authentication-mode { { simple | md5 } { plain plain-text | [ cipher ] plain-cipher-text } keychain keychain-name | hmac-sha256 key-id key-id } [ snp-packet { authentication-avoid | send-only } | all-send-only 
# simple 指定密码以纯文本方式参与认证;
# keychain 指定随时间变化的密钥链表;
# md5 指定密码通过HMAC-MD5算法加密后参与认证。
# snp-packet 指定配置SNP报文相关的验证;
# authentication-avoid 指定不对产生的SNP封装认证信息,也不检查收到的SNP,只对产生的LSP封装认证信息,并检查收到的LSP;send-only 指定对产生的LSP和SNP封装认证信息,只检查收到的LSP,不检查收到的SNP;
# all-send-only 指定对产生的LSP和SNP封装认证信息,不检查收到的LSP和SNP。

路由域认证:在IS-IS进程视图下配置,对Level-2的CSNP、PSNP和LSP报文进行认证。

IS-IS域内的每一台L2和L1/L2类型的路由器都必须使用相同模式的认证,并使用共同的钥匙串。

对于区域和路由域认证,可以设置为SNP和LSP分开认证。

  • 本地发送的LSP报文和SNP报文都携带认证TLV,对收到的LSP报文和SNP报文都进行认证检查。
  • 本地发送的LSP报文携带认证TLV,对收到的LSP报文进行认证检查;发送的SNP报文携带认证TLV,但不对收到的SNP报文进行检查。
  • 本地发送的LSP报文携带认证TLV,对收到的LSP报文进行认证检查;发送的SNP报文不携带认证TLV,也不对收到的SNP报文进行认证检查。
  • 本地发送的LSP报文和SNP报文都携带认证TLV,对收到的LSP报文和SNP报文都不进行认证检查。

配置:

[Huawei-isis-1] domain-authentication-mode { { simple | md5 } { plain plain-text | [ cipher ] plain-cipher-text } keychain keychain-name | hmac-sha256 key-id key-id } [ snp-packet { authentication-avoid | send-only } | all-send-only ]

根据报文的认证方式,可以分为以下四类:

  • 简单认证:将配置的密码直接加入报文中,这种加密方式安全性较其他两种方式低。
  • MD5认证:通过将配置的密码进行MD5算法加密之后再加入报文中,提高密码的安全性。
  • Keychian认证:通过配置随时间变化的密码链表来进一步提升网络的安全性。
  • HMAC-SHA256认证:通过将配置的密码进行HMAC-SHA256算法加密之后再加入报文中,提高密码的安全性。

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1621836.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

背包问题汇总

本文涉及知识点 动态规划汇总 状态机dp 01背包 有n件物品,体积分别是v[i],价值分别是w[i],有个包的容积是bv。如何选择物品使得,在总体积不超过vb的前提下,让总价值最大。 动态规划的状态表示 dp[i][j] 表示处理完…

【OceanBase系列】—— 常用运维操作(备忘)

作者简介: 花名:绪宁,OceanBase 数据库解决方案架构师 创建租户 方法一:OCP 创建 确认可分配资源 具体可以分配多少内存,可以通过【资源管理】查看各节点的剩余资源 2. 新建租户 3. 填写租户信息 zone 优先级主要是 p…

政安晨:【Keras机器学习示例演绎】(十五)—— 用于图像分类的 CutMix 数据增强技术

目录 简介 设置 加载 CIFAR-10 数据集 定义超参数 定义图像预处理函数 将数据转换为 TensorFlow 数据集对象 定义 CutMix 数据增强功能 可视化应用 CutMix 扩增后的新数据集 定义 ResNet-20 模型 使用经 CutMix 扩展的数据集训练模型 使用原始非增强数据集训练模型 …

银行业ESB架构:构建安全高效的金融信息交换平台

在金融行业,信息交换是银行业务运作的核心。为了实现不同系统之间的数据交互和业务流程的协同,银行通常采用企业服务总线(ESB)架构。本文将探讨银行业ESB架构的设计理念、关键技术以及实践经验,帮助银行构建安全高效的…

Hive查询操作详解

Hive 数据准备: Tips: (1)SQL 语言大小写不敏感。 (2)SQL 可以写在一行或者多行。 (3)关键字不能被缩写也不能分行。 (4)各子句一般要分行写。 &#xff0…

Science Robotics 美国斯坦福大学研制了外行星洞穴探测机器人

月球和火星上的悬崖、洞穴和熔岩管已被确定为具有地质和天体生物学研究理想地点。由于其隔绝特性,这些洞穴提供了相对稳定的条件,可以促进矿物质沉淀和微生物生长。在火星上,这些古老的地下环境与火星表面可能适合居住时几乎没有变化&#xf…

人工智能热度攀升市场广阔 业内:人机协同将成发展主流

以下文章来源:央广网 今年以来,人工智能产业热度持续攀升。文生视频软件Sora、文生音乐软件Suno等人工智能应用不断涌现,带给人们冲击的同时,也在影响着千行百业。本报今起推出“聚焦人工智能发展”系列报道,围绕人工智…

MybatisPlus(简单CURD,MP的实体类注解,MP条件查询,MP分页查询,MP批量操作,乐观锁,代码生成器)

目录 一、MP入门 1. MP是什么 2. MP使用入门 1 说明 2 准备MP项目环境 1) 添加依赖 2) 创建配置文件 3) 创建引导类 3 MP使用入门 1 创建实体类 2 创建Mapper 3 使用测试 3. 小结 二、MP简单CURD【重点】 1. 说明 2. 示例 3. 小结 三、MP的实体类注解[重点] …

接口测试-笔记

Date 2024年4月23日21:19:51 Author KarrySmile 1. 前言 因为想更加规范地开发接口,同时让自己测试接口的时候更加高效,更好地写好接口文档。所以学习黑马的《接口自动化测试》课程。链接:黑马程序员软件测试接口自动化测试全套视频教程&a…

【Ant-Desgin-React 穿梭框】表格穿梭框,树穿梭框的用法

Antd Desgin 穿梭框 普通用法高级用法-表格穿梭框组件高级用法-树穿梭框组件 普通用法 /* eslint-disable no-unused-vars */ import React, { useEffect, useState } from react import { Space, Transfer } from antd// Antd的穿梭框组件Mock数据 const mockData Array.fro…

企业微信hook接口协议,ipad协议http,外部联系人图片视频文件下载

外部联系人文件下载 参数名必选类型说明file_id是StringCDNkeyopenim_cdn_authkey是String认证keyaes_key是Stringaes_keysize是int文件大小 请求示例 {"url": "https://imunion.weixin.qq.com/cgi-bin/mmae-bin/tpdownloadmedia?paramv1_e80c6c6c0cxxxx3544d9…

分类分析|KNN分类模型及其Python实现

KNN分类模型及其Python实现 1. KNN算法思想2. KNN算法步骤2.1 KNN主要优点2.2 KNN主要缺点 3. Python实现KNN分类算法3.1 自定义方法实现KNN分类3.2 调用scikit-learn模块实现KNN分类 4. K值的确定 在之前文章 分类分析|贝叶斯分类器及其Python实现中,我们对分类分…

Golang基础5-指针、结构体、方法、接口

指针 和c/c类似,但是go语言中指针不能进行偏移和运算,安全指针 &(取地址) *(根据地址取值) nil(空指针) make和new之前对比:make用于初始化slice,map,channel这样的引用类型 而new用于类…

Netty学习——实战篇5 Netty 心跳监测/WebSocket长连接编程 备份

1 心跳监测 MyServer.java public class MyServer {public static void main(String[] args) {NioEventLoopGroup bossGroup new NioEventLoopGroup(1);NioEventLoopGroup workerGroup new NioEventLoopGroup();try {ServerBootstrap serverBootstrap new ServerBootstrap…

CPDA|0到1突破:构建高效数据分析体系的秘密武器

在现今信息爆炸的时代,数据已经渗透到了我们生活的方方面面,成为了决策、创新和竞争优势的关键。因此,构建一套高效的数据分析体系,对于企业和个人而言,都是至关重要的。那么,如何在众多的数据海洋中脱颖而…

一文读懂Partisia Blockhain:兼顾去中心化、安全性与可扩展性

“Partisia Blockhain 解决了区块链领域长期存在的问题,其兼顾了去中心化、安全性以及可扩展性” Partisia Blockchain 是一个具有独特零知识证明预言机以及分片解决方案的 Layer1,解决了困扰整个区块链行业的问题。 目前,多样化的区块链层出…

软考-论文写作-论软件设计模式

题目 素材 框架 一、 摘要 2020年12月,我参加了某省政协委员履职系统的开发。该系统为政协机关人员管理委员信息以及委员完成各项履职提供了全方位的软件支撑。我在该项目重担任系统架构师一职,负责履职系统的架构设计。本文结合作者的实践,以委员履职系统为例,主要讨论软…

计算机网络-IS-IS基础配置实验

前面我们了解了IS-IS的一些基础理论,从建立邻接、链路状态数据库同步以及路由计算,现在开始学习下配置操作。 一、IS-IS配置 网络拓扑图: 拓扑图 IS-IS有Level级别的区分,Level-1可以是性能较低的设备只维护区域内的LSDB&#xff…

035——从GUI->Client->Server->driver实现SPI控制DAC芯片

目录 1、修改GUI 2、修改client 3、server编写 4、driver_handle 5、test 6、 项目管理 1、修改GUI 我想让DAC控制是个滑动条 import PySimpleGUI as sgdef slider_callback(slider_value):print(fCurrent value: {slider_value})layout [[sg.Text(Select a value:)],…