MP-BGP EVPN的路由和MP-BGP十分类似,都会有一个名为MP_REACH_NLRI和MP_UNREACH_NLRI的path attribute,MP_UNREACH_NLRI用于发送撤销路由,MP_REACH_NLRI用于发送更新路由,该属性中的NLRI字段用于存放EVPN的具体路由信息,在该属性中携带next hop network address信息,其内容为产生该路由的设备VTEP IP,同时每个路由更新信息中都会携带扩展团体属性(extended communities)用于存放RT或其他信息。

Type2的路由,称为MAC advertisement route,用于传递主机的MAC或MAC&IP的路由信息,设备通过该路由可以完成相关的转发表的建立,Type2的NLRI信息如下:

RD为BD中配置的RD;Ethernet Segment Identifier用来在多个PE之间标识连接相同的CE,在VXLAN环境中不需要使用,固定为全0;Ethernet Tag ID由于华为仅支持一个BD对应一个EVI,不支持多个BD绑定同一个EVI所以该字段只能为0;MAC Address Length固定为48;MAC Address为主机的MAC地址,可以通过BD对应的MAC地址表获取或ARP中获取;IP Address Length固定为32;IP Address为主机的IP地址,从ARP表中获取;MPLS Label1为L2 VNI从BD中获取;MPLS Label2为L3 VNI从VRF中获取。

Type2的路由中Ethernet Segmentation id,Ethernet Tag ID,MAC Address Length,MAC Address,IP Address Length,IP Address可以作为路由前缀信息,其他信息作为路由的属性存在。

Type2扩展团体属性包含如下:多个配置在BD中的RT(export RT),Encapsulation(固定为VXLAN),一个未知的子类型(用于存放router’s mac,不一定携带),和一个mac mobility属性(用于存放sticky/static信息和sequence number,不一定携带)

华为将Type2的路由分为三种:

MAC地址路由


MAC地址路由是将BD的MAC地址表中从本地学习到的条目,转变为Type2的路由发送至EVPN邻居,只包含RD、MAC Length、MAC、L2 VNI信息,next hop network address携带VTEP IP。

扩展团体属性中包含RT(route-target)和encapsulation EVPN用于VXLAN场景时该值固定为8表示VXLAN。

ARP通告路由


ARP通告路由是主要在集中式网关场景用来实现ARP广播抑制和分布式网关场景的VM迁移使用,需要获取设备中与BD相关的ARP表的信息,转变为Type2的路由发送至EVPN邻居,比MAC地址路由增加了IP Address Length和IP Address信息。

扩展团体属性的MAC Mobility字段中包含两个重要字段Sticky/Static和Sequence Number,当生成某个Type2路由的转发表的某条表项为Static类型,即静态写入时,此时Type2的路由中会携带MAC Mobility字段,并且将其中的Sticky/Static值为1,Sequence Number的值为0。收到路由的设备认为不应该从别的交换机或本地产生相同的路由信息,如果收到相同的路由信息会直接丢弃。Sequence number的值会用来记录相同的路由在EVPN网络中更新了几次,一个设备在将一个路由信息发布之前会在本地的EVPN数据库中查看是否已经从别的设备收到过相同的路由,如果没有任何记录且产生该路由的转发表项类型不是为static的话,则在发布时不携带MAC Mobility字段;如果收到的路由没有携带MAC Mobility属性,则设备直接认为sequence number为0。

扩展团体属性在分布式网关场景的VM迁移时,迁移的目的端交换机会在团体属性中会携带一种MAC Mobility字段,在其中的squence number的值会对原来的值加1。收到路由的设备会比对sequence number与之前本地EVPN路由表中的哪个更大,如果新收到的更大则认为该路由更新。对于原产生该路由的设备收到该路由会发送ARP探测,如果未能收到回复,则更新MAC和IP转发表,并同时更新EVPN路由表,之后会发出withdraw路由通知所有的EVPN邻居撤销原路由;如果检测到有回复,则认为是地址冲突,会将sequence number再加1,发送至所有EVPN邻居,其他设备则会继续使用原设备的路由。对于非原产生相同路由的设备收到新路由会用来更新MAC和IP转发表,但并不会更新EVPN路由表,直到收到原始设备发出的撤销路由才会更新EVPN路由表。

IRB类型路由


IRB类型路由用于分布式Anycast网关场景可以通过该IRB类型的路由实现对称式路由,比ARP路由多了L3 VPN,并且扩展团体属性中增加了一个router’s MAC,而这两个信息加IP Address就是实现对称式路由的关键了。

L3 VNI为每个VRF分配,而router’s mac每个设备一个(NVE的MAC),路由前缀和ARP路由类型同样是通过感知ARP表的变化,之后提取对应BD中的RD和export RT信息(RT一般有两个,其中一个和某个VRF的RT相同),转变为EVPN路由发送至其他EVPN邻居,其他设备收到后会将通过携带的两个RT,将MAC信息放入BD的转发表,将IP信息放入VRF路由表中。

某一终端在发出跨3层访问的数据包时,到了Leaf设备,Leaf设备会查询对应的VRF的路由表,找到主机明细路由,下一跳为对端VTEP IP出接口为VXLAN;数据包发出时会先将原始数据帧的源MAC替换为自己的Gateway MAC,目的MAC替换为对端设备的router’s MAC,再封装L3 VNI之后封装Underlay信息并发出。

