16、深入解析VXLAN BGP EVPN网络:单播、多播与特殊场景处理

深入解析VXLAN BGP EVPN网络:单播、多播与特殊场景处理

单播转发流程

在VXLAN网络中,当数据包被VXLAN封装后,它会沿着路径经过不同的路由器,采用常规的三层查找进行转发,直至到达出口VTEP(虚拟隧道端点)。例如,当数据包到达VTEP V2后,会进行解封装操作,然后查询负责VNI 50001映射的VRF - A的转发表。若VTEP V2已知端点Host Y,路由查找会命中192.168.2.102/32,接着对帧进行适当重写,并发送至Host Y连接的以太网接口。借助对称IRB(集成路由桥接),会执行桥接 - 路由 - 路由 - 桥接的操作序列。具体而言,来自Host A的数据包首先被桥接到VTEP V1,然后在VTEP V1上路由至VTEP V2。在VTEP V2处,数据包再次被路由,随后桥接至Host Y,至此完成从VTEP V1后VLAN 10内的Host A到VTEP V2后VLAN 20内的Host Y的单播转发。子网(作为VLAN 10的一部分)和子网(作为VLAN 20的一部分)通过VXLAN中由VNI 50001标识的三层服务连接在一起,代表了VTEP V1和VTEP V2之间的传输段。

静默端点的路由流量处理

此前,主机或端点通过ARP向直接连接的VTEP“宣告”其存在,从而确保向这些端点的高效路由,这涵盖了本地和远程主机。而静默端点的存在网络并不知晓,在入口VTEP或任何出口VTEP处都没有相关信息。不过,基于BGP EVPN的三层转发方法能有效处理静默端点。向静默端点发送流量会触发对它们的发现,之后该端点会被网络识别,并像其他已知端点一样处理。下面介绍两种在VXLAN BGP EVPN网络中处理静默主机或端点的场景:
- 场景一 :当Host A要与Host Y通信时,Host A会生成数据流量,其中源MAC地址为0000.3000.1101,源IP地址为192.168.1.101,目的MAC地址为2020.0000.00AA,目的IP地址为192.168.2.102。数据包到达VTEP V1后,会在VRF - A中对IP 192.168.2.102进行目的查找,由于Host Y是静默端点,三层查找会命中最长前缀匹配项,即主机Y所在子网192.168.2.0/24的前缀。因为目的IP子网是本地已知的,所以会选择直接或连接路由(管理距离最低)。该子网前缀条目指向一个收集邻接项,进而触发在与VNI 30002关联的桥接域中生成ARP请求。通过底层网络的适当BUM(广播、未知单播和多播)转发,确保此广播ARP请求能到达参与VNI 30002的所有其他VTEP。假设VNI 30002与多播组239.1.1.1关联。Host Y会收到ARP请求,由于ARP请求源自托管分布式任播网关的VTEP V1,Host Y会向默认网关发送定向ARP回复。VTEP V2也托管分布式任播网关,会捕获该ARP响应。基于此响应,VTEP V2了解到与Host Y关联的IP - MAC绑定,并通过BGP EVPN控制协议进行通告,使得VTEP V1也能了解到Host Y的192.168.2.102/32地址。随后,流量会路由到VTEP V2,最终通过映射到VNI 30002的VLAN 20转发给Host Y。与对称IRB一样,从VTEP V1到VTEP V2的路由流量会使用与VRF - A关联的VXLAN VNI 50001发送出去,反向流量也使用相同的VNI,从而实现对称。
- 场景二 :同样是Host A要与Host Y通信,数据包到达VTEP V1后,对IP 192.168.2.102在VRF - A中的目的查找会命中子网前缀192.168.2.0/24。由于该子网前缀由VTEP V2通告,流量会使用VRF - A的VNI 50001进行VXLAN封装,并借助VTEP V1的对称IRB功能发送到VTEP V2。此时,内层源MAC会用VTEP V1的信息重写,内层目的MAC会重写为通过BGP EVPN使用Router - mac扩展社区通告的与VTEP V2关联的RMAC。当流量到达VTEP V2后进行解封装,在映射自VNI 50001的VRF - A中进行后续目的IP查找,会命中192.168.2.0/24子网前缀条目。因为Host Y是静默的,其/32路由在VTEP V2尚未被发现,与本地子网192.168.2.0/24关联的收集邻接项会被命中,VTEP V2会在与该子网关联的VLAN 20中注入ARP请求。在映射自VLAN 20的VNI 30002中泛洪的广播ARP请求也会到达Host Y。Host Y的ARP响应会定向到托管在VTEP V2上的默认网关(即分布式任播网关)。之后,Host Y被发现,其地址信息会注入BGP EVPN控制平面并分发到所有远程VTEP,包括VTEP V1。后续数据流量会通过VTEP V1到VTEP V2的路由,采用对称IRB的桥接 - 路由 - 路由 - 桥接操作从Host A转发到Host Y。

