IS-IS协议原理与配置

2023-05-16

IS-IS(中间系统到中间系统协议):基于链路状态并使用最短路径优先算法进行路由计算的一种IGP协议 基于802.3封装

IS-IS最初是国际化标准组织ISO为它的无连接网络协议CLNP设计的一种动态路由协议
为了提供对IP的路由支持
IETF在RFC1195中对IS-IS进行了扩充和修改,使它能够同时应用在TCP/IP和OSI环境中,修订后的IS-IS协议被称为集成化的IS-IS
工作在数据链路层,路由收敛速度快,结构清晰,适合于大规模网络

场景应用
园区网:区域多样、策略多变、调度精细
特点:
应用型网络,主要面向企业网用户。
路由器数量偏少,动态路由的LSDB库容量相对偏少,三层路由域相对偏少。
有出口路由的概念,对内部外部路由划分敏感。
地域性跨度不大,带宽充足,链路状态协议开销对带宽占用比偏少。
路由策略和策略路由应用频繁多变,需要精细化的路由操作。
OSPF的多路由类型(内部/外部),多区域类型(骨干/普通/特殊),开销规则优良(根据带宽设定),网络类型多样(最多五种类型)的特点在园区网得到了极大的发挥

骨干网(运营商网络):区域扁平、收敛极快、承载庞大
特点:
服务型网络,由ISP(互联网服务提供商)组建,并为终端用户提供互联服务。
路由调度占据绝对统治地位,路由器数量庞大。
架构层面扁平化,要求IGP作为基础路由为上层BGP协议服务。
LSDB规模宏大,对链路收敛极度敏感,线路费用高昂。
追求简单高效,扩展性高,满足各种客户业务需求(IPV6/IPX)。
IS-IS的快速算法(PRC得到加强),简便报文结构(TLV),快速邻居关系建立,大容量路由传递(基于二层开销低)等一系列特点在骨干网有着天然的优势

历史起源:

IS-IS属于内部网关协议,用于自治系统内部

工作过程:
1.建立邻居关系:通过HELLO包交互并协商各种参数,包括电路类型(level-1/level-2),Hold time,网络类型,支持协议,区域号,系统ID,PDU长度,接口IP等
分为两种:两次和三次握手,P2P网络是支持两次和三次握手,MA网络仅支持三次握手
2.同步LSDB数据库(链路信息交换):与OSPF不同,ISIS交互链路状态的基本载体不是LSA,而是LSP;交互的过程没有OSPF协议那样经历了多个阶段,主要是通过CSNP和PSNP两种协议报文来同步,请求以及确认链路状态信息(承载的是链路状态信息摘要),而链路状态信息的详细拓扑和路由信息是由LSP报文传递
1)P2P网络:先描述,再同步
2)MA网络:直接同步,然后通过DIS来保障数据库同步的完整性
3.执行SPF路由计算:SPF计算和OSPF基本一样的,但ISIS算法分离了拓扑结构和IP网段,加快了网络收敛速度(ISPF算法)

ISIS内部优先级:
level-1:15
level-2:18

建立邻居需要协商的参数:掩码、MTU、sys id、area id、最大区域地址数
如何协商区域地址:只要携带的区域地址有一个相同就能建立邻居
不需要协商hold time

地址结构:2位为1B

IDP:相当于IP地址的网络号
DSP:相对于IP地址的子网号和主机地址,由High Order DSP、System ID和SEL三个部分组成
AREA ID:区域id,标识一个区域,相当于OSPF的区域标号
SYSTEM ID:系统id,标识一台设备,固定6字节,每台设备最多3个相同的系统id
SEL:上层协议标识符

路由器分类(ISIS基于路由器划分区域):
Level-1路由器(只能创建level-1的LSDB),性能相对较差,位于Level-1区域相当于OSPF的非骨干区域,相当于IR
Level-1路由器必须通过Level-1-2路由器才能连接至其他区域
Level-2路由器(只能创建level-2的LSDB),性能较强,Level-2区域相当于OSPF的骨干区域,相当于BR
所有Level-2级别(即形成Level-2邻居关系)的路由器组成路由域的骨干网,负责在不同区域间通信。路由域中Level-2级别的路由器必须是物理连续的,以保证骨干网的连续性。只有Level-2级别的路由器才能直接与区域外的路由器交换数据报文或路由信息
Level-1-2路由器(路由器默认的类型,能同时创建level-1和level-2的LSDB ),性能强,用于连接Level-1区域和Level-2区域,类似于OSPF的ABR
默认为Level-1-2路由器,连接骨干区域的路由器

