「NETCONF」- 常见问题处理

配置案例(华为)

# NETCONF 使用 SSH 作为承载协议。在使用前必须配置 SSH 访问。

# 进入 NETCONF 视图
[Huawei] netconf

# 配置 NETCONF 服务端口号
# 在 830 端口号上使能 SSH 服务器的 NETCONF 服务;
[Huawei-netconf] protocol inbound ssh port 830

# 使能 NETCONF 功能。
# 在 TCP 22端口号上使能SSH服务器的NETCONF服务。
# snetconf server enable和protocol inbound ssh port 830都可以使能NETCONF功能。
# 如果这两个命令都配置,表示客户端可以使用22端口号或830端口号与服务器建立NETCONF连接。
[Huawei] snetconf server enable[……]

READ MORE

「RESTCONF」- RESTful in NETCONF

解决方案
2017年,IETF发布RFC8040 RESTCONF协议规范。
RESTCONF允许Web应用以一种模块化、可扩展的方式访问网络设备的配置数据、状态数据和事件通知。
原理简述

简单说,多了中管理设备的手段。
特性特征
RESTCONF 使用 HTTP 的方法对设备YANG定义的数据进行操作(CRUD)。 设备 NETCONF 和 RESTCONF 可以共享YANG文件。 数据编码格式支持 XML 或 JSON; NETCONF和RESTCONF支持共存。
RESTCONF接口也是遵循了REST设计风格的接口,和RESTful接口相比,RESTCONF还额外需要遵循IETF定义的RFC8040的协议标准。RFC8040标准定义了RESTCONF接口的定义和设计规范。RESTCONF接口基于HTTP协议,用于访问YANG中定义的数据。它允许Web应用以一种模块化、可扩展的方式访问网络设备的配置数据、状态数据和事件通知等等。[……]

READ MORE

「RESTCONF」- 概念术语

RESTCONF vs. NETCONF
NETCONF,操作设备多个配置库,有事务机制,有回滚。 RESTCONF,使用HTTP的操作,无状态,无事务机制,无回滚。
RESTCONF基于HTTP构建传输层、消息层、操作层; NETCONF使用SSH为传输层、RPC为消息层和NETCONF定义的操作层。

典型的 RESTCONF 交互
完整的 RESTCONF 交互包含请求和响应。

在本例中, 1)客户端通过OPTIONS方法获取设备支持的操作方法。 2)然后,设备回复支持操作有:POST、DELETE、GET、HEAD、PATCH、OPTIONS。
请求报文
如下示例,RESTCONF请求对象地址为192.168.56.100。修改数据配置数据domainName为abc,修改accessLimit值为10。
响应报文
RESTCONF响应报文: 返回状态码201,表示资源创建成功。 头部信息Content-Type和Content-Length,描述Body信息。Body数据类型为XML,内容长度为0。[……]

READ MORE

「YANG」- Yet Another Next Generation

问题描述
虽然 NETCONF 协议标准化,但是却没有对数据内容标准化 —— 也就是说,如果没有统一的数据结构,那么针对不同的厂家,需要使用不同的 NETCONF XML 配置。
数据模型(Data Model)是对数据特征的抽象和表达:
解决方案
YANG(Yet Another Next Generation)是一种数据建模语言,实现 NETCONF 数据内容的标准化。它是通过 NETCONF 所发数据的数据建模语言,可以用来建模网元的配置数据和状态数据。
原理简述
YANG 模型定义了数据的层次化结构(数据的存储内容、配置),可用于基于 NETCONF 的操作。建模对象包括配置、状态数据、远程过程调用和通知。它可以对 NETCONF 客户端和服务器端之间发送的所有数据进行一个完整的描述。

特性特征
1)基于层次化的树状结构建模。 2)数据模型以模块和子模块呈现。 3)可以和基于XML的语法的 YIN(YANG Indepent Notation)模型无损转换。 4)定义内置的数据类型和允许可扩展类型。
YANG模型的最终呈现是.yang为后缀的文件。[……]

READ MORE

「YANG」- 概念术语

认识 YANG 文件
Module
一个YANG文件通常可以定义为一个模块(module)或者子模块(submodule)。模块和子模块都可以引用其他的模块模型文件,通过该引用能够使用其他模块定义的数据类型和结构。
模块包含多个申明,包括: YANG的版本信息,1.0或1.1 YANG的命名空间,IETF YANG或Openconfig YANG 机构信息 联系人 文件描述 修订信息

module example-system {
yang-version 1.1;
namespace “urn:example:system”;
prefix “sys”;

organization “Example Inc.”;
contact “joe@example.com”;
description
“The module for entities implementing the Example system.”;

revision 2007-06-09 {
description “Initial revision.”;
}

container system {
leaf host-name {…}
contrainer login{…}
}
container X {…}
}

Leaf Node
Leaf Node 用于定义一个简单指定类型的变量,使用“leaf”关键字申明。

leaf host-name {
type string;
description
“Hostname for this system.”;
}

在 Leaf Node 中,仅有子声明和值,没有子节点。对应 XML 格式为:

<host-name>my.example.com</host-name>

本例中“host-name”内有两个子声明: 1)“type”含义为取值的类型,本例为“string”字符串。 2)“description”含义为描述。
Leaf List
Leaf List用于定义一个数组类型变量,使用“leaf-list”关键字申明。

leaf-list domain-search {
type string;
description
“List of domain na[……]

READ MORE

「NETWORK-AUTOMATION」- 网络人工智能概述

通用目的技术(General Purpose Technology,GPT)是推进经济社会转型的主要动力。从农业社会到工业社会,从工业社会到信息社会,人类社会的生产方式、生活方式和管理方式发生了巨大的变革,经历了前所未有的经济社会转型。长期以来,人们一直在思索和探寻经济社会发展与转型的动因。从蒸汽机为代表的第一次产业技术革命到以电力技术为代表的第二次产业技术革命。纵观300年来的产业技术革命,可以看出,科学技术是推进经济持续增长的重要源泉。AI已成为新的通用目的技术。当前AI热门技术进入落地阶段,广泛地使能千行百业。
AI 是种新的通用目的技术

AI 引入网络成为产业共识

AI 落地面临着诸多的挑战

从技术上来看,AI用例训练过程需要跨专业(数据、算法专家、专家经验)联合开发,模型优化需要不断迭代训练,有以下难点: 1)AI项目的成功需要业务专家与AI专家的配合 2)业务专家转型AI专家困难重重 3)数据问题,数据来源少,数据需要治理(劳动密集) 4)算法工程化问题(从paper转换到代码,开源算法的效率) 5)算力难获取,算力是峰值使用的(英伟达禁止使用G系列显卡用于数据中心)
AI本质上会带来的是组织转型,从人力走向人机共存的AI Ops阶段。
网络人工智能引擎 —— iMaster NAIE
网络人工智能引擎iMaster NAIE是华为将AI技术引入到电信网络中的一站式AI应用开发云平台。基于公有云模式,提供数据服务,模型训练服务、模型生成服务和通信模型服务,涵盖了网络AI应用开发业务中最复杂部分的工作,如数据准备,数据特征探索,模型调优等,便于开发者快速获取到NAIE能力。
应用场景:智能流量分拣
需求描述
数据中心网络中同时承载着多种业务,常见有大数据业务、分布式存储业务、高性能计算业务、GPU集群等。流量分拣就是数据中心交换机实现对流量报文进行识别分类,确定每个数据流或者数据报文属于哪种业务。
解决方案
基于华为AI Fabric交换机嵌入式AI平台API(兼容Tensorflow和Caffe),实现一个流量分类的AI算法。
智能流量分拣模型训练:智能流量分拣实现需要的数据集、算法模型和训练环境均可由iMaster NAIE提供。