需要注意的是,给定L3GW实例(SVI或BDI)的IP子网路由宣告必须通过适当配置手动执行。以下是一个简单配置示例:

interface Vlan10
   vrf member VRF - A
   ip address 192.168.1.1/24 tag 12345
   fabric forwarding mode anycast - gateway

route - map FABRIC - RMAP - REDIST - SUBNET permit 10
   match tag 12345

router bgp 65501
   vrf X
      address - family ipv4 unicast
         advertise l2vpn evpn
         redistribute direct route - map FABRIC - RMAP - REDIST - SUBNET
双归属端点的转发

Virtual PortChannel(vPC)是一种用于向连接到一对交换机的双归属端点转发流量的技术。从VXLAN的角度来看,vPC域代表VXLAN网络中的一个公共VTEP,被称为任播VTEP。下面介绍相关的转发情况:
- 流量从双归属端点发出 :当VTEP V1和VTEP V2形成一个由IP地址为10.200.200.12的任播VTEP(VIP)表示的vPC域,Host A要向Host B发送流量时,端口通道哈希会决定Host A选择VTEP V1还是VTEP V2作为入口VTEP进行VXLAN封装和转发。一旦在端点和VTEP之间就通过端口通道传输流量做出哈希决策,就会采用之前章节中关于子网内(桥接)或子网间(路由)转发的相同规则。无论流量进入VTEP V1还是VTEP V2,外部源IP地址始终设置为任播VTEP的地址,即10.200.200.12,这对从vPC域发送到VXLAN网络的路由和桥接流量都适用。
- 流量发往双归属端点 :当流量从Host B发往Host A时,会进行VXLAN封装,外部目的IP地址设置为任播VTEP IP地址10.200.200.12。VTEP V1和VTEP V2都属于同一个vPC域且配置了该任播VTEP,它们都会在IP底层网络上通告10.200.200.12的可达性。底层网络会根据等价多路径(ECMP)将发往10.200.200.12的流量转发到VTEP V1或VTEP V2。根据底层传输网络使用的哈希算法,会选择隐藏在任播VIP后面的一个出口VTEP。流量会到达VTEP V1或VTEP V2,同样采用之前章节中关于子网内(桥接)或子网间(路由)转发的规则。只有V1或V2中的一个VTEP会接收流量,进行解封装并通过端口通道将其转发给Host A。

在启用vPC的边缘设备中,仍然存在孤儿端点(即只连接到vPC域中两个vPC成员交换机之一的端点)。对于孤儿端点,发往该端点的流量可能需要通过vPC对等链路传输,因为端点信息总是通过BGP EVPN以任播VTEP作为下一跳进行通告,这对于因链路/端口故障而变为单归属的双归属端点同样适用。例如,当孤儿端点Host A仅连接到VTEP V1,VTEP V1和VTEP V2形成一个具有相同任播VTEP VIP的vPC域,当来自远程VTEP且目的地为Host A的流量进入时,根据底层网络的ECMP哈希,有可能将发往VIP的流量发送到VTEP V2。VTEP V2进行VXLAN解封装后,流量会通过vPC对等链路桥接到VTEP V1,然后VTEP V1将其转发到Host A连接的孤儿端口。对于发往Host A且在VTEP V2接收的路由流量,路由查找和重写在VTEP V2进行,随后重写后的数据包通过vPC对等链路桥接到VTEP V1。相反,当流量从Host A发往任何远程端点时,VTEP V1会用于桥接和路由决策,因为Host A仅连接到该特定VTEP。