Level-1路由器的路由特点:
• 只拥有Level-1的链路状态数据库。
• 其链路状态数据库中只有本区域路由器LSP。
• 其路由表里没有其他区域的路由信息。
• 其路由表里都有一条默认路由,下一跳是指向到Level-1-2路由器。
Level-2路由器的路由特点:
• Level-2路由器只有Level-2的链路状态数据库。
• 其LSDB中有骨干区域路由器的LSP,但是没有Level-1路由器产生的LSP。
• 路由表里面有整个网络的路由信息。
Level-1-2路由器的路由特点:
• Level-1-2路由器同时拥有Level-2和Level-1的链路状态数据库。
• Level-1数据库包含本区域的LSP,Level-2数据库包含骨干区域LSP。
• 在自己产生的Level-1的LSP中设置了ATT比特位为1。
• 路由表里面有整个网络的路由信息。

默认有将level-1的路由引入level-2的命令

邻居关系的建立:
Level-1路由器:只能与同一区域的Level-1路由器/Level-1-2路由器建立Level-1路由器邻居关系,维护Level-1路由器的LSDB
不能跨区域建立邻居关系

  Level-2路由器:只能与同一区域/不同区域的Level-2路由器/不同区域的Level-1-2路由器建立Level-2的路由器邻居关系,维护Level-2LSDB

  Level-1-2路由器:可以与同一区域的Level-1路由器/Level-1-2路由器建立Level-1邻居关系,邻居直接维护Level-1LSDB,可以与同一区域/不同区域的Level-2路由器建立Level-2邻居关系,维护Level-2LSDB,与不同区域的Level-1-2路由器建立Level-2邻居关系;    

ISIS的区域划分:与OSPF不一样,OSPF是基于路由器的接口划分,ISIS是基于一台路由器划分区域
ISIS区域分两种:骨干区域(L2)
非骨干区域(L1)

ISIS的报文封装:封装于数据链路层,所以传输中可能会存在丢包现象,因为没有保障可靠协议支持,OSPF封装于IP协议,协议号89
ISIS报文:

1.Hello PDU:用于发现,建立,维护邻居关系,
与OSPF一样,周期性发送,普通路由器发送时间间隔是10s,死亡时间(hold time)30s,如果30s内没有收到邻居发送过来的hello报文,则邻居报文中断,DIS路由器(相当于OSPF的DR)发送hello报文时间间隔为10/3s(3.3333…),其他路由器连续三次没有收到来自DIS路由器的hello报文,则认为DIS故障,重新选举新的DIS

               为什么DIS发送hello报文的时间间隔是10/3s?:为了快速检测出DIS故障

P2P hello PDU:用于点到点网络
LAN hello PDU:用于MA网络
level-1 LAN IIH:用于MA网络中的level-1邻居,目的组播MAC为:0180-c200-0014
level-2 LAN IIH:用于MA网络中的level-2邻居,目的组播MAC为:0180-c200-0015

2.LSP PDU:用于描述链路状态信息
实节点LSP
伪节点LSP(只在广播链路存在)
LSP的刷新间隔为15分钟;老化时间为20分钟。
但是一条LSP的老化除了要等待20分钟外,还要等待60秒的零老化时延;LSP重传时间为5秒;LSP超时后从网络中清除