实验最终的目的是将训练好的模型部署到真实的环境中,因此我们希望训练好的模型能够在真实的数据上得到好的预测效果,即希望模型在真实数据上预测的结果和真实结果误差越小越好。最好的方式就是将真实数据区分为训练数据集和测试数据集。我们可以使用训练集的数据来训练模型,然后用测试集上的误差作为最终模型在应对现实场景中的误差。有了测试集,我们想要验证模型的最终效果,只需将训练好的模型在测试集上计算误差。误差越[……]

READ MORE

「NETWORKING」- 网络割接(Network migration)

问题描述
随着企业业务的不断发展,企业网络为了适应业务的需求不断的改造和优化,例如:IPv4网络升级为IPv6网络、IS-IS Level修改、VPN架构整改。
解决方案
无论是硬件的扩容、软件的升级、配置的变更,凡是影响现网运行业务的操作(如造成业务的中断),企业都会根据业务的安全等级要求,制定严格的操作流程和风险规避措施,并将其定义为割接项目。
概念术语
割接项目
如果对网络执行的技术迁移动作会影响现网运行业务,则在技术迁移项目实施时需严格地遵循预先设定的操作流程和风险控制措施,一般将此类项目定义为割接项目。
割接场景
网络扩容:随着业务流量的增加,对网络进行扩容,增加网络设备、添加链路。 网络改造:涉及对网络结构的调整,包括物理结构、逻辑结构。 设备替换:将原有老旧设备升级替换为新设备,或者更换为其他厂家设备,或者使用其他类型设备代替。 配置变更:在不改变物理拓扑结构的情况下,对设备配置进行变更,对正在运行的业务可能会产生影响。
割接流程
前期准备阶段: 1)项目调研 2)项目分析 3)风险评估 4)输出割接方案 5)方案验证、评审 7)割接准备
中期实施阶段: 1)割接前快照 2)割接执行 3)割接回退 4)割接测试、检查
后期收尾阶段: 1)守局 2)割接验收
案例实践
# 05/26/2022 我们的网络规模极小,没有实际的割接经验,在进行割接操作前,将进行简单的评估与通知;[……]

READ MORE

「NETWORKING」- 网络割接:前期准备阶段

项目调研
在割接开始前,需要与客户网络信息负责人、一线维护工程师、ISP的技术接口人、设备厂家代表等多方进行沟通,同时进行客户网络信息的收集。
现网的静态、动态信息,用于分析网络情况以及割接前后网络情况进行对比分析,判断割接前后业务量是否正常。
静态信息采集分析: 1)详细拓扑信息;设备类型;license;设备配置;设备版本;接口类型;
动态信息分析: 1)网络流量;带宽信息;协议状态;协议表项;时延、抖动;丢包率;
业务模型分析: 1)在调研阶段还需要对客户的业务流量走向、业务流量大小进行观察,包括流量走向的变化和链路流量大小,可用于割接前后进行对比。
现网硬件环境勘察: 1)在调研的最后阶段还需要对网络的现场环境进行观察,主要包括以下内容:光纤接口对应关系;ODF位置;接口标识; 2)对现网环境的观察便于割接时操作,同时相应的接口对应关系要进行记录,涉及到设备替换、线缆替换等割接操作便于割接完进行检查。
项目分析
完成对项目的调研之后,需要对客户的需求进行分析、梳理,分析客户对割接后网络的新需求,如带宽,网络KPI指标,新业务承载能力等; 同时在该阶段将割接方案中的割接变更需求进行明确。 输出《客户需求分析表》。
风险评估
根据调研结果、需求分析结果,以及割接方案的框架进行割接风险分析与评估,针对可能出现的风险项目提前制定应对措施,并将对应的风险项对应措施责任人确认。 风险评估需要涉及的技术人员参与讨论,将各个风险的责任人明确到具体的技术人员。
输出割接方案
根据调研结果、项目分析结果、技术人员风险评估编写相应的割接方案。
在割接方案中,需要将割接前准备阶段、实施阶段、收尾阶段的详细步骤、过程进行明确: 1)前期准备:项目背景;现网概述;割接目标;风险评估; 2)实施方案:割接准备;割接实施;回退方案;应用预案; 3)割接收尾:业务测试;现场守局;资料移接;项目验收;
关于 实施方案 部分: 1)为进行高效、规范地割接,割接中的每个实施步骤都要提前规划,按照割接操作顺序到最小操作动作,细化到具体的命令行,及每个操作步骤执行所需的时间。 2)在割接实施方案中,需要制定相应的割接操作确认记录表,针对每一模块操作的时间点,完成后的结果确认和异常信息记录。
关于 回退方案 部分: 1)当割接失败时(割接之后业务测试失败、割接时间结束未完成割接…)需要将网络退回到割接前初始状态,此时需要按照回退方案进行操作,将网络恢复。 2)在制定割接方案时需要包含详细的回退方案,同割接操作一样,需要精确到每一步操作,这样当割接失败时可以有条不紊地进行回退。
方案验证、评审
一般大型的、重要的割接项目,都要求在实验室内搭建环境进行提前验证,将之前的风险点进行[……]

READ MORE

「NETWORKING」- 网络割接:中期实施阶段

割接前快照
为方便割接回退以及割接之后对比业务是否正常,在正式开始割接之前需要对现网配置、现网数据再进行一次快照,具体包括以下内容: 1)现网配置进行备份 2)现网动态数据采集(端口状态、流量、各路由协议状态、路由数量、STP协议状态、各端口ARP/MAC地址表项)。 3)割接前对业务进行测试,确保割接涉及的业务在割接前属于正常状态。

割接执行
现场割接人员按照提前准备好的割接步骤一步步严格执行,无特殊原因不能临时更改实施步骤。 每一步骤的执行记录下割接实际操作过程的时间点、执行动作、执行结果。
割接回退
如果在指定的时间前未完成割接,需按照提前准备的回退方案一步步进行回退,将网络恢复。 具体回退范围可根据实际情况,与客户协商部分回退或全部倒回退。
割接测试、检查
割接实施完成后为测试割接是否成功,需要从以下几个方面对网络、业务进行测试: 网络运行状态测试:对现网的动态数据在进行一次采集,与割接前进行对比。 业务测试:通过ping、tracert或者客户侧的第三方软件测试网络连通性、延迟、抖动等指标是否到达业务要求 客户应用测试:测试由网络承载的客户应用,检查是否正常。[……]

READ MORE

「NETWORKING」- 网络割接:后期收尾阶段

现场守局
割接操作完成且通过客户应用业务测试后,网络需进入一个特殊的观察期,在此期间工程师一般驻守在客户局点,观察网络运行状态,防止出现意外故障。

割接验收
割接顺利完成并在守局观察无异常之后还需要对客户进行维护培训以及资料移交。 转维护培训:割接项目涉及新的设备、新的配置等需要对客户进行培训赋能的,在割接完成之后还需组织培训对客户进行赋能。 资料移交:为便于客户后期维护,割接完成后将割接涉及的文档转交给客户。[……]