在包含孤儿端点的VXLAN BGP EVPN网络的vPC域内进行本地桥接操作时,转发方式与传统vPC部署类似。例如,当有两个孤儿主机Host A和Host B分别连接到VTEP V1和VTEP V2,由于它们属于同一个L2VNI 30001,来自Host A的流量会在VTEP V1接收并通过vPC对等链路转发到VTEP V2,VTEP V2再将流量转发到Host B连接的孤儿端口。一般来说,此操作不涉及VXLAN封装,但某些平台限制可能仍要求流量通过vPC对等链路进行VXLAN封装。

值得注意的是,vPC域内的所有桥接和路由流量都会以与该域关联的任播VTEP作为下一跳进行通告。当通过vPC域进行路由时,接收流量的出口VTEP需要有路由信息才能做出进一步决策。如果流量到达VTEP V1,但进一步的出口路由必须从VTEP V2进行,则VTEP V1和VTEP V2之间必须进行路由交换。这可以通过vPC对等体之间的全网格外部路由连接或vPC对等链路上的VRF Lite来实现。对于vPC对等链路上的VRF Lite,需要一个专用接口来建立路由邻接关系。通过使用VTEP的单个IP地址而不是任播VTEP IP来通告路由信息(路由类型5),可以消除此限制。

IPv6支持情况

基于VXLAN的使用BGP EVPN控制协议的覆盖网络支持基于IPv4和IPv6的二层和三层服务。托管在VTEP上的分布式IP任播网关可以作为IPv4或IPv6的第一跳网关,也可以在双栈模式下工作。与IPv4一样,所有VTEP可以共享给定IPv6子网的具有全局地址的相同分布式任播网关IPv6地址,任播网关MAC(AGM)在IPv4和IPv6之间共享。覆盖服务在IPv4和IPv6寻址下都得到完全支持,但目前底层传输网络仅支持IPv4寻址,未来将支持基于IPv6寻址的底层传输。

当有两个IPv6端点连接到VXLAN BGP EVPN架构中的不同VTEP时,对于IPv6端点的检测、移动和删除事件,会使用邻居发现协议(ND)而不是ARP。VTEP上本地学习到的IPv6条目随后会通过相同的MP - BGP通道在BGP EVPN控制平面上进行通告,这样,所有已知IPv6端点的位置会在BGP EVPN网络中被学习到。

在使用IPv6时,BGP EVPN NLRI的填充方式与IPv4类似,但由于IPv6地址为128位,而IPv4为32位,差异明显。显示命令对IPv6地址使用十六进制表示法,但BGP EVPN NLRI的其余部分和扩展社区字段同样适用于IPv6和IPv4。需要注意的是,适当的路由协议负责填充底层网络中VTEP到VTEP的可达性信息。作为覆盖网络可达性协议的MP - BGP使用VTEP IP地址作为与BGP EVPN路由通告关联的下一跳信息。尽管终端主机信息可以是MAC、IPv4和/或IPv6,并且仅与覆盖网络关联,但下一跳始终遵循底层网络。因此,即使在覆盖网络中进行基于IPv6的通信,下一跳仍然是具有IPv4地址的VTEP。

深入解析VXLAN BGP EVPN网络:单播、多播与特殊场景处理

多播转发机制

在VXLAN BGP EVPN网络中,多播转发是一个重要方面。VXLAN作为MAC - in - IP/UDP的数据平面封装,本身对多播没有特定依赖,但为了转发覆盖网络的多目的地流量(通常指广播、未知单播和多播,即BUM),底层传输网络需要采用相应机制,主要有单播模式的入口/头端复制和IP多播两种方式,它们各有优缺点。