以下三个标志组合起来用来唯一标识一个LSP
Source ID:产生该LSP的结点或伪结点的Sys lD ,8字节
Pseudonode ID:对普通LSP为0 ; 对 Pseudonode LSP 非 0, 这 是 区 分 一 个 LSP 是 否 是 伪 结 点 产 生 的 标 志 ;
LSP number:分 片 号 ( 产 生 的 LSP 大 于 LSP MTU 将 分 片 ) 最多256个分片
LSP id 例 子 : 00C0 . 0040 . 1234 . 01 一 00 , 其 中 :
SourcelD: 00C0 . 0040 . 1234
Pseudonode ID: 01 ( 表 明 为 伪 结 点 产 生 的 )
分 片 号 . 0
LSP Sequence Number.
Sequence Number: 每 个 LSP ( 含 LSP 分 片 ) 都 有 一 个 自 己 的 序 列 号
当 路 由 器 启 动ISIS时,自 己 产生 的 LSP 的 序 列 号 为 1
当 发 生 变 化 需 要 重 新 生 成 LSP 的 时 候 , 产 生 序 列 号 增 加 的 新 的 LSP 传 播 出 去
较 大 的 序 列 号 意 味 着 LSP 较 新

3.SNP PDU:用于维护LSDB 的完整与同步,且为摘要信息
CSNP PDU:完全序列号报文,用于描述LSDB,同步LSP,类似于OSPF中用于描述LSDB的DD报文,DIS周期性10s发送
level-1 CSNP PDU:用于level-1邻居
level-2 CSNP PDU:用于level-2邻居
PSNP PDU:部分序列号报文,用于请求或确认LSP PDU,类似于OSPF中的LSR或LSACK(确认只用于点到点网络,广播网络无需确认)
level-1 PSNP PDU:用于level-1邻居
level-2 PSNP PDU:用于level-2邻居

邻居关系建立:
1.P2P链路上,
两次握手机制:
两次握手只要路由器收到对端发来的Hello报文,就单方面宣布邻居为up状态,建立邻居关系,容易存在单通风险
三次握手机制(默认):
通过三次发送P2P的IS-IS Hello PDU最终建立起邻居关系,与广播链路邻居关系的建立情况相同

      TLV:邻居状态
      为了P2P网络类型使用三次握手建立邻居,P2P hello 中增加了邻居状态TLV

2.广播链路上,使用LAN IIH报文执行三次握手建立邻居关系
当收到邻居发送的Hello PDU报文里面没有自己的system ID的时候,状态机进入initialized
只有收到邻居发过来的Hello PDU有自己的system ID才会up,排除了链路单通的风险。
广播网络中邻居up后会选举DIS(虚节点),DIS的功能类似OSPF的DR(指定路由器)

DIS与伪节点:
DIS:指定中间系统(Designated IS)
伪节点:在广播网络中由DIS创建的虚拟路由器

选举DIS:在广播网络,需要选举DIS,在邻居关系建立后,路由器会等待两个Hello报文间隔再进行DIS的选举
Hello报文中包含Priority 字段(0-127,默认64)
选举规则: Priority值最大的将被选举为该广播网的DIS
优先级相同,接口MAC地址较大的被选举为DIS
MAC地址一样,比较Systerm ID,大的为DIS
DIS发送Hello时间间隔默认为10/3秒,而其他非DIS路由器发送Hello间隔为10秒
抢占性:后期有新的Router加入到链路进来,如果优先级比DIS高是可抢占的,但是DR是不可抢占的

DIS的作用:
进行SPF计算时,简化MA网络的逻辑拓扑
减少LSP/LSA的泛洪
保障LSP交互的可靠性
由DIS发送CSNP来同步链路的LSDB

DIS与DR的类比

链路状态信息的交互:

P2P先交互LSP再发CSNP

不同网络类型如何同步LSDB:
P2P网络中:邻居关系建立后,立即给对端发送CSNP报文,若发现有没同步的LSP条目则发起PSNP请求,而对端则回应LSP,收到LSP更新后要回PSNP作为收到LSP的回应,本端在发送LSP时会启动重传定时器,一旦定时器归零后没收到PSNP回应则会重新发送LSP并重新设定定时器,直到收到对端的PSNP回应

MA网络中:邻居关系建立后,路由器等待LSP刷新定时器超时,然后将自己的LSP发往组播地址 (Level-1:01-80-C2-00-00-14;Level-2:01-80-C2-00-00-15)。这样网络上所有的邻居都将收到该LSP。该网段中的DIS会把收到邻居的LSP加入到LSDB中,并等待CSNP报文定时器超时 并发送CSNP报文,进行该网络内的 LSDB 同步。 邻居收到DIS发来的CSNP报文,对比自己的LSDB数据库,然后向DIS发送PSNP报 文请求自己没有的LSP。DIS收到该PSNP报文请求后向邻居发送对应的LSP进行LSDB的同步