READ MORE

「NETWORKING」- 网络维护日常任务

问题描述
要保证网络各项功能正常运行,需要对网络进行日常维护和故障处理,日常维护是预防性的有计划的维护工作,而故障处理则是基于事件触发的维护工作;
良好的日常维护习惯能帮助网络工程师及时发现隐患,做到防患于未然。当设备出现异常或故障时,网络工程师需要及时准确地收集设备运行过程中发生的事件。日常维护和故障处理都离不开网络相关的信息收集;
解决方案
网络维护可以分为两类:日常维护、故障排除;
日常维护是为了预防问题发生,尽量减少突发的故障。从故障排除工作中找到的问题原因,可为日常维护工作提供参考;
网络维护不仅仅是技术问题,而且也是管理问题。日常维护对操作人员的技术要求不高,但对操作的规范性要求比较高。通过日常维护可以得出网络在正常情况下的各种参数,例如网络设备的版本、网络带宽、网络安全等,从而为故障排除工作打下良好的基础;
维护内容(对象)
分为两大部分:
设备运行的外部环境
硬件运行环境是指设备运行的机房、供电、散热等外部环境,这是设备运行的基础条件;
针对设备环境的维护,工作人员需要亲临现场,甚至借助一些专业工具进行观察、测量;
设备软硬件运行情况
设备软硬件运行情况与设备运行的具体业务密切相关。华为数通设备使用了通用的 VRP 平台,网络工程师应该掌握 VRP 平台的常用维护命令;
针对设备软硬件的维护,工作人员可以现场操作,也可以远程操作,主要通过设备的 display 命令实现;
维护方法(工具)
日常维护可以使用以下两种方法: 1)现场观测:观察设备硬件运行环境; 2)远程操作:了解设备软硬件运行情况;
信息采集工具
信息采集:Information Center 报文捕获:Capture Packet (Huawei VRP) 链路发现:LLDP (Link Layer Discovery Protocol) 流量统计:Traffic Statistic
软件与配置的备份
备份的目的是为了在极端情况下恢复网络功能。备份的实质是把对应的文件传输到备份服务器上,因此方法有很多。通常将设备作为 FTP 或 TFTP 客户端,通过命令行将相应的文件传输到服务器上;
对于配置文件的备份,建议每周例行进行;同时在设备的配置有变更之前,应进行配置文件的备份; 软件与配置(包括 License 文件)都需要备份。备份的目的是为了在极端情况下恢复网络功能: 1)当设备因硬件故障无法启动,或更换同型号的设备后,如果没有备份的配置文件,业务将很难快速恢复; 2)软件版本也有必要备份,但同一个产品、同一个版本只需要备份一次即可;也可以从厂商官网获取对应的版本文件保存到本地; 3)License 文件是一类特殊的文件,它针对具体的产品进[……]

READ MORE

「NETWORKING」- 日常维护:检查清单(Checklist)

解决方案
日常维护工作是有计划的例行工作,因此,针对各项操作整理一份操作清单(Checklist)是十分必要的;
针对网络设备的 Checklist:可以参考相应的产品文档;日常维护检查的项目也可由客户自定义;
Checklist 1)设备环境检查 2)设备基本信息检查 3)设备运行检查 4)接口内容检查 5)业务检查
设备环境检查
设备运行环境正常是保证设备正常运行的前提。然而实际工作的时候,当有故障发生,并不会第一时间检查设备环境,因为设备环境相比较其他的因素来说,更加的稳定和不容易发生故障;
温度和湿度对设备正常运行有重大影响,标准的机房都应该配备温度计和湿度计,并且应每天安排人员例行检查和记录;
机房的清洁和整齐也影响着设备的正常运行:清洁问题影响设备的散热;整齐主要是指设备、线缆的布放。按照规范的安装部署要求,设备和线缆都需要规范布放。但是在网络运行过程中,时常会有临时的调整,比如临时跳线测试。这些活动积累一段时间后,机房就会变乱。设备环境检查就是发现这些问题并及时纠正;
另一方面,非标准的机房更要注意设备环境检查,比如楼层的设备间,需要特别注意清洁和散热问题;
设备位置摆放是否合理,通过观察方法,设备应放在通风、干燥的环境中,且放置位置牢固、平整。设备周围不得有杂物堆积; 机房温度状况,观察 / 温度计,通常要求机房长期工作环境温度:0℃~45℃;短期工作环境温度:-5℃~55℃; 机房湿度状况,观察 / 湿度计,通常机房的长期工作环境相对湿度应在 5%RH~85%RH 之间,不结露;短期工作环境相对湿度应在 0%RH~95%RH 之间,不结露; 机房内空调运行是否正常,观察 / 空调,空调可持续稳定运行,使机房的温度和湿度保持在设备规定范围内; 清洁状况,观察,所有项目都应干净整洁无明显尘土附着。注意防尘网的清洁状况,及时清洗或更换,以免影响机柜门及风扇框的通风、散热; 散热情况,观察,设备正常工作时,要求保持风扇正常运转(清理风扇期间除外),擅自关闭风扇会引起设备温度升高,并可能损坏单板。不要在设备子架上通风口处放置杂物,还应定期清理风扇的防尘网; 线缆布放,观察,电源线与业务线缆分开布放。电源线布放整齐、有序。业务线缆布放整齐、有序。 线缆标签清晰、准确,符合规范; 接地方式及接地电阻是否符合要求,观察,一般要求机房的工作地、保护地、建筑防雷地分开设置,因机房条件限制,可采用联合接地。尤其对于户外使用的设备,设备接地非常重要,如果未接地容易造成雷击损坏; 供电系统是否正常,观察 / 电压表,要求供电系统运行稳定。直流额定电压范围为–48V DC~–60V。交流额定电压范围为 100V~240V; …… 注意,以上各种参数不同设备可能有所差异,以各自产品文档为准;
设备基[……]

READ MORE

「Network」- Next Generation Networks

问题描述
伴随 5G 和 Cloud 时代的到来,VR/AR、直播、无人驾驶等各类创新性业务大量涌现,整个 ICT 产业迸发出蓬勃生机。与此同时,整个网络的流量也呈现出爆炸式增长,华为 GIV(Global Industry Vision,全球产业展望)预计,2025 年新增的数据量将达到 180 ZB。业务的动态复杂性也使得整个网络复杂度不断攀升;
整体来看,这些问题的源头都指向现有的网络系统,只有通过构建自动化、智能化的以用户体验为中心的网络系统才能有效应对;
当前网络的现状:经典 IP 网络,分布式网络;
经典 IP 网络是个分布式的、对等控制的网络。每台网络设备存在独立的数据平台、控制平面、管理平面: 1)管理平面:提供设备管理功能;比如 TELNET、SSH 命令; 2)控制平面:负责执行协议、算法计算;比如转发表、协议、算法等等; 3)转发平面:对数据进行转发操作;
经典 IP 网络的优势在于: 1)设备与协议解耦,所有厂商遵循相同协议; 2)厂家之间兼容性较好且故障场景下协议保证网络收敛;

