28、VXLAN BGP EVPN配置验证与OAM工具解析

VXLAN BGP EVPN配置验证与OAM工具解析

在数据中心网络中,VXLAN BGP EVPN的配置和验证对于确保网络的正常运行至关重要。同时,VXLAN OAM(操作、管理和维护)工具在解决网络故障和监控网络性能方面发挥着关键作用。本文将详细介绍如何验证VXLAN BGP EVPN的配置,以及如何使用VXLAN OAM工具进行网络故障排查和性能监控。

VXLAN BGP EVPN配置验证

验证VXLAN BGP EVPN的配置可以通过相关输出和解释来完成。同时,还可以验证数据中心网络中的MAC和IP学习是否正常进行。初步的故障排查步骤可以帮助我们更好地理解信息的流动,并从各种输出中推导出相应的配置设置。

VXLAN OAM(NGOAM)概述

随着数据中心中Overlay网络的广泛部署,对多个协议栈的操作、管理和生命周期的关注日益增加。传统的故障排查和管理主要涉及一些二层和三层的基础知识,以及网络中使用的特定路由协议。而Overlay网络引入了额外的虚拟线路层和相关协议,增加了与底层网络的间接性和抽象性,同时也带来了额外的复杂性。

抽象性为提供服务提供了简单而高效的方式,但在服务降级或性能下降时,包含多条路径的物理基础设施会带来挑战。例如,当操作员试图确定应用程序在数据中心网络中从一个端点到另一个端点所采用的特定路径时,缺乏简单的工具来提供这种可见性。

在VXLAN网络中,通过更改UDP源端口号来实现流量熵,使得相同VTEP对之间的流量能够分布在所有可用路径上。中间节点使用基于VXLAN封装数据包的外部包头字段的哈希算法。入口VTEP使用的哈希算法可能与中间节点使用的不同,这给从入口VTEP到出口VTEP的路径选择相关的特定故障排查工作带来了挑战。

VXLAN Operations, Administration, and Management(OAM)是Cisco的下一代OAM(NGOAM)框架的一部分,用于连接性故障管理(CFM)方法。NGOAM为解决这些问题提供了一个简单而全面的解决方案。VXLAN OAM和Cisco的NGOAM都是以太网OAM(即IEEE 802.1ag)的演进。

VXLAN OAM工具及示例
ping nve命令

ping nve 命令用于发送ICMP探测包,模拟VXLAN Overlay网络中的流量。以下是一个示例输出:

L37# ping nve ip unknown vrf Org1:Part1 payload ip 192.168.166.51 192.168.165.51 port 5644 25 proto
6 payload-end vni 50000 verbose

Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
'D' - Destination Unreachable, 'X' - unknown return code,
'm' - malformed request(parameter problem),
'c' - Corrupted Data/Test

Sender handle: 410
! sport 52677 size 56,Reply from 192.168.166.51,time = 1 ms
! sport 52677 size 56,Reply from 192.168.166.51,time = 1 ms
! sport 52677 size 56,Reply from 192.168.166.51,time = 1 ms
! sport 52677 size 56,Reply from 192.168.166.51,time = 1 ms
! sport 52677 size 56,Reply from 192.168.166.51,time = 1 ms

Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
Total time elapsed 42 ms

在这个示例中,目标端点的IP地址是 192.168.166.51 ,位于VRF Org:Part1 中。源IP和目标IP位于不同的子网,因此在路由决策中使用了分配给VRF的三层VNI(50000)。

ping nve 命令能够计算用于VXLAN封装的UDP源端口号,以实现底层网络中ECMP(等价多路径)的流量熵。UDP源端口号是基于内部有效负载生成的,在这个示例中,值为52677。该示例使用了TCP(协议6)的内部有效负载,目标端口25表示SMTP应用程序(25/TCP),源端口5644用于电子邮件连接。结果显示了端点的可达性确认,使用外部UDP源端口(52677)进行VXLAN封装。

如果某条路径出现性能下降,该探测可以像传统的ICMP ping或traceroute工具一样,通过返回潜在的数据包丢失来确定和检测这条错误路径。应用程序或有效负载配置文件的存在可以确定应用程序使用的精确路径,并描绘出实际采用的物理路径。

