网络功能虚拟化NFV[通俗易懂]

网络功能虚拟化NFV[通俗易懂]1NFV简介1.1NFV的产生背景网络功能虚拟化(NFV)技术是为了解决现有专用通信设备的不足而产生的。通信行业为了追求设备的高可靠性、高性能,往往采用软件和硬件结合的专用设备来构建网络。比如专用的路由器、CDN、DPI、防火墙等设备,均为专用硬件加专用软件的架构。这些专用通信设备带来高可靠性和高性能的同时,也带来一些问题。网元是软硬件垂直一体化的封闭架构,业务开发周期长、技术创新难、扩展…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1 NFV简介

1.1 NFV的产生背景

网络功能虚拟化(NFV)技术是为了解决现有专用通信设备的不足而产生的。通信行业为了追求设备的高可靠性、高性能,往往采用软件和硬件结合的专用设备来构建网络。比如专用的路由器、CDN、DPI、防火墙等设备,均为专用硬件加专用软件的架构。这些专用通信设备带来高可靠性和高性能的同时,也带来一些问题。网元是软硬件垂直一体化的封闭架构,业务开发周期长、技术创新难、扩展性受限、管理复杂。一旦部署,后续升级改造就受制于设备制造商。网络是复杂而刚性的,由大量单一功能的、专用网络节点和碎片化、昂贵、专用的硬件设备构成。资源不能共享,业务难融合。CAPEX和OPEX居高不下。需要面对大量不同厂家、不同年代、不同设备的采购、设计、集成、IOT、部署、维护运行、升级改造问题。这其中最重要的一点是网络设备投资居高不下,而与此同时运营商网络流量不断增长,收入增长却不明显,形成增量不增收的现象。如果能够打开软硬件垂直一体化的封闭架构,用通用工业化标准的硬件和专用软件来重构网络设备,可以极大地减少 CAPEX,缓解增量不增收的现象。为此,NFV技术应运而生。

1.2 NFV的定义

NFV希望通过标准的IT虚拟化技术,把网络设备统一到工业化标准的高性能、大容量的服务器,交换机和存储平台上。该平台可以位于数据中心、网络节点及用户驻地网等。NFV将网络功能软件化,使其能够运行在标准服务器虚拟化软件上,以便能根据需要安装/移动到网络中的任意位置而不需要部署新的硬件设备。NFV不仅适用于控制面功能,同样也适用于数据面包处理,适用于有线和无线网络。NFV 在这里借鉴了IT设备的设计理念。以常用的X86架构的PC为例,其硬件由统一到工业化标准的CPU、内存、主板、硬盘等组成,统一到工业化标准意味着PC在保证质量的前提下硬件成本可以降到最低。PC的软件和硬件是解耦和的,PC运行不同的软件,即可以拥有不同的功能,处理不同的任务。同理,运营商认为通信设备的硬件,可以由统一到工业化标准的服务器、交换机和存储平台3种设备组成。由于统一到工业化标准,意味着通信设备在保证质量的前提下硬件成本可以降到最低,同时通用硬件保证软件可以在统一的平台开发,软件和硬件实现解耦和。

NFV将网络功能软件化,使其能够运行在标准服务器虚拟化软件上,通用的硬件灌注何种软件,则设备就具有何种功能。

NFV技术理念如图1所示,

在这里插入图片描述

图1 NFV技术理念示意图

1.3 NFV和SDN的关系

软件定义网络(SDN)是一种新型的网络架构,它的设计理念是将网络的控制平面与数据转发平面进行分离,并实现可编程化控制。 SDN由应用层、控制层和基础设施层组成,其三大特征是控制转发分离、控制层进行逻辑集中控制、控制层向应用层开放API。符合这3个特征的SDN架构可能影响和改变运营商网络的方方面面,是目前通信产业非常关注的技术。NFV和SDN的关系,可以由图2概括。

在这里插入图片描述

图2 NFV技术的进展和应用场景