经典 IP 网络(当前网络)带来问题: 1)网络容易拥塞:网络充斥着各种协议;协议仅能选择最佳路径,却存在空闲,而不能完全利用; 2)网络技术复杂:网络协议多;网络配置难(不同厂商,配置命令差异较多); 3)运维太困难:故障发现难;故障定位难;网络故障定位、诊断困难; 4)业务部署太慢:网络策略变更复杂,通常不调整;新业务部署周期长;物理网络部署效率低;
计算机行业演进(启发)
在计算机产业中,经历如下发展阶段: 1)最早时大型机,软硬件一体化,无法分割,由专门厂商提供; 2)在近现代中,水平集成,开放的接口,大规模跨产业应用,不再由专门厂商提供;
计算产业的开放生态带来了通用硬件、操作系统、虚拟化、中间件、云计算、软件应用等多领域的蓬勃发展;
网络产业的发展(变革)
然而,网络产业也在不断寻求变革与发展,其中 SDN(Software Defined Networking,软件定义网络)与 NFV(Network Functional Virtualization,网络功能虚拟化),是备受瞩目的两个概念。为了避免厂商绑定问题,屏蔽不同厂商的产品和设备区别;
SDN(Software Defined Networking,软件定义网络),SDN 是网络架构的革新,以 Controller(控制器)为主体,让网络更加开放、灵活和简单;
NFV(Network Functional Virtualization,网络功能虚拟化),NFV 是电信网络设备部署形态的革新,以虚拟化为基础,云计算为关键实现电信网络的重构;
基于 Huawei iMaster[……]

READ MORE

「SDN」- 概念术语

网络架构
SDN 网络架构分为协同应用层、控制器层、设备层。不同层次之间通过开放接口连接。以控制器层为主要视角,区分面向设备层的南向接口和面向协同应用层的北向接口。OpenFlow 属于南向接口协议的一种。

协同应用层
主要完成用户意图的各种上层应用,典型的协同层应用包括OSS(Operations Support System,运营支撑系统)、OpenStack等。OSS可以负责整网的业务协同,OpenStack云平台一般用于数据中心,负责网络、计算、存储的业务协同。还有其他的协同层应用,比如用户希望部署一个安全APP,这个安全APP不关心设备具体部署位置,只是调用了控制器的北向接口,例如Block(Source IP,DestIP),然后控制器会给各网络设备下发指令。这个指令根据南向协议不同而不同。简单说,协同应用通知控制器,以表述其需求,然后控制器根据需求来进行网络调整。
控制器层
控制器层的实体就是SDN控制器,是SDN网络架构下最核心的部分。控制层是SDN系统的大脑,其核心功能是实现网络业务编排。
设备层
网络设备接收控制器指令,执行设备转发。
南向 与 北向
南北向是一个相对概念: 1)一般上层系统提供给下层系统的接口称为南向接口; 2)下层系统提供给上层系统的称为北向接口;
站在 Controller 的位置,上北下南: 1)NBI(Northbound Interface,北向接口):是指 Controller 对接 SDN Application 的接口,主要为 RESTful; 2)SBI(Southbound Interface,南向接口):是指 Controller 对接 Switch 接口;其为控制器与设备交互的协议,包括 NETCONF、SNMP、OpenFlow、OVSDB 等。

北向接口
北向接口有多种标准,比如MTOSI、CORBA等。设备商的控制器需要开放相应标准的北向接口以满足运营商综合网管平台的对接要求。
OSS(Operation Support Systems,操作支持系统)是电信业务开展和运营时所必需的支撑平台。 MTOSI(Multi-Technology Operations Systems Interface,多重技术运营系统接口)采用XML消息作为OSS系统的接口。 CORBA(Common ObjectRequest Broker Architecture,公共对象请求代理体系结构)是由OMG组织制订的一种标准的面向对象应用程序体系规范。
从 MTOSI、CORBA、SNMP 到 REST,北向接口类型可谓是百花齐放,但如今各个设备的北向接口正逐渐向 REST 接口演进。[……]

READ MORE

「SDN」- OpenFlow(SBI)

SDN 起源提出 OpenFlow 协议。随着技术的发展,OpenFlow 成为控制器与交换机之间的诸多南向接口协议的一种。
OpenFlow 是 Controller 与 Switch 之间的一种南向接口协议(还有其他接口协议)。

OpenFlow Message Type
其定义三种类型的消息: 1)Controller-to-Switch:该消息由 Controller 发送,用于 管理 Switch 和 查询 Switch 的相关信息。 2)Asynchronous:该消息由 Switch 发起。当 Switch 状态发生改变时,发送该消息告诉 Controller 状态变化。 3)Symmetric:该消息没有固定发起方,可由 Switch 或 Controller 发起。例如 Hello、Echo、Error 等等。
每种消息又包含更多的子类型。
Controller-to-Switch子类型: 1)Features消息:在SSL/TCP会话建立后,Controller给Switch发送Features请求Switch的相关信息。Switch必须应答自己支持的功能,包括接口名、接口MAC地址、接口支持的速率等等基本信息。 2)Configuration消息:Controller可以设置或查询Switch的状态。 3)Modify-State消息:Controller发送该消息给Switch,来管理Switch的状态,即增加/删除、更改流表,并设置Switch的端口属性。 4)Read-State消息:Controller用该消息收集Switch上的统计信息。 5)Send-Packet消息:Controller发送该消息到Switch的特定端口。
Asynchronous子类型: 1)Packet-in消息:当Flow Table中没有匹配的表项或者匹配“send to Controller”,Switch将给Controller发送packet-in消息。 2)Packet-out消息:从控制器回复的消息。 3)Flow-Removed消息:当给Switch增加一条表项时,会设定超时周期。当时间超时后,该条目就会被删除。这时Switch就会给Controller发送Flow-Removed消息;当流表中有条目要删除时,Switch也会给Controller发送该消息。 4)Port-status消息:当数据路径接口被添加、删除、修改的时候,此消息用于通知控制器。
OpenFlow Flow Table
OpenFlow Switch 基于流表(Flow Table)转发报文。 每个流表项由匹配字段、优先级、计数器、指令、超时、Cookie、Flags这七部分组成。
其中关[……]

READ MORE

「NFV」- Network Functions Virtualization

问题描述
NFV 的背景:同样来自 IT 行业变革的启示
来自 IT 界的启示,给网络产业带来了网络架构和设备架构两个层面的思考。网络架构层面引入对 SDN 控制器的思考,设备架构层面引入对设备部署形态的思考;

网络功能虚拟化被称为 NFV(Network Functions Virtualization),而虚拟化之后的网络功能被称为 VNF(Virtualized Network Function)。当我们谈“VNF”时,我们指运营商 IMS、CPE 这些传统网元在虚拟化之后的实现。在硬件通用化后,传统的网元不再是嵌入式的软硬结合的产品,而是以纯软件的方式安装在通用硬件(即 NFVI)上;
解决方案
NFV 的起源:2012 年 10 月,13 家 Top 运营商(AT&T、Verizon、VDF、DT、T-Mobile、BT、Telefonica 等)在 SDN 和 Open Flow 世界大会上发布 NFV (Network Functions Virtualization)第一版白皮书,同时成立了 ISG(Industry Specification Group)来推动网络虚拟化的需求定义和系统架构制定;
2013 年,ETSI 下 NFV ISG(行业规范工作组)进行第一阶段研究,已完成相关标准制定。主要定义网络功能虚拟化的需求和架构,并梳理不同接口的标准化进程;
应用价值
NFV(Network Functions Virtualization )是运营商为了解决电信网络硬件繁多、部署运维复杂、业务创新困难等问题而提出的;
NFV 在重构电信网络的同时,给运营商带来的价值如下: 1)缩短业务上线时间 2)降低建网成本 3)提升网络运维效率 4)构建开放的生态系统
关键技术
在 NFV 的道路上,虚拟化是基础,云化是关键;
虚拟化是基础
传统电信网络中,各个网元都是由专用硬件实现,成本高、运维难。虚拟化具有分区、隔离、封装和相对于硬件独立的特征,能够很好匹配 NFV 的需求。运营商引入此模式,将网元软件化,运行在通用基础设施上;