VXLAN环境中的Type2路由种类及其作用相关推荐

  1. ASP.NET Web API WebHost宿主环境中管道、路由

    ASP.NET Web API WebHost宿主环境中管道.路由 前言 上篇中说到ASP.NET Web API框架在SelfHost环境中管道.路由的一个形态,本篇就来说明一下在WebHost环境 ...

  2. ASP.NET Web API Selfhost宿主环境中管道、路由

    ASP.NET Web API Selfhost宿主环境中管道.路由 前言 前面的几个篇幅对Web API中的路由和管道进行了简单的介绍并没有详细的去说明一些什么,然而ASP.NET Web API这 ...

  3. 理解 Linux 网络栈(2):非虚拟化Linux 环境中的 Segmentation Offloading 技术

    本系列文章总结 Linux 网络栈,包括: (1)Linux 网络协议栈总结 (2)非虚拟化Linux环境中的网络分段卸载技术 GSO/TSO/UFO/LRO/GRO (3)QEMU/KVM + Vx ...

  4. 地理信息系统(ArcGIS)在水文水资源、水环境中的实践技术应用及案例分析

    目录 专题一 ArcGIS:数据管理 专题二 ArcGIS:数据转换 专题三 ArcGIS:地图制作 专题四 水文水环境数据编辑与管理 专题五 水文水环境数据处理与分析 专题六 ArcGIS水文分析及 ...

  5. 地理信息系统(ArcGIS)在水文水资源、水环境中的实践

    随着全球工业.经济的发展,水短缺.水污染等问题日益突出.为此,2015年国务院正式印发<水污染防治行动计划>(简称"水十条").同时,李克强总理2016工作政府报告中指 ...

  6. 【LEDE】x86软路由之路-12-浅谈复杂网络环境中的AP优化

    很多时候家里人总是抱怨咱家的网怎么那么慢?唱全民K歌别人家的页面刷的一下就打开了,这边还正在加载呢,别人上传作品嗖嗖的,自己就等着进度条一点一点走.总是嚷嚷着移动的网不好,人家联通的网就很好. 到最后 ...

  7. Neutron VxLAN + Linux Bridge 环境中的网络 MTU

    1. 基础知识 1.1 MTU 一个网络接口的 MTU 是它一次所能传输的最大数据块的大小.任何超过MTU的数据块都会在传输前分成小的传输单元.MTU 有两个测量层次:网络层和链路层.比如,网络层上标 ...

  8. 在生产环境中,阿里云如何构建高性能云原生容器网络?(含 PPT 下载)

    作者 | 溪恒  阿里云技术专家 直播完整视频回顾:https://www.bilibili.com/video/BV1nC4y1x7mt/ 关注"阿里巴巴云原生"公众号,后台回复 ...

  9. 带你了解VXLAN网络中报文的转发机制

    摘要:本节以集中式VXLAN网络(手工方式建立VXLAN隧道)为例,分别介绍相同子网内.不同子网间是如何进行通信的.在了解转发机制的前提下,我们先来看下VXLAN网关有哪些种类. VXLAN二层网关与 ...

最新文章

  1. 动态创建表格给同一个标签创建点击事件并让点击事件操作内容不一样
  2. Python的生成器(generator)
  3. leetcode 911. Online Election | 911. 在线选举(加强堆 + 二分查找)
  4. 使用ASP.NET上传图片汇总
  5. ubuntu 21.04 版本上 安装 sqlcmd
  6. 【MyBatis笔记】11-分步查询懒加载
  7. Java数据库连接-JDBC
  8. 【mybatis plus源码解析】(三)自定义SQL注入器,教你如何自定义扩展BaseMapper接口方法,实现更多查询
  9. 计算机网络flash实训报告,flash动画实训总结精选 .doc
  10. 海康威视、python环境下onvif安装,多通道摄像头获取rtsp视频流
  11. Linux安装杀毒软件clamav
  12. Hello Juejin
  13. 网站前端开发必会基础知识有哪些?
  14. CG中的几何学——坐标系【2】
  15. 2021-08-11 TM32F103 Buffer FatFs 文件系统移植
  16. C语言 运算符优先级表
  17. Cadence PCB仿真使用Allegro PCB SI 创建含差分对网络元器件的IBIS模型图文教程
  18. ICC2使用report_placement检查floorplan
  19. 五-中, Spark 算子 吐血总结(转化+行动算子共三十七个)
  20. BIM正向设计与传统设计的区别有哪些

热门文章

  1. K系列斜齿轮锥齿轮减速器由三级斜齿轮蜗旋锥齿轮组成
  2. 利用VBA来实现,输入日文之后,输出它的假名即读法
  3. python机器学习应用案例---PCA
  4. 漫画:用户的嘴,骗人的鬼!
  5. 聚焦:人工智能与电子商务
  6. php自适应高度,iframe 自适应高度
  7. jjwt生成jwt token
  8. 实战演练——拦截史迪仔电话
  9. win7计算机左边列表桌面,如何让Win7显示桌面图标在任务栏左边显示
  10. 软件工程(SE)相关问题