摘要:华为云Stack全链路故障诊断与分析平台,以云网络中的逻辑网络、虚拟网络、物理网络作为网络故障分析诊断切入点,以三层网络路径拓扑为核心,端到端实现三层网络路径可视化。
本文分享自华为云社区《云网络运维必备神器:全链路故障诊断与分析》,作者: 周艳春|华为云Stack高级工程师。
网络作为云计算的核心支柱之一,经历了从传统设备到虚拟化设备的演进历程,从物理网络延伸到更为灵活的云网络。云网络的网络范围又从传统的物理网络,延伸到了辑网络、虚拟网络。
在云网络中,逻辑网络为用户提供可配置的网络服务,逻辑网络中常见的元素有虚拟机、子网、安全组、VPC、EIP等网络服务;虚拟网络主要由各类软网元组成,如虚拟交换机、虚拟路由器、虚拟防火墙等虚拟网络设备。云网络整体架构通常分为Overlay和Underlay两层,虚拟网络主要承载Overlay层,物理网络主要承载云网络中的Underlay层。
当前,云网络面临场景多、流量复杂、软硬融合和云网协同场景定界难等问题。云网络运维也面临着诸多挑战,如网络流量路径不可视、问题定位周期长、对网络运维人员的要求不断提高等。急需一个切实可行的网络运维解决方案,来解决以上问题。
华为云Stack全链路故障诊断与分析平台(简称全链路),以云网络中的逻辑网络、虚拟网络、物理网络作为网络故障分析诊断切入点,以三层网络路径拓扑为核心,端到端实现三层网络路径可视化。三层网络路径之间通过映射规则,互相关联,动态映射,对三层网络运维进行整合,实现了三层网络统一可视、统一运维,解决了三层网络链路相互割裂,独立运维的弊端。
逻辑网络仿真对网络服务进行统一建模和轻量级协议仿真,形成网络模型、使用转发模型映射出实际的网络结构。基于逻辑网络仿真验证,对租户网络配置进行检查和核对。一方面,可以检查源IP和目的IP之间的路径连通性;第二方面,可以发现由于网络配置错误导致的连接异常问题;第三方面,还能够还原源IP与目的IP之间的逻辑网络路径信息,如图展示了源IP与目的IP之间存在的逻辑网络服务。
逻辑网络路径展示例子
逻辑网络路径展示了源IP和目的IP之间的网路服务,不同的网络服务对应了虚拟网络中特定的实现载体。即逻辑网络路径可以通过特定的映射规则动态转换得到虚拟网络路径。映射规则全局具有唯一性,不同流量场景中的一个或者多个逻辑网络路径节点,只要匹配了某条映射规则,则都映射成同一类型的虚拟网络节点。新增网络服务后,若现有的映射规则不能实现正确的映射,只需要增加新的映射规则即可,在设计上满足面向扩展开放。如下图所示,逻辑网络路径通过映射规则计算出对应的虚拟网络,图中的控制面即为逻辑网络路径。
逻辑网络路径到虚拟网络路径的映射举例
拨测是一种探测网络路径连通性和链路质量的测量手段。对指定虚拟网络路径进行拨测,也就是向拨测路径的起始节点注入指定数量的染色拨测报文,对于中间节点只需要关注拨测报文的数量和TTL顺序是否跟预期的一致,就能判断拨测报文是否经过指定的虚拟网络路径。该种拨测方法可以不区分流量类型,不感知流量类型的组合,实现一次开发,支持所有组合场景和复杂场景的拨测。
在软硬融合、云网协同场景中,为了追求网关的高性能、低时延,频繁的使用硬件交换机作为高性能云网关,如华为云Stack L3gw、L2br、裸机高性能网关等场景。在虚拟网络路径中,若硬件交换机网关作为拨测起点或拨测终点,为实现双向拨测,则需要向硬件交换机注入拨测报文的能力。
针对硬件交换机网关拨测全链路有自己的解决之道。首先,硬件交换机与运维程序宿主机建立通信隧道,拨测控制器把拨测报文通过该隧道发送到硬件交换机上。其次,交换机需要支持基础的报文镜像功能,用于把拨测报文镜像到拨测分析器;最后,在交换机网关上配置出云方向拨测报文丢弃策略,防止拨测报文影响用户业务。
若硬件交换机网关作为拨测起点,则拨测控制器向硬件交换机网关注入拨测报文,发起拨测;若硬件交换机网关作为拨测终点,则拨测分析器收到硬件交换机网关的上行拨测报文后,向硬件交换机网关注入回程拨测报文,以完成双向拨测。
硬件交换机拨测原理图
探测拨测报文经过的物理交换机,依然可以利用交换机的报文镜像功能这一杀手锏。Underlay层所有交换机开启报文镜像功能,若拨测报文经过交换机,即可把拨测报文镜像到拨测分析器,拨测分析器综合对虚拟网络路径和交换机镜像的拨测报文TTL等信息进行整合分析,还原出拨测报文经过的物理网络路径。
虚拟网络路径中的网元节点映射到物理网络路径中的网元宿主机,即网络节点。物理网络路径可以直观展示两个网元节点之间的物理网络设备信息。下图展示了源IP和目的IP之间的物理网络设备,图中可以看到计算节点和网络节点之间经过的交换机设备。
物理网络路径展示例子
全链路故障诊断与分析平台的系统架构如图所示。
全链路系统架构
全链路使云网络中逻辑网络路径、虚拟网络路径、物理网络路径,三层网络端到端的路径实现可视化。三层网络路径网络资源覆盖全面,展示了源IP和目的IP之间的所有关键资源信息,包括逻辑网络客户的网络服务配置,虚拟网络和物理网络节点信息。三层网络层层映射,网络资源的关联关系一目了然。
三层网络路径展示例子
全链路具有网络故障诊断定位手段多样化、故障诊断效率高的特点。
全链路故障诊断集成了控制面仿真,数据面拨测和客户网络抓包、物理流分析等网络故障定位手段,可以实现云网络故障分钟级定界定位,根因排查建议集成了丰富的专家经验。从出错概率高的控制面入手排查,优先检查关键的虚拟网关,再检查物理交换机,发现问题更快速。
全链路故障诊断路由表缺失案例
全链路故障诊断硬件交换机网关路由丢失案例
对于使用全链路的用户来说,只需要知道需要探测的源IP和目的IP,选择拨测协议类型,如果选择TCP和UDP协议,用户还需要输入源端口和目的端口。用户不需要学习复杂的网络知识,即可使用全链路进行网络运维,非常的简单和易用。
全链路创建拨测任务界面
用户创建全链路拨测任务后,在任务展示页面可以看到任务信息。状态字段可以展示每一层网络路径的执行状态信息,如虚拟网络路径相关状态包括:虚拟网络任务执行中、虚拟网络任务执行成功、虚拟网络任务执行失败。流量类型字段显示源IP和目的IP之间关联的所有网络服务。
全链路任务列表
华为云Stack全链路故障诊断与分析平台为客户提供简单易用的交互界面,用户输入探测五元组,即可快速还原逻辑网络、虚拟网络、物理网络路径,为客户展示端到端的三层可视化流量路径。三层网络链路展示具有网络资源覆盖面广、定位手段多样化、故障诊断效率高的特点,可以有效提升产品的网络运维竞争力,降低对网络运维人员的专业性要求,提升网络故障定位效率,实现网络故障分钟级定界。