但是,并非所有网元设备都能进行虚拟化
云计算是关键
1)美国国家标准与技术研究院(NIST)定义:云计算是一种模型,它可以实现随时随地,便捷地,随需应变地从可配置计算资源共享池中获取所需的资源(例如,网络、服务器、存储、应用、及服务),资源能够快速供应并释放,使管理资源的工作量和与服务提供商的交互减小到最低限度;
2)云计算拥有诸多好处。运营商网络中网络功能的云化更多的是利用了资源池化和快速弹性伸缩两个特征;

架构简介
NFV 架构分如下部分: 1)NFVI[……]

READ MORE

「NETWORKING」- 数通网络:网络排障,故障管理,网络调试

问题描述
网络故障,指由于某种原因而使网络丧失规定功能并影响业务的现象。从用户的角度出发,凡是影响业务的现象都可以定义为故障。
常见的故障现象和分类如下(分类和故障现象的对应关系在不同的场景下会有所不同):
解决方案
常见监测技术
传统的网络监控手段(SNMP、CLI、日志),例如: SNMP 和 CLI 主要采用“拉模式”获取数据,即发送请求来获取设备上的数据。但该方式限制能够监控的网络设备数量,且无法快速获取数据。 SNMP Trap 和日志虽然采用“推模式”获取数据,即设备主动将数据上报给监控设备,但仅上报事件和告警,监控的数据内容极其有限,无法准确地反映网络状况。
传统的网络检测技术已无法满足网络需要,新的检测技术有: CLI(Telnet/SSH)、SNMP 、NETCONF 、NetStream、sFlow、Telemetry、SYSLOG、LLDP、Mirror(镜像)
网络检测技术对比:

Telemetry SNMP Get SNMP Trap CLI SYSLOG
工作模式 推模式 拉模式 推模式 拉模式 推模式
精度 亚秒级 分钟级 秒级 分钟级 秒级[……]

READ MORE

「NETWORKING-TROUBLESHOOTING」- 结构化的网络排障流程(数通网络)

解决方案

如果采取非结构化的网络故障排除流程,即凭直觉在这些步骤之间重复执行,虽然最终也可能找到解决故障的方法,但无法保证稳定的效率。在复杂的网络环境中,有可能会由于非结构化的网络故障排除流程而导致新的故障,从而使网络故障的排除变得更加困难;
报告故障
企业中存在多个部门,这些部门间的网络有互联互访的需求。为了保障网络的正常运行,企业可能存在如下情况: 1)大中型企业成立网络维护部门,构建专业的网络团队; 2)小型企业出于成本考虑,一般不存在单独的网络维护部门,而是将网络托管给专业的网络维护公司; 3)求助设备生产商,拨打厂商的售后服务电话; 通常情况,网络故障的第一感知人员并非网络维护人员,而是其他业务相关的各个部门人员,网络工程师经常接到各种求助电话;
主动沟通确认,询问用户相关内容,并记录在排障报告中: 1)故障报告者:在企业环境中,不同级别的用户可能会有不同的网络访问权限,所以需要了解用户姓名、所在的部门、职位级别、所负责的工作内容、使用电脑的位置(楼层、房间、无线接入还是有线接入)、在使用电脑访问什么网站时发现的问题; 2)故障频率:是突发的、偶尔的、还是频繁的; 3)用户操作:出现故障之前和之后,用户对自己的终端做了哪些操作,如是否更改了 IP 地址和 DNS、是否安装了桌面防火墙软件、安全控制软件等;
确认故障
确认故障的原因是:用户的描述可能是含糊不清的,报告的故障也不一定是真实的故障点,所以需要有经验的工程师进行确认故障的工作;
确认故障的四个要素: 故障的主体:哪个网络业务出现了故障; 故障的表现:故障的现象是什么样的; 故障的时间:用户是什么时间发现的故障,以及专业人员推测的故障出现的真实时间; 故障的位置:哪个网络组件出现了故障;
对故障现象进行准确的描述;
最后应确认该故障是否属于自己的负责范围,即自己是否被赋予相应的权限来处理该故障;
收集信息
需要收集哪些信息:收集信息阶段主要是收集与故障相关的信息,如文档、网络变更情况等;
如何收集这些信息:使用设备自身的操作命令;使用信息收集工具,如抓包工具、网管软件等;
获取授权:在对信息安全要求较高的网络环境中,对信息的收集是需要得到授权的,有时需要签署书面的授权文件;
收集信息阶段的风险评估:有些收集信息的操作,如对路由器或交换机执行”debug”命令,会导致设备的 CPU 占用率过高,严重的情况下甚至会使设备停止响应用户的操作指令,从而引入额外的故障现象。所以在收集信息的时候应评估这些风险,平衡引入新故障的风险与解决现有故障的紧迫性之间的关系,并明确的告知用户这些风险,由用户来决定是否进行风险较大的信息收集工作;
判断分析
判断分析阶段是对收集到的信息进行分析整理。[……]

READ MORE

「NETWORKING」- 网络故障排除的核心思想和方法

故障处理对排障人员的要求
对协议要求有精深的理解; 能够引导客户详细描述出故障现象和相关信息; 充分了解自己所管理和维护的网络; 及时进行故障处理的文档记录和经验总结; 熟悉网络故障排除的方法,将多种方法结合使用;
方法一、以业务流量路径为核心
通常情况下,网络中业务流量的路径是在网络规划阶段就已经设计好的,只需要知道受到网络故障影响的业务的流量往返路径,跟踪此路径,逐步排除即可;
数据转发或许存在多条路径,需要确认业务流量路径: 1)数据链路层:确认业务流量对应的数据帧在二层网络环境中是如何被交换机转发的; 2)网络层:在数据包转发过程中可能存在多条路径,因此需要根据报文转发过程,确认业务流量的传输路径;
方法二、分层故障处理法
分层法很简单,所有模型都遵循相同的基本前提:当模型的所有低层结构工作正常时,它的高层结构才能正常工作;
一般建议在处理故障时,从参考模型自底向上进行故障排查(即从物理层开始): 7)应用层: 6)表示层: 5)会话层: 4)传输层:TCP 连接是否正确建立,TCP、UDP 端口是否打开等 3)网络层:有没有路由,路由协议工作是否正常等等 2)链路层:链路层封装是否正确,接口协议是否 UP,二层寻址是否正常等 1)物理层:接口的物理状态是否 UP、线缆及接头等是否正常等
方法三、对比配置法
对比配置法是指对比正常状态与故障状态下的配置、软件版本、硬件型号等内容,检查两者之间的差异;
经验较少的网络故障排除人员,或无其他排障思路时,可考虑在实践中使用这种方法;
方法四、分块故障处理法
华为的交换机和路由器等网络设备的配置文件具有清晰的组织结构;
当出现一个故障案例现象时,我们可以把它归入以下某一类或某几类中,从而有助于缩减故障定位范围 : 1)管理部分(路由器名称、口令、服务、日志等) 2)端口部分(地址、封装、cost、认证等) 3)路由协议部分(静态路由、RIP、OSPF、BGP、路由引入等) 4)策略部分(路由策略、策略路由、安全配置等) 5)接入部分(Console 登录、Telnet 登录、拨号等) 6)其他应用部分(DNS、DHCP、VPN 配置等)
例如,当使用 display ip routing-table 命令,结果只显示出了直连路由,可能是什么原因呢? 根据上述的分块,该故障可能由以下三部分导致:路由协议、策略、端口。如果没有配置路由协议或配置不当,路由表就可能为空;如果访问列表配置错误,就可能妨碍路由的更新;如果端口的地址、掩码或认证配置错误,也可能导致路由表错误。此时,在排障时,我们首先对这些部分进行检查;
方法五、分段故障处理法
数据包转发过程中可能经过多台路由器和物理链路,每段物理连接都有可能发生故障[……]