NFV与SDN来源于相同的技术基础。NFV与SDN的技术基础都是基于通用服务器、云计算以及虚拟化技术。同时NFV与SDN又是互补关系,二者相互独立,没有依赖关系,SDN不是NFV的前提。SDN的目的是生成网络的抽象,从而快速进行网络创新,重点在集中控制、开放、协同、网络可编程。NFV是运营商为了减少CA⁃PEX、OPEX、场地占用、电力消耗而建立的快速创新和开放的系统,重在高性能转发硬件+虚拟化网络功能软件。表1示出的是NFV和SDN的一些对比。

SDN NFV
承载和控制分离 强调软件和硬件分离
强调网络多个设备的集中控制 关注单个设备
强调南向接口和北向接口的规范 强调通用工业标准化的硬件
控制平面控制 软件控制
输出为各种架构、标准、规范 输出为运营商需求白皮书

表1 NFV和SDN的对比

1.4 NFV白皮书介绍

1.4.1 NFV白皮书1.0

1.0引入了NFV的发生环境、意思以及与SDN的相关性。说明了NFV的发生环境以及范例,介绍了NFV的有益之处以及对电信产业前景的改变。阐述了云计算和工业化标准的高容量服务器技术的成熟是 NFV发展的推动力,然而目前NFV仍面临许多挑战,包括可移植性、互操作性、性能的权衡、与现有平台的共存和迁移、管理和业务流程自动化、安全和韧性、网络的稳定性、简化现有的操作、软硬件的集成等诸多问题。

为实现快速进度,在网络运营商的领导下建立的ISG与一些开明的社员通过ETSI的帮助,学习一般在网络中应用的虚拟化技术来胜任一些工作。虽然这个组织自己不会作为一个标准组织,但是它可以参考之前的标准从而确定自己的相关组织工作。

1.4.2 NFV白皮书2.0

2.0简述ETS1里NFV组织的拓展壮大,囊括NFVISG的构成与发展,NFVISG的成长汇报,包含组织规模、重要成果以及到2014年6 月的进程时间线。着重讲解了NFV已经发布了5个文件,阐述了开源、标准化和NFV这三种因素对运营的影响,现在公布了以下5个文件。

(1)网络功能虚拟化在像表格阐明了网络功能虚拟化现将处理能力危机的领域,大量例子不被包含在指定的管理系统,案例的人员也绝对不是完美没漏洞,所有管理团队对网络功能虚拟化的选取有本身的聚焦点与规划。

(2)NFV需求文档描述了NFV框架下服务模式的技术要求和业务需求。

(3)NFV体系架构文件刻画了NFV的功效架构和设计思想,为虚构化的网络性能和底层虚拟化根底架构。经过区分不一样的地方,并且总结它们之中的按照比对的地方,它为了好多NFV完成计划解决了困难。NFVISG赞扬别的单位来使用这个计划,以确立哪些地方和按照比对的东西落到别的地方。

(4)NFV术语文件作为NFVISG文档中一个术语的公共储存空间,力求调整整个行业的NFV术语。它旨在消除软件和网络产业之间的语言障碍。

(5)NFV ISGProof of Concept Frame 文件描述了行业参与者参与 NFVISG工作的方法,并通过概念验证的方式实现 NFV 生态系统成长的过程。要落实很多文件中达成的共同认识其实就是朝着NFV所要求的目标又往前前行了很大一段路程。其实他们也就是 NFVISG 这个组织在最开始的时候所发行有关联的输出相关文件。

2 NFV关键技术

NFV新型网络采用两横三纵的体系架构,如图3所示,

在这里插入图片描述

图3 NFV的体系结构