路由算法
SPF计算过程:
• 单区域LSDB同步完成
• 生成全网拓扑结构图
• 以本节点为根生成最短路径树
• 默认跨越每个节点开销一样
IS-IS的计算特点:
• 在本区域内路由器第一次启动的时候执行的是Full-SPF算法。
• 后续收到的LSP更新,如果是部分拓扑的变化执行的iSPF计算。
• 如果只是路由信息的变化,执行的就是PRC计算。
由于采用拓扑与网络分离的算法,路由收敛速度得到了加强

ISIS开销:
采用默认开销,默认开销均为10,不管链路带宽高低,开销都为10
配置命令:接口视图下: isis cost
ISIS计算开销的方式:
1.基于抖动(默认):华为只支持默认
Narrow模式(窄)(设备默认模式开销都是10,手工配置接口开销取值范围为1~63)。不适合大型网络(默认为窄)
Wide模式(宽)(设备默认模式开销都是10,手工配置接口开销取值范围是1~16777215)。适合大型网络
宽兼容窄
2.基于延迟
修改:协议视图:cost-style + 模式
进程下加入auto-cost enable命令,Narrow模式和Wide模式都会参考接口带宽大小计算开销值,只是参考准则有少许差异

ISIS的区域与区域间的访问:
骨干区域:所有的Level-2路由器和Level-1-2路由器构成一个连续的骨干区域(level-2区域)
Level-1-2路由器会将自己连接的Level-1区域的路由信息放进Level-2的LSP中,再泛洪给骨干区域中的其他Level-1-2路由器和Level-2路由器。所以骨干区域中的Level-1-2路由器和Level-2路由器会知道整个IS-IS路由域的路由信息
非骨干区域:所有连续的并且在同一个区域ID下的Level-1路由器和Level-1-2路由器构成一个非骨干区域(Level-1区域),Level-1区域只能连接到骨干区域,和其他的Level-1区域并不相连

1.骨干区域访问非骨干区域:
level-1-2路由器将level-1路由向level-2区域传递,那么level-2路由器就会有去往所有level-1的路由

2.非骨干区域访问骨干区域并且去访问其他区域:
level-1访问level-2区域,必须获取level-2的路由,还有level-1想访问其他level-1区域的路由,其他level-1区域的路由已经将全部发往level-2了,缺省路由;

总结:
     level-2区域去访问level-1区域是通过明细路由访问,因为level-1-2路由器会将level-1区域的路由向level-2区域传递,level-2区域的设备性能好,承载能力强
     level-1去访问level-2/其他level-1区域是通过缺省路由访问
                                                          该缺省路由由Level-1-2路由器产生ATT比特置位为1的LSP发布给Level-1区域
                  缺省下,Level-1-2路由器不会将其他Level-1区域以及Level-2区域的路由信息引入到Level-1区域。这样Level-1路由器不会学习到其他区域的路由信息,只能通过指向Level-1-2路由器的缺省路由访问其他区域的目的地址。在Level-1区域中有两台或者两台以上Level-1-2路由器的时候,Level-1路由器访问其他区域的目的地址可能无法选择最佳路径)-------可做路由渗透,将level-2路由引入level-1

路由渗透:指Level-1-2路由器将其他Level-1区域以及Level-2区域的路由信息引入到Level-1区域
作用:
为了将其他Level-1区域以及Level-2区域的路由信息通过Level-1-2路由器引入到Level-1区域,使Level-1路由器访问其他区域,解决次优路径
配置:
import-route level 2 into level 1

ISIS协议视图下:attached-bit advertise never 关闭ATT比特位产生的缺省路由,配合路由渗透使用

引入的Level-2路由,路由器不在重新发布出去

TLV编码:
TLV 编 码 方 式 :
TLV 即 type-length-value. TLV 编 码 方 式 一 种 高 效 率 , 扩 展 性 好 的 协 议 报 文 编 码 方 式 。 也 称 为 CLVG 码 (code-length-value)
T–Type 采 用 不 同 的 值 定 义 不 同 类 型
L—Length : 整 个 TLV 三 元 组 的 长 度
V-Value . 本 TLV 的 实 际 内 容 , 最 車 要 的 部 分
TLV 编 码 的 优 点 :
可 扩 展 性 好 , 如 果 想 增 加 对 于 新 特 性 的 支 持 , 只 需 增 加 新 的 TLV 类 型

