HCIA-datacom:SDN与自动化基础易错点精华总结 作者: Quesiter 时间: 2025-11-10 分类: HCIA_DATACOM ## 一、SDN核心架构 ### 1.1 三大基本特征(绝对重点) - **转控分离** - **控制平面**(大脑):负责路由计算、决策制定,集中在控制器中。 - **转发平面**(手脚):只负责根据流表高速转发数据包,位于网络设备中。 - **集中控制** - 网络智能被集中到控制器中,控制器拥有全局网络视图。 - 控制器基于全局视图进行最优路径计算和策略下发。 - **开放接口** - **南向接口**:控制器与网络设备之间的开放接口。 - **北向接口**:控制器与上层应用之间的开放接口(通常为RESTful API)。 ### 1.2 接口方向(极易混淆,必须掌握) **记忆口诀:`上北下南,控制器是核心`** | 接口类型 | 方向 | 连接对象 | 典型协议 | 功能描述 | | :--- | :--- | :--- | :--- | :--- | | **北向接口** | 向上 | 控制器 ⇄ 业务应用 | RESTful API | 应用通过API调用网络服务,实现网络编程 | | **南向接口** | 向下 | 控制器 ⇄ 网络设备 | OpenFlow, NETCONF/YANG, OVSDB | **控制器管理设备的所有通信**,包括下发配置/流表和接收设备上报信息 | | **东/西向接口**| 水平 | 控制器 ⇄ 其他控制器 | 未标准化 | 用于多控制器域间的协同,考试中较少涉及 | **关键辨析:** - 设备**上报事件**(如端口宕掉)是通过**南向接口**送给控制器,**不是**北向接口。 - 北向接口是应用程序用来告诉控制器业务需求的。 ### 1.3 对“集中控制”的深度理解 - **正确理解:** - 控制器集中计算路径,网络设备间**无需运行OSPF/IS-IS等分布式路由协议**。 - 控制器通过下发**流表**来指导转发。 - 设备本地维护流表,绝大多数流量**直接匹配流表高速转发**,无需控制器干预。 - **经典误区纠正:** - **错误:** 每个数据包的转发都需要控制器实时决策。 - **正确(流表转发机制):** 1. **首包上送:** 流的首个数据包若无匹配流表,则上送控制器。 2. **决策下发:** 控制器计算路径,并向路径上的所有设备下发对应的流表项。 3. **后续直转:** 该流后续的所有数据包均在设备上直接匹配流表转发,实现高速性能。 ### 1.4 SDN优势辨析 - **真正的核心优势:** - **灵活可编程:** 通过开放接口实现网络定制。 - **简化运维:** 集中控制使得网络配置、监控、排障更简单。 - **自动化业务部署:** 业务上线速度快。 - **全局优化:** 基于全局视图实现流量工程、负载均衡。 - **常见误解(必须避免):** - **错误:** SDN能显著提升**单台网络设备**的硬件转发性能。 - **解释:** 单设备的转发性能取决于其硬件芯片(ASIC)。SDN的优势是“控制和管理”层面的软优势,而非硬件性能的提升。 ## 二、NETCONF与YANG协议精解 ### 2.1 YANG与NETCONF的关系(核心模型) **比喻:YANG是`建筑图纸`,NETCONF是`施工队`。** | 组件 | 角色 | 功能描述 | | :--- | :--- | :--- | | **YANG** | 数据建模语言 | 定义网络数据的**结构、类型、约束关系**。它规定“数据该长什么样”,但本身是空的,不包含具体配置值。 | | **NETCONF** | 网络配置协议 | 负责在管理端与设备端之间**安全、可靠地传输**具体的配置数据和状态数据。它传输的是根据YANG模型填充好的数据内容。 | **结论:** YANG定义`数据是什么样`,NETCONF定义`如何传输这些数据`。NETCONF不传输YANG模型文件本身。 ### 2.2 YANG数据分类 YANG模型中将数据节点明确分为两类: | 数据类型 | YANG语句 | 读写性 | 描述 | 示例 | | :--- | :--- | :--- | :--- | :--- | | **配置数据** | `config true;` (可默认省略) | 可读可写 | 设备“**应该如何工作**”的期望状态。 | 接口IP地址、主机名、ACL规则、路由配置 | | **状态数据** | `config false;` (必须声明) | **只读** | 设备“**当前运行状态**”的真实反馈。 | 接口流量计数器、CPU利用率、设备温度、协议邻居状态 | **重要性:** 该区分是网络自动化的基础,使得管理程序能清晰区分“配置设备”和“查询状态”。 ### 2.3 NETCONF关键操作与细节 - **常用RPC操作:** - ``:检索**指定配置数据库**(如``)中的**配置数据**。 - ``:**修改**设备配置的**核心操作**。 - ``:检索**所有数据**(包括**配置数据**和**状态数据**)。 - **关键细节:** - **传输协议:** 通常使用 **NETCONF over SSH**,默认端口为 **TCP 830**。 - **数据编码:** 主要使用**XML**。 ## 三、网络自动化与Python ### 3.1 Python网络库选型与安全 | 库名 | 基于协议 | 安全性 | 特点与用途 | | :--- | :--- | :--- | :--- | | **`telnetlib`** | Telnet | **明文传输** | 极不安全,**严禁在生产环境使用**,仅用于学习或测试。 | | **`paramiko`** | SSHv2 | **加密传输** | 实现了SSHv2协议的低层级库,提供安全连接,是许多高级库的基础。 | | **`netmiko`** | SSH (基于Paramiko) | **加密传输** | **自动化脚本首选**。在Paramiko之上封装,简化了多厂商设备的连接与命令交互细节。 | ### 3.2 文件操作最佳实践 - **使用 `with` 语句(上下文管理器):** ```python with open('config.txt', 'r') as file: # ‘r’表示读取模式 content = file.read() ``` 退出with代码块后,文件会自动关闭,无需手动调用file.close(),避免资源泄露。 - 这是Python文件操作的**最佳实践**。 ## 四、关键协议与特性 ### 4.1 RESTful API特征 - **正确特征(必须掌握):** - **无状态:** 服务器不保存客户端上下文。每次请求必须包含所有必要信息(如认证令牌)。 - **统一接口:** 使用标准HTTP方法操作资源: - `GET`(检索)、`POST`(创建)、`PUT`(更新/替换)、`DELETE`(删除)。 - **资源导向:** 一切皆资源,通过URI标识。 - **常见误解(必须纠正):** - **错误:** 必须使用XML作为数据格式。 - **事实:** JSON因其轻量、易读,已成为更主流的选择。 - **错误:** 需要维持一个长连接的会话。 - **事实:** 因其**无状态**,不需要维持长连接。每次请求/响应后连接可关闭。 ### 4.2 OpenFlow流表生命周期 - **流表项非永久有效:** 控制器下发流表时可设置超时机制,防止流表被无用条目占满。 - **空闲超时:** 如果在指定时间内**没有数据包匹配**此流表项,则自动删除。 - **硬超时:** 无论是否有流量匹配,只要到达指定时间,流表项**强制删除**。 - **结论:** “流表项直到设备重启才失效”的说法是**错误的**。 ## 五、华为解决方案与相关技术 ### 5.1 iMaster NCE 平台定位 - **它不是单一组件,是融合平台:** - **控制层功能:** 作为SDN控制器,通过南向接口集中管理网络设备和拓扑。 - **应用协同层功能:** 提供强大的业务自动化、智能分析和运维能力,超越基础控制器。 - **定位辨析:** - **不属于**基础设施层(那是物理网络设备)。 - **不属于**虚拟化层/NFVI(那是承载VNF的通用服务器和Hypervisor)。 ### 5.2 混合SDN模型 - **Underlay网络:** - 采用**传统IP/MPLS技术**(如IS-IS, BGP)。 - 目标:提供**稳定、可靠、高性能**的底层IP连通性。 - **Overlay网络:** - 由**SDN控制器**(如iMaster NCE)通过VXLAN等技术创建和管理。 - 目标:在Underlay之上构建**灵活、可编程**的虚拟网络,实现业务快速部署和策略随行。 ### 5.3 NFV(网络功能虚拟化) - **核心思想:** 将防火墙、路由器等网络功能从`专用硬件`中解耦,以`软件(VNF)`形式运行在`通用服务器`上。 - **与SDN关系:** SDN(实现网络连接自动化)和NFV(实现网络功能虚拟化)相互**互补**,结合使用能最大化网络转型价值。 --- **复习建议:** 每日快速浏览此文档,强化记忆易错点。尤其要反复理解`SDN接口方向`、`YANG与NETCONF的关系`以及`各类协议的关键特性`。祝您考试成功! 标签: none
评论已关闭