横向包括业务网络(network service,NS)域和管理编排(management and orchestration,MAN0)域。NS域纵向由NFV基础化设施(NFV infrastructure,NFVI)层、虚拟化网络功能(virtual network function,VNF)层和运营支撑层组成。其中,NFvI类似于一个用于托管和连接虚拟功能的云数据中心,负责底层物理资源的虚拟化;VNF在NlWI基础上进一步将物理网元映射为虚拟网元,实现业务网络的虚拟化;运营支撑层主要是在目前OSS/BSS基础上进行虚拟化调整。MANO作为NFV相较于传统网络的新增功能,负责对整个网络服务过程进行管理和编排,将网络服务从业务层到资源层自上而下分解。MANO包括虚拟基础设施管理(virtual infrastructure management,VIM )、虚拟化网络功能管理(VNF managem ent,VNFM )和NFV编排器(NFV orchestrator,NFVO )3个实体,共同完成对NFVI、VNF及整个网络服务的生命周期和调度策略的管理。接下来本文结合 NFV服务质量、业务可用性、故障管理等需求,分别针对NFVI、VNF、MANO涉及的关键技术进行详细剖析。

2.1 NFVI

NFVI是用来部署和执行VNF的一组资源,通过对底层计算、存储、网络等物理资源的虚拟化。实现对VNF所需各元素的物理承载。在NFV网络中。多个虚拟化网络功能实体以虚拟机(VM)的形式共享物理硬件,使得原有大部分物理组件均被虚拟机替代,因此虚拟机服务质量的好坏直接决定了NFV网络的总体性能。NFVI的核心是虚拟化,与传统的云计算虚拟化技术相比,NFVI面临的是更为复杂的拓扑组网需求。尤其是大型数据中心的网络架构。另一方面,NFVI不仅要求具备同时为一个或多个VNF实例提供基础设施资源的能力,还需要实现不同VNF资源的动态配置。因此,NFVI层性能的关键在于虚拟资源是否可以全面且灵活地支撑上层模块的灵活调用。目前常用的 NFVI虚拟化技术包括KVM、XEN、Hyper-V、VMwam EXSi等,其中,以基于内核的虚拟化( kerne1.based vir tua l machine,KVM )技术为代表。KVM是一个集成到Linux内核环境下的开源虚拟化模块,属于硬件支持下的一款全虚拟化解决方案。在虚拟环境下,Linux内核集成管理程序将其作为一个可加载的模块,完成CPU调度、内存管理以及与硬件设备交互等虚拟化功能。 由于完全基于Linux 内核以及硬件虚拟化的技术主流,使得KVM受到越来越多开源组织的欢迎。 在 NFV基础设施建设中。基于KVM的OpenStack架构已逐渐成为电信运营商NFV业务部署的首选方案。

2.2 VNF

​ VNF作为NFV架构中的虚拟网络功能单元。可以理解为对电信业务网络中现有物理网元进行功能虚拟化的过程,将以软件模块形式部署在NFVI提供的虚拟资源上,从而实现网络功能的虚拟化。VNF产业链的参与者涉及制造商、运营商和服务提供商等。VNF制造商负责研发相应的虚拟功能单元,重点关注软件研发;网络运营商则会关注部署和在其网络功能虚拟化设施上运营虚拟 网络功能的效率;服务提供商关注的是基于虚拟网络功能提供给终端用户业务的实施性、可靠性以及相关计费方面的问题。值得注意的是,由于不同的VNF单元可以来自不同制造商的设备,即使VNF层虚拟网元间的交互遵循的是相同的协议和接口标准.但是受NFVI层标准化程度的影响。不同虚拟网元对NFVI层物理网元的映射方法也往往存在一定差异。要确保NFV发挥其最大效能,网络自身需要VNF具备动态和可编程能力。软件定义网络(SDN)因其可编程和自动配置的能力,完美契合了快速变化的NFV应用对网络的需求。因而在NFV实际部署中,通常将SDN控制器运行于NFVI的虚拟机(群)上担任VNF的角色。一方面,通过对NFvI层虚拟资源的网络虚拟化以处理NS域的网络业务,并可以依据需求动态调整资源配置,例如:根据业务需要增加新的VNF单元;另一方面,负责调度参与该网络业务的其他VNF单元的运行和管理,从而对流经VNF的流量进行按需处理。包括流量分类、过滤、转发以及限流等。

