华为DCN之:SDN和NFV
1. SDN概述
1.1 SDN的起源
SDN(Software Defined Network)即软件定义网络。是由斯坦福大学Clean Slate研究组提出的一种新型网络创新架构。其核心理念通过将网络设备控制平面与数据平面分离,从而实现了网络控制平面的集中控制,为网络应用的创新提供了良好的支撑。
SDN起源提出了三个特征, “转控分离”、“集中控制”和“开放可编程接口”。
SDN的本质诉求是让网络更加开放、灵活和简单。它的实现方式是。为网络构建一个集中的大脑,通过全局视图集中控制,实现或业务快速部署、或流量调优、或网络业务开放等目标。
SDN的价值是:
- 集中管理,简化网络管理与运维;
- 屏蔽技术细节,降低网络复杂度,降低运维成本;
- 自动化调优,提高网络利用率;
- 快速业务部署,缩短业务上线时间;
1.2 OpenFlow
控制器与交换机之间的一种南向接口协议。它定义了三种类型的消息:
❶ Controller-to-Switch:由Controller发送。用于管理Switch和查询Switch的相关信息。
Features消息
:在SSL/TCP会话建立后,Controller给Switch发送Features请求Switch的相关信息。Switch必须应答自己支持的功能,包括接口名、接口MAC地址、接口支持的速率等等基本信息。
Configuration消息
:Controller可以设置或查询Switch的状态。
Modify-State消息
:Controller发送该消息给Switch,来管理Switch的状态,即增加/删除、更改流表,并设置Switch的端口属性。
Read-State消息
:Controller用该消息收集Switch上的统计信息。
Send-Packet消息
:Controller发送该消息到Switch的特定端口。
❷ Asynchronous:由Switch发起。当Switch状态发生改变时,发送该消息告诉Controller状态变化。
Packet-in消息:当Flow Table中没有匹配的表项或者匹配“send to Controller”,Switch将给Controller发送packet-in消息。
Packet-out消息:从控制器回复的消息。
Flow-Removed消息:当给Switch增加一条表项时,会设定超时周期。当时间超时后,该条目就会被删除。这时Switch就会给Controller发送Flow-Removed消息;当流表中有条目要删除时,Switch也会给Controller发送该消息。
Port-status消息:当数据路径接口被添加、删除、修改的时候,此消息用于通知控制器。
❸ Symmetric:
Hello消息:当一个OpenFlow连接建立时,Controller和Switch都会立刻向对端发送OFPT_HELLO消息,该消息中的version域填充发送方支持的OpenFlow协议最高的版本号;接收方收到该消息后,接收方会计算协议版本号,即在发送方和接收方的版本号中选择一个较小的;如果接收方支持该版本,则继续处理连接,连接成功;否则,接收者回复一个OFPT_ERROR消息,类型域中填充ofp_error_type.OFPET_HELLO_FAILED
Echo消息: Switch和Controller任何一方都可以发起Echo request消息,但收到的一方必须回应Echo reply消息。这个消息可以来测量latency、Controller-Switch之间的连接性,即心跳消息;
Error消息:当交换机需要通知控制器发生问题或错误时,Switch给Controller 发送Error消息。
流表
OpenFlow交换机基于流表(Flow Table)转发报文。
流表中关于转发的关键的两个内容:
- 匹配字段是匹配规则,支持自定义。
- 指令是用来描述匹配后的处理方式。
和传统转发方式的对比
- 传统模式
经典的网络转发方式是网络设备通过查询路由表指导流量转发。
路由表的条目由网络设备之间运行路由协议而计算生成。
路由表是定长的。路由表通过最长匹配原则执行报文转发。一台网络设备只有一张路由表。
- 基于流表转发
运行OpenFlow的交换机通过查询流表指导流量转发。
流表一般是由OF控制器统一计算,然后下发到交换机。
流表是变长的,拥有丰富的匹配规则和转发规则。一台网络设备有多张流表。
流表的匹配原则是对于存在的“table0-table255”,优先从table0开始匹配。同一table内部按照优先级匹配,优先级高优先匹配。
1.3 SDN架构
SDN的架构如下图,不同层次之间通过开放接口连接。以控制器层为主要视角,区分面向设备层的南向接口和面向协同应用层的北向接口。
①协同应用层
:主要完成用户意图的各种上层应用,典型的协同层应用包括OSS、OpenStack等。OSS可以负责整网的业务协同,OpenStack云平台一般用于数据中心负责网络、计算、存储的业务协同。
②控制器层
:控制器层的实体就是SDN控制器,是SDN网络架构下最核心的部分。控制层是SDN系统的大脑,其核心功能是实现网络业务编排。
③设备层
:网络设备接收控制器指令,执行设备转发。
④NBI北向接口
:北向接口为控制器对接协同应用层的接口,主要为RESTful。
⑤SBI南向接口
:南向接口为控制器与设备交互的协议,包括NETCONF、SNMP、OpenFlow、OVSDB等。
华为SDN架构
华为SDN网络架构如下:
❶云平台:云数据中心内资源管理平台。云平台包含对网络资源、计算资源和存储资源的管理。OpenStack是最主流的开源云平台。
❷EMS(Element Management System,网元管理系统)是管理特定类型的一个或多个电信NE(Network Element,网络单元)的系统。
❸Orchestration(容器编排):容器编排工具也可以包含网络业务编排功能。Kubernetes是主流的工具。
MTOSI/CORBA用于对接BSS/OSS。Kafka/SFTP可用于对接大数据平台。
华为SDN解决方案架构:
IMaster NCE
iMaster NCE,自动驾驶网络管理与控制系统,是华为集管理、控制、分析和AI智能功能于一体的网络自动化与智能化平台。集成了原华为的网管系统(eSight)、控制器(Agile Controller)、分析器(Insight)。有如下特性:
自动化+智能化——SDN自动化业务配置部署,AI智能分析预测排障
管理+控制+分析——统一数据底座,感知定位处理一气呵成
规+建+维+优——全生命周期管理,仿真校验监控优化
iMaster NCE有效连接了物理网络与商业意图。南向实现全局网络的集中管理、控制和分析。面向商业和业务意图使能资源云化、全生命周期网络自动化,以及数据分析驱动的智能闭环。北向提供开放网络API与IT快速集成。
iMaster NCE的产品线如下:
- 数据中心——iMaster NCE-Fabric
- 园区网——iMaster NCE-Campus
- SD-WAN——iMaster NCE-WAN
- 广域IP——iMaster NCE-IP
- 广域传输——iMaster NCE-T
数据中心CloudFabric
基于iMaster NCE-Fabric,为数据中心网络提供从规划-建设-运维-调优全生命周期服务
➊规建一体:规划工具对接NCE,实现规划建设一体化。ZTP(Zero Touch Provisioning,零配置开局)
➋极简部署:业务意图自理解和转换部署。网络变更仿真评估,杜绝人为错误。
➌智能运维:基于知识图谱和专家规则的快速故障发现定位。基于专家规则和仿真分析的快速故障恢复。
➍实时调优:面向AI-Fabric的流量本地推理,在线模型训练调优。用户行为预测、资源调优建议。
⓵极简ZTP部署
ZTP部署流程:
- 网络管理员点击启动ZTP任务。
- 设备自动获取IP地址访问控制器。
- 控制器判断设备角色(Spine or Leaf),对上线设备下发管理IP、SNMP、NETCONF等配置,并通过管理IP纳管设备。
- 控制器全局下发互联配置及OSPF、BGP等配置。
- 设备上线成功,管理员NCE查看全网信息。
⓶网络意图自理解,业务快速部署
iMaster NCE-Fabric支持对接用户IT系统,为用户意图匹配意图模型,通过NETCONF下发配置到设备上实现业务快速部署。
iMaster NCE-Fabric支持对接主流云平台(OpenStack)、虚拟化平台(vCenter/SystemCenter)和容器编排平台(Kubernetes)。
⓷网络变更仿真,预判变更风险
建模求解:建立物理/逻辑/应用网络模型;通过形式化验证算法求解
校验结果:校验现网资源是否足够、连通性等;变更对原有业务影响分析和呈现
⓸数据中心网络AI智能运维
AI只能运维需要借助Insight模块。
园区CloudCampus
- 网络开通”快”,部署效率提升600%
设备即插即用:设备极简开局,场景导航,模板配置
网络极简部署:网络资源池化,一网多用,业务自动化发放
- 业务发放”快”,用户体验提升100%
业务随行:图形化策略配置,用户随时随地接入,漫游权限不变,体验不变
终端智能识别:终端接入防仿冒,终端智能识别准确率95+%
智能HQos:基于应用调度和整形,带宽精细化管理,保证关键用户业务体验
- 智能运维“快”,整网性能提升50%+
实时体验可视:基于Telemetry的每时刻、每用户、每区域的网络体验可视
精准故障分析:主动识别85%的典型网络问题并给出建议,实时数据对比分析故障预测
智能网络调优:基于历史数据的无线网络预测性调优,整网性能提升50%+(来源:Tolly认证)
➀设备即插即用
注册中心:华为设备注册查询中心,简称注册中心,是华为云管理网络解决方案的主要部件之一,用于设备的管理模式和注册归属查询。设备根据查询结果确定是否切换到云管理模式,需要注册到哪个云管理平台。以AP为例,对于华为支持云管理特性的设备均会预置华为设备注册中心的URL(register.naas.huawei.com)和端口号(10020)。
➁构建一网多用的虚拟化园区
通过引入虚拟化技术,在园区网络中,基于一张物理网络创建多张虚拟网络(VN,Virtual Network)。不同的虚拟网络应用于不同的业务,例如办公、研发或物联网等。
通过iMaster NCE实现全网设备集中管理,管理员通过图形化界面实现网络配置。
iMaster NCE将管理员的网络业务配置意图“翻译”成设备命令,通过NETCONF协议将配置下发到各台设备,实现网络的自动驾驶。
VN通常用VRF来实现
➂业务随行,基于安全组的策略管理
业务随行:不管用户身处何地,使用哪个IP地址,都保证该用户拥有相同的网络权限和一致的用户策略。
𝟙 引入安全组。安全组即拥有相同网络访问策略的一组用户。
𝟚 定义基于安全组的权限控制策略、用户体验策略,将策略下发到网络设备。
𝟛 用户的流量进入网络后,网络设备根据流量所述的源、目的安全组执行策略。
𝟜 用户执行准入认证后,获得授权的安全组。
➃有线与无线融合
传统独立AC和随板AC的问题:有线及无线认证点分离、策略控制分散、流量转发分离、故障排除困难、管理困难
有线无线融合(随板AC,Native AC):
交换机融合AC功能,无线流量转发无瓶颈,并且减少故障点,有线无线集中管理:
①有线及无线业务统一管理、融合转发
②有线及无线用户融合管理、网关融合
③有线及无线认证点融合
④有线及无线统一策略执行
➄终端智能识别,安全接入
智能终端识别是思科在ISE中最先推出
➅园区网络AI智能运维
利用算法提升效率,通过场景化的持续学习和专家经验,智能运维将运维人员从复杂的告警和噪声解放出来,使运维更加自动化和智能化。
TO-BE:以用户体验为中心的AI智能运维
体验可视化:基于Telemetry秒级数据采集,每用户每应用每时刻体验可视
分钟级潜在故障识别和根因定位:基于动态基线、大数据关联等识别潜在故障;KPI关联分析和协议回放,精准定位问题根因
网络预测性调优:通过AI 智能分析AP的负载趋势,完成无线网络的预测性调优闭环
2. NFV概述
2.1 NFV的起源
来自IT界的启示,给网络产业带来了网络架构和设备架构两个层面的思考。网络架构层面引入对SDN控制器的思考,设备架构层面引入对设备部署形态的思考。
网络产业思考:能否以软件化的方式部署网络应用呢?这些思考引发了NFV(Network Functional Virtualization,网络功能虚拟化)。
虚拟化之后的网络功能被称为VNF(Virtualized Network Function)。当我们谈“VNF”时,我们指运营商IMS、CPE这些传统网元在虚拟化之后的实现。在硬件通用化后,传统的网元不再是嵌入式的软硬结合的产品,而是以纯软件的方式安装在通用硬件(即NFVI)上。
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(行业规范工作组)进行第一阶段研究,已完成相关标准制定。主要定义网络功能虚拟化的需求和架构,并梳理不同接口的标准化进程。
2015年,NFV研究进入第二阶段。其主要研究目标是建设一个可互操作的NFV生态,推动更广泛的行业参与,并且确保满足阶段一中定义的需求。同时明确NFV与SDN等相关标准、开源项目的协作关系等。NFV阶段二主要分为5个工作组:IFA(架构与接口)、 EVE(生态圈)、 REL(可靠性)、 SEC(安全)、TST(测试、执行、开源)。各工作组主要讨论交付件文档框架和交付计划。
NFV是运营商为了解决电信网络硬件繁多、部署运维复杂、业务创新困难等问题而提出的。NFV在重构电信网络的同时,给运营商带来的价值如下:
- 缩短业务上线时间:在NFV架构的网络中,增加新的业务节点变得异常简单。不再需要复杂的工勘、硬件安装过程。业务部署只需申请虚拟化资源,加载软件即可,网络部署变得更加简单。同时,如果需要更新业务逻辑,也只需要更新软件或加载新业务模块,完成业务编排即可,业务创新变得更加简单。
- 降低建网成本:首先,虚拟化后的网元能够合并到通用设备(COTS)中,获取规模经济效应。其次,提升网络资源利用率和能效,降低整网成本。NFV采用云计算技术,利用通用化硬件构建统一的资源池,根据业务的实际需要动态按需分配资源,实现资源共享,提高资源使用效率。如通过自动扩缩容解决业务潮汐效应下资源利用问题。
- 提升网络运维效率:自动化集中式管理提升运营效率,降低运维成本。例如数据中心的硬件单元的集中管理的自动化,基于MANO的应用生命周期管理的自动化,基于NFV/SDN协同的网络自动化。
- 构建开放的生态系统 :传统电信网络专有软硬件的模式,决定了它是一个封闭系统。NFV架构下的电信网络,基于标准的硬件平台和虚拟化的软件架构,更易于开放平台和开放接口,引入第三方开发者,使得运营商可以共同和第三方合作伙伴共建开放的生态系统。
2.2 NFV关键技术
- 虚拟化
在NFV的道路上,虚拟化是基础,云化是关键。
传统电信网络中,各个网元都是由专用硬件实现,成本高、运维难。虚拟化具有分区、隔离、封装和相对于硬件独立的特征,能够很好匹配NFV的需求。运营商引入此模式,将网元软件化,运行在通用基础设施上。
- 云化
美国国家标准与技术研究院(NIST)定义:云计算是一种模型,它可以实现随时随地,便捷地,随需应变地从可配置计算资源共享池中获取所需的资源(例如,网络、服务器、存储、应用、及服务),资源能够快速供应并释放,使管理资源的工作量和与服务提供商的交互减小到最低限度。
云计算拥有诸多好处。运营商网络中网络功能的云化更多的是利用了资源池化和快速弹性伸缩两个特征。
2.3 NFV架构
NFVI
包含硬件层和虚拟化层,业界也有说法称作COTS和CloudOS:
- COTS(commercial off-the-shelf,商用现货),即通用硬件,强调了易获得性和通用性。例如Huawei FusionServer系列硬件服务器。
- CloudOS:设备云化的平台软件,可以理解为电信业的操作系统。CloudOS提供了硬件设备的虚拟化能力,将物理的计算/存储/网络资源变成虚拟资源供上层的软件使用。例如华为的云操作系统FusionSphere。
VNF
:VNF可以理解为各种不同网络功能的APP,是运营商传统网元(IMS,EPC,BRAS,CPE…)的软件实现。
MANO
:MANO的引入是要解决NFV多CT/IT厂家环境下的网络业务的发放问题,包括:分配物理/虚拟资源,垂直打通管理各层,快速适配对接新厂家新网元。MANO包括NFVO(Network Functions Virtualization Orchestrator,负责网络服务的生命周期的管理)、VNFM(Virtualized Network Function Manager, 负责VNF的生命周期管理)、VIM(Virtualized Infrastructure Manager,负责NFVI的资源管理)三部分。
OSS/BSS
:服务提供商的管理功能,不属于NFV框架内的功能组件,但MANO和网元需要提供对 OSS/BSS 的接口支持。
MANO负责NFV管理和编排。包括VIM,VNFM及NFVO,提供对VNF及I层统一的管理和编排功能。
- VIM:Virtualized Infrastructure Managers, NFVI管理模块,通常运行于对应的基础设施站点中,主要功能包括:资源的发现、虚拟资源的管理分配、故障处理等。
- VNFM:VNF Managers ,VNF管理模块,主要对VNF的生命周期(实例化、配置、关闭等)进行控制。
- NFVO:NFV Orchestration,实现对整个NFV基础架构、软件资源、网络服务的编排和管理。
NFVI是NFV的基础设施,包括所需的硬件及软件。为VNF提供运行环境。
- Hardware:硬件层,包括提供计算、网络、存储资源能力的硬件设备。
- Virtualization Layer:虚拟化层,主要完成对硬件资源的抽象,形成虚拟资源,如虚拟计算资源、虚拟存储资源、虚拟网络资源。其虚拟化功能由Hypervisor[1] 实现。
ETSI定义了NFV标准架构,由NFVI、VNF以及MANO主要组件组成。NFVI包括通用的硬件设施及其虚拟化,VNF使用软件实现虚拟化网络功能,MANO实现NFV架构的管理和编排。
NFV架构结构:
接口类型 | 功能描述 |
---|---|
Vi-Ha | 虚拟化层与基础硬件之间的接口。虚拟化层满足基础硬件兼容性要求。 |
Vn-Nf | 虚拟机(VM)与NFVI之间的接口。它确保虚拟机可以部署在NFVI上,满足性能、可靠性和可扩展性要求。NFVI满足虚拟机操作系统兼容性要求。 |
Vf-Vi | 虚拟化层管理软件与NFVI之间的接口,提供NFVI虚拟计算、存储和网络系统管理;提供虚拟基础架构配置和连接;提供系统利用率、性能监控和故障管理。 |
Ve-Vnfm | VNFM与VNF之间的接口,实现VNF生命周期管理、VNF配置、VNF性能和故障管理。 |
OS-Ma | 实现网络服务生命周期管理,VNF生命周期管理。 |
Vi-Vnfm | 提供业务应用管理系统/业务编排系统与虚拟化层管理软件之间交互接口。 |
Or-Vnfm | 给VNFM发送配置信息,对VNFM进行配置,完成Orchestrator与VNFM的对接;分配给一个VNF的NFVI资源的交互;VNF信息的交换。 |
Or-Vi | Orchestrator需要的资源预定及资源分配的请求;虚拟硬件资源配置及状态信息的交换。 |
华为NFV解决方案
华为NFV架构中,虚拟化层及VIM的功能由华为云Stack NFVI平台实现。华为云Stack可以实现计算资源、存储资源和网络资源的全面虚拟化,并能够对物理硬件虚拟化资源进行统一的管理、监控和优化。
华为提供运营商无线网、承载网、传输网、接入网、核心网等全面云化的解决方案。
相关文章:

