BGP协议基础配置—学习

2023-05-16

BGP重要概念

IGP是运行在AS内部的路由协议,主要有RIP、OSPF及IS-IS,着重于发现和计算路由。

EGP是运行在AS之间的路由协议,通常是BGP,它是实现路由控制和选择最好的路由协议。

这次主要讲的是BGP。

BGP它不生产路由,是路由的搬运工,就比如是把AS10的路由搬到AS20上去,network,不叫产生,叫注入,把原来产生的IGP路由注入到到BGP中,然后BGP传给其它AS就下车了。

AS之间专门使用BGP(Border Gateway  Protocol,边界网关协议)进行路由传递,相较于传统的IGP协议:

BGP只是基于TCP,只要能够建立TCP连接即可建立BGP

只传递路由信息,不会暴露AS内的拓扑信息。

触发式更新,而不是进行周期性更新。

#端口号式179

BGP提供了丰富的路由策略,能够灵活的进行路由选路,并能指导对等体按策略发布路由。

BGP能够支撑MPLS/VPN的应用,传递客户的VPN路由。

BGP提供路由聚合和路由衰减功能用于防止路由振荡,通过这两项功能有效的提高了网络稳定性。

EBGP(External BGP)位于不同自治系统的BGP路由器之间的BGP对等体关系。两台路由器之间要建立BGP对等体关系,必要要满足两个条件:

  1. 两个路由器所属的AS不同(即AS号不同)
  2. 在配置EBGP时,peer命令所指定的对等体IP地址要求路由可达,并且TCP连接能够正确建立。

IBGP(Internal BGP)

位于相同的自治系统的BGP;路由器之间的BGP邻接关系。

实验场景

如下图1所示:公司的网络采用BGP协议作为路由协议,而且是由多个自治系统组成的,不同分支区域使用了不同的AS号,完成公司网络的搭建工作,根据网络场景需求底层路由使用OSPF作为IGP路由协议。

图1-拓扑搭建 

实验分析

根据公司网络规划分析,有自治系统12、234、45,其中AR1属于自治系统12,AR2、AR3和AR4属于自治系统234,AR5属于自治系统45。

AR1与AR2处于不同自治系统,使用直接接口建立EBGP邻居,AR2、AR3、AR4处于同一个自治系统之间,使用环回接口建立IBGP邻居,AR4与AR5处于不同的自治系统,使用环回接口建立EBGP邻居。

 实验目的

掌握BGP建立邻居的配置方法

观察IBGP与EBGP中路由的下一跳变化

掌握BGP更新源的配置方法

掌握EBGP更新源的配置方法

掌握BGP注入路由的配置方法

实验配置步骤

步骤一 基础配置与IP地址

在所有路由器上配置IP地址和子网掩码,其中都要配置环回接口0,子网掩码为32位,模拟虚拟用户。

<Huawei>system-view   
[Huawei]sysname AR1

[AR1]ipv6
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]ip address 10.1.12.1 24

[AR1-GigabitEthernet0/0/0]ipv6 enable

[AR1-GigabitEthernet0/0/0]ipv6 address  2001::1 64

[AR1-GigabitEthernet0/0/0]quit

[AR1]interface LoopBack 0

[AR1-LoopBack0]ip address 1.1.1.1 32

[AR1-LoopBack0]quit

<Huawei>system-view   
[Huawei]sysname AR2

[AR2]ipv6
[AR2]interface GigabitEthernet 0/0/0
[AR2-GigabitEthernet0/0/0]ip address 10.1.12.2 24

[AR2-GigabitEthernet0/0/0]ipv6 enable

[AR2-GigabitEthernet0/0/0]ipv6 address  2001::2 64

[AR2-GigabitEthernet0/0/0]quit

[AR2]interface GigabitEthernet 0/0/1
[AR2-GigabitEthernet0/0/1]ip address 10.1.23.2 24
[AR2-GigabitEthernet0/0/1]quit

[AR2]interface LoopBack 0

[AR2-LoopBack0]ip address 2.2.2.2 32

[AR2-LoopBack0]quit

[AR3]interface GigabitEthernet 0/0/1
[AR3-GigabitEthernet0/0/1]ip address 10.1.23.3 24

[AR3-GigabitEthernet0/0/1]interface gigabitethernet 0/0/2
[AR3-GigabitEthernet0/0/2]ip address 10.1.34.3 24