2.3 MANO

基于NFV的业务需要面向用户编排和管理不同类型的虚拟资源。编排器服务质量主要涉及对虚拟机和虚拟网络的编排。在NFV架构中,NFV MANO负责编排网络服务过程.将网络服务从业务层到资源层自上而下分解。制定合理的NFv编排机制可以提高网络侧业务流程的连贯性,加快业务响应速度,从而优化NFV网络的服务效率。在标准NFV架构中。MANO通过VIM、VNFM、NFVO这3个实体的交互。共同完成对NFVI、VNF和NS的编排和管理流程。针对NFVl层,通过NFVO和VIM交互实现对底层NFVI资源的调度。当创建NFV服务时,NFVO会调用一系列VIM。相反也会从底层基础设施中调用必要的资源。针对VNF层,每个VNF网元由MANO中对应的VNFM负责其生命周期管理。VNFM不仅可以控制VNF实例的创建和释放,通过VIM收集资源状态信息,还能够对VNF实例的资源使用情况进行监控和故障预警等。针对NS域的网络服务。由NFVO对参与服务的VNF实体的网络服务编排以及相关联的NFVI基础设施的资源编排共同实现。前者通过网络服务的生命周期管理实对服务流程的控制。后者通过对VIM之间的任务编排实现对底层资源的调用。近年来,日趋成熟的OpenStack开源虚拟化工具得到越来越多的应用,以实现对NFVl资源的控制与管理。OpenStack是一个实施相对简单、标准相对统一并且可以用于大规模扩展的开源云资源管理平台。用来统一管理多个虚拟化集群。几乎支持所有的虚拟化管理程序。不仅可以实现虚拟资源的转化以及虚拟机和虚拟网络的创建。打造底层虚拟资源池,并且灵活支撑了MANO层对基础设施的管理和编排功能。

3 NFV应用场景

物联网、大数据、云计算等业务的持续热潮带来数据流量的迅猛增长.这不仅给运营商网络带来了扩容和运维压力,更促使运营商加强流量经营,提升数据流量净收入。NFV使用通用的硬件平台代替传统的专用硬件平台,通过对软硬件平台的解耦,一方面实现了资源的弹性伸缩,提高资源利用率;另一方面便于系统升级维护,节省成本,加快业务部署上线速度。这些特性使其在一些对网络吞吐能力要求较高的场所发挥优势。结合运营商的业务特性和实际网络情况,本文主要介绍以下几类典型NFV应用场景。

3.1 用户终端设备虚拟化

用户终端设备(customer premise equipment,CPE)指放置于用户侧、为用户提供宽带接人服务的终端设备,包括用于提供Intemet接人和VoIP等服务的RGW(residentialgateway,驻地网关)设备以及提供多媒体服务的STB(settop box,机顶盒)设备。随着用户接入服务的丰富和接入带宽的增长。CPE设备的发展趋势主要有两种模式:智能化和虚拟化。NFV技术的出现使得虚拟化CPE模式变为可能.之前的RGW和STB设备功能被转移到网络侧的NFv云中。合并为vCPE设备。vCPE为固网宽带用户提供动态提速、智能家居、家庭互联网业务、企业分支VPN组网等多种增值业务.满足用户多种需求。vCPE基本业务应用场景如图4所示,

在这里插入图片描述

图4端设备虚拟化应用场景

vCPE为固网宽带用户提供宽带上网、多设备组网等基本应用,同时满足PPPoE拨号认证流程.对运维系统、计费系统和用户体验没有任何影响。在vCPE的研发工作中,利用SDN/NFV技术。尽可能将网关的功能上移到网络侧,降低实体网关的复杂度和成本嗍;新业务在网络侧部署,有利于开发、运维和灵活部署;同时,用户侧设备在网络上只有简单的二层交换功能.设备的简化保证了低成本和维护的简化,也降低了用户使用的复杂性。

