网络运维管理方法及装置的制造方法

文档序号:10626642阅读:310来源:国知局
网络运维管理方法及装置的制造方法
【专利摘要】本发明公开了一种网络运维管理方法及装置,属于网络技术领域。所述方法包括:接收数据包;检测所述数据包的流特征是否与需要监控的流的流特征匹配;如果匹配,则在所述数据包的包头中插入字段集,所述字段集包括指定类型的标识和流标记;根据所述指定类型的标识更新所述数据包经过的入端口和出端口上与所述流标记对应的计数器值;将所述数据包发送给下游相邻节点。本发明通过根据流特征来为数据包插入字段集,节点根据该字段集来对数据包经过的端口上与流标记对应的计数器值进行计数;解决了现有技术中无法对单个流进行故障定位的问题;达到了可以针对单个流中的数据包进行监控的效果。
【专利说明】
网络运维管理方法及装置
技术领域
[0001] 本发明实施例涉及网络技术领域,特别涉及一种网络运维管理方法及装置。
【背景技术】
[0002] 在通信网络的运维管理中,数据包计数技术是用于对网络故障进行诊断的一种重 要手段。
[0003] 现有技术中,上游节点将流经的数据包按照时间周期进行划分,将属于同一时间 周期内的数据包的预定比特位中设置一个相同的标识,将相邻的两个时间周期内的数据包 的预定比特位中设置不同的标识,以便下游节点进行数据包计数。图1示意性地示出了该 过程,该网络中包括上游节点1和下游节点2。上游节点1包括CPU1和交换芯片1,交换芯 片1提供有端口 11、端口 12和内部接口 13, CPU1通过内部接口 13与交换芯片1相连;下 游节点2包括CPU2和交换芯片2,交换芯片2提供有端口 21、端口 22和内部接口 23,CPU2 通过内部接口 23与交换芯片2相连。在上游节点1通过端口 11接收到6个数据包后,上 游节点1将属于第一个时间周期内的数据包1和数据包2中的预定比特位设为1,得到数 据包Ια和数据包2α ;上游节点1将属于第二个时间周期内的数据包3和数据包4中的 预定比特位设为〇,得到数据包3β和数据包4β ;上游节点1将属于第三个时间周期内的 数据包5和数据包6中的预定比特位设为1,得到数据包5α和数据包6α。然后,上游节 点1对预定比特位为1的数据包和预定比特位为〇的数据包分别进行数据包计数,并通过 端口 12将6个数据包顺序发送给下游节点2。下游节点2通过端口 21接收到6个数据包 后,CPU2对预定比特位为1的数据包和预定比特位为0的数据包分别进行数据包计数。最 后,外部的控制器统计上游节点1和下游节点2各自的数据包计数,并根据计数差值来判断 上游节点1和下游节点2之间的路径上是否存在丢包。
[0004] 在实现本发明实施例的过程中,发明人发现现有技术至少存在以下问题:
[0005] 上述方法通过时间周期来为数据包中的预定比特位进行置位,从而实现数据包 计数。但该方法对同一时间周期内的所有数据包设置相同的标识,如果这些数据包分别属 于不同的流,则无法针对单个流进行故障定位。

【发明内容】