[AR3-GigabitEthernet0/0/2]interface loopback 0
[AR3-LoopBack0]ip address 3.3.3.3 32
[AR3-LoopBack0]quit

[AR3]router id 3.3.3.3

[AR4]interface GigabitEthernet 0/0/0
[AR4-GigabitEthernet0/0/0]ip address 10.1.45.4 24
[AR4-GigabitEthernet0/0/0]interface gigabitethernet 0/0/2
[AR4-GigabitEthernet0/0/2]ip address 10.1.34.4 24
[AR4-GigabitEthernet0/0/2]interface loopback 0
[AR4-LoopBack0]ip address 4.4.4.4 32
[AR4-LoopBack0]quit
[AR4]router id 4.4.4.4

[AR5]interface GigabitEthernet 0/0/0
[AR5-GigabitEthernet0/0/0]ip address 10.1.45.5 24

[AR5-GigabitEthernet0/0/0]quit

[AR5]interface LoopBack 0
[AR5-LoopBack0]ip address 5.5.5.5 32
[AR5-LoopBack0]quit
[AR5]router id 5.5.5.5

配置完之后,记得用ping命令去测试一下直连链路的连通性。

步骤二 配置EBGP对等体

1、AR1与AR2之间使用物理直连接口建立EBGP对等体关系,配置如下:

[AR1]bgp 12
[AR1-bgp]peer 10.1.12.2 as-number 234
[AR1-bgp]

[AR2]bgp 234
[AR2-bgp]peer 10.1.12.1 as-number 12
[AR2-bgp]

图2- AR1与AR2成功建立EBGP邻居关系 

2、 AR4与AR5之间建立EBGP邻居使用环回口建立但两个AS不同,之间的环回接口路由不可达,前提是路由要可达,不然邻居建立不起来,不用ospf,可以使用静态路由。

图3- AR4与AR5的环回口路由不可达

配置静态路由如下:

[AR4]ip route-static 5.5.5.5 32 10.1.45.5

[AR5]ip route-static 4.4.4.4 32 10.1.45.4

图4- AR4与AR5的环回口路由可达

[AR4]bgp 234 
[AR4-bgp]peer 5.5.5.5 as-number 45
[AR4-bgp]peer 5.5.5.5 connect-interface loopback 0  #指定更新源为loopback 0接口地址
[AR4-bgp]peer 5.5.5.5 ebgp-max-hop 2   #跳数修改为2
[AR4-bgp]

[AR5]bgp 45
[AR5-bgp]peer 4.4.4.4 as-number 234
[AR5-bgp]peer 4.4.4.4 connect-interface loopback 0    #指定更新源为loopback 0接口地址
[AR5-bgp]peer 4.4.4.4 ebgp-max-hop    //跳数修改为255
[AR5-bgp]

跳数太小,因为是非直连,它的跳数TTL值是1,一跳就没有了,所以要修改挑=跳数。