3.2 接入设备虚拟化

对于运营商来说,接入网系统包括移网接入、固网接人、无线接入、宽带接人等类型,是网络侧面向用户的最前端.往往也是网络中最复杂的一部分,因而很可能会成为网络瓶颈。传统的接入网系统中使用了大量的专用硬件产品,各网元互联的接口多、协议流程复杂、兼容性差,直接拉高了运营商基础网络的建设成本。特别是目前接入网技术需要在远端街道或者大楼处安装有源网络设备.这些网络设备的功耗又必须控制在一定范围内,以节省电能。采用NFV技术可以使用标准rI-设备来代替专用硬件,从而将网元功能从底层的硬件中剥离出来,将复杂的处理功能放置于头端系统,实现按需弹性扩展和自动化部署。当前的接入网络设备往往由一个统一的机构来运营,NFV的虚拟化可以实现多租户的优势.即多个机构可以共用一套接人设备。每个机构使用分配给自己的虚拟网络设备,不会跟其他机构冲突圆。多个不同场景下的功能和控制平面虚拟化如图5所示,

在这里插入图片描述

图5 接入设备虚拟化应用场景

其中深色的终端设备功能和控制平面可以分离出来。并放置于具备NFV功能的中心节点处。进一步,采用NFV的虚拟化接入网络节点可以和传统的物理接入网节点共存于网络中,并共用底层的光纤传输资源。

3.3 物理网络虚拟化

​ 物联网、大数据、云计算等业务的持续热潮带来数据流量的迅猛增长,这不仅给运营商网络带来了扩容和运维压力,更促使运营商加强流量经营、提升数据流量净收入。电信运营商的网络环境中,移动业务、固网业务、宽带业务甚至面向不同用户群体的专线业务、集客业务等多种业务形式并存。在实际运营中难免会存在业务的相互干扰和资源的冲突等不和谐现象,特别是随着业务流量的增加,问题随之加剧。基于SDN/NFV技术,从逻辑上构造多个资源和功能虚拟化的虚拟网络。运营商可以根据自身业务需求为不同的租户和业务构建不同的虚拟网络。简化网络部署,降低运维成本。同时运营商可以保障不同虚拟网络之间资源的相互隔离。在提升用户感知的同时保障不同业务间的安全运营。当前国内外多数互联网公司以及大型运营商都在积极探索基于SDN/NFV的物理网络虚拟化技术.提出了大量数据中心组网方案并进行了技术验证。主要包括跨机房东西互通场景、同机房和跨机房南北互通场景以及虚拟机跨机房在线迁移等功能场景。虽然各家部署方案有所差异,但从实际结果来看,均能达到预期,SDN/NFV技术在物理网络虚拟化场景中的应用价值得到业界同行的普遍认可m。物理网络虚拟化下的应用场景如图6所示,

在这里插入图片描述

图6 理网络虚拟化应用场景

底层利用NFv虚拟化技术将单一的物理设备按逻辑划分为多个承载不同业务的虚拟设备,在此基础上结合SDN集中控制技术完成数据中心间的组网。顶层利用电信运营商提供的开放API。不同租户可以按需配置资源。自主部署创新业务.不同业务通过不同的虚拟接入网按需调用底层虚拟资源,从而实现多业务场景下的应用隔离。

4 NFV面临挑战

4.1 可靠性问题

传统的电信网络采用高可靠性的专用设备,可靠性达99.999%, 而采用虚拟化技术的通用服务器设备其可靠性明显低于传统的专用电信设备(一般通用服务器设备可靠性只能达到99.9%)。为了满足电信级设备高可靠性的要求,NFV的组件需在多个方面提供与传统电信设备相当的性能,包括故障率、检测时间、恢复时间以及检测和恢复的成功率。引入NFV后,原有软硬一体化设备分成了三层,同时还引入MANO(NFV Management and Orchestration,NFV管理和编排), 而 MANO也深度介入网元的自动伸缩等流程中,对整个网元的可靠性带来了深刻的影响。为了满足电信级设备99.999%的高可靠性,硬件资源层、虚拟资源层、VNF和 MANO如何协同,VNF与MANO如何配合等都会影响到整个系统的可靠性。这需要建立一套完整的可靠性体系并对三层如何协同提出明确的要求。