单播与多播模式对比
  • 单播模式 :适用于多目的地流量较少(如ARP、ND、DHCP相关流量)且虚拟隧道端点(VTEP)数量较少的环境。因为VTEP需要为多目的地流量为每个相邻VTEP创建多个副本,所以在小规模部署中较为适用。
  • 多播模式 :当存在多播应用且预计覆盖网络对BUM流量有更高带宽需求时,底层网络采用多播更合适。随着规模增大,使用多播是处理底层多目的地流量的首选方法。

在单播模式下,VTEP需要通过BGP EVPN路由类型3消息来了解哪些其他VTEP对多目的地流量感兴趣,以通告其在二层VXLAN VNI(L2VNI)中的成员资格。而在多播模式下,底层网络的原生IP多播机制足以创建一个包含感兴趣VTEP的多播树,因为L2VNI会映射到一个特定的多播组,且在所有实例化该L2VNI的VTEP上对称配置。因此,在启用多播的底层网络中,无需交换任何BGP EVPN消息来信号(L2VNI,VTEP)成员资格。以下是两种模式的对比表格:
| 模式 | 适用场景 | 机制 | 优缺点 |
| ---- | ---- | ---- | ---- |
| 单播模式 | 多目的地流量少、VTEP数量少 | 通过BGP EVPN路由类型3消息通告VTEP成员资格 | 小规模部署适用,VTEP需创建多个副本 |
| 多播模式 | 有多播应用、BUM流量带宽需求高 | 底层原生IP多播机制,L2VNI映射多播组 | 规模增大时首选,无需BGP EVPN消息交换 |

多播数据包传输

当来自连接到VTEP的端点的多播数据包要通过VXLAN传输时,特定的外部报头字段需要反映从单播到多播转发的变化,以触发底层网络的正确转发行为。多播时,外部目的MAC(DMAC)和外部目的IP都设置为多播地址。对于二层多播流量,多播地址设置为二层VXLAN VNI映射的IP多播组地址,多播外部DMAC使用从外部IP目的多播地址派生的知名多播组MAC地址。原始有效负载(从端点接收)中的多播组信息放置在内层MAC和IP报头中,对底层网络不可见。其流程可通过以下mermaid流程图表示:

graph LR
    A[端点发送多播数据包] --> B[VTEP封装]
    B --> C{设置外部报头字段}
    C -->|多播地址| D[底层网络多播转发]
    D --> E[其他VTEP接收]
    E --> F[解封装并转发给端点]
早期多播转发问题

早期大多数VXLAN实现支持二层多播,但未启用IGMP(互联网组管理协议)窥探。这意味着扩展到VXLAN的VLAN以及端点连接的VLAN都禁用了IGMP窥探。因此,VXLAN中的二层多播流量被视为与广播和未知单播流量相同,会在网络中泛洪到该二层VNI扩展的所有地方。本地桥接域由没有IGMP窥探的VLAN表示,启用二层VNI的相应VTEP会无条件成为与多播组关联的同一泛洪树的一部分,导致即使对特定多播流不感兴趣的端点也会收到流量,造成资源浪费,但满足了在VXLAN VNI内转发二层多播的需求。

子网内多播转发场景
转发至单归属端点

在单归属端点的子网内多播转发中,多播流量从经典以太网VLAN命名空间转移到VXLAN VNI命名空间。由于早期未启用IGMP窥探,多播流量会在网络中泛洪。但随着技术发展,后续可通过优化IGMP窥探来提高转发效率,减少不必要的流量传输。

转发至双归属和孤儿端点

在vPC环境中,对于双归属和孤儿端点的子网内多播转发有其特殊情况。当多播流量发往双归属端点时,与单播流量类似,端口通道哈希决定流量进入哪个VTEP进行VXLAN封装和转发。而对于孤儿端点,多播流量可能会通过vPC对等链路传输。例如,当孤儿主机Host A仅连接到VTEP V1,多播流量从其他VTEP进入时,若根据ECMP哈希被发送到VTEP V2,VTEP V2会将流量通过vPC对等链路桥接到VTEP V1,再由VTEP V1转发给Host A。

子网间多播转发