ATT为1的LSP:
由level-1-2路由器生成,同区域level-1收到后,生成指向level-1-2的缺省路由
ATT为1条件:level-1-2和level-2必须处于不同区域

拓扑所体现的IS-IS与OSPF不同点:
在OSPF中,每个链路只属于一个区域;而在IS-IS中,每个链路可以属于不同的区域
在IS-IS中,单个区域没有物理的骨干与非骨干区域的概念;而在OSPF中,Area0被定义为骨干区域
在IS-IS中,Level-1和Level-2级别的路由器分别采用SPF算法,分别生成最短路径树SPT;在OSPF中,只有在同一个区域内才使用SPF算法,区域之间的路由需要通过骨干区域来转发

IS-IS与OSPF差异性:
差异性 IS-IS OSPF
网络类型 少 多
开销方式 复杂 简便
区域类型 少 多
路由报文类型 简单 多样
路由收敛速度 很快 快
扩展性 强,使用TLV传递,结构简单,易于扩展 一般,本身是为IP特定开发的,支持IPv4和IPv6的OSPF协议是两个独立的版本
路由负载能力 超强 强


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IS-IS协议原理与配置 的相关文章

  • jeston TX1_TX2 ubuntu18.04安装(国内安装源gitee)ROS Melodic

    查看ubunut系统信息 cat proc version uname a lsb release a 我自己的系统信息是 xff1a 由于我自己已经迁移了系统至SD卡 xff0c 所以存储比较富裕 xff1a 通过对应的ubuntu版本安
  • 【Mysql第六期 多表连接查询】

    文章目录 1 了解什么是笛卡尔积 xff08 或交叉连接 xff09 2 多表连接分类3 非等值连接4 UNION的使用7 MySQL的七种join图解8 课后习题 1 了解什么是笛卡尔积 xff08 或交叉连接 xff09 笛卡尔乘积是一
  • 【Mysql第七期 函数】

    文章目录 1 函数的理解1 1 什么是函数1 2 不同DBMS函数的差异 2 数值函数2 3 三角函数2 5 进制间的转换 3 字符串函数常用函数 4 日期和时间函数4 1 获取日期 时间4 2 日期与时间戳的转换4 3 获取月份 xff0
  • 【Mysql第八期 子查询】

    文章目录 前言1 需求分析与问题解决1 2 子查询的基本使用1 3 子查询的分类 2 单行子查询2 1 单行比较操作符2 2 代码示例2 5 子查询中的空值问题 3 多行子查询3 1 多行比较操作符3 2 代码示例3 3 空值问题 4 相关
  • 【Mysql第九期 建表语句和管理表】

    文章目录 1 基础知识1 1 一条数据存储的过程1 2 标识符命名规则1 3 MySQL中的数据类型 2 创建和管理数据库2 2 使用数据库2 3 修改数据库2 4 删除数据库 3 创建表3 2 创建方式23 3 查看数据表结构 4 修改表
  • 【Mysql第十期 数据类型】

    文章目录 1 MySQL中的数据类型2 类型介绍2 2 可选属性2 2 2 UNSIGNED2 2 3 ZEROFILL2 3 适用场景2 4 如何选择 xff1f 3 浮点类型3 2 数据精度说明3 3 精度误差说明 4 定点数类型4 1
  • 【Mysql第十一期 约束】

    文章目录 1 约束 constraint 概述1 1 为什么需要约束1 2 什么是约束1 3 约束的分类 2 非空约束2 1 作用2 2 关键字2 3 特点2 4 添加非空约束2 5 删除非空约束 3 唯一性约束3 1 作用3 2 关键字3
  • 【Mysql第十二期 视图】

    文章目录 1 常见的数据库对象2 视图概述2 1 为什么使用视图 xff1f 2 2 视图的理解 3 大白话理解3 1 创建单表视图3 2 创建多表联合视图 4 查看视图5 更新视图的数据5 1 一般情况 6 修改 删除视图6 1 修改视图
  • 【presto sql】presto sql 如何通过 计算当前日期(年月日,时分秒) 来计算当前是星期几?

    文章目录 原因解析常见的日期处理方式拓展 原因 presto没有直接的日期转星期几的方式 xff0c 但是可以通过函数mod xff0c date diff多种函数进行求模转换成我们想要的星期几 span class token keywo
  • 【presto】presto如何对字段换行处理?chr(10)

    文章目录 问题描述问题分析什么是ASCII码presto sql逻辑 问题描述 需要对当前日期格式如 xff1a 2023 02 23 当遇到 的时候进行换行处理 其他的文本描述字段同理 问题分析 通过查找presto的函数 xff0c 换
  • Qt扫盲-QMenu理论总结

    QMenu理论总结 一 概述二 常用操作1 添加Action2 信号槽3 可撕下菜单4 展示菜单 一 概述 QMenu其实就是菜单控件 xff0c 菜单控件本质上就是一个选择项目 它可以是菜单栏中的下拉菜单 xff0c 也可以是独立的上下文
  • c++: internal compiler error: Segmentation fault (program cc1plus) 解决

    在ubuntu中编译很多库 xff0c 尤其是很大的一些中间件 xff0c 常常会c 43 43 internal compiler error Segmentation fault program cc1plus 这个错误 xff0c 看
  • Windows 远程桌面连接 Jetson Nx (Linux)Ubuntu 18.04

    一 Windows打开远程桌面工具 采取Windows自带远程桌面工具 xff0c 使用win 43 r输入打开mstsc 输入目标ip xff0c 以及用户名 xff08 在显示选项中打开输入用户名 xff09 二 Linux配置 安装x
  • Android studio更换阿里源

    对特定项目生效 xff0c 在项目中的build gradle修改内容 buildscript span class token punctuation span repositories span class token punctuat
  • docker 服务与调用

    docker file ROM tensorflow1 span class token punctuation span 14 python3 span class token punctuation span 5 20210111 sp
  • CTC loss原理详解大全

    ctc本质是损失函数 xff0c 在我的学习过程中浏览了一些博客 xff0c 下面整理了一些写的较好 较详细的 xff1a 1 过程详细 xff0c 全英文 2 博主参照原文讲解的 3 有伪代码 xff0c 帮助理解 4 中文解释 xff0
  • Python 对象、类、实例的联系与区别

    Python 中的对象 类 实例 本文讲述Python 中对象 类 实例的联系与区别 来源 xff1a 笨办法学 Python xff08 Learn Python The Hard Way xff09 作者 xff1a Zed Shaw
  • linux安装tailf 命令

    1 复制如下代码到一个新建的tailf c文件里 span class token comment tailf c tail a log file and then follow it Created Tue Jan 9 15 49 21
  • DBNet学习笔记

    1 网络结构 xff1a 1 网络流程 输入一张图片 xff0c 经过卷积操作 gt 1 2 gt 1 4 gt 1 8 gt 1 16 gt 1 32进行特征的提取 xff0c 然后进行上采样操作 xff0c 上采样的过程是把1 32的特
  • ubuntu18.04 安装PCL1.8.1

    ubuntu18 04 安装PCL1 8 1 注意版本匹配 xff1a PCL1 8 1 43 VTK7 1 1 43 QT5 14 2 1 PCL github 地址 xff1a https github com PointCloudLi