华为DCN之:SDN和NFV
1. SDN概述 1.1 SDN的起源 SDN(Software Defined Network)即软件定义网络。是由斯坦福大学Clean Slate研究组提出的一种新型网络创新架构。其核心理念通过将网络设备控制平面与数据平面分离,从而实现了网络控制平面的集中控制,为…...

黑马头条-数据管理平台
目录 项目准备 验证码登录 验证码登录-流程 token 的介绍 个人信息设置和 axios 请求拦截器 axios 响应拦截器和身份验证失败 优化-axios 响应结果 发布文章-富文本编辑器 项目准备 技术: • 基于 Bootstrap 搭建网站标签和样式 • 集成 wangEditor 插件…...

API Object设计模式
API测试面临的问题 API测试由于编写简单,以及较高的稳定性,许多公司都以不同工具和框架维护API自动化测试。我们基于seldom框架也积累了几千条自动化用例。 •简单的用例 import seldomclass TestRequest(seldom.TestCase):def test_post_method(self…...
Python 爬虫:多进程,多线程爬虫<提高爬取效率>
关于多进程,多线程的知识,请自行查询资料补充 ~~~~~~~~~~~ 使用多进程: 在python中,使用多进程需要先导包: from threding import Threaddef work(name):for i in range(1000):print(f"我是线程:{n…...

什么是上拉电阻器?上拉和下拉电阻的典型应用
什么是上拉电阻器? 上拉电阻是逻辑电路中使用的电阻,用于确保引脚在所有条件下具有明确定义的逻辑电平。提醒一下,数字逻辑电路有三种逻辑状态:高、低和浮动(或高阻抗)。当引脚未被拉至高或低逻辑电平&…...
centos7安装python3.10
文章目录 1. 安装依赖项2. 下载Python 3.10源码3. 解压源码并进入目录4. 配置安装选项5. 编译并安装Python6. 验证安装7.创建软连接8. 安装pip39. 换源 1. 安装依赖项 sudo yum groupinstall -y "Development Tools" sudo yum install -y openssl-devel bzip2-devel…...

QT事件处理及实例(鼠标事件、键盘事件、事件过滤)
这篇文章通过鼠标事件、键盘事件和事件过滤的三个实例介绍事件处理的实现。 鼠标事件及实例 鼠标事件包括鼠标的移动、按下、松开、单击和双击等。 创建一个MouseEvent项目,通过项目介绍如何获得和处理鼠标事件。程序效果如下图所示。 界面布局代码如下ÿ…...

职场新人必备待办工具 高效待办工作更省心
作为一名初入职场的菜鸟,我曾被繁琐的工作任务压得喘不过气。每天,邮件、会议、项目任务像潮水般涌来,我常常感到力不从心,生怕遗漏了什么重要事项。那种焦虑,就像站在人来人往的地铁站,却不知道自己该搭乘…...

【创作纪念日】我的CSDN1024创作纪念
机缘 注册CSDN是很长时间了,但是上学时因为专业是电气工程,与编程打交道比较少,一直都是寻求帮助,而非内容输出。直到考研后专业改变,成为了主要跟软件编程、计算机知识相关的研究后,才逐步开启自己的CSDN…...

在AvaotaA1全志T527开发板上使用 UART 连接开发板
连接开发板 AvaotaA1提供两种连接串口输出方式,因为AvaotaA1需要DC 12V/2A/5.5-2.1电源适配器才可以启动系统,请先确保电源已接通。 方式一: 使用配套的 TyepC-SUB 转接板 40Gbps雷电线标准TypeC数据线,就可以同步实现 USB 串口…...
【Asterinas】Asterinas 进程启动与切换
Asterinas 进程启动与切换 进程启动 进程创建: Rust pub fn spawn_user_process( executable_path: &str, argv: Vec, envp: Vec, ) -> Result<Arc> { // spawn user process should give an absolute path debug_assert!(executable_path.starts_with…...

CVE-2024-6387 分析
文章目录 1. 漏洞成因2. 漏洞利用前置知识2.1 相关 SSH 协议报文格式2.2 Glibc 内存分配相关规则 3. POC3.1 堆内存布局3.2 服务端解析数据时间测量3.3 条件竞争3.4 FSOP 4. 相关挑战 原文链接:个人博客 近几天,OpenSSH爆出了一个非常严重的安全漏洞&am…...

STM32 ADC精度提升方法
STM32 ADC精度提升方法 Fang XS.1452512966qq.com如果有错误,希望被指出,学习技术的路难免会磕磕绊绊量的积累引起质的变化 硬件方法 优化布局布线,尽量减小其他干扰增加电源、Vref去耦电容使用低通滤波器,或加磁珠使用DCDC时尽…...

Redis为什么设计多个数据库
关于Redis的知识前面已经介绍过很多了,但有个点没有讲,那就是一个Redis的实例并不是只有一个数据库,一般情况下,默认是Databases 0。 一 内部结构 设计如下: Redis 的源码中定义了 redisDb 结构体来表示单个数据库。这个结构有若干重要字段,比如: dict:该字段存储了…...

零基础学习MySQL---MySQL入门
顾得泉:个人主页 个人专栏:《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂,年薪百万! 一、什么是数据库 问:存储数据用文件就可以了,为什么还要弄个数据库呢? 这就不得不提…...

HUAWEI MPLS 静态配置和动态LDP配置
MPLS(Multi-Protocol Label Switching,多协议标签交换技术)技术的出现,极大地推动了互联网的发展和应用。例如:利用MPLS技术,可以有效而灵活地部署VPN(Virtual Private Network,虚拟专用网),TE(Traffic Eng…...
【Rust】——所有的模式语法
💻博主现有专栏: C51单片机(STC89C516),c语言,c,离散数学,算法设计与分析,数据结构,Python,Java基础,MySQL,linux…...

基于Python的求职招聘管理系统【附源码】
摘 要 随着互联网技术的不断发展,人类的生活已经逐渐离不开网络了,在未来的社会中,人类的生活与工作都离不开数字化、网络化、电子化与虚拟化的数字技术。从互联网的发展历史、当前的应用现状和发展趋势来看,我们完全可以肯定&…...

Python23 使用Tensorflow实现线性回归
TensorFlow 是一个开源的软件库,用于数值计算,特别适用于大规模的机器学习。它由 Google 的研究人员和工程师在 Google Brain 团队内部开发,并在 2015 年首次发布。TensorFlow 的核心是使用数据流图来组织计算,使得它可以轻松地利…...
C++:枚举类的使用案例及场景
一、使用案例 在C中,枚举类(也称为枚举类型或enum class)是C11及以后版本中引入的一种更加强大的枚举类型。与传统的枚举(enum)相比,枚举类提供了更好的类型安全性和作用域控制。下面是一个使用枚举类的案…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...

蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...