4.2 数据转发性能问题

设备的性能主要体现在设备的计算能力、 数据转发能力和存储能力等方面。NFV网络的性能瓶颈目前主要集中在I/O接口数据转发能力上。未来可通过底层设备定制、操作系统优化、业务层软件优化等方式逐步提高转发性能。

4.3 业务部署方式问题

传统网络的业务部署方式为:根据业务需求测算业务网络的容量→采购软硬件设备→到货调试→上线,而采用NFV网络后,业务部署方式将发生很大变化,将变为:由MANO实现业务编排、虚拟资源需求计算及申请→虚拟化的资源池提供相应资源→上线。业务部署方式的变化将对运营商现行的设备采购模式、运维模式产生较大的冲击, 未来NFV网络如何集成和运维将成为一个巨大的挑战。

5 NFV发展前景探究

NFV是运营商从维护自身利益的角度提出的新的设备架构,大部分运营商都愿意支持NFV的方向,这个方向就是通过标准的IT虚拟化技术,把网络设备统一到工业化标准的高性能、大容量的服务器,交换机和存储平台上。NFV作为一种新生的设备架构和产品形态,体现了运营商对通信设备虚拟化的需求,但同时也和SDN等技术相辅相成,共同作用带来通信产业的变革。

作为ICT融合与网络重构的核心技术,NFV以虚拟化和云化技术为基础,能够实现业务的快速部署与自动化运维,从而成为目前主流运营商推进网络转型的首选。但是,长期以来,由于技术难度复杂等诸多原因,NFV推进速度一直慢于SDN,成为妨碍网络重构实现的最大阻力。

SDN/NFV产业联盟技术专家委员会主任曹蓟光博士指出,过去一年,SDN/NFV所倡导的网络开放化、虚拟化、智能化、融合化的技术理念得到了越来越广泛的认同,成为全球业界普遍看好的促进现网升级演进、未来网络技术创新的重要技术途径,将加速网络产业生态的深刻调整。NFV推动硬件和软件解耦,以及软件功能的分层解耦,进一步细化和拉长产业链环节,产业重心将由硬向软调整,软件公司特别是第三方系统集成商的产业价值凸显。

过去一年,中国厂商加快战略布局,NFV产品与解决方案日益成熟,对于NFV技术与产业发展方向的掌控力进一步增强。电信运营商迈入向信息服务转型的关键发展阶段,构建一张“资源可全局调度、能力可全面开放、容量可弹性伸缩、架构可灵活调整”的新一代网络成为运营商网络演进发展的重要方向。

未来两年,NFV将率先在虚拟化BRAS、虚拟化CPE、虚拟化EPC、虚拟化IMS以及虚拟化路由器等五大应用场景落地,中国NFV商用化发展路径进一步清晰。VNF生命周期管理、性能、可靠性、安全、集成部署、开放互联等是当前NFV技术发展的核心问题,也是未来5年牵引NFV技术产业发展的重要方向。经过过去两年的技术标准竞合,目前各国际标准化组织间的NFV标准化定位更加清晰,ETSI主导NFV基础架构,推动PoC验证;IETF完善IP协议体系,构建网络虚拟化能力;3GPP面向移动核心网演进需求、聚焦网络资源切片;OPNFV立足开源和集成,主导最佳实践。