traceroute nve命令

traceroute nve 命令用于发起VXLAN traceroute,并发送ICMP探测包,模拟Overlay网络中TTL递增的流量。以下是一个示例输出:

L37# traceroute nve ip unknown vrf Org1:Part1 payload ip 192.168.166.51 192.168.165.51 port 5644 25
proto 6 payload-end vni 50000 verbose

Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
'D' - Destination Unreachable, 'X' - unknown return code,
'm' - malformed request(parameter problem),
'c' - Corrupted Data/Test

Traceroute Request to peer ip 10.1.1.140 source ip 10.1.1.37
Sender handle: 412
  1 !Reply from 10.1.1.38,time = 1 ms
  2 !Reply from 10.1.1.140,time = 1 ms
  3 !Reply from 192.168.166.51,time = 1 ms

在这个示例中,目标端点的IP地址是 192.168.166.51 ,位于VRF Org:Part1 中。源IP和目标IP位于不同的子网,因此在路由操作中使用了分配给VRF的三层VNI(50000)。

traceroute nve 命令的输出提供了特定数据流量在底层路由网络中使用的精确路径。具体来说,会列出路径上每个中间节点的IP地址,就像常规的IP traceroute命令一样。

在ECMP情况下,流量会选择多条等价路径之一。 traceroute nve 命令简化了路径查找和故障排查工作。生成的路径基于协议有效负载,从而模拟了相关应用程序或端点发送的数据包。该示例使用了TCP(协议6),目标端口25,模拟了一个SMTP应用程序,源端口设置为5644用于电子邮件连接。

输出结果让我们了解了底层网络中实际使用的精确路径,从而能够确定数据流量到达电子邮件服务器所经过的精确核心交换机。此外,由于目标VTEP被设置为“unknown”, traceroute nve 命令的输出还提供了连接到目标端点的VTEP的IP地址( 10.1.1.140 )。

pathtrace nve命令

pathtrace nve 命令用于发起VXLAN路径跟踪,并使用特殊的OAM探测包模拟Overlay网络中的流量。以下是一个示例输出:

L37# pathtrace nve ip unknown vrf Org1:Part1 payload ip 192.168.166.51
   192.168.165.51 port 5644 25 proto 6 payload-end vni 50000 verbose req-stats

Path trace Request to peer ip 10.1.1.140 source ip 10.1.1.37
Sender handle: 416

Hop      Code      ReplyIP      IngressI/f      EgressI/f      State
===============================================
  1 !Reply from 10.1.1.38,        Eth1/23  Eth2/2    UP / UP
  Input Stats:
PktRate:999  ByteRate:558873
Load:3         Bytes:2101901590781
unicast:3758851978  mcast:1487057
bcast:13     discards:0
errors:0     unknown:0
bandwidth:171798691880000000
   Output Stats:
PktRate:999  ByteRate:558873
load:3    bytes:2101901590781
unicast:3758851978  mcast:1487057
bcast:13    discards:0
errors:0
bandwidth:171798691880000000
  2 !Reply from 10.1.1.140, Eth2/3 Unknown UP / DOWN
  Input Stats:
PktRate:0    ByteRate:860
Load:0   Bytes:5057292548
unicast:   194899 mcast:1175038
bcast:13        discards:0
errors:0        unknown:0
bandwidth:171798691880000000

该命令使用了与 ping traceroute 相同的示例有效负载,目标端点对应于位于VRF Org:Part1 中IP地址为 192.168.166.51 的SMTP应用程序。

输出结果清晰地列出了中间跳、入口和出口接口,以及相关的负载、统计信息和带宽。这使得我们能够了解底层网络中实际使用的精确路径,还能确定数据流量到达电子邮件服务器所经过的精确核心交换机以及具体路径/链路。

总结

VXLAN OAM在NX - OS平台上以NGOAM的形式实现。该功能通过CLI和API(通过NX - API)提供。NGOAM不仅可以通过编程接口执行各种探测,还可以从VTEP检索统计信息,提供同步和异步两种选项。