READ MORE

「Huawei VRP」- 报文捕获

问题描述
当设备的业务流量出现异常,比如流量状态与流量模型不符时,可以使用报文捕获功能,抓取业务报文进行分析,以便及时处理非法报文,保证网络数据的正常传输;
解决方案
命令 capture-packet 用来在设备捕获符合设置规则的业务报文,并上送到终端显示,或保存到本地;

# capture-packet { interface interface-type interface-number | acl acl-number } * [ vlan vlan-id | cvlan cvlan-id ] * destination terminal [ car cir car-value | time-out time-out-value | packet-num number | packet-len length ] *
terminal :将捕获的报文发送到终端显示;
file file-name:将捕获的报文保存在指定的文件里,

目前不支持捕获管理接口的报文;
目前只支持捕获接口入方向报文,不支持捕获接口出方向报文;

原理简述
WIP
特性特征
某个时刻只能有一个捕获报文实例,即前一次捕获报文流程没有结束,不能启动下一次捕获报文;
捕获的报文有速率限制,如果有突发流量,超过捕获报文的速率限制,可能会存在丢包现象;
应用场景
问题排查;
配置案例

<R1> system-view
[R1] capture-packet interface gigabitethernet 0/0/0 destination terminal
Info: Captured packets will be showed on terminal.
[R1]ping 10.0.12.2
[R1]
Packet: 1
——————————————————-
ff ff ff ff ff ff 00 e0 fc 9f 4b 1d 08 06 00 01 —————————– # 目的 MAC:ffff-ffff-ffff 源 MAC:00e0-fc9f-4b1d 类型:0806,代表 ARP
08 00 06 04 00 01 00 e0 fc 9f 4b 1d 0a 00 0c 02
00 00 00 00 00 00 0a 00 0c 02 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00
——————————————[……]

READ MORE

「Network」- 镜像(Mirror)

问题描述
在网络维护的过程中会遇到需要对报文进行获取和分析的情况,比如怀疑有攻击报文,此时需要在不影响报文转发的情况下,对报文进行获取和分析。
解决方案
镜像可以在不影响报文正常处理流程的情况下,将镜像端口的报文复制一份到观察端口,用户利用数据监控设备来分析复制到观察端口的报文,进行网络监控和故障排除。
镜像是指将镜像端口(源端口)的报文复制到观察端口(目的端口)。
应用场景

在某些场景中,我们可能需要监控交换机特定端口的入站或出站报文,或者需要针对特定的流量进行分析,例如上图中,GE0/0/2口上承载了许多流量,基于某种需求,我需要对接口的收发报文进行分析从而进行网络的故障定位。那么我可以在交换机的GE0/0/3口接一个PC,在PC上安装协议分析软件,然后部署端口镜像,将GE0/0/2的入、出站流量镜像到GE0/0/3口上来,接下来我只要在PC上通过协议分析软件查看报文即可。
注意,如果没有端口镜像技术,除非数据包的目的地是监控PC(所连接的端口),否则报文是不会发向该端口的。因此事实上端口镜像就是将某个特定端口的流量拷贝到某个监控端口。
概念术语
镜像方式

端口镜像:是指设备复制一份从镜像端口流经的报文,并将此报文传送到指定的观察端口进行分析和监控
流镜像,是将镜像端口上特定业务流的报文复制到观察端口进行分析和监控。在流镜像中,镜像端口应用了包含流镜像行为的流策略。如果从镜像端口流经的报文匹配流分类规则,则将被复制到观察端口。
镜像角色
镜像端口是被监控的端口,从镜像端口流经的所有报文或匹配流分类规则的报文将被复制到观察端口。
观察端口是连接监控设备的端口,用于输出从镜像端口复制过来的报文。
观察端口组是连接多个监控设备的一组端口。观察端口组中的多个成员端口分别连接多个监控设备,当使用观察端口组镜像报文时,镜像到观察端口组的报文将被复制到所有的成员端口。[……]

READ MORE

「Wireshark」- 网络协议分析工具

安装 Wireshark 工具
How to set up wireshark to run without root on Debian? – Super User
在 Ubuntu 21.04 中,按照如下方法安装:

# apt-get install -y wireshark

# dpkg-reconfigure wireshark-common

Should non-superusers be able to capture packets?
<Yes>

# adduser <your username> wireshark

# reboot // 或者,退出重新登录当前帐号

编写表达式
6.4. Building Display Filter Expressions
应用场景
通过 tcpdump 抓包,然后通过 Wireshark 分析
https://www.wireshark.org/ https://www.wireshark.org/docs/wsug_html_chunked/
我们能够使用 tcpdump 保存数据包信息,将数据包信息导入 wireshark 中分析: 1)不仅以更规整的格式,展示各个网络包的头部信息; 2)还用不同颜色展示 DNS 和 ICMP 这两种不同的协议; 3)选择某一个网络包后,在其下方的网络包详情中,可以看到这个包在协议栈各层的详细信息
我们将要访问的是 http://example.com/ 站点,并分析流量:

# tcpdump -i any -nn host example.com -w web.pcap

# curl http://example.com

// 按下 Ctrl+C 停止 tcpdump 命令

# wireshark

常用配置
远程主机抓包
How can I sniff the traffic of remote machine with wireshark? – Server Fault [OpenWrt Wiki] How to capture, filter and inspect packets using tcpdump or wireshark tools

ssh root@<SERVER> tcpdump -U -s0 -i <INTERFACE> -w – “<EXPRESSION>” | wireshark -k -i –

# tcpdump
# -U:配合 -w 选项,将数据包[……]

READ MORE

「tcpdump」- A common packet analyzer

打印HTTP请求
Human readable format for http headers with tcpdump Use TCPDUMP to Monitor HTTP Traffic Can I use tcpdump to get HTTP requests, response header and response body?
参考文献
Wikipedia/tcpdump[……]

READ MORE

「Huawei OPS」- 开放可编程系统(Open Programmability System)