(#EBGP建立邻居一般都是用直连接口建立,用环回口建立的话比较麻烦,要保证路由问题,修改更新源、修改多跳,没必要。但这是实验练习。)

图5- AR4与AR5成功建立EBGP邻居关系 

步骤三 建立IBGP对等体

自治系统AS234中使用OSPF作为IGP,AR1、AR2、AR3上配置IBGP全互联,loopback 0地址作为更新源,所以也要将loopback 0网段发布进入OSPF。

1、配置OSPF协议,配置如下:

[AR2]ospf
[AR2-ospf-1]area 0
[AR2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[AR2-ospf-1-area-0.0.0.0]network 10.1.23.2  0.0.0.0
[AR2-ospf-1-area-0.0.0.0]

[AR3]ospf
[AR3-ospf-1]area 0
[AR3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0
[AR3-ospf-1-area-0.0.0.0]network 10.1.34.3 0.0.0.0
[AR3-ospf-1-area-0.0.0.0]network 10.1.23.3 0.0.0.0
[AR3-ospf-1-area-0.0.0.0]

[AR4]ospf
[AR4-ospf-1]area 0
[AR4-ospf-1-area-0.0.0.0]network 4.4.4.4 0.0.0.0
[AR4-ospf-1-area-0.0.0.0]network 10.1.34.4 0.0.0.0
[AR4-ospf-1-area-0.0.0.0]

图6 AR3与AR2、AR4的ospf邻居关系建立成功

2、在AR2、AR3、AR4上配置IBGP全互联,使用loopback 0地址作为更新源。

[AR2]bgp 234
[AR2-bgp]peer 3.3.3.3 as-number 234
[AR2-bgp]peer 3.3.3.3 connect-interface LoopBack 0
[AR2-bgp]peer 4.4.4.4 as-number 234
[AR2-bgp]peer 4.4.4.4 connect-interface loopback 0
[AR2-bgp]

[AR3]bgp 234
[AR3-bgp]peer 2.2.2.2 as-number 234
[AR3-bgp]peer 2.2.2.2 connect-interface loopback 0
[AR3-bgp]peer 4.4.4.4 as-number 234
[AR3-bgp]peer 4.4.4.4 connect-interface loopback 0
[AR3-bgp]

[AR4]bgp 234
[AR4-bgp]peer 2.2.2.2 as-number 234
[AR4-bgp]peer 2.2.2.2 connect-interface loopback 0
[AR4-bgp]peer 3.3.3.3 as-number 234
[AR4-bgp]peer 3.3.3.3 connect-interface LoopBack 0
[AR4-bgp]

图7 AR3与AR2、AR4的IBGP邻居建立成功

步骤四 配置IPv6实现EBGP邻居 建立

[AR1]bgp 12
[AR1-bgp]peer 2001::2 as-number 234
[AR1-bgp]
 

[AR2-bgp]peer 2001::1 as-number 12
[AR2-bgp]

图8 AR1的bgp视图下一些命令解释

[AR1-bgp]ipv6-family unicast
[AR1-bgp-af-ipv6]peer 2001::2 enable
[AR1-bgp-af-ipv6]

[AR2-bgp]ipv6-family unicast
[AR2-bgp-af-ipv6]peer 2001::1 enable
[AR2-bgp-af-ipv6]

图9 AR1与AR2的IPv6成功建立EBGP邻居关系

步骤五 使用network命令注入路由信息

实验目的是实现AR1与AR5的loopback接口能通信。

等所有邻居起来之后,宣告路由,先将AR1的环回接口0地址,使用network命令将该网段注入BGP。

[AR1-bgp]network 1.1.1.1 32

[AR1-bgp]display bgp routing-table

 BGP Local router ID is 1.1.1.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 1
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

#有效且最优路由

 *>   1.1.1.1/32         0.0.0.0            0                                   0      i     #是通告network方式注入的路由
[AR1-bgp]                 # 看到下一跳是4个0表示该网段是在本地AS产生的

在AR2查看到该路由,如图10所示:12表示是AS12产生的,下一跳是10.1.12.1,i表示该路由是通告network方式注入到bgp的。路由继续传递,再去AR3上查看。

图10 AR2上的bgp路由信息

如图11所示:在AR3上,可以看到下一跳是10.1.12.1,对于AR3来说是不可达的,所以该路由无效,在AR2上运行的ospf协议并没有宣告10.1.12.0网段,所以对AR3来说,该10.1.12.1地址不可达。

注意:无效且不是最优:i      有效:*     最优:>       有效且是最优路由:*>

图11 AR3的bgp路由信息与10.1.12.1的联通性

从EBGP邻居学习路由,传给IBGP的时候,下一跳不变,为什么不变呢?

也就是说:AR2从它的EBGP邻居AR1学来的路由1.1.1.1传给它的IBGP邻居AR3的时候,下一跳没有变,还是10.1.12.1,为什么呢?

因为BGP是把整个AS看出一个整体、一个大路由器,而AR2 AR3 AR4在同一个AS内,所以它们的路由器都认为下一跳是10.1.12.1。

如图12所示:AR4的情况也是一样是无效路由。

 图12 AR4的bgp路由信息

所以AR2从ebgp邻居AR1上学习路由再传递给ibgp邻居AR3 、AR4下一跳不变,导致AR3、AR4下一跳不可达,出现无效路由。在AR5上查看BGP路由,是没有路由的,因为AR4上的路由是无效且不是最优路由,不会传出去。

解决:在AR2上修改下一跳路由,配置如下:

[AR2]bgp 234
[AR2-bgp]peer 3.3.3.3 next-hop-local     //告诉AR3下一跳是我,不是10.1.12.1
[AR2-bgp]peer 4.4.4.4 next-hop-local         //告诉AR4下一跳是我,不是10.1.12.1
[AR2-bgp]

 图13 AR4的bgp路由信息 

如图12所示: 在AR3上查看路由是3有效且最优路由。

但是从AR3从AR2学习的路由能发给AR4吗;

从IBGP邻居学习路由不会发给ibgp邻居,所以AR3从ibgp邻居AR2学习的路由不会发给ibgp邻居AR4

但是AR2与AR4也有ibgp邻居,如图14所示:AR4也可以从AR2上学习到该路由。

 图14 AR4的bgp路由信息 

 下一跳是2.2.2.2,有效且是最优路由,传递给AR5,在AR5上查看路由,如图15所示:

图15 AR5的bgp路由信息与全局IP路由表信息 

图16 测试AR5与AR1的环回接口联通性 

 因为AR5上出接口用的是g0/0/0的10.1.45.5去ping的,如图17所示:AR1上是没有10.1.45.0网段路由的,因为我们还没把10.1.45.0网段路由注入。

图17 AR1上的10.1.45.0路由情况 

 那么现在应该在AR4上还是AR5上注入10.1.45.0网段?

如果是在AR5上注入,配置如下:

[AR5]bgp 45 
[AR5-bgp] network 10.1.45.0 24
[AR5-bgp]

在AR5上的 10.1.45.0会通过EBGP传给AR4,如图18所示:10.1.45.0网段对于AR4来说是直连路由,直连路由是最优的,那么BGP就会被AR4放弃了。

图18 AR4的bgp路由信息与全局IP路由表信息 

 如图19所示:AR3的bgp路由表,因为是次优路由,AR4不会将其发给AR2、AR3。

 图19 AR3的bgp路由信息

所以选择在AR4上注入,配置如下:

[AR5]bgp 45 
[AR5-bgp]undo network 10.1.45.0 24
[AR5-bgp]

[AR4]bgp 234
[AR4-bgp]network 10.1.45.0 24
[AR4-bgp]

图20 AR4的bgp路由信息

 图21 AR3的bgp路由信息

图22 AR2的bgp路由信息

*>i  分别代表的是什么意思?

有效且最优路由:*>      从ibgp邻居学来的路由:i 

如图23所示:AR1上有10.1.45.0网段路由信息了。

图23 AR1的路由信息

如24所示:AR5上能ping通AR1的环回口。

 图24 在AR5上测试与AR1的环回口联通性

步骤六 使用import-route命令注入路由信息

 如果想用环回接口ping通,如图24所示:

图24 

还是不通,因为AR1上没有5.5.5.5路由,现在在AR4上注入还是AR5上注入?

因为在这之前AR4跟AR5上做了静态路由,静态路由的优先级为60,而BGP的优先级为255,静态路由更优,在这个前提下,要在AR4上注入。

[AR4]bgp 234
[AR4-bgp]import-route static 
[AR4-bgp]

BGP是个搬运工,只要路由表上有都它都可以搬运,不过在AR4上不用该network方式做用import-route方式,如图25所示:

图25

 在AR1上使用带源IP地址ping测试到AR5的loopback 0地址的联通性。

图26 测试联通性

 也可以尝试一下将AR2、AR3、AR4的环回接口都network注入bgp,会发现有的环回口路由信息根本没有被传出去。也就是前面实验详细讲解的是因为路由优选影响。下面再来分析一下,巩固一下:

[AR2]bgp 234

[AR2-bgp]network 2.2.2.2 32

[AR3]bgp 234

[AR3-bgp]network 3.3.3.3 32

[AR4]bgp 234

 [AR4-bgp]network 4.4.4.4 32

查看AR1的bgp路由信息,如图27所示:只看到了2.2.2.2/32网段传到AR1,并没有看到3.3.3.3/32跟4.4.4.4/32网段,前面也讲过了,AR2与AR3、AR4底层通信是使用ospf协议,那AR2已经通过ospf协议学习到3.3.3.3/32 ,4.4.4.4/32网段,那么AR2会优选通过ospf协议学来的,那么从它的IBGP邻居AR3、AR4学来的成为次优路由,就不会发布出去,AR1自然也不会收到。

 图27 AR1的bgp路由信息

所以选择在AR2上注入:配置操作如下: 

[AR3]bgp 234

[AR3-bgp]undo network 3.3.3.3 32

[AR4]bgp 234

 [AR4-bgp]undo network 4.4.4.4 32

[AR2]bgp 234

[AR2-bgp]network 3.3.3.3 32

 [AR2-bgp]network 4.4.4.4 32

 查看AR2的bgp路由信息,如图28所示:

 图28 AR2的bgp路由信息

 查看AR1的bgp协议的路由信息,如图29所示:

 图29 AR1上bgp协议的路由信息

AR4的路由表信息如图30所示:从bgp路由信息中可以看到2.2.2.2/32路由是无效路由,3.3.3.3/32路由有效且最优的,这里这两条路由都是通过它的ibgp邻居AR2传过来的,为什么2.2.2.2/32是无效,前面也讲过了,2.2.2.2/32是AR2的直连路由,直连路由是最优的,那么bgp路由成为了次优路由,并不会被传出去;

再看全局IP路由表中:3.3.3.3/32网段也是在AR2上network的,所以从ibgp邻AR1传过来的是有效且最优,前面也讲过了,AR4有从ospf协议先学来了3.3.3.3/32网段,而通过ospf学来的路由优选级高于bgp,所以看到AR4的全局IP路由表上3.3.3.3/32是显示通过ospf学来的,2.2.2.2/32网段也是。

 图30 AR4的bgp路由信息与全局IP路由表信息

再来看看AR5的全局IP路由表信息,如图31所示: 

 图31 AR5的全局IP路由表信息

想要AR5上有2.2.2.2/32网段的话,就得是在AR4上注入。配置操作如下:

[AR2]bgp 234

 [AR2-bgp]undo network 2.2.2.2 32

[AR4]bgp 234

 [AR4-bgp]network 2.2.2.2 32

再次查看AR4的bgp路由信息与全局IP路由表信息,如如图32所示:

图32 AR4的bgp路由信息·与全局IP路由表信息

 查看AR5的bgp路由信息与全局IP路由表信息,如如图33所示:

图33 AR5的bgp路由信息·与全局IP路由表信息

配置脚本

<AR1>display current-configuration 
[V200R003C00]
#
 sysname AR1
#
ipv6 
#
router id 1.1.1.1 
#
interface GigabitEthernet0/0/0
 ipv6 enable 
 ip address 10.1.12.1 255.255.255.0 
 ipv6 address 2001::1/64 
#
interface LoopBack0
 ip address 1.1.1.1 255.255.255.255 
#
bgp 12
 peer 10.1.12.2 as-number 234 
 peer 2001::2 as-number 234 
 #                                        
  network 1.1.1.1 255.255.255.255 
  peer 10.1.12.2 enable
 #
 ipv6-family unicast
  peer 2001::2 enable
#
return
<AR1> 

<AR2>display current-configuration 
[V200R003C00]
#
 sysname AR2
#
ipv6 
#
router id 2.2.2.2 
#
interface GigabitEthernet0/0/0
 ipv6 enable 
 ip address 10.1.12.2 255.255.255.0 
 ipv6 address 2001::2/64 
#
interface GigabitEthernet0/0/1
 ip address 10.1.23.2 255.255.255.0 
#
interface LoopBack0
 ip address 2.2.2.2 255.255.255.255 
#
bgp 234
 peer 3.3.3.3 as-number 234 
 peer 3.3.3.3 connect-interface LoopBack0 
 peer 4.4.4.4 as-number 234 
 peer 4.4.4.4 connect-interface LoopBack0
 peer 10.1.12.1 as-number 12 
 peer 2001::1 as-number 234 
 #
  network 3.3.3.3 255.255.255.255 
  network 4.4.4.4 255.255.255.255 
  peer 3.3.3.3 enable
  peer 3.3.3.3 next-hop-local 
  peer 4.4.4.4 enable
  peer 4.4.4.4 next-hop-local 
  peer 10.1.12.1 enable
 #
 ipv6-family unicast
  peer 2001::1 enable
#
ospf 1 
 area 0.0.0.0 
  network 2.2.2.2 0.0.0.0 
  network 10.1.23.2 0.0.0.0 
#                                         
return
<AR2>

<AR3>display current-configuration 
[V200R003C00]
#
 sysname AR3
#
router id 3.3.3.3 
#
interface GigabitEthernet0/0/1
 ip address 10.1.23.3 255.255.255.0 
#
interface GigabitEthernet0/0/2
 ip address 10.1.34.3 255.255.255.0 
#
interface LoopBack0
 ip address 3.3.3.3 255.255.255.255 
#
bgp 234
 peer 2.2.2.2 as-number 234 
 peer 2.2.2.2 connect-interface LoopBack0
 peer 4.4.4.4 as-number 234 
 peer 4.4.4.4 connect-interface LoopBack0       
#
ospf 1 
 area 0.0.0.0 
  network 3.3.3.3 0.0.0.0 
  network 10.1.23.3 0.0.0.0 
  network 10.1.34.3 0.0.0.0 
#
return
<AR3> 

[AR4]display current-configuration 
[V200R003C00]
#
 sysname AR4
#
router id 4.4.4.4 
#
interface GigabitEthernet0/0/0
 ip address 10.1.45.4 255.255.255.0 
#
interface GigabitEthernet0/0/2
 ip address 10.1.34.4 255.255.255.0 
#
interface LoopBack0
 ip address 4.4.4.4 255.255.255.255 
#
bgp 234
 peer 2.2.2.2 as-number 234 
 peer 2.2.2.2 connect-interface LoopBack0
 peer 3.3.3.3 as-number 234 
 peer 3.3.3.3 connect-interface LoopBack0
 peer 5.5.5.5 as-number 45 
 peer 5.5.5.5 ebgp-max-hop 2              
 peer 5.5.5.5 connect-interface LoopBack0
 #
  network 2.2.2.2 255.255.255.255 
  network 10.1.45.0 255.255.255.0 
  import-route static
  peer 2.2.2.2 enable
  peer 3.3.3.3 enable
  peer 5.5.5.5 enable
#
ospf 1 
 area 0.0.0.0 
  network 4.4.4.4 0.0.0.0 
  network 10.1.34.4 0.0.0.0 
#
ip route-static 5.5.5.5 255.255.255.255 10.1.45.5
#

return                                    
[AR4] 

[AR5]display current-configuration 
[V200R003C00]
#
 sysname AR5
#
router id 5.5.5.5 
#
interface GigabitEthernet0/0/0
 ip address 10.1.45.5 255.255.255.0 
#
interface LoopBack0
 ip address 5.5.5.5 255.255.255.255 
#
bgp 45
 peer 4.4.4.4 as-number 234 
 peer 4.4.4.4 ebgp-max-hop 255 
 peer 4.4.4.4 connect-interface LoopBack0                  
#
ip route-static 4.4.4.4 255.255.255.255 10.1.45.4
#
return
[AR5]

 知识点:路由优选级越小越优,可排列为直连路由>ospf>is-is>rip>bgp

(策略路由比路由更优先)

ProtoPre
Direct0
OSPF10
IS-IS15
Static60
RIP100
OSPF ASE、OSPF NSSA150
IBGP、EBGP255

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

BGP协议基础配置—学习 的相关文章

随机推荐

  • Eigen 库常用基本用法 备忘

    ps xff1a eigen 看到的时候较多 xff0c 自己写的时候总有一些用法想不起来具体函数名 xff0c 特此总结一下以备忘 官方doc eigen 官网最权威 目录 Eigen 矩阵定义 Eigen 基础使用 Eigen 特殊矩阵
  • Hector slam算法原理解析与代码详解

    写了markdown 上传 xff0c 公式都乱码 xff0c 无果 xff0c 截图上传吧 目录 1 hector 原理解析 1 4 多重分辨率地图 2 代码框架 2 1 回调函数 2 2 更新 3 扫描匹配 3 1 多分辨率匹配 3 2
  • Logistic映射的简单理解

    Logistic映射 在看论文时看到了这个概念 xff0c 于是就去简单了解了一下 参考博客 1 前言 谈到Logistic映射就要先谈一谈什么是混沌系统 百度百科上的解释是 xff0c 混沌系统是指在一个确定性系统中 xff0c 存在着貌
  • _findnext 报错

    ps 编译环境 qt 43 mingw32 编译没问题 xff1b 换到qt 43 msvc 2017 64 就出现问题 xff1b 报错信息 xff1a Stopped in thread 0 by Exception at 0x7ffb
  • bug解决: ffmpeg 在window下使用 PRId64 报错

    在timestamp h 中 调用 av ts make string报错 error expected before PRId64 原因 xff1a 该宏定义给c用的 xff0c C 43 43 要用它 xff0c 就要定义一个 STDC
  • qt: error: C2001: 常量中有换行符

    PS 这两天搞工程系统移植 xff0c 搞得疯掉了 xff0c 代码复用还不如重写呢 如下一句带有中文的程序 xff0c mingw 43 linux 运行没有任何问题 xff0c window下msvc 运行就报错C2001 time s
  • Eigen内存分配器aligned_allocator

    在使用Eigen的时候 xff0c 如果STL容器中的元素是Eigen数据库结构 xff0c 比如下面用vector容器存储Eigen Matrix4f类型或用map存储Eigen Vector4f数据类型时 xff1a vector lt
  • Ubuntu 升级cmake 版本

    PS 在编译一些包时需要更高的版本 xff0c 需要升级 cmake 千万别执行下面的命令 xff0c 这样会把之前用 cmake 编译好的包都给卸载掉 xff0c 包括ros sudo apt get autoremove cmake 比
  • 视觉slam十四讲(ch6) Ubuntu18.04安装 g2o库 报错error: FixedArray ... has no member named ‘fill’

    ps 再学习14讲第二版的时候 xff0c 运行g2o 报错 error FixedArray aka class ceres internal FixedArray lt double 6 gt has no member named f
  • 无人驾驶学习笔记-NDT 配准

    目录 1 NDT 的算法处理流程 2 NDT 公式推导 3 NDT 实例 3 1 常规NDT的位姿估计 3 2 front end node 1 ROS常规初始化 2 初始化操作 xff1a 读取传感器数据 获取lidar to imu变换
  • KD 树原理以及在三维激光点云中的应用

    目录 1 介绍 2 原理 2 1 数据结构 2 2 构建KD树 2 3 实例 3 程序示例 4 参考链接 1 介绍 kd tree简称k维树 xff0c 是一种空间划分的数据结构 常被用于高维空间中的搜索 xff0c 比如范围搜索和最近邻搜
  • slam 基础知识整理之- 最小二乘问题的引出与求解方法

    目录 1 最小二乘引出 2 线性最小二乘 及 求解方法 3 非线性最小二乘 编辑 3 1 求解思路 3 2 常用四种方法 3 3 四种方法总结 4 参考链接 在SLAM的过程中 xff0c 我们可以构建机器人状态过程 通过对其概率的计算 x
  • 无人驾驶学习笔记 - LOAM 算法论文核心关键点总结

    目录 1 框架 2 特征点提取 3 点云去畸变 4 帧间匹配 特征关联与损失函数计算 a 线特征 b 面特征 5 运动估计 6 建图 7 姿态融合 8 LOAM 优劣势 9 参考连接 1 框架 loam框架核心是两部分 xff0c 高频率的
  • 动态窗口法的理解和一些细节

    机器人局部路径规划 动态窗口法 动态窗口法 xff08 Dynamic Window Approach xff0c DWA xff09 是一类经典的机器人局部路径规划算法 它的过程主要分为两部分 xff1a 速度空间 v
  • 无人驾驶学习笔记 - A-LOAM 算法代码解析总结

    目录 1 概述 2 scanRegistration cpp 2 1 代码注释 2 1 1 主函数 2 1 2 removeClosedPointCloud xff08 雷达周边过近点移除 xff09 2 1 3 laserCloudHan
  • 无人驾驶学习笔记-LeGO-LOAM 算法源码学习总结

    目录 1 概述 2 lego loam的贡献 3 系统框图 4 ros graph中的节点关系表 5 lego loam 的文件系统架构 6 各部分方法原理及代码注释 6 1 点云投影与目标分割 1 总结概述 2 代码注释 2 1 copy
  • Boost 中 signal2 用法

    boost 函数与回调 xff08 三 xff09 signals2
  • 树莓派学习笔记

    文章目录 树莓派基础入门笔记无显示屏使用方式基础教程5 树莓派文件传输 配置编译环境使用U盘直接传输使用vnc传输文件FTP文件传输协议Python配置编译环境C C 43 43 配置编译环境Linux常用终端命令nano和vi编辑器的使用
  • 22.IO与显示器

    README 1 本文内容总结自 B站 操作系统 哈工大李治军老师 xff0c 内容非常棒 xff0c 墙裂推荐 xff1b 2 显示器是输入型外设 xff1b 3 本章主要内容是讲 显示器是如何被驱动的 xff1b 或操作系统是如何让用户
  • BGP协议基础配置—学习

    BGP重要概念 IGP是运行在AS内部的路由协议 xff0c 主要有RIP OSPF及IS IS xff0c 着重于发现和计算路由 EGP是运行在AS之间的路由协议 xff0c 通常是BGP xff0c 它是实现路由控制和选择最好的路由协议