使用首选的异步选项时,会返回一个会话句柄,作为OAM探测执行请求已收到的确认。当OAM探测执行完成后,结果会存储在源VTEP的OAM数据库中,由于通过会话句柄进行索引,因此可以在以后检索。这样,会话句柄可以通过编程API或CLI从VTEP本地OAM数据库中检索当前和历史统计信息。

VXLAN OAM的其他增强功能包括引入定期探测和通知,以主动管理Overlay网络和底层物理网络。为了使收集的路径信息和统计信息有意义,VXLAN OAM已与VXLAN管理系统(如DCNM)集成。

操作步骤总结
  • 使用ping nve命令验证可达性

    1. 输入 ping nve 命令,指定目标IP、VRF、有效负载等参数。
    2. 观察命令输出,查看成功率、往返时间等信息,确定目标端点的可达性。
    3. 分析UDP源端口号,了解VXLAN封装情况。
  • 使用traceroute nve命令查找路径

    1. 输入 traceroute nve 命令,指定相关参数。
    2. 查看输出结果,确定数据流量在底层网络中经过的中间节点IP地址。
    3. 根据输出信息,确定目标VTEP的IP地址。
  • 使用pathtrace nve命令详细跟踪路径

    1. 输入 pathtrace nve 命令,指定必要参数。
    2. 分析输出结果,了解中间跳、接口信息、负载和统计信息。
    3. 确定数据流量到达目标服务器的精确路径和链路。

通过以上步骤和工具,网络管理员可以有效地验证VXLAN BGP EVPN的配置,排查网络故障,监控网络性能,确保数据中心网络的稳定运行。

VXLAN BGP EVPN配置验证与OAM工具解析

EVPN实现选项介绍

在EVPN(以太网虚拟专用网络)的应用中,存在多种实现选项,这些选项依据不同的标准草案和RFC文档进行定义。下面将详细介绍EVPN的两种主要实现场景及相关模型。

EVPN Layer 2 Services

EVPN定义了不同的VLAN Layer 2 Services,针对VXLAN相关实现,在draft - ietf - bess - evpn - overlay中有两种选项:
- VLAN - based bundle service interface :Cisco采用的这种实现方式,将单个桥接域映射到单个EVPN虚拟实例(EVI)。EVI提供路由区分符(RD),并通过路由目标(RT)控制相关前缀的导入和导出,进入MAC - VRF,进而进入桥接域。在控制平面,EVI对应单个MAC - VRF;在数据平面,对应单个VNI,形成EVI、MAC - VRF和桥接域(VNI)的1:1映射。其缺点是每个桥接域都需要配置一个EVI,但在导入/导出粒度方面具有优势,可按桥接域进行精细控制。
- VLAN - aware bundle service interface :多个桥接域可以映射到单个EVI。这种实现允许单个RD和RT集在属于同一EVI的多个桥接域之间共享,形成EVI到MAC - VRF到桥接域的1:N映射,数据平面的VNI足以识别相应的桥接域。其优点是减少了EVI的配置要求,但缺点是无法在每个桥接域的基础上进行前缀导入/导出的精细控制。

这两种实现的主要区别在于控制平面中以太网标签ID字段的使用。VLAN - based选项要求该字段为零(0),而VLAN - aware选项要求以太网标签ID携带相应桥接域(VNI)的标识。两种选项均符合RFC 7432,但彼此之间不具备互操作性。

实现选项 桥接域与EVI映射 以太网标签ID字段 优点 缺点
VLAN - based bundle service interface 1:1 0 导入/导出粒度高 每个桥接域需配置一个EVI
VLAN - aware bundle service interface 1:N 携带桥接域标识 减少EVI配置要求 无法进行精细的前缀导入/导出控制
EVPN IP - VRF to IP - VRF Model