[0006] 为了解决现有技术的问题,本发明实施例提供了一种网络运维管理方法及装置。
[0007] 第一方面,本发明实施例提供了一种网络运维管理方法,所述方法包括:
[0008] 接收数据包;
[0009] 检测所述数据包的流特征是否与需要监控的流的流特征匹配;
[0010] 如果所述数据包的流特征与所述需要监控的流的流特征匹配,则在所述数据包的 包头中插入字段集,所述字段集包括指定类型的标识和流标记(英文:fl〇w flag);所述流 标记用于标识所述需要监控的流;
[0011] 根据所述指定类型的标识更新所述数据包经过的入端口上与所述流标记对应的 计数器值;
[0012] 根据所述指定类型的标识更新所述数据包经过的出端口上与所述流标记对应的 计数器值;
[0013] 将所述数据包发送给下游相邻节点。
[0014] 在第一方面的第一种可能的实施方式中,所述在所述数据包的包头中插入字段 集,包括:
[0015] 在所述数据包的以太帧头的虚拟局域网(英文:Virtual Local Area Network ;简 称:VLAN)字段之后插入所述字段集;
[0016] 或,
[0017] 在所述数据包的表示负荷的以太类型之前插入所述字段集。
[0018] 在第一方面的第二种可能的实施方式中,所述字段集包括新的隧道头或原始隧道 头中的新增字段;所述在所述数据包的包头插入字段集,包括:
[0019] 在所述数据包的外部网际间互联协议(英文:Internet Protocol ;简称:IP)报文 头之后、内部负荷之前插入所述字段集。
[0020] 结合第一方面或第一方面的第一种可能的实施方式或第一方面的第二种可能的 实施方式,在第一方面的第三种可能的实施方式中,所述检测所述数据包的流特征是否与 需要监控的流的流特征匹配之前,还包括:
[0021] 接收监控指令;
[0022] 根据所述监控指令获取所述需要监控的流的流特征。
[0023] 结合第一方面或第一方面的第一种可能的实施方式或第一方面的第二种可能的 实施方式或第一方面的第三种可能的实施方式中,在第一方面的第四种可能的实施方式 中,所述更新所述数据包的出端口上与所述流标记对应的计数器值,包括:
[0024] 根据所述数据包的目的地址查询所述数据包的出端口;
[0025] 检测所述数据包的类型是否为所述指定类型;
[0026] 如果所述数据包的类型是所述指定类型,则提取所述字段集中的流标记;
[0027] 更新所述出端口上与所述流标记对应的计数器值。
[0028] 结合第一方面或第一方面的第一种可能的实施方式或第一方面的第二种可能的 实施方式或第一方面的第三种可能的实施方式或第一方面的第四种可能的实施方式,在第 一方面的第五种可能的实施方式中,所述方法还包括:
[0029] 接收初始化指令;
[0030] 将各个端口上与所述流标记对应的计数器值置为初始值。
[0031] 结合第一方面或第一方面的第一种可能的实施方式或第一方面的第二种可能的 实施方式或第一方面的第三种可能的实施方式或第一方面的第四种可能的实施方式或第 一方面的第五种可能的实施方式,在第一方面的第六种可能的实施方式中,所述方法还包 括:
[0032] 接收提取指令;
[0033] 上报各个端口上与所述流标记对应的计数器值。
[0034] 第二方面,本发明实施例提供了一种网络运维管理方法,所述方法包括:
[0035] 接收数据包;
[0036] 检测所述数据包的类型是否为指定类型;
[0037] 如果所述数据包的类型是所述指定类型,则从所述数据包的包头提取字段集,得 到所述字段集中的流标记;
[0038] 根据所述字段集更新所述数据包经过的入端口和/或出端口上的与所述流标记 对应的计数器值;
[0039] 将所述数据包发送给下游相邻节点。
[0040] 在第二方面的第一种可能的实施方式中,所述根据所述字段集更新所述数据包 经过的入端口和/或出端口上的与所述流标记对应的计数器值,包括:
[0041] 从所述数据包的包头提取所述字段集,得到所述字段集中的生存期(英文:Time To Live ;简称:TTL);
[0042] 检测所述TTL是否小于或等于预定阈值;
[0043] 如果所述TTL小于或等于所述预定阈值,则从所述数据包的包头中删除所述字段 集;
[0044] 更新所述数据包的入端口上与所述流标记对应的计数器值。
[0045] 在第二方面的第二种可能的实施方式中,所述根据所述字段集更新所述数据包经 过的入端口和/或出端口上的与所述流标记对应的计数器值,包括:
[0046] 从所述数据包的包头提取所述字段集,得到所述字段集中的TTL ;
[0047] 检测所述TTL是否小于或等于预定阈值;
[0048] 如果所述TTL大于所述预定阈值,则将所述字段集中的TTL更新为TTL-1 ;
[0049] 更新所述数据包的入端口和出端口上与所述流标记对应的计数器值。
[0050] 结合第二方面或第二方面的第一种可能的实施方式或第二方面的第二种可能的 实施方式,在第二方面的第三种可能的实施方式中,所述从所述数据包的包头提取字段集, 包括:
[0051] 从所述数据包的以太帧头的VLAN字段之后提取所述字段集;
[0052] 或,
[0053] 从所述数据包的表示负荷的以太类型之前提取所述字段集。
[0054] 结合第二方面的第三种可能的实施方式,在第二方面的第四种可能的实施方式 中,所述节点是IP网节点,下游相邻节点是IP网节点;
[0055] 所述将所述字段集中的TTL更新为TTL-1,包括:
[0056] 在所述数据包的外部IP报文头之后、内部以太帧头之前插入新的字段集;
[0057] 将所述新的字段集中的流标记设置为提取到的所述流标记,将所述新的字段集中 的TTL设置为提取到的TTL-1。
[0058] 结合第二方面或第二方面的第一种可能的实施方式或第二方面的第二种可能的 实施方式,在第二方面的第五种可能的实施方式中,所述字段集包括新的隧道头或原始隧 道头中的新增字段;
[0059] 所述从所述数据包的包头提取字段集,包括:
[0060] 从所述数据包的外部IP报文头之后、内部负荷之前提取所述字段集。
[0061] 结合第二方面的第五种可能的实施方式,在第二方面的第六种可能的实施方式 中,所述节点为IP网节点、下游相邻节点是以太网节点;
[0062] 所述将所述字段集中的TTL更新为TTL-1,包括:
[0063] 删除位于所述数据包的外部IP报文头之后、内部以太帧头之前的所述字段集;
[0064] 判断所述数据包的内部以太帧头中是否存在其他字段集;
[0065] 如果存在,则将所述其他字段集中的TTL设置为提取到的TTL-1 ;
[0066] 如果不存在,则在所述数据包的以太帧头中插入新的字段集,并将所述新的字段 集中的流标记设置为提取到的所述流标记,将所述新的字段集中的TTL设置为提取到的 TTL-l〇
[0067] 结合第二方面或第二方面的第一种可能的实施方式或第二方面的第二种可能的 实施方式或第二方面的第三种可能的实施方式或第二方面的第四种可能的实施方式或第 二方面的第五种可能的实施方式或第二方面的第六种可能的实施方式,在第二方面的第七 种可能的实施方式中,所述节点是目的侧边缘节点;或,所述下游相邻节点是所述数据包的 目的端设备;
[0068] 所述将所述数据包发送给下游相邻节点之前,还包括:
[0069] 从所述数据包的包头中删除所述字段集。
[0070] 结合第二方面或第二方面的第一种可能的实施方式或第二方面的第二种可能的 实施方式或第二方面的第三种可能的实施方式或第二方面的第四种可能的实施方式或第 二方面的第五种可能的实施方式或第二方面的第六种可能的实施方式或第二方面的第七 种可能的实施方式,在第二方面的第八种可能的实施方式中,所述方法还包括:
[0071] 接收初始化指令;
[0072] 将各个端口上与所述流标记对应的计数器值置为初始值。
[0073] 结合第二方面或第二方面的第一种可能的实施方式或第二方面的第二种可能的 实施方式或第二方面的第三种可能的实施方式或第二方面的第四种可能的实施方式或第 二方面的第五种可能的实施方式或第二方面的第六种可能的实施方式或第二方面的第七 种可能的实施方式或第二方面的第八种可能的实施方式,在第二方面的第九种可能的实施 方式中,所述方法还包括:
[0074] 接收提取指令;
[0075] 上报各个端口上与所述流标记对应的计数器值。
[0076] 第三方面,本发明实施例提供了一种网络运维管理方法,所述方法包括:
[0077] 提取监控范围内的所有节点的各个端口上与流标记对应的第一计数器值;
[0078] 向所述监控范围内的指定节点发送监控指令,所述监控指令用于指示所述指定节 点对符合预定条件的数据包的包头中插入字段集,所述字段集包括指定类型的标识和流标 记;所述预定条件是所述数据包的流特征与需要监控的流的流特征匹配,所述指定类型的 标识用于触发所述数据包经过的节点更新所述数据包经过的端口上与所述流标记对应的 计数器值,所述流标记用于标识所述需要监控的流;
[0079] 设置定时器;
[0080] 在所述定时器到期时,提取所述监控范围内的所有节点的各个端口上与所述流标 记对应的第二计数器值;
[0081] 根据每个端口的第一计数器值和第二计数器值计算得到每个端口的第三计数器 值;
[0082] 根据上下游相邻端口的第三计数器值的差值进行节点内和/或节点间丢包测量。
[0083] 在第三方面的第一种可能的实施方式中,所述根据上下游相邻端口的第三计数器 值的差值进行节点内和节点间丢包测量,包括:
[0084] 选择所述监控范围内的一条路径上的源端口作为当前端口;
[0085] 检测所述当前端口的下游相邻端口的第三计数器值是否小于所述当前端口的第 三计数器值;
[0086] 如果所述下游相邻端口的第三计数器值小于所述当前端口的第三计数器值,则确 定所述当前端口和所述下游相邻端口之间存在丢包。
[0087] 在第三方面的第二种可能的实施方式中,所述根据相邻上下游相邻端口的第三计 数器值的差值进行节点内丢包测量,包括:
[0088] 选择所述监控范围内的一条路径上的源端口作为当前端口;
[0089] 检测所述当前端口的下游相邻端口是否与所述当前端口属于同一节点;
[0090] 如果所述下游相邻端口和所述当前端口属于同一节点,则检测所述下游相邻端口 的第三计数器值是否小于所述当前端口的第三计数器值;
[0091] 如果所述下游相邻端口的第三计数器值小于所述当前端口的第三计数器值,则 确定所述节点存在丢包。
[0092] 结合第三方面的第二种可能的实施方式,在第三方面的第三种可能的实施方式 中,所述检测所述当前端口的下游相邻端口是否与所述当前端口属于同一节点之后,还包 括:
[0093] 如果所述下游相邻端口和所述当前端口不属于同一节点,则将所述下游相邻端口 确定为新的当前端口,执行检测所述新的当前端口的下游相邻端口是否与所述新的当前端 口属于同一节点的步骤。
[0094] 在第三方面的第四种可能的实施方式中,所述根据相邻上下游相邻端口的第三计 数器值的差值进行节点间丢包测量,包括:
[0095] 选择所述监控范围内的一条路径上的源端口作为当前端口;
[0096] 检测所述当前端口的下游相邻端口是否与所述当前端口属于同一节点;
[0097] 如果所述下游相邻端口和所述当前端口不属于同一节点,则检测所述下游相邻端 口的第三计数器值是否小于所述当前端口的第三计数器值;
[0098] 如果所述下游相邻端口的第三计数器值小于所述当前端口的第三计数器值,则确 定所述当前端口所属的节点和所述下游相邻端口所属的节点之间存在丢包。
[0099] 结合第三方面的第四种可能的实施方式,在第三方面的第五种可能的实施方式 中,所述检测所述当前端口的下游相邻端口是否与所述当前端口属于同一节点之后,还包 括:
[0100] 如果所述下游相邻端口和所述当前端口属于同一节点,则将所述下游相邻端口确 定为新的当前端口,执行检测所述新的当前端口的下游相邻端口是否与所述新的当前端口 属于同一节点的步骤。
[0101] 结合第三方面的第一种可能的实施方式或第三方面的第二种可能的实施方式或 第三方面的第四种可能的实施方式,在第三方面的第六种可能的实施方式中,所述方法,还 包括:
[0102] 检测所述下游相邻端口是否为所述路径的出端口;
[0103] 如果所述下游相邻端口不是所述路径的出端口,则将所述下游相邻端口确定为新 的当前端口;
[0104] 如果所述下游相邻端口是所述路径的出端口,则检测所述监控范围是否还存在其 它路径;
[0105] 如果所述监控范围还存在其它路径,则选择所述其它路径上的源端口作为新的当 前端口。
[0106] 结合第三方面或第三方面的第一种可能的实施方式或第三方面的第一种可能的 实施方式或第三方面的第二种可能的实施方式或第三方面的第三种可能的实施方式或第 三方面的第四种可能的实施方式或第三方面的第五种可能的实施方式或第三方面的第六 种可能的实施方式,在第三方面的第七种可能的实施方式中,所述向监控范围内的指定节 点发送监控指令之前,还包括:
[0107] 向监控范围内的所有节点发送初始化指令,所述初始化指令用于指示所述节点将 各个端口上与所述流标记对应的计数器值置为初始值。
[0108] 第四方面,本发明实施例提供了一种边缘节点,所述边缘节点包括:
[0109] 接收模块,用于接收数据包;
[0110] 特征匹配模块,用于检测所述数据包的流特征是否与需要监控的流的流特征匹 配;
[0111] 字段插入模块,用于如果所述数据包的流特征与所述需要监控的流的流特征匹 配,则在所述数据包的包头中插入字段集,所述字段集包括指定类型的标识和流标记;所述 流标记用于标识所述需要监控的流;
[0112] 入端口更新模块,用于根据所述指定类型的标识更新所述数据包经过的入端口上 与所述流标记对应的计数器值,
[0113] 出端口更新模块,用于根据所述指定类型的标识更新所述数据包经过的出端口上 与所述流标记对应的计数器值;
[0114] 发送模块,用于将所述数据包发送给下游相邻节点。
[0115] 在第四方面的第一种可能的实施方式中,所述字段插入模块,用于在所述数据包 的以太帧头的VLAN字段之后插入所述字段集;或,所述字段插入模块,用于在所述数据包 的表示负荷的以太类型之前插入所述字段集。
[0116] 在第四方面的第二种可能的实施方式中,所述字段集包括新的隧道头或原始隧道 头中的新增字段;
[0117] 所述字段插入模块,用于在所述数据包的外部IP报文头之后、内部负荷之前插入 所述字段集。
[0118] 结合第四方面或第四方面的第一种可能的实施方式或第四方面的第二种可能的 实施方式,在第四方面的第三种可能的实施方式中,所述边缘节点,还包括:特征获取模 块;
[0119] 所述接收模块,还用于接收监控指令;
[0120] 所述特征获取模块,还用于根据所述监控指令获取所述需要监控的流的流特征。
[0121] 结合第四方面或第四方面的第一种可能的实施方式或第四方面的第二种可能的 实施方式或第四方面的第三种可能的实施方式,在第四方面的第四种可能的实施方式中, 所述出端口更新模块,用于根据所述数据包的目的地址查询所述数据包的出端口;检测所 述数据包的类型是否为所述指定类型;如果所述数据包的类型是所述指定类型,则提取所 述字段集中的流标记;更新所述出端口上与所述流标记对应的计数器值。
[0122] 结合第四方面或第四方面的第一种可能的实施方式或第四方面的第二种可能的 实施方式或第四方面的第三种可能的实施方式或第四方面的第四种可能的实施方式,在第 四方面的第五种可能的实施方式中,所述边缘节点还包括:初始化模块;
[0123] 所述接收模块,还用于接收初始化指令;
[0124] 所述初始化模块,用于将各个端口上与所述流标记对应的计数器值置为初始值。
[0125] 结合第四方面或第四方面的第一种可能的实施方式或第四方面的第二种可能的 实施方式或第四方面的第三种可能的实施方式或第四方面的第四种可能的实施方式或第 四方面的第五种可能的实施方式,在第四方面的第六种可能的实施方式中,
[0126] 所述接收模块,还用于接收提取指令;
[0127] 所述发送模块,还用于上报各个端口上与所述流标记对应的计数器值。
[0128] 第五方面,本发明实施例提供了一种节点,所述节点包括:
[0129] 接收模块,用于接收数据包;
[0130] 类型检测模块,用于检测所述数据包的类型是否为指定类型;
[0131] 字段提取模块,用于如果所述数据包的类型是所述指定类型,则从所述数据包的 包头提取字段集,得到所述字段集中的流标记;
[0132] 计数更新模块,用于根据所述字段集更新所述数据包经过的入端口和/或出端口 上的与所述流标记对应的计数器值;
[0133] 发送模块,用于将所述数据包发送给下游相邻节点。
[0134] 在第五方面的第一种可能的实施方式中,所述计数更新模块,用于从所述数据包 的包头提取所述字段集,得到所述字段集中的TTL ;检测所述TTL是否小于或等于预定阈 值;如果所述TTL小于或等于所述预定阈值,则从所述数据包的包头中删除所述字段集;更 新所述数据包的入端口上与所述流标记对应的计数器值。
[0135] 在第五方面的第二种可能的实施方式中,所述计数更新模块,用于从所述数据包 的包头提取所述字段集,得到所述字段集中的TTL ;检测所述TTL是否小于或等于预定阈 值;如果所述TTL大于所述预定阈值,则将所述字段集中的TTL更新为TTL-1 ;更新所述数 据包的入端口和出端口上与所述流标记对应的计数器值。
[0136] 结合第五方面或第五方面的第一种可能的实施方式或第五方面的第二种可能的 实施方式,在第五方面的第三种可能的实施方式中,所述字段提取模块,用于从所述数据包 的以太帧头的VLAN字段之后提取所述字段集;或,所述字段提取模块,用于从所述数据包 的表示负荷的以太类型之前提取所述字段集。
[0137] 结合第五方面的第三种可能的实施方式,在第五方面的第四种可能的实施方式 中,所述节点是IP网节点,所述下游相邻节点是IP网节点;
[0138] 所述计数更新模块,还用于在所述数据包的外部IP报文头之后、内部以太帧头之 前插入新的字段集;将所述新的字段集中的流标记设置为提取到的所述流标记,将所述新 的字段集中的TTL设置为提取到的TTL-1。
[0139] 结合第五方面或第五方面的第一种可能的实施方式或第五方面的第二种可能的 实施方式,在第五方面的第五种可能的实施方式中,所述字段集包括新的隧道头或原始隧 道头中的新增字段;
[0140] 所述字段提取模块,用于从所述数据包的外部IP报文头之后、内部负荷之前提取 所述字段集。
[0141] 结合第五方面的第五种可能的实施方式,在第五方面的第六种可能的实施方式 中,所述节点为IP网节点、所述下游相邻节点是以太网节点;
[0142] 所述计数更新模块,还用于删除位于所述数据包的外部IP报文头之后、内部以太 帧头之前的所述字段集;判断所述数据包的内部以太帧头中是否存在其他字段集;如果存 在,则将所述其他字段集中的TTL设置为提取到的TTL-1 ;如果不存在,则在所述数据包 的以太帧头中插入新的字段集,并将所述新的字段集中的流标记设置为提取到的所述流标 记,将所述新的字段集中的TTL设置为提取到的TTL-1。
[0143] 结合第五方面或第五方面的第一种可能的实施方式或第五方面的第二种可能的 实施方式或第五方面的第三种可能的实施方式或第五方面的第四种可能的实施方式或第 五方面的第五种可能的实施方式或第五方面的第六种可能的实施方式,在第五方面的第七 种可能的实施方式中,所述节点是目的侧边缘节点;或,所述下游相邻节点是所述数据包的 目的端设备;
[0144] 所述节点,还包括:
[0145] 字段删除模块,用于从所述数据包的包头中删除所述字段集。
[0146] 结合第五方面或第五方面的第一种可能的实施方式或第五方面的第二种可能的 实施方式或第五方面的第三种可能的实施方式或第五方面的第四种可能的实施方式或第 五方面的第五种可能的实施方式或第五方面的第六种可能的实施方式或第五方面的第七 种可能的实施方式,在第五方面的第八种可能的实施方式中,所述节点还包括:初始化模 块;
[0147] 所述接收模块,还用于接收初始化指令;
[0148] 所述初始化模块,还用于将各个端口上与所述流标记对应的计数器值置为初始 值。
[0149] 结合第五方面或第五方面的第一种可能的实施方式或第五方面的第二种可能的 实施方式或第五方面的第三种可能的实施方式或第五方面的第四种可能的实施方式或第 五方面的第五种可能的实施方式或第五方面的第六种可能的实施方式或第五方面的第七 种可能的实施方式或第五方面的第八种可能的实施方式,在第五方面的第九种可能的实施 方式中,
[0150] 所述接收模块,还用于接收提取指令;
[0151] 所述发送模块,还用于上报各个端口上与所述流标记对应的计数器值。
[0152] 第六方面,本发明实施例提供了一种网络管理中心,所述网络管理中心包括:
[0153] 计数提取模块,用于提取监控范围内的所有节点的各个端口上与流标记对应的第 一计数器值;
[0154] 发送模块,用于向所述监控范围内的指定节点发送监控指令,所述监控指令用于 指示所述指定节点对符合预定条件的数据包的包头中插入字段集,所述字段集包括指定类 型的标识和流标记;所述预定条件是所述数据包的流特征与需要监控的流的流特征匹配, 所述指定类型的标识用于触发所述数据包经过的节点更新所述数据包经过的端口上与所 述流标记对应的计数器值,所述流标记用于标识所述需要监控的流;
[0155] 定时模块,用于设置定时器;
[0156] 所述计数提取模块,还用于在所述定时器到期时,提取所述监控范围内的所有节 点的各个端口上与所述流标记对应的第二计数器值;
[0157] 计算模块,用于根据每个端口的第一计数器值和第二计数器值计算得到每个端口 的第三计数器值;
[0158] 丢包测量模块,用于根据上下游相邻端口的第三计数器值的差值进行节点内和/ 或节点间丢包测量。
[0159] 在第六方面的第一种可能的实施方式中,所述丢包测量模块,用于选择所述监控 范围内的一条路径上的源端口作为当前端口;检测所述当前端口的下游相邻端口的第三计 数器值是否小于所述当前端口的第三计数器值;如果所述下游相邻端口的第三计数器值 小于所述当前端口的第三计数器值,则确定所述当前端口和所述下游相邻端口之间存在丢 包。
[0160] 在第六方面的第二种可能的实施方式中,所述丢包测量模块,用于选择所述监控 范围内的一条路径上的源端口作为当前端口;检测所述当前端口的下游相邻端口是否与所 述当前端口属于同一节点;如果所述下游相邻端口和所述当前端口属于同一节点,贝U检测 所述下游相邻端口的第三计数器值是否小于所述当前端口的第三计数器值;如果所述下游 相邻端口的第三计数器值小于所述当前端口的第三计数器值,则确定所述节点存在丢包。
[0161] 结合第六方面的第二种可能的实施方式,在第六方面的第三种可能的实施方式 中,所述丢包测量模块,还用于如果所述下游相邻端口和所述当前端口不属于同一节点,则 将所述下游相邻端口确定为新的当前端口,执行检测所述新的当前端口的下游相邻端口是 否与所述新的当前端口属于同一节点的步骤。
[0162] 在第六方面的第四种可能的实施方式中,所述丢包测量模块,用于选择所述监控 范围内的一条路径上的源端口作为当前端口;检测所述当前端口的下游相邻端口是否与所 述当前端口属于同一节点;如果所述下游相邻端口和所述当前端口不属于同一节点,贝 1J检 测所述下游相邻端口的第三计数器值是否小于所述当前端口的第三计数器值;如果所述下 游相邻端口的第三计数器值小于所述当前端口的第三计数器值,则确定所述当前端口所属 的节点和所述下游相邻端口所属的节点之间存在丢包。
[0163] 结合第六方面的第四种可能的实施方式,在第六方面的第五种可能的实施方式 中,所述丢包测量模块,还用于如果所述下游相邻端口和所述当前端口属于同一节点,则将 所述下游相邻端口确定为新的当前端口,执行检测所述新的当前端口的下游相邻端口是否 与所述新的当前端口属于同一节点的步骤。
[0164] 结合第六方面的第一种可能的实施方式或第六方面的第二种可能的实施方式或 第六方面的第四种可能的实施方式,在第六方面的第五种可能的实施方式中,所述网络管 理中心,还包括:
[0165] 出口检测模块,用于检测所述下游相邻端口是否为所述路径的出端口;
[0166] 所述丢包测量模块,还用于如果所述下游相邻端口不是所述路径的出端口,则将 所述下游相邻端口确定为新的当前端口;
[0167] 路径检测模块,用于如果所述下游相邻端口是所述路径的出端口,则检测所述监 控范围是否还存在其它路径;
[0168] 所述丢包测量模块,还用于如果所述监控范围还存在其它路径,则选择所述其它 路径上的源端口作为新的当前端口。
[0169] 结合第六方面或第六方面的第一种可能的实施方式或第六方面的第二种可能的 实施方式或第六方面的第三种可能的实施方式或第六方面的第四种可能的实施方式或第 六方面的第五种可能的实施方式,在第六方面的第六种可能的实施方式中,所述发送模块, 还用于向监控范围内的所有节点发送初始化指令,所述初始化指令用于指示所述节点将各 个端口上与所述流标记对应的计数器值置为初始值。
[0170] 本发明根据流特征来为数据包插入字段集,节点根据该字段集来对数据包经过的 端口上与流标记对应的计数器值进行计数;解决了现有技术中无法对单个流进行故障定位 的问题;达到了可以针对单个流中的数据包进行监控的效果。
【附图说明】
[0171] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或 现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是 本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可 以根据这些附图获得其他的附图。
[0172] 图1是现有技术提供的数据包计数方法的流程示意图;
[0173] 图2A是本发明一个实施例提供的交换网络的架构示意图;
[0174] 图2B是本发明一个实施例提供的以太交换网络的路径示意图;
[0175] 图2C是本发明一个实施例提供的以太-IP交换网络的路径示意图;
[0176] 图3是本发明一个实施例提供的网络运维管理方法的流程示意图;
[0177] 图4是本发明另一个实施例提供的网络运维管理方法的流程示意图;
[0178] 图5是本发明再一个实施例提供的网络运维管理方法的流程示意图;
[0179] 图6A是本发明一个实施例提供的网络运维管理方法的流程示意图;
[0180] 图6B是本发明另一个实施例提供的网络运维管理方法的流程示意图;
[0181] 图6C是本发明另一个实施例提供的网络运维管理方法的流程示意图;
[0182] 图6D是本发明另一个实施例提供的网络运维管理方法的流程示意图;
[0183] 图7是本发明一个实施例提供的故障处理方法的流程示意图;
[0184] 图8是本发明一个实施例提供的网络运维管理方法的流程示意图;
[0185] 图9是本发明另一个实施例提供的网络运维管理方法的流程示意图;
[0186] 图10是本发明另一个实施例提供的网络运维管理方法的流程示意图;
[0187] 图11是本发明另一个实施例提供的网络运维管理方法的流程示意图;
[0188] 图12是本发明一个实施例提供的路径发现方法的流程示意图;
[0189] 图13A是本发明另一个实施例提供的路径发现方法的流程示意图;
[0190] 图13B是本发明另一个实施例提供的路径发现方法的流程示意图;
[0191] 图13C是本发明另一个实施例提供的路径发现方法的流程示意图;
[0192] 图14是本发明另一个实施例提供的交换网络的架构示意图;
[0193] 图15是本发明实施例中网络管理中心向节点发送的指令的格式示意图;
[0194] 图16是本发明一个实施例提供的边缘节点的结构示意图;
[0195] 图17是本发明另一个实施例提供的边缘节点的结构示意图;
[0196] 图18是本发明一个实施例提供的节点的结构示意图;
[0197] 图19是本发明另一个实施例提供的节点的结构示意图;
[0198] 图20是本发明一个实施例提供的网络管理中心的结构示意图;
[0199] 图21是本发明另一个实施例提供的网络管理中心的结构示意图;
[0200] 图22是本发明另一个实施例提供的节点的结构示意图;
[0201] 图23是本发明另一个实施例提供的网络管理中心的结构示意图;
[0202] 图24是本发明一个实施例提供的网络运维管理系统的结构示意图。
【具体实施方式】
[0203] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方 式作进一步地详细描述。
[0204] 参考图2A,其示出了本发明实施例所涉及的一种交换网络200的架构示意图。该 交换网络200包括边缘节点220、中间节点240、控制器260和网络管理中心280。
[0205] 每个边缘节点220可以与至少一台服务器10相连。
[0206] 每个边缘节点220都与至少一个中间节点240相连。
[0207] 各个服务器10之间通过交换网络200中的节点实现互联。也即,每个服务器10 可以将报文通过交换网络200中的节点发送给其它服务器。
[0208] 交换网络200还包括有控制器260,该控制器260与每个服务器10、每个边缘节点 220、每个中间节点240分别相连。
[0209] 交换网络200还包括有网络管理中心280,该网络管理中心280可以为独立于控制 器260之外的硬件设备,也可以为控制器260中的一个逻辑模块。在下文中为了简化描述, 以网络管理中心280是独立于控制器260之外的硬件设备来举例说明。
[0210] 当该交换网络200是以太网络时,边缘节点220和中间节点240都是以太网节点, 比如交换机。换句话说,当交换网络200是以太网络时,两个服务器10之间的路径上的节 点全部为交换机,如图2B所示。
[0211] 当该交换网络200既包括以太网络,又包括IP网络时,边缘节点220可能是以太 网节点,比如交换机;也可能是IP网节点,比如路由器。中间节点220可能是以太网节点, 比如交换机;也可能是IP网节点,比如路由器。换句话说,当交换网络200既包括以太网 络,又包括IP网络时,两个服务器10之间的路径上的节点既可能是交换机,又可能是路由 器,相邻的路由器之间通过隧道相连,如图2C所示。
[0212] 需要说明的是,图2A至图2C所示出的交换网络仅为便于本文中各个方法的描述, 但对本文中各个方法在实施时的网络环境不做具体限定。也即,既不对网络环境中节点的 数量做具体限定,也不对网络环境中的拓扑结构做具体限定。而且,本文中的监控范围可以 是整个交换网络,也可以是交换网络中的一部分。当监控范围是交换网络的一部分时,边缘 设备的划分可以以监控范围为准。
[0213] 还需要说明的是,本文中的数据包是指具有一定长度的比特序列。在以太网络中, 数据包也可以称之为以太帧;在IP网络中,数据包也可以称之为报文。但为了便于简化描 述,本文中均采用数据包作为统一描述。
[0214] 还需要说明的是,上述服务器10也可以视为边缘节点220的下游相邻节点。
[0215] 请参考图3,其示出了本发明一个实施例提供的网络运维管理方法的流程示意图。 本实施例以该网络运维管理方法应用于图2A所示的边缘节点和中间节点中的一个指定节 点来举例说明,该指定节点通常是监控范围中一条路径上的起始侧边缘节点。该网络运维 管理方法包括:
[0216] 步骤301,接收数据包。
[0217] 指定节点接收上游相邻节点发送的数据包,上游相邻节点通常是服务器,也可能 是交换网络中的节点。
[0218] 步骤302,检测所述数据包的流特征是否与需要监控的流的流特征匹配。
[0219] 需要监控的流的流特征可以由管理员配置,或者,由网络管理中心下发的监控指 令中携带。
[0220] 流特征可以分为两类:一类是数据包自身携带的信息;另一类是该数据包的目的 端设备上的特征信息。
[0221] 流特征包括如下特征中的至少一项:数据包的源IP地址、数据包的目的IP地址、 数据包的源MAC地址、数据包的目的MAC地址、数据包的源端口、数据包的目的端口、数据包 的IP协议类型、数据包的以太类型、目的端设备的端口号或端口类型、虚拟局域网标识等 等。
[0222] 步骤303,如果所述数据包的流特征与需要监控的流的流特征匹配,则在所述数据 包的包头中插入字段集,所述字段集包括指定类型的标识和流标记。
[0223] 该字段集用于实现对该数据包的随路监控。
[0224] 该字段集至少包括指定类型的标识和流标记。该指定类型的标识用于表明该数据 包的类型为随路监控类型。所述流标记用于标识需要监控的流。随路监控是指所述数据包 转发路径上的节点都需要监控所述数据包。
[0225] 该字段集中还可选包括生存期(英文:Time To Live,简称:TTL)。该TTL用于表 示该字段集在该数据包中的生存期。
[0226] 步骤304,根据所述指定类型的标识更新所述数据包经过的入端口上与所述流标 记对应的计数器值。
[0227] 该数据包在指定节点上经过一个入端口和一个出端口。指定节点根据所述指定类 型的标识更新数据包经过的入端口上与流标记对应的计数器值。
[0228] 步骤305,根据所述指定类型的标识更新所述数据包经过的出端口上与所述流标 记对应的计数器值。
[0229] 对应地,指定节点还根据所述指定类型的标识更新数据包的出端口上与流标记对 应的计数器值。
[0230] 步骤306,将所述数据包发送给下游相邻节点。
[0231] 本实施例提供的网络运维管理方法,根据流特征来为数据包插入字段集,节点根 据该字段集来对数据包经过的端口上与流标记对应的计数器值进行计数;解决了现有技术 中无法对单个流进行故障定位的问题;达到了可以针对单个流中的数据包进行监控的效 果。
[0232] 请参考图4,其示出了本发明另一个实施例提供的网络运维管理方法的流程示意 图。本实施例以该网络运维管理方法应用于图2A所示的边缘节点和中间节点中的一个节 点来举例说明,该节点通常是监控范围中一条路径上位于起始侧边缘节点之后的节点。该 网络运维管理方法包括:
[0233] 步骤401,接收数据包。
[0234] 当前节点接收上游相邻节点发送的数据包。
[0235] 步骤402,检测所述数据包的类型是否为指定类型。
[0236] 所述指定类型是随路监控类型。
[0237] 当前节点检测所述数据包的包头中是否包括所述指定类型的标识;
[0238] 如果包括,则所述数据包的类型是指定类型;如果不包括,则所述数据包的类型 不是指定类型。
[0239] 步骤403,如果所述数据包的类型是所述指定类型,则从所述数据包的包头提取字 段集,得到所述字段集中的流标记。
[0240] 所述字段集至少包括指定类型的标识和流标记。可选包括:TTL。所述指定类型的 标识用于指示该数据包的类型是随路监控类型。所述流标记用于标识需要监控的流。
[0241] 步骤404,根据所述字段集更新所述数据包经过的入端口和/或出端口上与所述 流标记对应的计数器值。
[0242] 当前节点根据所述字段集仅更新所述数据包经过的入端口上与所述流标记对应 的计数器值;或,
[0243] 当前节点根据所述字段集同时更新所述数据包经过的入端口和出端口上与所述 流标记对应的计数器值。
[0244] 步骤405,将所述数据包发送给下游相邻节点。
[0245] 下游相邻节点可能是中间节点或目的侧边缘节点,也可能是目的端设备。
[0246] 本实施例提供的网络运维管理方法,节点根据数据包中插入的字段集来对数据包 经过的端口上与流标记对应的计数器值进行计数,该字段集包括有流标记;解决了现有技 术中无法对单个流进行故障定位的问题;达到了可以针对单个流中的数据包进行监控的效 果。
[0247] 请参考图5,其示出了本发明另一个实施例提供的网络运维管理方法的流程示意 图。作为图3实施例更进一步的实施例,该网络运维管理方法包括:
[0248] 步骤501,接收初始化指令。
[0249] 指定节点接收网络管理中心的初始化指令,该初始化指令携带有流标记。该初始 化指令用于指示节点对各个端口上与所述流标记对应的计数器值置为初始值。
[0250] 步骤502,将各个端口上与所述流标记对应的计数器值置为初始值。
[0251] 指定节点为各个端口都设置有与所述流标记对应的计数器。而且,指定节点可以 为每个端口设置不止1个计数器,如果有η个需要监控的流,则为每个端口设置η个计数 器。
[0252] 该初始值通常为0。
[0253] 步骤503,接收监控指令。
[0254] 指定节点接收网络管理中心发送的监控指令。
[0255] 监控指令从功能上可以分为:用于进行路径发现的监控指令、用于进行丢包测量 的监控指令。
[0256] 监控指令,至少包括:需要监控的流的流特征。流特征可以分为两类:一类是数据 包自身携带的信息;另一类是该数据包的目的端设备上的特征信息。
[0257] 流特征包括如下特征中的至少一项:数据包的源IP地址、数据包的目的IP地址、 数据包的源MAC地址、数据包的目的MAC地址、数据包的源端口、数据包的目的端口、数据包 的IP协议类型、数据包的以太类型、目的端设备的端口号或端口类型、虚拟局域网标识等 等。
[0258] 可选地,监控指令还包括:TTL、染色时长或被染色的数据包个数。染色是指对数据 包插入所述字段集。
[0259] 步骤504,根据所述监控指令获取需要监控的流的流特征。
[0260] 所述指定节点从监控指令中提取需要监控的流的流特征。
[0261] 步骤505,接收数据包。
[0262] 指定节点接收上游相邻节点发送的数据包。上游相邻节点通常是服务器。
[0263] 步骤506,检测所述数据包的流特征是否与需要监控的流的流特征匹配;
[0264] 如果匹配,则执行步骤507 ;如果不匹配,则执行步骤512。
[0265] 步骤507,如果数据包的流特征与需要监控的流的流特征匹配,则在数据包的包头 中插入字段集,所述字段集包括指定类型的标识和所述流标记;
[0266] 该字段集用于实现对该数据包的随路监控。
[0267] 该字段集包括:指定类型的标识、所述流标记和TTL。该指定类型的标识是该数据 包的类型为随路监控类型的标识。流标记用于识别需要监控的流。该TTL用于表示该字段 集在该数据包中的生存期。
[0268] 可选地,流标记可以为颜色标识(英文:Color);或者,为组标识(英文:Group)和 颜色标识两者的组合。组标识用于标识管理组,且组标识在整个网络的管理域内唯一;颜色 标识用于在整个管理组中标识监控流,且颜色标识在整个管理组中唯一。
[0269] 步骤508,根据所述指定类型的标识更新所述数据包的入端口上与所述流标记对 应的计数器值。
[0270] 在所述数据包的包头中插入字段集之后,指定节点更新所述数据包的入端口上与 所述流标记对应的计数器值。
[0271] 步骤509,根据所述数据包的目的地址查询所述数据包的出端口。
[0272] 在以太网络中,指定节点根据所述数据包的目的MAC地址查询数据包的出端口。
[0273] 在IP网络中,指定节点根据所述数据包的目的IP地址查询数据包的出端口。
[0274] 步骤510,检测所述数据包的类型是否为指定类型。
[0275] 如果是,则执行步骤511 ;如果不是,则执行步骤513。
[0276] 步骤511,如果是,则提取所述数据包的包头中的字段集中的流标记;
[0277] 步骤512,更新所述数据包经过的出端口上与所述流标记对应的计数器值;
[0278] 步骤513,将所述数据包发送给下游相邻节点。
[0279] 在下游相邻节点是以太网节点时,所述指定节点通过链路将所述数据包发送给所 述下游相邻节点。
[0280] 在下游相邻节点是IP网节点时,所述指定节点通过隧道将所述数据包发送给所 述下游相邻节点。
[0281] 步骤514,接收提取指令。
[0282] 所述指定节点还接收网络管理中心发送的提取指令。
[0283] 步骤515,上报各个端口上与所述流标记对应的计数器值。
[0284] 在接收到所述提取指令后,所述指定节点向网络管理中心上报各个端口上与所述 流标记对应的计数器值。
[0285] 本实施例提供的网络运维管理方法,节点根据流特征来为数据包插入字段集,并 根据该字段集来对数据包经过的端口上与流标记对应的计数器值进行计数;解决了现有技 术中无法对单个流进行故障定位的问题;达到了可以针对单个流中的数据包进行监控的效 果。
[0286] 另外,由于现有技术中提供的网络运维管理方法中,每个节点仅设置1个计数器, 如果路径上存在分叉,则一个上游节点的数据包会分散至多个下游节点;如果路径汇聚,则 多个上游节点的数据包会交织至一个下游节点,导致数据包无法计数。而本实施例中为一 个节点中的每个端口上都设置有与流标记对应的计数器,即便网络拓扑中存在"节点-多 个节点"的拓扑形式,由于节点上与其它节点相连的端口是互相独立的,所以该网络运维管 理方法仍然能够正常计数。
[0287] 由于指定节点可能是以太网节点,也可能是IP网节点,所以在图5实施例中,该字 段集在数据包的包头中的插入位置也可能不同。本文不对该插入位置做具体限定,该插入 位置以不影响数据包在网络中的正常传输为确定基准。
[0288] 当指定节点是以太网节点,比如图2B中的交换机1时,在数据包的以太帧头中插 入该字段集。该字段集包括新的以太类型或现有以太类型的扩展字段。
[0289] 在数据包的包头中包括虚拟局域网VLAN字段时,在数据包的以太帧头的VLAN字 段之后插入字段集。
[0290] 在数据包的包头中不包含VLAN字段时,在数据包的以太帧头的表示负荷的以太 类型之前插入字段集。表示负荷的以太类型= 0x0800。
[0291] 比如,在数据包的包头中不包含VLAN字段时,数据包的以太帧头的目的MAC地址 (英文〖Destination MAC Address)和源 MAC 地址(英文:Source MAC Address)之后,以 太类型(英文:Ethertype)之前,以新增字段的方式插入了字段集。该字段集包括:指定类 型的标识:以太类型=0X8980、生存期、组标识和颜色标识。
[0292] 当指定节点是IP节点,比如图2C中的路由器1时,指定节点在数据包的外部IP 报文头之后、内部负荷之前插入字段集。该字段集包括新的隧道头或原始隧道头中的新增 字段。
[0293] 路由器之间的隧道可能是虚拟化可扩展的局域网(英文:Virtual extensible Local Area Network ;简称:VXLAN)格式的隧道;也可能是通用网络虚拟化封装(英文: Generic Network Virtualization Encapsulation,简称:Geneve);
[0294] 在隧道是VXLAN格式的隧道时,该数据包的包头包括:外部以太帧头、外部IP报文 头、外部用户数据报协议(英文:User Datagram Protocol ;简称:UDP)头、VXLAN隧道头、 内部以太帧头、内部IP报文头和内部负荷。在外部UDP头之后、内部帧头之前的原始VXLAN 隧道头的预留字段中插入了字段集。该字段集包括:指定类型的标识:C、生存期、组标识和 颜色标识。
[0295] 在隧道是Geneve格式的隧道时,该数据包的包头包括:外部以太帧头、外部IP报 文头、外部用户数据报协议(英文:User Datagram Protocol ;简称:UDP)头、Geneve隧道 头、内部以太帧头、内部IP报文头和载荷。在外部UDP头之后、内部帧头之前的原始Geneve 隧道头的可变长度选项中插入了字段集。该字段集包括:指定类型的标识:选项类别、生存 期、组标识和颜色标识。
[0296] 本实施例对路由器之间的隧道的格式不做具体限定,还可能是通用路由封装协议 (英文:Generic Routing Encapsulation ;简称:GRE)格式的隧道以及IP-in-IP格式的隧 道等等。路由器之间的隧道是GRE格式的隧道时,字段集可以插入在GRE隧道头之后、内部 以太帧之前;路由器之间的隧道是IP-in-IP格式的隧道时,字段集可以插入在外部IP报文 头之后、内部以太帧之前,诸如此类,不再一一赘述。
[0297] 本实施例提供的网络运维管理方法,根据指定节点的类型不同,在数据包的包头 中的不同位置添加字段集,使得该网络运维管理方法即可以用于以太网节点,也可以用于 IP网节点。而在现有技术提供的网络运维管理方法中,预定比特位是添加在IP报文头中的 比特位,仅适用于IP网节点,不适用于以太网节点。
[0298] 请参考图6A,其示出了本发明另一个实施例提供的网络运维管理方法的流程示意 图。作为图4实施例的更进一步的实施例。该网络运维管理方法包括:
[0299] 步骤601,接收初始化指令。
[0300] 当前节点接收网络管理中心的初始化指令,该初始化指令携带有流标记。该初始 化指令用于指示节点对各个端口上与所述流标记对应的计数器值置为初始值。
[0301] 步骤602,将各个端口上与所述流标记对应的计数器值置为初始值。
[0302] 当前节点为各个端口都设置有与所述流标记对应的计数器。而且,当前节点可以 为每个端口设置不止1个计数器,如果有η个需要监控的流,则为每个端口设置η个计数 器。
[0303] 该初始值通常为0。
[0304] 步骤603,接收数据包。
[0305] 所述当前节点接收上游相邻节点发送的数据包。
[0306] 步骤604,根据所述数据包的目的地址查询所述数据包的出端口。
[0307] 在以太网络中,当前节点根据所述数据包的目的MAC地址查询所述数据包的出 端口。
[0308] 在IP网络中,当前节点根据所述数据包的目的IP地址查询所述数据包的出端口。
[0309] 步骤605,检测所述数据包的类型是否为指定类型。
[0310] 所述指定类型是随路监控类型。
[0311] 所述当前节点检测所述数据包的包头中是否包括指定类型的标识;
[0312] 如果包括,则数据包的类型是指定类型;如果不包括,则数据包的类型不是指定类 型。
[0313] 步骤606,如果所述数据包的类型是所述指定类型,则从所述数据包的包头提取字 段集,得到所述字段集中的所述流标记和TTL ;
[0314] 如果所述数据包的类型是指定类型,则数据包的包头中被插入了字段集。
[0315] 所述字段集包括指定类型的标识、流标记和TTL。当前节点从所述数据包的包头提 取字段集,得到所述字段集中的所述流标记和TTL。
[0316] 在以太网络中,当前节点从数据包的以太帧头中提取字段集。也即,当前节点从所 述数据包的以太帧头的VLAN字段之后提取所述字段集;或,当前节点从所述数据包的以太 帧头的表示负荷的以太类型之前提取所述字段集。
[0317] 在IP网络中,当前节点从数据包的外部IP报文头之后、内部负荷之前提取所述字 段集。
[0318] 步骤607,检测所述TTL是否小于等于预定阈值。
[0319] 该预定阈值可以是1,也即,当前节点检测TTL是否等于1。
[0320] 如果TTL等于1,则执行步骤608 ;如果TTL大于1,则执行步骤610。
[0321] 步骤608,如果所述TTL等于1,则从所述数据包的包头中删除所述字段集。
[0322] 当前节点从所述数据包的包头中删除所述字段集,重组为初始的数据包。
[0323] 步骤609,更新所述数据包经过的入端口上与所述流标记对应的计数器值;
[0324] 所述在TTL等于1时,当前节点仅更新数据包的入端口上与所述流标记对应的计 数器值,然后执行步骤612。
[0325] 步骤610,如果所述TTL大于1,则将所述字段集中的TTL更新为(TTL-1);
[0326] 当前节点将所述字段集中的TTL更新为(TTL-1)。
[0327] 步骤611,更新所述数据包经过的入端口和出端口上与所述流标记对应的计数器 值。
[0328] 在TTL大于1时,所述当前节点同时更新数据包的入端口和出端口上与所述流标 记对应的计数器值。
[0329] 步骤612,将所述数据包发送给下游相邻节点。
[0330] 所述下游相邻节点可以是节点或目标端设备。
[0331] 步骤613,接收提取指令。
[0332] 当前节点还接收网络管理中心发送的提取指令。
[0333] 步骤614,上报各个端口上与所述流标记对应的计数器值。
[0334] 在接收到提取指令后,当前节点向网络管理中心上报各个端口上与流标记对应的 计数器值。
[0335] 本实施例提供的网络运维管理方法,节点根据数据包中插入的字段集来对数据包 经过的端口上与流标记对应的计数器值进行计数;解决了现有技术中无法对单个流进行故 障定位的问题;达到了可以针对单个流中的数据包进行监控的效果。
[0336] 另外,由于现有技术中提供的网络运维管理方法中,每个节点仅设置1个计数器, 如果路径上存在分叉,则一个上游节点的数据包会分散至多个下游节点;如果路径汇聚,则 多个上游节点的数据包会交织至一个下游节点,导致数据包无法计数。而本实施例中为一 个节点中的每个端口上都设置有与流标记对应的计数器,即便网络拓扑中存在"节点-多 个节点"的拓扑形式,由于节点上与其它节点相连的端口是互相独立的,所以该网络运维管 理方法仍然能够正常计数。
[0337] 需要说明的第一点是,由于图6A中的当前节点可能是监控范围的一条路径上的 目的侧边缘节点,该目的侧边缘节点可能是交换网络上与目的侧服务器相连的边缘节点; 也可能不是交换网络上与目的侧服务器相连的边缘节点,因为监控范围通常小于交换网 络,当前节点仅仅是监控范围的一条路径上的目的侧边缘节点。此时,当前节点也需要将所 述数据包的包头中的字段集删除,以不影响数据包的正常传输。也即,上述方法在步骤607 之后、步骤612之前还包括步骤615,如图6B所示:
[0338] 步骤615,检测当前节点是否为目的侧边缘节点,或,检测下游相邻节点是数据包 的目的端设备。
[0339] -方面,可以由网络管理中心以监控指令的形式预先告知当前节点是目的侧边缘 节点;另一方面,当前节点可以通过数据包的目的地址和下游相邻节点的地址来检测下游 相邻节点是否为数据包的目的端设备。
[0340] 如果是,则执行步骤608 ;如果否,则执行步骤610。也即,在当前节点为目的侧边 缘节点,或,下游相邻节点是数据包的目的端设备时,从数据包的包头中删除字段集,以保 证数据包的正常传输。
[0341] 需要说明的第二点是,如果上一跳节点是以太网节点、当前节点是IP网节点,下 一跳节点是IP网节点,由于数据包要从以太网络穿越到IP网络,字段集的插入位置需要发 生改变,则步骤610可替换为步骤610a和步骤610b,如图6C所示:
[0342] 步骤608a,在数据包的外部IP报文头之后、内部负荷之前插入新的字段集。
[0343] 插入过程可以参考图5所示出的实施例。
[0344] 对于位于数据包的以太帧头中已经被插入的字段集,当前节点可以删除,也可以 保留。
[0345] 步骤608b,将所述新的字段集中的流标记设置为提取到的所述流标记,将所述新 的字段集中的TTL设置为提取到的TTL-1。
[0346] 需要说明的第三点是,如果上一跳节点是IP网节点、当前节点是IP网节点,下一 跳节点是以太网节点,由于数据包要从IP网络穿越到以太网络,字段集的插入位置需要发 生改变,则步骤610可替换为步骤610c至步骤610g,如图6D所示:
[0347] 步骤610c,删除位于所述数据包的外部IP报文头之后、内部负荷之前的所述字段 集;
[0348] 步骤610d,判断数据包的以太帧头中是否其他字段集;
[0349] 步骤610e,如果存在,则将以太帧头中的所述其他字段集中的TTL设置为提取到 的 TTL-1。
[0350] 步骤610f,如果不存在,则在数据包的以太帧头中插入新的字段集;
[0351] 插入过程可以参考图5所示出的实施例。
[0352] 步骤610g,将插入的字段集中的流标记设置为提取到的流标记,将所述新的字段 集中的TTL设置为提取到的TTL-1。
[0353] 网络管理中心可以在需要进行网络故障诊断时,指示监控范围内的节点执行上述 网络运维管理方法,从而实现路径发现或者丢包测量。
[0354] 由控制器触发网络管理中心进行网络故障诊断的过程,请参考图7,其示出了本发 明一个实施例提供的故障处理方法的流程示意图。本实施例以该故障处理方法应用于图2A 所示出的交换网络200来举例说明。该故障处理方法包括:
[0355] 步骤701,每台服务器上的代理实时监控与其它服务器通信时的网络参数。
[0356] 该网络参数包括:丢包率、传输控制协议(英文〖Transmission Control Protocol,简称:TCP)重传次数、往返时延(英文:round_trip time,简称:RTT)、带宽等。
[0357] 步骤702,每台服务器根据网络参数和本机规则决策是否投票给异常的服务器。
[0358] 步骤703,在决策结果为投票给异常的服务器时,服务器向控制器投票异常的服务 器和自身。
[0359] 步骤704,控制器根据每个服务器的投票结果,将得票最多的前N个服务器确定为 问题服务器。
[0360] 步骤705,控制器查找问题服务器中通信存在异常的五元组信息,并根据该五元组 信息计算出问题通信路径。
[0361] 步骤706,控制器计算出问题通信路径上的节点,将节点报警给网络管理中心。
[0362] 该节点可以是问题通信路径上的起始侧边缘节点和目的节点,也可以是问题通信 路径上的全部节点。
[0363] 步骤707,网络管理中心根据报警的节点确定监控范围,进行网络故障诊断。
[0364] 网络管理中心根据报警的节点,确定监控范围和诊断方案,对监控范围进行网络 故障诊断。网络管理中心中可以预设多种诊断方案。
[0365] 本实施例提供的故障处理方法,控制器根据服务器的投票结果发现问题通信路 径,并将问题通信路径上的节点报警给网络管理中心,从而触发网络管理中心采用上述实 施例提供的网络运维管理方法进行网络故障诊断。
[0366] 网络管理中心在路径已知时,执行下述实施例提供的网络运维管理方法。网络管 理中心在路径未知时,需要执行下述实施例提供的路径发现方法。
[0367] 请参考图8,其示出了本发明一个实施例提供的网络运维管理方法的流程示意图。 本实施例以该网络运维管理方法应用于网络管理中心来举例说明。该网络运维管理方法包 括:
[0368] 步骤801,提取监控范围内的所有节点的各个端口上与流标记对应的第一计数器 值。
[0369] 网络管理中心向监控范围内的所有节点发送第一提取指令,网络管理中心接收每 个节点反馈的各个端口上与所述流标记对应的第一计数器值。
[0370] 或者,网络管理中心向监控范围内的所有节点发送初始化指令,该初始化指令用 于指示每个节点将各个端口上与流标记对应的计数器值置为初始值,且网络管理中心将初 始值作为第一计数器值,初始值可以为〇。
[0371] 步骤802,向监控范围内的指定节点发送监控指令,所述监控指令用于指示指定节 点对符合预定条件的数据包的包头中插入字段集,所述字段集包括指定类型的标识和流标 记。
[0372] 预定条件是数据包的流特征符合需要监控的流的流特征。
[0373] 指定类型的标识用于触发数据包经过的节点更新数据包经过的端口上与流标记 对应的计数器值。
[0374] 该监控指令包括:需要监控的流的流特征、TTL、染色时长或被染色数据包的个数。 其中,染色是指数据包的包头插入所述字段集。
[0375] 换句话说,该监控指令用于指示指定节点对符合预定条件的所有数据包的包头中 插入字段集;或,用于指示指定节点在预定时间段内对符合预定条件的所有数据包的包头 中插入字段集;或,用于指示指定节点对符合预定条件的η个数据包的包头中插入字段集, η为正整数。
[0376] 步骤803,设置定时器。
[0377] 步骤804,在所述定时器到期时,提取所述监控范围内的所有节点的各个端口上与 所述流标记对应的第二计数器值。
[0378] 网络管理中心向所述监控范围内的所有节点发送第二提取指令,网络管理中心接 收每个节点反馈的各个端口上与所述流标记对应的第二计数器值。
[0379] 步骤805,根据每个端口的所述第一计数器值和所述第二计数器值计算得到每个 端口的第三计数器值。
[0380] 将每个端口的所述第二计数器值减去所述第一计数器值得到每个端口的第三计 数器值。
[0381] 步骤806,根据上下游相邻端口的所述第三计数器值的差值进行节点内和/或节 点间丢包测量。
[0382] 本实施例提供的网络运维管理方法,通过指示指定节点对符合预定条件的数据包 的包头中插入字段集,使节点根据字段集进行网络运维管理,并根据计数结果进行丢包测 量,达到了可以针对单个流中的数据包进行丢包测量的效果。
[0383] 本实施例中的网络运维管理方法,还通过每次探测过程只对1个数据包插入字段 集,通过定时器来收集各个节点的各个端口上与流标记对应的计数器值,使得该网络运维 管理方法对全网时间同步的依赖性较低;而在现有技术中,上游节点和下游节点需要严格 的时间同步,否则不同时间周期的数据包会发生计数偏差。
[0384] 图8所示出的网络运维管理方法可以进行三种形式的丢包测量:
[0385] 第一,一条路径上任意两个相邻端口之间的丢包测量;
[0386] 第二,一条路径上每个节点内的丢包测量;
[0387] 第三,一条路径上任意两个相邻节点间的丢包测量。
[0388] 对于第一种丢包测量方式,步骤806可替换为步骤806a至步骤806i,如图9所示。
[0389] 步骤806a,选择所述监控范围内的一条路径上的源端口作为当前端口。
[0390] 步骤806b,检测所述当前端口的下游相邻端口的第三计数器值是否小于所述当前 端口的第三计数器值。
[0391] 步骤806c,如果所述下游相邻端口的第三计数器值小于所述当前端口的第三计数 器值,则确定所述当前端口和所述下游相邻端口之间存在丢包。
[0392] 步骤806d,如果所述下游相邻端口的第三计数器值等于所述当前端口的第三计数 器值,则确定所述当前端口和所述下游相邻端口之间不存在丢包。
[0393] 步骤806e,检测所述下游相邻端口是否为所述路径的出端口。
[0394] 步骤806f,如果所述下游相邻端口是所述路径的出端口,则检测所述监控范围是 否还存在其它路径。
[0395] 步骤806h,如果所述监控范围还存在其它路径,则选择所述其它路径上的源端口 作为新的当前端口。
[0396] 再次执行步骤806b。
[0397] 步骤806g,如果所述下游相邻端口不是所述路径的出端口,则将所述下游相邻端 口确定为新的当前端口。
[0398] 再次执行步骤806b。
[0399] 步骤806 i,结束流程。
[0400] 对于第二种丢包测量方式,步骤806a和806b之间还增加有步骤807和步骤808, 如图10所示。
[0401 ] 步骤807,检测所述当前端口的下游相邻端口是否与所述当前端口属于同一节点。
[0402] 如果是,则执行步骤806b。
[0403] 如果否,则执行步骤808。
[0404] 步骤808,将所述下游相邻端口确定为新的当前端口。
[0405] 在所述当前端口和所述下游相邻端口不属于同一节点时,网络管理中心跳过这两 个端口的丢包测量,将所述下游相邻端口确定新的当前端口后,再次执行步骤807。也即,检 测所述新的当前端口的下游相邻端口是否与所述新的当前端口属于同一节点。
[0406] 对于第三种丢包测量方式,步骤806a和806b之间还增加有步骤809和步骤810, 如图11所示。
[0407] 步骤809,检测所述当前端口的下游相邻端口是否与所述当前端口属于同一节点。
[0408] 如果否,则执行步骤806b。
[0409] 如果是,则执行步骤810。
[0410] 步骤810,将所述下游相邻端口确定为新的当前端口。
[0411] 在所述当前端口和所述下游相邻端口属于同一节点时,网络管理中心跳过这两个 端口的丢包测量,将所述下游相邻端口确定新的当前端口后,再次执行步骤809。也即,检 测所述新的当前端口的下游相邻端口是否与所述新的当前端口属于同一节点。
[0412] 请参考图12,其示出了本发明一个实施例提供的路径发现方法的流程示意图。本 实施例以该路径发现方法应用于网络管理中心来举例说明。该路径发现方法包括:
[0413] 步骤1201,向监控范围内的指定节点发送监控指令,所述监控指令用于指示指定 节点对符合预定条件的一个数据包的包头中插入字段集,所述字段集包括指定类型的标 识、流标记和生存期TTL。
[0414] 指定节点通常是路径上的起始侧边缘节点。在路径的起始侧边缘节点已知时,该 指定节点为确定的节点;在路径的起始侧边缘节点未知时,该指定节点是所有可能作为起 始侧边缘节点的节点。
[0415] 预定条件是数据包的流特征符合需要监控的流的流特征。指定类型的标识是该数 据包的类型为随路监控类型的标识。流标记是需要监控的流的标识。该TTL用于表示该字 段集在该数据包中的生存期。
[0416] 其中,指定类型的标识用于触发数据包经过的节点更新数据包经过的端口上与流 标记对应的计数器值。
[0417] 监控指令,还可以包括染色时长和被染色数据包的个数,染色是指对数据包插入 字段集。本实施例中,被染色数据包的个数通常为1。
[0418] 在路径发现的第一次探测过程中,TTL通常设置为1。
[0419] 步骤1202,设置定时器。
[0420] 定时器的值大于数据包的单次传输时长。
[0421 ] 步骤1203,在所述定时器到期时,提取所述监控范围内的各个节点的各个端口上 与所述流标记对应的计数器值。
[0422] 步骤1204,根据所述计数器值在所述监控范围内确定所述需要监控的流的路径。
[0423] 本实施例提供的路径发现方法,通过指示指定节点对符合预定条件的数据包的包 头中插入字段集,使节点根据字段集进行网络运维管理,并根据计数结果进行路径发现。解 决了现有技术中无法对单个流进行故障定位的问题;达到了可以针对单个流中进行路径发 现的效果。
[0424] 请参考图13A,在图12所示的基础上,其示出了本发明一个实施例提供的路径发 现方法的流程示意图。该路径发现方法中,步骤1201前还包括:
[0425] 步骤1200,向监控范围内的所有节点发送初始化指令,初始化指令用于指示节点 将各个端口上与流标记对应的计数器值置为初始值。
[0426] 该初始值可以为0。
[0427] 所述步骤1204具体包括:
[0428] 步骤1204a,检测最近一次出现的计数器值为非初始值的端口与路径已知上的距 离源端最远的端口是否属于同一节点的端口。
[0429] 通常,一次探测过程会导致两个端口上与流标记对应的计数器值由初始值变为初 始值+1。
[0430] 对于这两个端口,网络管理中心检测最近一次出现的计数器值为非初始值的端口 与路径上已知的距离源端最远的端口是否属于同一节点的端口。
[0431] 由于与源端相连的端口通常是已知状态,初始状态下,路径上已知的距离源端最 远的端口就是起始侧边缘节点上与源端相连的端口。
[0432] 步骤1204b,如果端口与路径上已知的距离源端最远的端口属于同一节点的端口, 则确定端口是路径上已知的距离源端最远的端口的下游相邻端口。
[0433] 步骤1204c,如果端口与路径上已知上的距离源端最远的端口不属于同一节点的 端口,则确定端口是路径上已知的距离源端最远的端口的下下游端口。
[0434] 步骤1204d,将端口插入路径。
[0435] 步骤1204e,将TTL更新为TTL+1,再次执行向监控范围内的指定节点发送监控指 令的步骤。
[0436] 本实施例提供的路径发现方法,通过指示指定节点对符合预定条件的数据包的包 头中插入字段集,使节点根据字段集进行网络运维管理,并根据计数结果进行路径发现。解 决了现有技术中无法对单个流进行故障定位的问题;达到了可以针对单个流中进行路径发 现的效果。
[0437] 本实施例中的路径发现方法,还通过每次探测过程只对1个数据包插入字段集, 通过定时器来收集各个节点的各个端口上与流标记对应的计数器值,使得该路径发现方法 对全网时间同步的依赖性较低;而在现有技术中,上游节点和下游节点需要严格的时间同 步,否则不同时间周期的数据包会发生计数偏差。
[0438] 另外,由于本实施例中为节点的各个端口都设置有与流标记对应的计数器,能够 实现以端口为单位的路径发现流程,使发现的路径更为准确和细化。
[0439] 需要说明的是,如果目的侧边缘节点为已知,则上述步骤1204e可替换为步骤 1205至步骤1207,如图13B所示。
[0440] 步骤1205,判断目的侧边缘节点的各个端口上与流标记对应的计数器值是否具有 非初始值。
[0441] 如果不具有非初始值,则进入步骤1206 ;如果具有非初始值,则进入步骤1207。
[0442] 步骤1206,如果目的侧边缘节点的各个端口上与流标记对应的计数器值都不具有 非初始值,则执行将TTL更新为TTL+1的步骤。
[0443] 步骤1207,如果目的侧边缘节点的一个端口上与流标记对应的计数器值具有非初 始值,则结束本次路径发现诊断。
[0444] 需要说明的是,如果目的侧边缘节点为未知,则上述步骤1204e至步骤1204g可替 换为步骤1208至步骤1210,如图13C所示。
[0445] 步骤1208,判断TTL是否大于或等于最大阈值。
[0446] 如果TTL小于最大阈值,则进入步骤1209 ;如果TTL大于或等于最大阈值,则进入 步骤1210。
[0447] 步骤1209,如果TTL小于最大阈值,则执行将TTL更新为TTL+1的步骤。
[0448] 步骤1210,如果TTL大于或等于最大阈值,则结束本次路径发现诊断。
[0449] 下面结合图14所示出的网络拓扑对图13A提供的路径发现方法做更进一步的说 明。图14所示出的网络拓扑包括节点1、节点2、节点3、节点4和节点5。
[0450] 节点1包括端口 1、端口 2和端口 3。其中,端口 1分别与端口 2和端口 3相连,节 点1通过端口 2与节点2上的端口 4相连,节点1通过端口 3与节点3上的端口 6相连。
[0451] 节点2包括端口 4和端口 5。其中,端口 4和端口 5相连,节点2通过端口 5与节 点4的端口 8相连。
[0452] 节点3包括端口 6和端口 7。其中,端口 6和端口 7相连,节点3通过端口 7与节 点4上的端口 9相连。
[0453] 节点4包括端口 8、端口 9和端口 10。其中,端口 8和端口 9分别与端口 10相连, 节点4通过端口 10与节点5上的端口 11相连。
[0454] 节点5包括端口 11和端口 12,端口 11和端口 12相连。
[0455] 在初始状态,网络管理中心对每个节点所包括的端口、起始侧边缘节点为节点1、 目的侧边缘节点是节点5为已知状态,但对端口之间的连接关系未知。
[0456] 首先,网络管理中心向各个节点发送初始化指令,该初始化指令指示各个节点将 各个端口上与流标记为1〇〇的计数器值置为〇。每个端口上可以为不同的流标记设置各自 对应的计数器值此时,计数器值示意如下:
[0457]
[0458] 在第一次探测过程中,网络管理中心向节点1发送监控指令,该监控指令指示节 点1对流标记为100的一个数据包插入字段集,且TTL为1。在定时器到期后,计数器值示 意如下:
[0459]
[0460] 其中,端口 1是与源端设备相连的端口,首先将端口 1作为路径上已知的距离源端 最远的端口。端口 2和端口 4是最近一次出现的计数器值非0的端口,由于端口 2和端口 1 属于同一节点,将端口 2作为端口 1的下游相邻端口;端口 4和端口 1不属于同一节点,将 端口 4作为端口 1的下下游端口。将这两个端口插入路径,得到路径为:节点1的端口 1 - 节点1的端口 2 -节点2的端口 4。
[0461] 由于目的侧边缘节点5的端口上的计数器都是0,将TTL+1后,执行第二次探测过 程。
[0462] 在第二次探测过程中,网络管理中心向节点1发送监控指令,该监控指令指示节 点1对流标记为100的一个数据包插入字段集,且TTL为2。在定时器到期后,计数器值示 意如下:
[0463]
[0464] 此时,端口 4是路径上已知的距离源端最远的端口,端口 5和端口 8是最近一次出 现的计数器值非〇的端口,由于端口 5和端口 4属于同一节点,将端口 5作为端口 4的下游 相邻端口;端口 8和端口 4不属于同一节点,将端口 8作为端口 4的下下游端口。将这两个 端口插入路径,得到路径为:节点1的端口 1 -节点1的端口 2 -节点2的端口 4 -节点2 的端口 5 -节点4的端口 8。
[0465] 由于目的侧边缘节点5的端口上的计数器都是0,将TTL+1后,执行第三次探测过 程。
[0466] 在第三次探测过程中,网络管理中心向节点1发送监控指令,该监控指令指示节 点1对流标记为100的一个数据包插入字段集,且TTL为3。在定时器到期后,计数器值示 意如下:
[0467]
[0468] 此时,端口 8是路径上已知的距离源端最远的端口,端口 10和端口 11是最近一次 出现的计数器值非0的端口,由于端口 10和端口 11属于同一节点,将端口 10作为端口 8的 下游相邻端口;端口 11和端口 8不属于同一节点,将端口 11作为端口 8的下下游端口。将 这两个端口插入路径,得到路径为:节点1的端口 1 -节点1的端口 2 -节点2的端口 4 - 节点2的端口 5 -节点4的端口 8 -节点4的端口 10 -节点5的端口 11。
[0469] 由于目的侧边缘节点5的端口 11上的计数器由0变为1,终止本次路径发现过程。
[0470] 但需要补充说明的是,由于网络拓扑的复杂性和数据包的路径不确定性,在上述 探测过程中,可能会出现数据包流经节点3的情形。在第二次探测过程中,网络管理中心向 节点1发送监控指令,该监控指令指示节点1对流标记为100的一个数据包插入字段集,且 TTL为2。在定时器到期后,计数器值示意如下:
[0471]
[0472] 此时,端口 4是路径上已知的距离源端最远的端口,与第一次探测相比,端口 3、端 口 6、端口 7和端口 9是最近一次出现的计数器值非0的端口,网络管理中心检测出最近一 次出现的计数器值非0的端口与端口 4均不属于同一节点,则网络管理中心重新执行第二 次探测过程。
[0473] 也即,上述路径发现方法还可选包括:在最近一次出现的计数器值非初始值的端 口与路径上已知的距离源端最远的端口均不属于同一节点时,保持TTL不变,再次执行向 指定节点发送监控指令的步骤。
[0474] 需要说明的是,由于每个端口上为不同流标记设置有各自对应的计数器值,针对 不同监控流的路径发现过程可以并行执行,只需要每个流标记各自唯一即可。
[0475] 还需要补充说明的是,上述实施例中以路径发现的最开始,网络管理中心向各个 节点发送一次初始化指令为例来举例说明。但是作为另外一种可能的实施方式,网络管理 中心每次向各个节点发送监控指令之前,都可以发送一次初始化指令,要求每个节点将流 标记对应的计数器值置为初始值。在这种实施方式下,每次探测后的计数器值示意如下:
[0476]
[0478] 请参考图15,其示出了本发明一个实施例提供的网络管理中心向节点发送的指令 的格式示意图。该指令是提取指令、初始化指令或监控指令。该指令包括:
[0479] 命令类字段(英文:command class)、类型字段(英文:type)、长度字段(英文: length)、命令描述字段(英文:command specification)。其中:
[0480] 命令类字段,可以置为:设置(英文:set)和提取(英文:get)。
[0481] 类型字段,可以置为:流描述(英文:flow specification)、初始化(英文: initialize)、组标识(英文:group)、颜色标识(英文:color)、节点标识(英文:node)、端 口标识(英文:P〇rt)。
[0482] 其中,提取指令通常包括:命令类字段为提取,组标识和颜色标识。初始化指令通 常包括:命令类字段为设置,类型字段包括初始化、组标识和颜色标识。监控指令通常包括: 命令类字段为设置,类型字段包括流描述、组标识和颜色标识。
[0483] 请参考图16,其示出了本发明一个实施例提供的边缘节点的结构示意图,该边缘 节点也可称之为网络运维管理装置,该边缘节点通常为监控范围内一条路径上的起始侧边 缘节点,所述边缘节点能够执行图3和图5所示的方法。所述边缘节点包括:
[0484] 接收模块1610,用于接收数据包。
[0485] 特征匹配模块1620,用于检测所述数据包的流特征是否与需要监控的流的流特征 匹配。
[0486] 字段插入模块1630,用于如果所述数据包的流特征与所述需要监控的流的流特征 匹配,则在所述数据包的包头中插入字段集,所述字段集包括指定类型的标识和流标记;所 述流标记用于标识所述需要监控的流。
[0487] 入端口更新模块1640,用于根据所述指定类型的标识更新所述数据包经过的入端 口上与所述流标记对应的计数器值。
[0488] 出端口更新模块1650,用于根据所述指定类型的标识更新所述数据包经过的出端 口上与所述流标记对应的计数器值。
[0489] 发送模块1660,用于将所述数据包发送给下游相邻节点。
[0490] 本实施例提供的边缘节点,根据流特征来为数据包插入字段集,节点根据该字段 集来对数据包经过的端口上与流标记对应的计数器值进行计数;解决了现有技术中无法对 单个流进行故障定位的问题;达到了可以针对单个流中的数据包进行监控的效果。
[0491] 可选地,所述字段插入模块1630,用于在所述数据包的以太帧头的VLAN字段之后 插入所述字段集;或,所述字段插入模块1630,用于在所述数据包的表示负荷的以太类型 之前插入所述字段集。
[0492] 可选地,所述字段集包括新的隧道头或原始隧道头中的新增字段。
[0493] 所述字段插入模块1630,用于在所述数据包的外部IP报文头之后、内部负荷之前 插入所述字段集。
[0494] 可选地,在图16所示的基于上,如图17所示,在另一个实施例中,所述边缘节点还 可以进一步包括:特征获取模块1670。
[0495] 所述接收模块1610,还用于接收监控指令。
[0496] 所述特征获取模块1670,用于根据所述监控指令获取所述需要监控的流的流特 征。
[0497] 可选地,所述出端口更新模块1650,用于根据所述数据包的目的地址查询所述数 据包的出端口;检测所述数据包的类型是否为所述指定类型;如果所述数据包的类型是所 述指定类型,则提取所述字段集中的流标记;更新所述出端口上与所述流标记对应的计数 器值。
[0498] 可选地,所述边缘节点还包括:初始化模块1680。
[0499] 所述接收模块1610,还用于接收初始化指令。
[0500] 所述初始化模块1680,用于将各个端口上与所述流标记对应的计数器值置为初始 值。
[0501] 可选地,所述接收模块1610,还用于接收提取指令;所述发送模块1660,还用于上 报各个端口上与所述流标记对应的计数器值。
[0502] 本实施例提供的边缘节点,根据流特征来为数据包插入字段集,并根据该字段集 来对数据包经过的端口上与流标记对应的计数器值进行计数;解决了现有技术中无法对单 个流进行故障定位的问题;达到了可以针对单个流中的数据包进行监控的效果。
[0503] 另外,由于现有技术中提供的方法中,每个节点仅设置1个计数器,如果路径上存 在分叉,则一个上游节点的数据包会分散至多个下游节点;如果路径汇聚,则多个上游节点 的数据包会交织至一个下游节点,导致数据包无法计数。而本实施例中为边缘节点中的每 个端口上都设置有与流标记对应的计数器,即便网络拓扑中存在"节点-多个节点"的拓扑 形式,由于节点上与其它节点相连的端口是互相独立的,所以该边缘节点仍然能够正常计 数。
[0504] 请参考图18,其示出了本发明一个实施例提供的节点的结构示意图。该节点也可 称之为网络运维管理装置,该节点通常是监控范围内一条路径上位于起始侧边缘节点之后 的中间节点或者边缘节点。所述节点可以执行如图4或图6A所示出的方法,所述节点包 括:
[0505] 接收模块1810,用于接收数据包。
[0506] 类型检测模块1820,用于检测所述数据包的类型是否为指定类型。
[0507] 字段提取模块1830,用于如果所述数据包的类型是所述指定类型,则从所述数据 包的包头提取字段集,得到所述字段集中的流标记。
[0508] 计数更新模块1840,用于根据所述字段集更新所述数据包经过的入端口和/或出 端口上的与所述流标记对应的计数器值。
[0509] 发送模块1850,用于将所述数据包发送给下游相邻节点。
[0510] 本实施例提供的节点,根据数据包中插入的字段集来对数据包经过的端口上与流 标记对应的计数器值进行计数,该字段集包括有流标记;解决了现有技术中无法对单个流 进行故障定位的问题;达到了可以针对单个流中的数据包进行监控的效果。
[0511] 可选地,所述计数更新模块1840,用于从所述数据包的包头提取所述字段集,得到 所述字段集中的生存期TTL ;检测所述TTL是否小于或等于预定阈值;如果所述TTL小于或 等于所述预定阈值,则从所述数据包的包头中删除所述字段集;更新所述数据包的入端口 上与所述流标记对应的计数器值。
[0512] 可选地,所述计数更新模块1840,用于从所述数据包的包头提取所述字段集,得到 所述字段集中的生存期TTL ;检测所述TTL是否小于或等于预定阈值;如果所述TTL大于所 述预定阈值,则将所述字段集中的TTL更新为TTL-1 ;更新所述数据包的入端口和出端口上 与所述流标记对应的计数器值。
[0513] 可选地,所述字段提取模块1830,用于从所述数据包的以太帧头的VLAN字段之后 提取所述字段集;或,所述字段提取模块1830,用于从所述数据包的表示负荷的以太类型 之前提取所述字段集。
[0514] 可选地,所述节点是IP网节点,下游相邻节点是IP网节点。
[0515] 所述计数更新模块1840,还用于在所述数据包的外部IP报文头之后、内部以太帧 头之前插入新的字段集;将所述新的字段集中的流标记设置为提取到的所述流标记,将所 述新的字段集中的TTL设置为提取到的TTL-1。
[0516] 可选地,所述字段集包括新的隧道头或原始隧道头中的新增字段。
[0517] 所述字段提取模块1830,用于从所述数据包的外部IP报文头之后、内部负荷之前 提取所述字段集。
[0518] 可选地,所述节点为IP网节点、下游相邻节点是以太网节点。
[0519] 所述计数更新模块1840,还用于删除位于所述数据包的外部IP报文头之后、内部 以太帧头之前的所述字段集;判断所述数据包的内部以太帧头中是否存在其他字段集;如 果存在,则将所述其他字段集中的TTL设置为提取到的TTL-1 ;如果不存在,则在所述数据 包的以太帧头中插入新的字段集,并将所述新的字段集中的流标记设置为提取到的所述流 标记,将所述新的字段集中的TTL设置为提取到的TTL-1。
[0520] 可选地,所述节点是目的侧边缘节点;或,所述下游相邻节点是所述数据包的目的 端设备。
[0521] 可选地,在图18所示的基于上,如图19所示,在另一个实施例中,所述边缘节点还 可以进一步包括:
[0522] 字段删除模块1860,用于从所述数据包的包头中删除所述字段集。
[0523] 可选地,所述节点还包括:初始化模块1870。
[0524] 所述接收模块1810,还用于接收初始化指令。
[0525] 所述初始化模块1870,还用于将各个端口上与所述流标记对应的计数器值置为初 始值。
[0526] 可选地,所述接收模块1810,还用于接收提取指令.
[0527] 所述发送模块1850,还用于上报各个端口上与所述流标记对应的计数器值。
[0528] 本实施例提供的节点,根据流特征来为数据包插入字段集,并根据该字段集来对 数据包经过的端口上与流标记对应的计数器值进行计数;解决了现有技术中无法对单个 流进行故障定位的问题;达到了可以针对单个流中的数据包进行监控的效果。
[0529] 另外,由于现有技术中提供的方法中,每个节点仅设置1个计数器,如果路径上存 在分叉,则一个上游节点的数据包会分散至多个下游节点;如果路径汇聚,则多个上游节点 的数据包会交织至一个下游节点,导致数据包无法计数。而本实施例中为一个节点中的每 个端口上都设置有与流标记对应的计数器,即便网络拓扑中存在"节点-多个节点"的拓扑 形式,由于节点上与其它节点相连的端口是互相独立的,所以该节点仍然能够正常计数。
[0530] 请参考图20,其示出了本发明一个实施例提供的网络管理中心的结构示意图。该 网络管理中心也可以称为网络运维管理装置,该网络管理中心包括:
[0531 ] 计数提取模块2010,用于提取监控范围内的所有节点的各个端口上与流标记对应 的第一计数器值。
[0532] 发送模块2020,用于向所述监控范围内的指定节点发送监控指令,所述监控指令 用于指示所述指定节点对符合预定条件的数据包的包头中插入字段集,所述字段集包括指 定类型的标识和流标记;所述预定条件是所述数据包的流特征与需要监控的流的流特征匹 配,所述指定类型的标识用于触发所述数据包经过的节点更新所述数据包经过的端口上与 所述流标记对应的计数器值,所述流标记用于标识所述需要监控的流。
[0533] 定时模块2030,用于设置定时器。
[0534] 所述计数提取模块2010,还用于在所述定时器到期时,提取所述监控范围内的所 有节点的各个端口上与所述流标记对应的第二计数器值。
[0535] 计算模块2040,用于根据每个端口的第一计数器值和第二计数器值计算得到每个 端口的第三计数器值。
[0536] 丢包测量模块2050,用于根据上下游相邻端口的第三计数器值的差值进行节点内 和/或节点间丢包测量。
[0537] 本实施例提供的网络管理中心,通过指示指定节点对符合预定条件的数据包的包 头中插入字段集,使节点根据字段集进行网络运维管理,并根据计数结果进行丢包测量,达 到了可以针对单个流中的数据包进行丢包测量的效果。
[0538] 可选地,所述丢包测量模块2050,用于选择所述监控范围内的一条路径上的源端 口作为当前端口;检测所述当前端口的下游相邻端口的第三计数器值是否小于所述当前端 口的第三计数器值;如果所述下游相邻端口的第三计数器值小于所述当前端口的第三计数 器值,则确定所述当前端口和所述下游相邻端口之间存在丢包。
[0539] 可选地,所述丢包测量模块2050,用于选择所述监控范围内的一条路径上的源端 口作为当前端口;检测所述当前端口的下游相邻端口是否与所述当前端口属于同一节点; 如果所述下游相邻端口和所述当前端口属于同一节点,则检测所述下游相邻端口的第三计 数器值是否小于所述当前端口的第三计数器值;如果所述下游相邻端口的第三计数器值小 于所述当前端口的第三计数器值,则确定所述节点存在丢包。
[0540] 可选地,所述丢包测量模块2050,还用于如果所述下游相邻端口和所述当前端口 不属于同一节点,则将所述下游相邻端口确定为新的当前端口,执行检测所述新的当前端 口的下游相邻端口是否与所述新的当前端口属于同一节点的步骤。
[0541] 可选地,所述丢包测量模块2050,用于选择所述监控范围内的一条路径上的源端 口作为当前端口;检测所述当前端口的下游相邻端口是否与所述当前端口属于同一节点; 如果所述下游相邻端口和所述当前端口不属于同一节点,则检测所述下游相邻端口的第三 计数器值是否小于所述当前端口的第三计数器值;如果所述下游相邻端口的第三计数器值 小于所述当前端口的第三计数器值,则确定所述当前端口所属的节点和所述下游相邻端口 所属的节点之间存在丢包。
[0542] 可选地,所述丢包测量模块2050,还用于如果所述下游相邻端口和所述当前端口 属于同一节点,则将所述下游相邻端口确定为新的当前端口,执行检测所述新的当前端口 的下游相邻端口是否与所述新的当前端口属于同一节点的步骤。
[0543] 可选地,在图20的基础上,如图21所示,在另一个实施例中,所述网络管理中心还 包括:
[0544] 出口检测模块2062,用于检测所述下游相邻端口是否为所述路径的出端口;
[0545] 所述丢包测量模块2050,还用于如果所述下游相邻端口不是所述路径的出端口, 则将所述下游相邻端口确定为新的当前端口;
[0546] 路径检测模块2064,用于如果所述下游相邻端口是所述路径的出端口,则检测所 述监控范围是否还存在其它路径;
[0547] 所述丢包测量模块2050,还用于如果所述监控范围还存在其它路径,则选择所述 其它路径上的源端口作为新的当前端口。
[0548] 可选地,所述发送模块2020,还用于向监控范围内的所有节点发送初始化指令,所 述初始化指令用于指示所述节点将各个端口上与所述流标记对应的计数器值置为初始值。
[0549] 本实施例提供的网络管理中心,通过指示指定节点对符合预定条件的数据包的包 头中插入字段集,使节点根据字段集进行网络运维管理,并根据计数结果进行丢包测量,达 到了可以针对单个流中的数据包进行丢包测量的效果。
[0550] 本实施例中的网络管理中心,还通过每次探测过程只对1个数据包插入字段集, 通过定时器来收集各个节点的各个端口上与流标记对应的计数器值,使得该网络运维管理 方法对全网时间同步的依赖性较低;而在现有技术中,上游节点和下游节点需要严格的时 间同步,否则不同时间周期的数据包会发生计数偏差。
[0551] 请参考图22,其示出了本发明另一个实施例提供的节点的结构示意图。该节点包 括处理器2210、存储器2220和转发芯片2230。
[0552] 所述处理器2210和所述存储器2220相连,所述处理器2210和所述转发芯片2230 相连。
[0553] 所述转发芯片2230提供至少多个端口 32,所述多个端口 32包括与上游相邻节点 相连的端口、与下游相邻节点相连的端口和与网络管理中心相连的端口。
[0554] 所述转发芯片2230上还设置有至少1个计数器34。
[0555] 存储器2220存储有一个或一个以上的指令,所述处理器2210调用所述指令以实 现本发明所述网络运维管理方法。具体来讲:
[0556] 当所述节点是监控范围中一条路径上的起始侧边缘节点时,所述处理器2210调 用一个指令以实现图3或图5所示的方法。
[0557] 当所述节点是位于监控范围中一条路径上的中间节点或目的侧边缘节点时,所述 处理器2210调用另一个指令以实现图4和图6A至6D任意一个所示的方法。
[0558] 请参考图23,其示出了本发明另一个实施例提供的网络管理中心的结构示意图。 该网络管理中心包括:处理器2310、分别与处理器2310相连的存储器2320和收发器2330。 所述存储器2320存储有1个或1个以上的指令,所述处理器2310调用所述指令以实现图 8至图13任意一个所示的方法。
[0559] 请参考图24,其示出了一种网络运维管理系统的结构示意图,所述系统包括:至 少两个节点2420和与各个节点2420相连的网络管理中心2440。
[0560] 至少一个所述节点2420是图16所示实施例或图17所示实施例或图22所示实施 例所述的节点。
[0561] 至少一个所述节点2420是如图18所示实施例或图19所示实施例或图23所示实 施例所述的节点。
[0562] 所述网络管理中心2440是如图20所示实施例或图21所示实施例或图23所示实 施例所述的网络管理中心。
[0563] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0564] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件 来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读 存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0565] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和 原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1. 一种网络运维管理方法,其特征在于,所述方法包括: 接收数据包; 检测所述数据包的流特征是否与需要监控的流的流特征匹配; 如果所述数据包的流特征与所述需要监控的流的流特征匹配,则在所述数据包的包头 中插入字段集,所述字段集包括指定类型的标识和流标记;所述流标记用于标识所述需要 监控的流; 根据所述指定类型的标识更新所述数据包经过的入端口上与所述流标记对应的计数 器值; 根据所述指定类型的标识更新所述数据包经过的出端口上与所述流标记对应的计数 器值; 将所述数据包发送给下游相邻节点。2. 根据权利要求1所述的方法,其特征在于,所述在所述数据包的包头中插入字段集, 包括: 在所述数据包的以太帧头的虚拟局域网VLAN字段之后插入所述字段集; 或, 在所述数据包的表示负荷的以太类型之前插入所述字段集。3. 根据权利要求1所述的方法,其特征在于,所述字段集包括新的隧道头或原始隧道 头中的新增字段; 所述在所述数据包的包头插入字段集,包括: 在所述数据包的外部网际互联协议IP报文头之后、内部负荷之前插入所述字段集。4. 根据权利要求1至3任一所述的方法,其特征在于,所述检测所述数据包的流特征是 否与需要监控的流的流特征匹配之前,还包括: 接收监控指令; 根据所述监控指令获取所述需要监控的流的流特征。5. 根据权利要求1至4任一所述的方法,其特征在于,所述更新所述数据包的出端口上 与所述流标记对应的计数器值,包括: 根据所述数据包的目的地址查询所述数据包的出端口; 检测所述数据包的类型是否为所述指定类型; 如果所述数据包的类型是所述指定类型,则提取所述字段集中的流标记; 更新所述出端口上与所述流标记对应的计数器值。6. 根据权利要求1至5任一所述的方法,其特征在于,所述方法还包括: 接收初始化指令; 将各个端口上与所述流标记对应的计数器值置为初始值。7. 根据权利要求1至6任一所述的方法,其特征在于,所述方法还包括: 接收提取指令; 上报各个端口上与所述流标记对应的计数器值。8. -种网络运维管理方法,其特征在于,所述方法包括: 接收数据包; 检测所述数据包的类型是否为指定类型; 如果所述数据包的类型是所述指定类型,则从所述数据包的包头提取字段集,得到所 述字段集中的流标记; 根据所述字段集更新所述数据包经过的入端口和/或出端口上的与所述流标记对应 的计数器值; 将所述数据包发送给下游相邻节点。9. 根据权利要求8所述的方法,其特征在于,所述根据所述字段集更新所述数据包经 过的入端口和/或出端口上的与所述流标记对应的计数器值,包括: 从所述数据包的包头提取所述字段集,得到所述字段集中的生存期TTL ; 检测所述TTL是否小于或等于预定阈值; 如果所述TTL小于或等于所述预定阈值,则从所述数据包的包头中删除所述字段集; 更新所述数据包的入端口上与所述流标记对应的计数器值。10. 根据权利要求8所述的方法,其特征在于,所述根据所述字段集更新所述数据包经 过的入端口和/或出端口上的与所述流标记对应的计数器值,包括: 从所述数据包的包头提取所述字段集,得到所述字段集中的生存期TTL ; 检测所述TTL是否小于或等于预定阈值; 如果所述TTL大于所述预定阈值,则将所述字段集中的TTL更新为TTL-1 ; 更新所述数据包的入端口和出端口上与所述流标记对应的计数器值。11. 根据权利要求8至10任意一项所述的方法,其特征在于,所述从所述数据包的包头 提取字段集,包括: 从所述数据包的以太帧头的VLAN字段之后提取所述字段集; 或, 从所述数据包的表示负荷的以太类型之前提取所述字段集。12. 根据权利要求11所述的方法,其特征在于,当前节点是IP网节点,所述下游相邻节 点是IP网节点; 所述将所述字段集中的TTL更新为TTL-1,包括: 在所述数据包的外部IP报文头之后、内部以太帧头之前插入新的字段集; 将所述新的字段集中的流标记设置为提取到的所述流标记,将所述新的字段集中的 TTL设置为提取到的TTL-1。13. 根据权利要求8至10任一所述的方法,其特征在于,所述字段集包括新的隧道头或 原始隧道头中的新增字段; 所述从所述数据包的包头提取字段集,包括: 从所述数据包的外部IP报文头之后、内部负荷之前提取所述字段集。14. 根据权利要求13所述的方法,其特征在于,当前节点为IP网节点、所述下游相邻节 点为以太网节点; 所述将所述字段集中的TTL更新为TTL-1,包括: 删除位于所述数据包的外部IP报文头之后、内部以太帧头之前的所述字段集; 判断所述数据包的内部以太帧头中是否存在其他字段集; 如果存在,则将所述其他字段集中的TTL设置为提取到的TTL-1 ; 如果不存在,则在所述数据包的以太帧头中插入新的字段集,并将所述新的字段集中 的流标记设置为提取到的所述流标记,将所述新的字段集中的TTL设置为提取到的TTL-1。15. 根据权利要求8至14任一所述的方法,其特征在于,所述当前节点是目的侧边缘节 点;或,所述下游相邻节点是所述数据包的目的端设备; 所述将所述数据包发送给下游相邻节点之前,还包括: 从所述数据包的包头中删除所述字段集。16. 根据权利要求8至15任一所述的方法,其特征在于,所述方法还包括: 接收初始化指令; 将各个端口上与所述流标记对应的计数器值置为初始值。17. 根据权利要求8至16任一所述的方法,其特征在于,所述方法还包括: 接收提取指令; 上报各个端口上与所述流标记对应的计数器值。18. -种网络运维管理方法,其特征在于,所述方法包括: 提取监控范围内的所有节点的各个端口上与流标记对应的第一计数器值; 向所述监控范围内的指定节点发送监控指令,所述监控指令用于指示所述指定节点对 符合预定条件的数据包的包头中插入字段集,所述字段集包括指定类型的标识和流标记; 所述预定条件是所述数据包的流特征与需要监控的流的流特征匹配,所述指定类型的标识 用于触发所述数据包经过的节点更新所述数据包经过的端口上与所述流标记对应的计数 器值,所述流标记用于标识所述需要监控的流; 设置定时器; 在所述定时器到期时,提取所述监控范围内的所有节点的各个端口上与所述流标记对 应的第二计数器值; 根据每个端口的第一计数器值和第二计数器值计算得到每个端口的第三计数器值; 根据上下游相邻端口的第三计数器值的差值进行节点内和/或节点间丢包测量。19. 根据权利要求18所述的方法,其特征在于,所述根据上下游相邻端口的第三计数 器值的差值进行节点内和节点间丢包测量,包括: 选择所述监控范围内的一条路径上的源端口作为当前端口; 检测所述当前端口的下游相邻端口的第三计数器值是否小于所述当前端口的第三计 数器值; 如果所述下游相邻端口的第三计数器值小于所述当前端口的第三计数器值,则确定所 述当前端口和所述下游相邻端口之间存在丢包。20. 根据权利要求18所述的方法,其特征在于,所述根据相邻上下游相邻端口的第三 计数器值的差值进行节点内丢包测量,包括: 选择所述监控范围内的一条路径上的源端口作为当前端口; 检测所述当前端口的下游相邻端口是否与所述当前端口属于同一节点; 如果所述下游相邻端口和所述当前端口属于同一节点,则检测所述下游相邻端口的第 三计数器值是否小于所述当前端口的第三计数器值; 如果所述下游相邻端口的第三计数器值小于所述当前端口的第三计数器值,则确定所 述节点存在丢包。21. 根据权利要求20所述的方法,其特征在于,所述检测所述当前端口的下游相邻端 口是否与所述当前端口属于同一节点之后,还包括: 如果所述下游相邻端口和所述当前端口不属于同一节点,则将所述下游相邻端口确定 为新的当前端口,执行检测所述新的当前端口的下游相邻端口是否与所述新的当前端口属 于同一节点的步骤。22. 根据权利要求18所述的方法,其特征在于,所述根据相邻上下游相邻端口的第三 计数器值的差值进行节点间丢包测量,包括: 选择所述监控范围内的一条路径上的源端口作为当前端口; 检测所述当前端口的下游相邻端口是否与所述当前端口属于同一节点; 如果所述下游相邻端口和所述当前端口不属于同一节点,则检测所述下游相邻端口的 第三计数器值是否小于所述当前端口的第三计数器值; 如果所述下游相邻端口的第三计数器值小于所述当前端口的第三计数器值,则确定所 述当前端口所属的节点和所述下游相邻端口所属的节点之间存在丢包。23. 根据权利要求22所述的方法,其特征在于,所述检测所述当前端口的下游相邻端 口是否与所述当前端口属于同一节点之后,还包括: 如果所述下游相邻端口和所述当前端口属于同一节点,则将所述下游相邻端口确定为 新的当前端口,执行检测所述新的当前端口的下游相邻端口是否与所述新的当前端口属于 同一节点的步骤。24. 根据权利要求19或20或22所述的方法,其特征在于,所述方法,还包括: 检测所述下游相邻端口是否为所述路径的出端口; 如果所述下游相邻端口不是所述路径的出端口,则将所述下游相邻端口确定为新的当 前端口; 如果所述下游相邻端口是所述路径的出端口,则检测所述监控范围是否还存在其它路 径; 如果所述监控范围还存在其它路径,则选择所述其它路径上的源端口作为新的当前端 □ 〇25. 根据权利要求18至24任一所述的方法,其特征在于,所述向监控范围内的指定节 点发送监控指令之前,还包括: 向监控范围内的所有节点发送初始化指令,所述初始化指令用于指示所述节点将各个 端口上与所述流标记对应的计数器值置为初始值。26. -种边缘节点,其特征在于,所述边缘节点包括: 接收模块,用于接收数据包; 特征匹配模块,用于检测所述数据包的流特征是否与需要监控的流的流特征匹配; 字段插入模块,用于如果所述数据包的流特征与所述需要监控的流的流特征匹配,则 在所述数据包的包头中插入字段集,所述字段集包括指定类型的标识和流标记;所述流标 记用于标识所述需要监控的流; 入端口更新模块,用于根据所述指定类型的标识更新所述数据包经过的入端口上与所 述流标记对应的计数器值, 出端口更新模块,用于根据所述指定类型的标识更新所述数据包经过的出端口上与所 述流标记对应的计数器值; 发送模块,用于将所述数据包发送给下游相邻节点。27. 根据权利要求26所述的边缘节点,其特征在于, 所述字段插入模块,用于在所述数据包的以太帧头的VLAN字段之后插入所述字段集; 或, 所述字段插入模块,用于在所述数据包的表示负荷的以太类型之前插入所述字段集。28. 根据权利要求26所述的边缘节点,其特征在于,所述字段集包括新的隧道头或原 始隧道头中的新增字段; 所述字段插入模块,用于在所述数据包的外部IP报文头之后、内部负荷之前插入所述 字段集。29. 根据权利要求26至28任一所述的边缘节点,其特征在于,所述边缘节点,还包括: 特征获取模块; 所述接收模块,还用于接收监控指令; 所述特征获取模块,还用于根据所述监控指令获取所述需要监控的流的流特征。30. 根据权利要求26至29任一所述的边缘节点,其特征在于, 所述出端口更新模块,用于根据所述数据包的目的地址查询所述数据包的出端口;检 测所述数据包的类型是否为所述指定类型;如果所述数据包的类型是所述指定类型,则提 取所述字段集中的流标记;更新所述出端口上与所述流标记对应的计数器值。31. 根据权利要求26至30任一所述的边缘节点,其特征在于,所述边缘节点还包括: 初始化模块; 所述接收模块,还用于接收初始化指令; 所述初始化模块,用于将各个端口上与所述流标记对应的计数器值置为初始值。32. 根据权利要求26至31任一所述的边缘节点,其特征在于, 所述接收模块,还用于接收提取指令; 所述发送模块,还用于上报各个端口上与所述流标记对应的计数器值。33. -种节点,其特征在于,所述节点包括: 接收模块,用于接收数据包; 类型检测模块,用于检测所述数据包的类型是否为指定类型; 字段提取模块,用于如果所述数据包的类型是所述指定类型,则从所述数据包的包头 提取字段集,得到所述字段集中的流标记; 计数更新模块,用于根据所述字段集更新所述数据包经过的入端口和/或出端口上的 与所述流标记对应的计数器值; 发送模块,用于将所述数据包发送给下游相邻节点。34. 根据权利要求33所述的节点,其特征在于, 所述计数更新模块,用于从所述数据包的包头提取所述字段集,得到所述字段集中的 生存期TTL ;检测所述TTL是否小于或等于预定阈值;如果所述TTL小于或等于所述预定阈 值,则从所述数据包的包头中删除所述字段集;更新所述数据包的入端口上与所述流标记 对应的计数器值。35. 根据权利要求33所述的节点,其特征在于, 所述计数更新模块,用于从所述数据包的包头提取所述字段集,得到所述字段集中的 生存期TTL ;检测所述TTL是否小于或等于预定阈值;如果所述TTL大于所述预定阈值,则 将所述字段集中的TTL更新为TTL-1 ;更新所述数据包的入端口和出端口上与所述流标记 对应的计数器值。36. 根据权利要求33至35任意一项所述的节点,其特征在于, 所述字段提取模块,用于从所述数据包的以太帧头的VLAN字段之后提取所述字段集; 或, 所述字段提取模块,用于从所述数据包的表示负荷的以太类型之前提取所述字段集。37. 根据权利要求36所述的节点,其特征在于,所述节点是IP网节点,所述下游相邻节 点是IP网节点; 所述计数更新模块,还用于在所述数据包的外部IP报文头之后、内部以太帧头之前插 入新的字段集;将所述新的字段集中的流标记设置为提取到的所述流标记,将所述新的字 段集中的TTL设置为提取到的TTL-1。38. 根据权利要求33至35任一所述的节点,其特征在于,所述字段集包括新的隧道头 或原始隧道头中的新增字段; 所述字段提取模块,用于从所述数据包的外部IP报文头之后、内部负荷之前提取所述 字段集。39. 根据权利要求38所述的节点,其特征在于,所述节点为IP网节点、所述下游相邻节 点是以太网节点; 所述计数更新模块,还用于删除位于所述数据包的外部IP报文头之后、内部以太帧头 之前的所述字段集;判断所述数据包的内部以太帧头中是否存在其他字段集;如果存在, 则将所述其他字段集中的TTL设置为提取到的TTL-1 ;如果不存在,则在所述数据包的以太 帧头中插入新的字段集,并将所述新的字段集中的流标记设置为提取到的所述流标记,将 所述新的字段集中的TTL设置为提取到的TTL-1。40. 根据权利要求33至39任一所述的节点,其特征在于,所述节点是目的侧边缘节点; 或,所述下游相邻节点是所述数据包的目的端设备; 所述节点,还包括: 字段删除模块,用于从所述数据包的包头中删除所述字段集。41. 根据权利要求33至40任一所述的节点,其特征在于,所述节点还包括:初始化模 块; 所述接收模块,还用于接收初始化指令; 所述初始化模块,还用于将各个端口上与所述流标记对应的计数器值置为初始值。42. 根据权利要求33至41任一所述的节点,其特征在于, 所述接收模块,还用于接收提取指令; 所述发送模块,还用于上报各个端口上与所述流标记对应的计数器值。43. -种网络管理中心,其特征在于,所述网络管理中心包括: 计数提取模块,用于提取监控范围内的所有节点的各个端口上与流标记对应的第一计 数器值; 发送模块,用于向所述监控范围内的指定节点发送监控指令,所述监控指令用于指示 所述指定节点对符合预定条件的数据包的包头中插入字段集,所述字段集包括指定类型的 标识和流标记;所述预定条件是所述数据包的流特征与需要监控的流的流特征匹配,所述 指定类型的标识用于触发所述数据包经过的节点更新所述数据包经过的端口上与所述流 标记对应的计数器值,所述流标记用于标识所述需要监控的流; 定时模块,用于设置定时器; 所述计数提取模块,还用于在所述定时器到期时,提取所述监控范围内的所有节点的 各个端口上与所述流标记对应的第二计数器值; 计算模块,用于根据每个端口的第一计数器值和第二计数器值计算得到每个端口的第 三计数器值; 丢包测量模块,用于根据上下游相邻端口的第三计数器值的差值进行节点内和/或节 点间丢包测量。44. 根据权利要求43所述的网络管理中心,其特征在于, 所述丢包测量模块,用于选择所述监控范围内的一条路径上的源端口作为当前端口; 检测所述当前端口的下游相邻端口的第三计数器值是否小于所述当前端口的第三计数器 值;如果所述下游相邻端口的第三计数器值小于所述当前端口的第三计数器值,则确定所 述当前端口和所述下游相邻端口之间存在丢包。45. 根据权利要求43所述的网络管理中心,其特征在于, 所述丢包测量模块,用于选择所述监控范围内的一条路径上的源端口作为当前端口; 检测所述当前端口的下游相邻端口是否与所述当前端口属于同一节点;如果所述下游相邻 端口和所述当前端口属于同一节点,则检测所述下游相邻端口的第三计数器值是否小于所 述当前端口的第三计数器值;如果所述下游相邻端口的第三计数器值小于所述当前端口的 第三计数器值,则确定所述节点存在丢包。46. 根据权利要求45所述的网络管理中心,其特征在于, 所述丢包测量模块,还用于如果所述下游相邻端口和所述当前端口不属于同一节点, 则将所述下游相邻端口确定为新的当前端口,执行检测所述新的当前端口的下游相邻端口 是否与所述新的当前端口属于同一节点的步骤。47. 根据权利要求43所述的网络管理中心,其特征在于, 所述丢包测量模块,用于选择所述监控范围内的一条路径上的源端口作为当前端口; 检测所述当前端口的下游相邻端口是否与所述当前端口属于同一节点;如果所述下游相邻 端口和所述当前端口不属于同一节点,则检测所述下游相邻端口的第三计数器值是否小于 所述当前端口的第三计数器值;如果所述下游相邻端口的第三计数器值小于所述当前端口 的第三计数器值,则确定所述当前端口所属的节点和所述下游相邻端口所属的节点之间存 在丢包。48. 根据权利要求47所述的网络管理中心,其特征在于, 所述丢包测量模块,还用于如果所述下游相邻端口和所述当前端口属于同一节点,则 将所述下游相邻端口确定为新的当前端口,执行检测所述新的当前端口的下游相邻端口是 否与所述新的当前端口属于同一节点的步骤。49. 根据权利要求44或45或47所述的网络管理中心,其特征在于,所述网络管理中 心,还包括: 出口检测模块,用于检测所述下游相邻端口是否为所述路径的出端口; 所述丢包测量模块,还用于如果所述下游相邻端口不是所述路径的出端口,则将所述 下游相邻端口确定为新的当前端口; 路径检测模块,用于如果所述下游相邻端口是所述路径的出端口,则检测所述监控范 围是否还存在其它路径; 所述丢包测量模块,还用于如果所述监控范围还存在其它路径,则选择所述其它路径 上的源端口作为新的当前端口。50.根据权利要求43至49任一所述的网络管理中心,其特征在于, 所述发送模块,还用于向监控范围内的所有节点发送初始化指令,所述初始化指令用 于指示所述节点将各个端口上与所述流标记对应的计数器值置为初始值。
【文档编号】H04L12/26GK105991338SQ201510098412
【公开日】2016年10月5日
【申请日】2015年3月5日
【发明人】郑合文, 庄艳, 韩磊, 李彬轩, 潘灏涛
【申请人】华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1