子网间多播转发(也称为路由多播)在VXLAN BGP EVPN覆盖网络中也有涉及。与子网内多播不同,子网间多播需要更复杂的路由机制。在这种情况下,多播数据包需要跨越不同的子网进行传输,需要合适的路由协议来确定最佳路径。通常,MP - BGP作为覆盖网络可达性协议,使用VTEP IP地址作为与BGP EVPN路由通告关联的下一跳信息,确保多播流量能够准确地从源子网传输到目的子网。

总结

VXLAN BGP EVPN网络在单播、多播以及特殊场景处理方面有着复杂而完善的机制。单播转发通过对称IRB实现桥接 - 路由 - 路由 - 桥接的操作序列,确保数据包在不同子网间准确传输。对于静默端点,通过ARP请求和响应机制能够有效发现并将其纳入网络管理。双归属端点借助vPC技术实现流量的高效转发,同时也考虑到了孤儿端点的特殊情况。在多播转发方面,底层网络的单播和多播模式各有适用场景,早期的IGMP窥探问题也在不断改进。未来,随着网络规模的不断扩大和应用需求的增加,VXLAN BGP EVPN网络将继续优化和发展,以满足更高的性能和可靠性要求。

内容概要:本文为《科技类企业品牌传播白皮书》,系统阐述了新闻媒体发稿、自媒体博主种草短视频矩阵覆盖三大核心传播策略,并结合“传声港”平台的AI工具资源整合能力,提出适配科技企业的品牌传播解决方案。文章深入分析科技企业传播的特殊性,包括受众圈层化、技术复杂性传播通俗性的矛盾、产品生命周期影响及2024-2025年传播新趋势,强调从“技术输出”向“价值引领”的战略升级。针对三种传播方式,分别从适用场景、操作流程、效果评估、成本效益、风险防控等方面提供详尽指南,并通过平台AI能力实现资源智能匹配、内容精准投放全链路效果追踪,最终构建“信任—种草—曝光”三位一体的传播闭环。; 适合人群:科技类企业品牌市场负责人、公关传播从业者、数字营销管理者及初创科技公司创始人;具备一定品牌传播基础,关注效果可量化AI工具赋能的专业人士。; 使用场景及目标:①制定科技产品全生命周期的品牌传播策略;②优化媒体发稿、KOL合作短视频运营的资源配置ROI;③借助AI平台实现传播内容的精准触达、效果监测风险控制;④提升品牌在技术可信度、用户信任市场影响力方面的综合竞争力。; 阅读建议:建议结合传声港平台的实际工具模块(如AI选媒、达人匹配、数据驾驶舱)进行对照阅读,重点关注各阶段的标准化流程数据指标基准,将理论策略平台实操深度融合,推动品牌传播从经验驱动转向数据工具双驱动。
【3D应力敏感度分析拓扑优化】【基于p-范数全局应力衡量的3D敏感度分析】基于伴随方法的有限元分析和p-范数应力敏感度分析(Matlab代码实现)内容概要:本文档围绕“基于p-范数全局应力衡量的3D应力敏感度分析”展开,介绍了一种结合伴随方法有限元分析的拓扑优化技术,重点实现了3D结构在应力约束下的敏感度分析。文中详细阐述了p-范数应力聚合方法的理论基础及其在避免局部应力过高的优势,并通过Matlab代码实现完整的数值仿真流程,涵盖有限元建模、灵敏度计算、优化迭代等关键环节,适用于复杂三维结构的轻量化高强度设计。; 适合人群:具备有限元分析基础、拓扑优化背景及Matlab编程能力的研究生、科研人员或从事结构设计的工程技术人员,尤其适合致力于力学仿真优化算法开发的专业人士; 使用场景及目标:①应用于航空航天、机械制造、土木工程等领域中对结构强度和重量有高要求的设计优化;②帮助读者深入理解伴随法在应力约束优化中的应用,掌握p-范数法处理全局应力约束的技术细节;③为科研复现、论文写作及工程项目提供可运行的Matlab代码参考算法验证平台; 阅读建议:建议读者结合文中提到的优化算法原理Matlab代码同步调试,重点关注敏感度推导有限元实现的衔接部分,同时推荐使用提供的网盘资源获取完整代码测试案例,以提升学习效率实践效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值