在某些情况下,可能会为IRB后面的子网和IP地址发布IP前缀路由,这种场景被称为“IP - VRF to IP - VRF”模型。根据EVPN前缀广告草案(draft - ietf - bess - evpn - prefix - advertisement),该模型有三种实现选项,下面重点介绍两个必需的组件模型:
- 接口-less模型 :Route type 5路由包含IP前缀广告所需的所有信息,如IP子网、子网长度和下一跳。同时,通过网络层可达性信息(NLRI)中的三层VNI保留IP - VRF上下文。此外,该模型还将下一跳的路由器MAC作为BGP扩展社区的一部分。由于VXLAN是MAC in IP/UDP封装,数据平面封装需要填充内部源MAC和目标MAC地址。本地路由器MAC已知并用作内部源MAC,而目标MAC地址则根据目标前缀的查找结果进行填充,路由器MAC扩展社区提供了必要的信息。在这种模型中,网关IP(GW IP)字段始终填充为0。
- 接口-full模型 :有两个子模式:
- Core - facing IRB :除了Route type 5前缀广告外,还会生成Route type 2广告。在Route type 5广告中,路由器MAC扩展社区不存在,网关IP(GW IP)字段填充为与VTEP关联的面向核心的IRB的IP地址,VNI字段设置为0。为了完成VXLAN封装所需的信息,生成的Route type 2广告提供了下一跳面向核心的IRB接口的IP和MAC信息,用于填充VXLAN头部,同时还携带了与租户或IP - VRF对应的VNI字段。
- Unnumbered Core - facing IRB :与接口-less模型类似,路由器MAC扩展社区作为Route type 5广告的一部分发送,但VNI字段和GW IP地址字段保持为0。关联的Route type 2广告以与下一跳面向核心的IRB接口关联的路由器MAC地址为键,并携带与租户或IP - VRF关联的VNI。当流量目的地为Route type 5广告的前缀时,会进行递归查找以验证下一跳路由器MAC信息,并用于填充相应的VXLAN头部。

接口-less模型和接口-full模型的主要区别在于是否存在额外的Route type 2广告。接口-less选项期望在Route type 5广告中包含路由器MAC,不会利用接口-full Core - facing IRB模型发布的Route type 2信息;而接口-full选项则期望有额外的Route type 2广告。两种模型都能为VXLAN数据平面封装提供填充内部目标MAC地址所需的信息,但不同模型之间并非天然可互操作。

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;

    A([开始]):::startend --> B{选择模型}:::decision
    B -->|接口-less模型| C(生成Route type 5广告):::process
    B -->|接口-full模型| D{子模式选择}:::decision
    D -->|Core - facing IRB| E(生成Route type 5广告):::process
    D -->|Unnumbered Core - facing IRB| F(生成Route type 5广告):::process
    E --> G(生成Route type 2广告):::process
    F --> H(生成Route type 2广告):::process
    C --> I(数据平面封装):::process
    G --> I
    H --> I
    I --> J([结束]):::startend
总结与建议

通过对VXLAN BGP EVPN配置验证和OAM工具的介绍,以及对EVPN不同实现选项的分析,我们可以得出以下结论:
- 在验证VXLAN BGP EVPN配置时,使用 ping nve traceroute nve pathtrace nve 等OAM工具可以有效地排查网络故障、监控网络性能,确保数据中心网络的稳定运行。
- 在选择EVPN的实现选项时,需要根据实际需求进行权衡。如果需要对每个桥接域进行精细的前缀导入/导出控制,可以选择VLAN - based bundle service interface;如果希望减少EVI的配置要求,可以选择VLAN - aware bundle service interface。在IP - VRF to IP - VRF模型中,接口-less模型和接口-full模型各有优缺点,需要根据具体的网络架构和应用场景进行选择。

建议网络管理员在实际操作中,深入理解各种工具和实现选项的原理和特点,结合实际情况进行合理配置和应用,以提高网络的可靠性和性能。同时,持续关注VXLAN OAM和EVPN技术的发展,及时采用新的功能和增强特性,以适应不断变化的网络需求。