问题描述
传统网络设备是一个封闭系统,提供的功能和服务都是固定的,不具有动态性和灵活性。随着网络的迅猛发展和不断普及,多样化、差异化的需求层出不穷,传统网络设备难以满足这些需求。部分用户要求设备提供不同层次的开放性,便于开发一些自定义的功能,部署一些私有的管理策略,实现自动化运维等功能,以降低管理成本。
试想下面的场景: 1)网络开局,硬件安装完成后,大批量设备需进行业务配置。 2)网络管理员希望设备出现某些告警时,自动执行相应处理动作。 3)网络管理员编写脚本远程下发命令,定时收集设备信息,遇到网络不通的情况。
传统网络设备已无法有效解决以上场景存在的问题及想要达成的需求。
解决方案
华为公司推出 OPS(Open Programmability System,开放可编程系统),提供网络设备的开放可编程能力,赋予用户二次开发的能力,充分释放设备潜力。
简单说,我们能够在华为网络设备中运行 Python 脚本。有了OPS功能,用户可以根据自己的需求编写脚本,导入网络设备进行运行,灵活高效。
原理简述
OPS 功能是用户编写 Python 脚本,将脚本安装到网络设备,脚本运行时发送HTTP请求,来实现对网络设备的管理。
1)用户编写 Python 脚本,其调用 OPS 定义的 RESTful API,并在设备上运行, 2)脚本通过发送 HTTP 请求(127.0.0.1)对网络设备的管理对象进行操作, 3)网络设备则会根据操作的执行结果返回 HTTP 响应消息。

特性特征
利用系统开放的 RESTful API,OPS 允许用户或第三方开发商,开发和部署自己的网络管理策略,从而迅速地实现业务功能扩展、自动部署和设备的智能化管理,降低运维成本和操作的复杂度。

应用场景
实现空配设备自动部署
使用OPS可以实现空配置设备自动部署,不需要管理员到安装现场,降低了人力成本,提升了部署效率。
1)DHCP Server:用来为自动部署的网络设备分配临时管理IP地址、缺省网关、脚本文件服务器地址等信息。 2)DHCP Relay:当需要自动部署的网络设备与DHCP服务器位于不同网段时,需要通过DHCP中继转发DHCP交互报文。 3)脚本文件服务器:用来保存网络设备自动部署时需要的脚本文件(Python脚本)。通过运行脚本文件,网络设备可以获取软件和配置文件服务器地址、版本文件、配置文件等信息。 4)软件和配置文件服务器:用来保存网络设备自动部署需要的系统软件、配置文件、补丁文件。
实现设备健康状态自检
通常情况下,对设备的健康状态进行检查时,用户需要登录设备并执行多条命令行,以查看设备的硬件、业务运行状态。
通过OPS功能,设备可以自[……]

READ MORE

「Huawei OPS」- 概念术语

系统架构

OPS 基于 Huawei VRP 开发,通过开放的 RESTful API 与 VRP 的管理平面、控制平面、数据平面的模块进行交互,实现对设备整体功能的扩展。
OPS通过开放管理对象来开放设备,管理对象使用 URI 进行唯一的标识。Client 可以通过标准的HTTP方法对对象进行操作,如GET、PUT、POST、DELETE。
补充说明: 1)管理对象:网络设备中开放出来的,可以被Restful API接口进行调用的对象,如CPU信息,系统信息,接口信息等。 2)目前华为网络设备OPS功能集成了Python语言的运行环境,可以运行Python脚本。Java,C/C++语言运行环境当前版本暂未实现,待扩展。 3)在 OPS 中,使用URI标识开放的管理对象。如CPU信息的URI为/devm/cpuInfos/cpuInfo,其唯一地标识了CPU信息这个管理对象。OPS定义了一套RESTful API。用户可以通过标准的HTTP方法(GET、PUT、POST和DELETE)访问管理对象。
使用介绍(Python)
目前,华为 OPS RESTful API 只支持在 ERE(Embedded Running Environment,内嵌运行环境)中调用。网络设备系统中集成 Python 环境,用户根据 OPS RESTful API 编写 Python 脚本,并将其安装到设备系统中,当Python脚本运行时,通过向系统发送HTTP请求,来实现对设备的管理。
Python 脚本运行流程示意图:
关于维护助手: 1)维护助手是华为网络设备的一个功能,可以设置触发条件及条件满足时执行的Python脚本。系统会实时监控设备的运行,当设定的触发条件满足时,自动执行Python脚本,完成Python脚本中定义的动作。更多关于维护助手的描述可参见华为网络设备产品文档。
请求格式
用户发送的 HTTP 请求需要按照 OPS 定义的 RESTful API 进行构造(即需要查阅官方文档)。
获取系统信息 API 描述如下:
OPS RESTful API 请求报文与响应报文格式与 HTTP 请求报文与响应报文格式类似。
目前,OPS RESTful API 只支持采用 XML 格式传输数据,未来的版本会支持 JSON(JavaScript Object Notation)格式。所以,目前 OPS Restful API 请求报文和响应报文的主体部分都是 XML 格式。
《RESTful API 参考》可在华为support网站 http://support.huawei.com 的对应网络设备页面进行下载。[……]

READ MORE

「Huawei OPS」- 常见问题处理

配置思路
配置思路如下: 1)其中最重要的是编写Python脚本; 2)之后的三个步骤较简单,操作方式和所涉及命令已在下图标注,不再详细展开。

关于脚本编写:Python脚本的作用是向系统下发HTTP请求,来实现对系统的管理。华为公司提供了Python脚本模板,用户只需根据要实现的功能查找相应RESTful API,并对部分代码做相应修改即可。[……]

READ MORE

「Huawei VRP」- 网络排错

查看端口状态

<SW1>display interface brief | include up ————————————- # 查看接口是否出于 Up 状态;
Interface PHY Protocol InUti OutUti inErrors outErrors
GigabitEthernet0/0/3 up up 0% 0% 0 0
GigabitEthernet0/0/4 up up 0% 0% 0 0
GigabitEthernet0/0/10 up up 0% 0% 0 0
GigabitEthernet0/0/11 up up 0% 0% 0 0

<SW1>display interface GigabitEthernet 0/0/10
Description:
Switch Port, PVID : 12, TPID : 8100(Hex), The Maximum Frame Length is 9216
IP Sending Frames’ Format is PKTFMT_ETHNT_2, Hardware address is 4c1f-cc69-6d7b
Hardware address is 4c1f-cc69-6d7b
Last 300 seconds input rate 0 bytes/sec, 0 packets/sec
Last 300 seconds output rate 0 bytes/sec, 0 packets/sec
Input: 430 bytes, 6 packets ———————————————– # 查看接口是否能够收到报文;
Output: 197137 bytes, 1659 packets

物理地址漂移

[SW3]display mac-address flapping
Mac-address Flapping Configurations :
————————————————-
Flapping detection : Enable
Aging time(sec) : 300
Quit-vlan Recover time(min) : 10
Exclude vlan-list : –
————————————————-

<SW3>display mac-address[……]

READ MORE

「Huawei VRP」- 信息中心

