关于mpls-bgp中RD和RT的问题,求解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于mpls-bgp中RD和RT的问题,求解相关的知识,希望对你有一定的参考价值。

参考技术A bgp
mpls
vpn算是一个综合的技术。
其中核心的是mp-bgp,承担私网vpn路由传递和私网标签分配。
首先是需要igp将全网pe和p设备的loopback管理地址学习互通,一般用ospf或者is-is,当然如果网络小,用rip甚至静态都是可以。
形成的ospf或者其他路由表,一般称为公网路由表,公网路由的唯一作用,就是为pe和p设备建立bgp提供路由,以及mpls
lsp隧道建立提供路由,也就是说igp是基础。
bgp的目的开头说过,就是学习私网的vpn路由,每个pe上都会划分多个vpn,就是通过rt值的收和发来决定是否将bgp邻居发送过来的vpn路由加入到对应的vpn路由表当中。由于网络中可能存在相同的rt,在传输过程中为了区分不同的vpn路由,就有rd值,一般不会太关注rd,不一样即可,有些情况下一样都可以。所以在pe和p设备上创建vpn的时候就要指定rd和rt值。
mpls是标签转发,可以这么理解,因为私网路由和公网路由是不通的,所以从一个pe到另一个pe之间这段路就要通过mpls标签通道来转发一下,mpls隧道就是mpls
lsp是基于公网路由计算出来的,而从bgp邻居学习到的路由的下一跳也都是邻居的公网loopback地址,所以会走mpls
隧道。
总得说来:
公网ospf路由是基础;
mpls创建一条骨干道路;
bgp是业务地址(vpn路由)的统筹分配控制者。
rt和rd是定义区分vpn的基础概念

28 利用平面对应关系求解RT空间转换矩阵

0 引言

问题背景:给定CAD模型与点云的情况下,基于CAD比对实现对实测点云的尺寸测量是三维测量技术中一种常用的思路。该思路的关键问题在于
需要精确求解CAD模型与点云之间的空间转换矩阵。采用ICP(迭代最近邻点算法)的变种,将基于点-点对应关系的算法拓展为基于平面-平面
的算法。当前,基于二次开发技术求解出了CAD模型中的所有平面,并且基于点云PCL库中的生长聚类算法(regionGrowing做分割,RANSAC
对平面方程进行拟合)提取出了典型平面,因此希望通过平面-平面对应关系解出二者之间的空间转换矩阵。其中,给定两组平面,求解出面-面
对应关系是本文探讨的主要问题。
问题输入:两组平面 vector<myplane> ptsPlanes, cadPlanes, 并假设平面不重复.
/* myplane为存储平面方程的机构体
* 1、a,b,c,d为平面一般方程的四个参数:ax + by + cz + d =0;
* 2、其中,(a,b,c)为平面的法向量,d代表平面的平移向量
*/
struct myplane{
  double a;
  double b;
  double c;
  double d;
}
问题输出:int size =
ptsPlanes.size();
int correspondanceRelations[size][2]; 

1 抽象问题具体化

举例如下:

  1. 给定点云平面方程如下:

    0.244/-0.668/0.702/11.900
    -0.146/0.690/0.709/-107.045
    0.958/0.277/-0.069/-59.060
    0.958/0.277/-0.070/67.981
    0.244/-0.669/0.702/3.670
    0.244/-0.668/0.703/-127.611
    0.957/0.281/-0.074/79.320
    -0.147/0.688/0.711/26.081
    0.959/0.275/-0.069/-70.594
    -0.145/0.690/0.709/9.024
    -0.141/0.672/0.727/-123.687

  2. 给定CAD模型平面方程如下:

    0.000/0.000/1.000/-0.000
    0.000/0.000/1.000/-8.000
    1.000/-0.000/-0.000/75.000
    -0.000/1.000/-0.000/75.000
    1.000/0.000/0.000/-75.000
    0.000/1.000/0.000/-75.000
    1.000/-0.000/-0.000/58.000
    -0.000/1.000/-0.000/63.500
    1.000/0.000/0.000/-58.000
    0.000/1.000/0.000/-63.500
    0.000/0.000/1.000/-138.000

  3. 基于平面是否平行对模型进行分组,并根据d值降序排列

  3.1 点云平面分组结果:

  第一组

  0.244/-0.668/0.702/13.219
  0.244/-0.669/0.702/4.989
  0.244/-0.669/0.702/-126.284

  第二组  

  0.957/0.282/-0.075/79.085
  0.958/0.277/-0.070/67.768
  0.958/0.277/-0.069/-59.279
  0.959/0.275/-0.068/-70.855

  第三组

  -0.147/0.688/0.710/25.914
  -0.145/0.690/0.709/8.861
  -0.146/0.690/0.709/-107.206
  -0.140/0.668/0.731/-123.745

  3.2 CAD平面分组结果

  第一组  

  0.000/0.000/1.000/-0.000
  0.000/0.000/1.000/-8.000
  0.000/0.000/1.000/-138.000

  第二组

  1.000/-0.000/-0.000/75.000
  1.000/-0.000/-0.000/58.000
  1.000/0.000/0.000/-58.000
  1.000/0.000/0.000/-75.000

  第三组  

  -0.000/1.000/-0.000/75.000
  -0.000/1.000/-0.000/63.500
  0.000/1.000/0.000/-63.500
  0.000/1.000/0.000/-75.000

 




















































以上是关于关于mpls-bgp中RD和RT的问题,求解的主要内容,如果未能解决你的问题,请参考以下文章

如何通过R-最近邻求解最近邻?

关于RT—Thread at24cxx驱动包中读操作中有错误

关于RT—Thread at24cxx驱动包中读操作中有错误

三分钟读懂BGP中RD与RT

关于递归和动态规划的简单理解

【java】-关于String的使用以及其输出结果的问题