随机推荐

  • ubuntu 18.04 docker 安装

    docker 官网 xff1a https docs docker com engine install ubuntu xff08 1 xff09 按照官网安装教程 xff1a 我选择的是Install from a package安装方法
  • C++函数返回多个值:结构体、tuple

    C 43 43 函数一般可以返回一个值 xff0c 但是在使用中常常需要一个函数返回多个值 xff0c 因此可以使用结构体或tuple来进行实现 注意看代码里的注释 xff01 xff01 xff01 1 使用结构体返回多个值 实现步骤 x
  • 【GStreamer 】1-扫盲介绍

    从历史的角度来看 xff0c Linux 在多媒体方面已经远远落后于其它的操作系统 微软的Windows和苹果的MacOS它们对多媒体设备 多媒体创作 播放和实时处理等方面已经有了很好的支持 另一方面 xff0c Linux对多媒体应用的综
  • C++判断文件是否存在

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • PCL编译完成后找不到库

    使用执行命令L g 43 43 std 61 c 43 43 14 I usr local include pcl 1 8 I usr local include eigen3 main cpp o test111 其中 std 61 c
  • docker安装及使用,常用命令总结

    1 安装 参考官方教程 xff1a https docs docker com engine install ubuntu 有三种安装方法 xff1a Install using the repository Install from a
  • CMakeLists.txt中相关指令和含义

    语法格式 xff1a 指令 xff08 参数1 参数2 xff09 参数使用括号括起来 参数之间使用空格或分号分开 指令大小写无关 xff0c 参数和变量大小写有影响 重要指令 1 cmake minimum required xff1a
  • ubuntu 18.04安装nvidia驱动后,电脑开机失败

    安装驱动后电脑开机失败 xff0c 恢复到安装驱动之前的状态 xff1a 在nvidia 官网 https www nvidia com Download index aspx 下载显卡驱动 xff0c 并安装成功后重启电脑发现电脑重启失败
  • c++ CUDA nvcc编译问题

    安装了cuda10 1 xff0c 使用cuda编译代码时 xff0c 显示 xff1a Cannot get compiler information span class token operator span Compiler exi
  • PCL库点云小知识

    1 计算极值点 include lt pcl io pcd io h gt include lt pcl point types h gt include lt pcl common common h gt pcl PointCloud l
  • PCL Windows 安装

    参考文章 xff1a https blog csdn net weixin 44244190 article details 124324121 我的环境为 xff1a python3 6 xff0c visual studio 2019
  • 使用mmdetection3d预测自己采集的数据遇到的问题

    预测结果是这样的 xff1a 点云数据原图是这样的 xff1a 红色框出的为真实的car类别 xff1a 已解决 xff0c 请查看mmdetection3d issue
  • ubuntu18.04 cuda卸载及安装

    1 若电脑上已经安装了其他版本的cuda及显卡驱动 xff0c 需要完全卸载并删除相关文件 xff0c 否则会导致安装不成功 xff0c 执行如下 xff1a 1 1卸载cuda 步骤如下 cd usr local cuda xx x bi
  • 【GStreamer 】2-ubuntu v4l2-ctl 查看USB 相机基本参数

    v4l2是Video4linux2的简称 xff0c 是linux中关于视频设备的内核驱动 xff0c 在Linux中 xff0c 视频设备是设备文件 xff0c 可以像访问普通文件一样对其进行读写 xff0c 摄像头设备文件位置是 dev
  • 使用conda安装Paddle3D时出现的报错及解决方式

    1 cmake时 usr bin ld cannot find lxxx问题 如 xff1a usr bin ld cannot find lleveldb usr bin ld cannot find lsnappy 解决方法 xff1a
  • git安装及使用常用命令

    1 安装 Ubuntu xff1a apt get install git Windows xff1a 官网下载地址 xff1a https gitforwindows org xff0c 也可以用国内镜像 xff1a https npm
  • 如何设置才能提升VMware虚拟机的显卡性能

    将本机的intel和NVIDIA显卡驱动更新为最新版本 使用最新的VMware Workstation pro 12 5 处理器中 xff0c 选择8个核心 xff0c 勾选下面两个虚拟化
  • 程序设计思维与实践 CSP-M3 补题 (3/4/数据班)

    程序设计思维与实践 CSP M3 A csp m3 t1题目分析代码 B csp m3 t2题意分析代码 T4 咕咕东学英语题意 分析代码 A csp m3 t1 题目 瑞神的数学一向是最好的 xff0c 连强大的咕咕东都要拜倒在瑞神的数学
  • Centos7搭建Samba文件共享服务

    编辑本地yum源 root 64 localhost vim etc yum repos d local repo Centos7 name 61 CentOS Local baseurl 61 file mnt gpgcheck 61 0
  • IS-IS协议原理与配置

    IS IS 中间系统到中间系统协议 xff1a 基于链路状态并使用最短路径优先算法进行路由计算的一种IGP协议 基于802 3封装 IS IS最初是国际化标准组织ISO为它的无连接网络协议CLNP设计的一种动态路由协议 为了提供对IP的路由