解决方案
信息中心是设备的信息枢纽。设备产生的 Log、Trap 和 Debug 信息统一发往信息中心,通过信息中心的统一管理和控制,实现信息的灵活输出;
通过配置信息中心,对设备产生的信息按照信息类型、严重级别等进行分类或筛选,用户可以灵活地控制信息输出到不同的输出方向(例如,控制台、用户终端、日志主机等)。这样,用户或网络管理员可以从不同的方向收集设备产生的信息,方便监控设备运行状态和定位故障;
应用场景
向日志主机输出 Log 信息:信息中心将指定级别的 Log 信息输出到日志主机中,维护人员通过查询日志信息,了解设备的运行情况; 向网管输出 Trap 信息:信息中心向网管中心发送 Trap 信息,网管通过接收到的 Trap 信息,监控设备的运行状态; 向控制台输出 Debug 信息:信息中心向控制台发送 Debug 信息,维护人员通过 Debug 信息来了解设备的运行情况;
信息的类型
Log 信息
主要记录用户操作、系统故障、系统安全等信息: 1)用户日志:记录用户操作和系统运行信息; 2)安全日志:记录包含账号管理、协议、防攻击和状态等内容的信息; 3)诊断日志:记录协助进行问题定位的信息;
Trap 信息
是系统检测到故障而产生的通知,主要记录故障等系统状态信息; 这类信息不同于 Log 信息,其最大特点是需要及时通知、提醒管理用户和对时间敏感;
Debug 信息
是系统对设备内部运行的信息的输出,主要用于跟踪设备内部运行的状态; 只有在设备上打开相应模块的调试开关,设备才能产生 Debug 信息;
信息的分级
设备产生信息比较多时,用户较难分辨哪些是设备正常运转的信息,哪些是出现故障需要处理的信息。对信息进行分级,用户可以根据信息的级别进行粗略判断,及时采取措施,屏蔽无需处理的信息;
根据信息的严重等级或紧急程度,信息分为 8 个等级,信息越严重,其严重等级阈值越小: 0 | Emergencies | 设备致命的异常,系统已经无法恢复正常,必须重启设备; 1 | Alert | 设备重大的异常,需要立即采取措施。如设备内存占用率达到极限等; 2 | Critical | 设备的异常,需要采取措施进行处理或原因分析。如设备内存占用率低于下限阈值和 BFD 探测出设备不可达等; 3 | Error | 错误的操作或设备的异常流程,不会影响后续业务,但是需要关注并分析原因。如用户的错误指令、用户密码错误和检测出错误协议报文等; 4 | Warning | 设备运转的异常点,可能引起业务故障,需要引起注意。如用户关闭路由进程、BFD 探测的一次报文丢失和检测出错误协议报文等; 5 | Notification | 设备正常运转的关键操作信息。如端口 shutdo[……]

READ MORE

「NetStream」- 基于网络流信息的统计技术

问题描述
传统的流量统计的实现方法和局限性: 基于IP报文计数:统计的信息简单,无法针对多种信息进行统计。 使用ACL:要求ACL的容量很大,对于ACL规则以外的流没有办法统计。 SNMP协议:功能不强。要不断的通过轮询向网管查询,浪费CPU和网络资源。 端口镜像:成本高,同时消耗设备的一个接口,对于无法镜像的端口无能为力。 物理层复制:成本高,同时还需要购买专用的硬件设备。
解决方案
NetStream技术是一种基于网络流信息的统计技术,可以对网络中的业务流量情况进行统计和分析。在网络的接入层、汇聚层、核心层上,都可以通过部署NetStream。
NetStream支持IP报文(UDP、TCP、ICMP报文)和MPLS报文的统计。
原理简述
NetStream工作过程: 配置了NetStream功能的设备(即NDE)把采集到的关于流的详细统计信息定期发送给NSC。 信息由NSC初步处理后发送给NDA。 NDA对数据进行分析,以用于计费、网络规划等应用。

在实际的应用中,NSC和NDA一般集成在一台NetStream服务器上。NDE通过NetStream采样获取GE0/0/1接口出方向流量信息,并按照一定条件建立NetStream流,当NetStream缓存区已满或者NetStream流达到老化时间,NDE会将统计的信息封装成NetStream报文发送到NetStream服务器。NetStream服务器对NetStream报文进行分析处理,并显示分析结果。
特性说明
WIP
应用场景

系统组成

典型的 NetStream 系统由三种角色:
NetStream Data Exporter, NDE
1)网络流数据输出器(NetStream Data Exporter, NDE),负责对网络流进行分析处理,提取符合条件的流进行统计,并将统计信息输出给 NDA 设备。 输出前也可对数据进行一些处理, 比如聚合。配置了NetStream功能的设备在 NetStream 系统中担当 NDE 角色。
NetStream Collector, NSC
2)网络流数据收集器(NetStream Collector, NSC):通常为运行于 Unix 或者 Windows 上的一个应用程序,负责解析来自 NDE 的报文,把统计数据收集到数据库中,可供 NDA 进行解析。 NSC 可以采集多个 NDE 设备输出的数据,对数据进行进一步的过滤和聚合。
NetStream Data Analyzer, NDA
3)网络流数据分析器(NetStream Data Analyzer, NDA),是一个网络流量分析工具,它从 NSC 中提取统计数据,[……]

READ MORE

「NETWORKING」- 问题排查案例:流量无法主动进入;

问题描述
最近(11/25/2021)遇到个奇怪的问题: 1)电信给了几个静态 IP 地址,我随便挑了一个,然后绑网关路由器上。 2)阿里云服务器 到 网关路由,是 ping 这个静态地址不通。这时候我们保持长 ping,不要退出 ping 3)此时,如果我从路由器上先 ping 一下电信的网关(哪怕一个 ping 包),然后阿里云服务器 到 网关路由 立马就通了。

原因分析
Router: AR 1220 Optical Modem: ZTE ZXHN F401
# 11/25/2021
## 环境 现在我在 光猫 和 路由器 加个一个中间设备(图中的 MITM),实际是台工控机,两个千兆口 1)MITM 上运行 Linux 系统 2)然后,我把 MITM 的两个千兆口做了桥接, 3)然后在两个千兆口上抓包。这也是加这个设备的目的,还是抓包。
## 现象 Alibaba Cloud Server 主动 ping AR2,当网络不通的时候,MITM 没有收到数据包。 当我从 AR2 主动 ping optical modem ,就发一个 ping 包,然后 Alibaba Cloud Server 到 AR2 马上通。
## 推测 电信光猫 MAC 地址表的问题 1)我从 AR2 上 ping optical modem,这时候它从接口学到我得 MAC 地址。 2)当长时间不发包,optical modem 上的 MAC 地址失效之后,optical modem 就不知道 .125 的 MAC 是多少 1)另外,我在 MITM 上很少看到 optical modem 发来 ARP,也就是 网关很少发 ARP 来问 .125 这个地址的 MAC 是多少。
## 复现的方法 1)根据推测,复现的方法就很简单,直接重启 optical modem,这样它整个 MAC 地址表就没了。 2)然后在从 Alibaba Cloud Server 主动 ping AR2,此时 100% 不通 3)然后 从 AR2 主动 ping optical modem ,就发一个 ping 包,然后 Alibaba Cloud Server 到 AR2 马上通。
## 补充说明 1)当链路 UP 之后,第一个数据包,如果是从远程到本地,则绝对不通。因为电信的光猫没有路由器的 MAC 地址,它也不发 ARP 查。
## 类似问题 【求助】光猫不支持ARP,请问怎么搞 puzzle: when the ISP refuses to use arp requests…
# 12/04/2022 问题在之前得以解决:在我们的场景中,两条宽带存在隔离。所以入 Inbound Tfc 与 Outbound[……]

READ MORE