操作步骤总结
  • 选择EVPN Layer 2 Services实现选项
    1. 评估网络对桥接域前缀导入/导出控制的精细程度要求。
    2. 如果需要精细控制,选择VLAN - based bundle service interface,并为每个桥接域配置一个EVI,将以太网标签ID字段设置为0。
    3. 如果希望减少EVI配置,选择VLAN - aware bundle service interface,共享RD和RT集,将以太网标签ID字段设置为相应桥接域的标识。
  • 选择EVPN IP - VRF to IP - VRF Model实现选项
    1. 分析网络架构和应用场景,确定是否需要额外的Route type 2广告。
    2. 如果不需要额外广告,选择接口-less模型,确保Route type 5广告包含必要信息,GW IP字段设置为0。
    3. 如果需要额外广告,选择接口-full模型:
      • 若面向核心的IRB有编号,选择Core - facing IRB子模式,在Route type 5广告中设置GW IP和VNI字段,生成Route type 2广告。
      • 若面向核心的IRB无编号,选择Unnumbered Core - facing IRB子模式,在Route type 5广告中包含路由器MAC扩展社区,生成Route type 2广告。
基于径向基函数神经网络RBFNN的自适应滑模控制学习(Matlab代码实现)内容概要:本文介绍了基于径向基函数神经网络(RBFNN)的自适应滑模控制方法,并提供了相应的Matlab代码实现。该方法结合了RBF神经网络的非线性逼近能力和滑模控制的强鲁棒性,用于解决复杂系统的控制问题,尤其适用于存在不确定性和外部干扰的动态系统。文中详细阐述了控制算法的设计思路、RBFNN的结构权重更新机制、滑模面的构建以及自适应律的推导过程,并通过Matlab仿真验证了所提方法的有效性和稳定性。此外,文档还列举了大量相关的科研方向和技术应用,涵盖智能优化算法、机器学习、电力系统、路径规划等多个领域,展示了该技术的广泛应用前景。; 适合人群:具备一定自动控制理论基础和Matlab编程能力的研究生、科研人员及工程技术人员,特别是从事智能控制、非线性系统控制及相关领域的研究人员; 使用场景及目标:①学习和掌握RBF神经网络滑模控制相结合的自适应控制策略设计方法;②应用于电机控制、机器人轨迹跟踪、电力电子系统等存在模型不确定性或外界扰动的实际控制系统中,提升控制精度鲁棒性; 阅读建议:建议读者结合提供的Matlab代码进行仿真实践,深入理解算法实现细节,同时可参考文中提及的相关技术方向拓展研究思路,注重理论分析仿真验证相结合。
先展示下效果 https://pan.quark.cn/s/a4b39357ea24 本项目是本人参加BAT等其他公司电话、现场面试之后总结出来的针对Java面试的知识点或真题,每个点或题目都是在面试中被问过的。 除开知识点,一定要准备好以下套路: 个人介绍,需要准备一个1分钟的介绍,包括学习经历、工作经历、项目经历、个人优势、一句话总结。 一定要自己背得滚瓜烂熟,张口就来 抽象概念,当面试官问你是如何理解多线程的时候,你要知道从定义、来源、实现、问题、优化、应用方面系统性地回答 项目强化,至少知识点的比例是五五开,所以必须针对简历中的两个以上的项目,形成包括【架构和实现细节】,【正常流程和异常流程的处理】,【难点+坑+复盘优化】三位一体的组合拳 压力练习,面试的时候难免紧张,可能会严重影响发挥,通过平时多找机会参交流分享,或找人做压力面试来改善 表达练习,表达能力非常影响在面试中的表现,能否简练地将答案告诉面试官,可以通过给自己讲解的方式刻意练习 重点针对,面试官会针对简历提问,所以请针对简历上写的所有技术点进行重点准备 Java基础 JVM原理 集合 多线程 IO 问题排查 Web框架、数据库 Spring MySQL Redis 通用基础 操作系统 网络通信协议 排序算法 常用设计模式 从URL到看到网页的过程 分布式 CAP理论 锁 事务 消息队列 协调器 ID生成方式 一致性hash 限流 微服务 微服务介绍 服务发现 API网关 服务容错保护 服务配置中心 算法 数组-快速排序-第k大个数 数组-对撞指针-最大蓄水 数组-滑动窗口-最小连续子数组 数组-归并排序-合并有序数组 数组-顺时针打印矩形 数组-24点游戏 链表-链表反转-链表相加 链表-...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值