未来五年,中国NFV市场呈加速发展态势,SDN/NFV的市场将会覆盖数据中心组网,DCI互联、光网络、接入网、移动核心网、IMS等领域,国内市场规模接近2500亿,产业规模效应初显。5年内,中国NFV产业将处于以技术竞合、试点应用、理念培育为特征的发展初期阶段。发展重点是推动技术架构的统一、接口的标准化,推动符合电信级要求的产品逐步成熟,打造开放系统平台,推进多厂商的集成。未来5~10年,中国NFV产业将进入以技术成熟、规模部署、运营变革为特征的融合应用阶段。届时,开放网络目标架构更加清晰,平台和接口标准化程度更高,产品和解决方案日益成熟,合作共赢的产业生态基本形成。

NFV的部署将是一个渐进的过程,未来几年,传统网络和NFV将共存发展,NFV将按照的“需求导向,业务驱动,效率优先,从易到难”原则,先在业务(如AS、RCS)层面和控制面网元(如IMS、MME)部署,然后再在转发和媒体层部署。从长远来看,NFV有利于降低网络建设和运营成本,但目前尚处于起步阶段,它的实施将是一个漫长的过程。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/195513.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 85℃蛋糕店_蛋糕吧

    85℃蛋糕店_蛋糕吧题目描述今天是路路的生日,生日蛋糕自然是少不了。路路的朋友们一起去蛋糕店来买蛋糕,可是等一行人到了蛋糕店之后,发现那里是人山人海啊-_-。这下可把店家给急坏了,因为人数过多,需求过大,所以人们要等好长时间才能拿到自己的蛋糕。老板为了最大限度的使每位客人尽快拿到蛋糕,因此他需要安排一个制作顺序,使每位客人的平均等待时间最少(如果制作时间相同的,先来的先做)。这使他发愁了,于是他请你来帮忙安排一个…

    2022年10月28日
  • html左侧浮动广告代码,如何制作浮动广告 JavaScript制作浮动广告代码

    html左侧浮动广告代码,如何制作浮动广告 JavaScript制作浮动广告代码如果有一定的JavaScript基础,制作浮动广告还是比较容易的。直接上代码了:无标题文档*{margin:0;padding:0;}#csdn{width:800px;margin:0auto;}#ad{position:absolute;right:0px;top:30px;z-index:1;}#cl{position:absolute;right:0px;top:30px;z-index…

  • 关于ubuntu 18 SSH root 登录失败,设置PermitRootLogin = yes 也失败

    关于ubuntu 18 SSH root 登录失败,设置PermitRootLogin = yes 也失败切换到root用户下。apt-getinstallssh再次尝试就可以了这里我的问题是,/home下的用户安装了ssh了,但是,root用户没有安装。????这是区分的。

  • STL vector用法介绍

    STL vector用法介绍介绍这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用。通过阅读这篇文章读者应该能够有效地使用vector容器,而且应该不会再去使用C类型的动态数组了。 Vector总览vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种

  • ES6—new Promise()讲解,Promise对象是用来干嘛的?应该怎么用?使用场景有哪些?

    ES6—new Promise()讲解,Promise对象是用来干嘛的?应该怎么用?使用场景有哪些?ES6Promise先拉出来遛遛复杂的概念先不讲,我们先简单粗暴地把Promise用一下,有个直观感受。那么第一个问题来了,Promise是什么玩意呢?是一个类?对象?数组?函数?别猜了,直接打印出来看看吧,console.dir(Promise),就这么简单粗暴。这么一看就明白了,Promise是…

  • mavlink协议解析_jlink 串口

    mavlink协议解析_jlink 串口MAVLink是为微型飞行器MAV(MicroAirVehicle)设计的(LGPL)开源的通讯协议。是无人飞行器和地面站(GroundControlStation,GCS)之间,以及无人飞行器之间通讯常用的协议。APM、PIXHAWK飞控,MissionPlanner、QGroundControl地面站均使用了MAVLink协议进行通讯。MAVLink源码下载地址(现已更新至v2.0):https://github.com/mavlink/qgroundcontrol 用户手册:ht

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号