SDN和NFV笔记

目录

SDN

SDN的引入

SDN的概念

SDN网络部署的方式

SDN架构

OpenFlow

SDN与传统网络的区别

SDN的应用

SDN的优点

NFV

NFV的概念:

NFV的架构:

NFV相比于传统物理网元:

NFV与SDN的关系

NFV与SDN的相似点

NFV与SDN的不同


SDN

SDN的引入

MPLS存在的问题:

•控制协议 (如 LDP)比较复杂,扩展性差,运行维护较困难。
•协议 LDP无法做到基于时延或带宽等要求的流量调度。
•为灵活地选择流量的转发路径,还需要再使用资源预留协议RSVP。但是RSVP的信令非常复杂,每个节点都要维护一个庞大的链路信息数据库。并且RSVP 只会选择一条最优路径,不支持等价多路径路由选择 ECMP(Equal-Cost Multipath Routing)。

所以出现了:段路由选择协议SR(Segment Routing)

段(segment): 标签,是转发指令的一种标识符。
SR的工作原理:
•基于标签交换,但不需要使用协议LDP。

•由源节点为发送的报文指定路径,并将路径转换成有序的段列表(Segment List),即 MPLS 标签栈,它被封装在分组首部。

•网络中的其他节点就执行首部中的指令 (即标签)进行转发。

其中就需要SDN控制器负责:

收集并掌握全网的拓扑信息和链路状态信息,计算出分组应传送的整个路径。
•给分组分配 SR 标签,指明分组从源点到终点的路径。

注:SR向IPv6 演进,这就是 SRv6。SRv6 直接利用IPv6 字段作为标签寻址(Locator)。

SDN的概念

SDN(软件定义网络):

SDN是一种网络管理方法,它支持动态、高效的网络配置,以提高网络性能和监控,其方式比传统网络管理更类似于云计算。SDN 旨在解决传统网络的静态架构问题,可用于通过将网络数据包的转发过程(数据平面)与路由过程(控制平面)分离来将网络智能集中在一个网络组件中。控制平面由一个或多个控制器组成,被视为 SDN 网络的大脑,其中包含了整个智能。然而,集中化在安全性、可扩展性和弹性方面存在一定的缺点。
自 2011 年 OpenFlow 出现以来,SDN 通常与OpenFlow协议(用于与网络平面元素进行远程通信,以确定网络数据包跨网络交换机的路径)联系在一起。但是,自 2012 年以来,专有系统也使用了该术语。其中包括Cisco Systems的开放网络环境和Nicira的网络虚拟化平台。
SD-WAN将类似的技术应用于广域网(WAN)。

OpenFlow是SDN 体系结构中控制层面和数据层面之间的通信接口。

•使控制层面的控制器可以对数据层面中的物理或虚拟设备进行直接访问和操纵。

•在逻辑上是集中式的、基于流的。

注:SDN未规定必须使用OpenFlow

SDN网络部署的方式

Underlay的网络
所有的转发行为都由控制器通过OpenFlow协议或定制的BGP协议将转发表下发给转发器,转发器仅仅执行动作,没有单独控制面。

Overlay的网络
这种网络的转发器一般都是传动设备,不支持OpenFlow,或者私有定制协议不能部署时,就要用隧道技术,基础网络还是传统网络形式,通过路由协议打同各个节点,但是在服务器接入点,才用隧道技术将数据报文进行封装或者解封装。对传统网络来说见到的就是普通数据报文,转发即可。隧道技术实际上就是报文的马甲,迷惑网络设备,让设备以为时自己人,但实际上报文的心是虚拟化的心。现一般才用Vxlan,GRE,NVGRE等隧道技术,而这些新增的协议,也需要升级现有网络设备才能支持(不支持上述协议的网络设备)。穿马甲索然能够在不进行大改造的情况下增加新的功能,但无疑会降低网络性能。


原文链接:https://blog.csdn.net/AtlanSI/article/details/95613225

SDN架构
通信层:完成SDN 控制器与受控网络设备之间的通信。通信层与数据层面的接口叫做南向接口,基本上采用 OpenFlow。
网络规范的状态管理层:完成核心功能管理和维护链路、主机、交换机等网络状态;确定和维护流表等。
到网络控制应用程序层的接口:SDN 控制器与网络控制应用程序交互的接口称为北向接口。该API接口允许网络控制应用程序对状态管理层里的网络状态和流表进行读写操作。

由此具有以下特点: 

直接可编程:网络控制是直接可编程的,因为它与转发功能解耦。
敏捷:从转发中提取控制,使管理员能够动态调整网络范围内的流量以满足不断变化的需求。
集中管理:网络智能(逻辑上)集中在基于软件的 SDN 控制器中,这些控制器维护网络的全局视图,对于应用程序和策略引擎而言,网络智能就像单个逻辑交换机一样。
以编程方式配置:SDN 允许网络管理员通过动态、自动化的 SDN 程序非常快速地配置、管理、保护和优化网络资源,他们可以自己编写这些程序,因为这些程序不依赖于专有软件。
基于开放标准且供应商中立:当通过开放标准实施时,SDN 简化了网络设计和操作,因为指令是由 SDN 控制器而不是多个供应商特定的设备和协议提供的。

OpenFlow

OpenFlow在数据层面通过完成“匹配+动作”完成广义转发

匹配是对不同层次(链路层,网络层,运输层)首部中的字段进行匹配。

动作则例如:转发,重写,丢弃等。

OpenFlow的流表规定了“匹配+动作”

每个OpenFlow交换机有一个或一个以上的流表。

每个流表可以包括多个流表项(flow entry)。

注:流表示穿过网络的一种分组序列,而在此序列中的分组都共享分组首部某些字段的值。

流表由远程控制器(SDN)管理

SDN远程管理控制器通过一个安全信道,使用OpenFlow协议来管理OpenFlow交换机中的流表。

流表由三个字段组成:头域,计数器和动作

(1)头域(首部字段值,也称匹配字段):

一组字段(12 个),用来使入分组的对应首部与之相匹配。匹配不上的分组被丢弃,或发送到远程控制器做更多的处理。

(2)计数器:

一组计数器,可包括已经与该表项匹配的分组数量,以及从该表项上次更新到现在经历的时间。

(3)动作:

一组动作。当分组匹配某个流表项时,把分组转发到指明的端口,或丢弃该分组,或把分组进行复制后再从多端口转发出去或重写分组的首部字段(第二,三和四层的首部字段)等。

OpenFlow的应用:

简单转发:

S1:

负载均衡

防火墙

总结:SDN的四个关键特征

1.基于流的转发。流表规定转发规则
2.数据层面与控制层面分离。二者不在同一个设备中
3.网络控制功能位于数据层面交换机之外,用软件实现
4.可编程的网络

SDN与传统网络的区别

SDN功能分散。交换机、SDN控制器、网络控制应用程序都是可以分开的实体,并且可以由不同的厂商和机构来提供。

传统网络中控制层面、数据层面、协议的实现都垂直集成在一个机器里。由单独的厂商提供。

SDN的应用

SD-WAN 

SD -WAN是使用软件定义网络原理进行管理的 WAN。SD-WAN 的主要驱动力是使用更实惠且商业化的租赁线路来降低 WAN 成本,作为更昂贵的MPLS线路的替代或部分替代。控制和管理通过中央控制器与硬件分开管理,从而更容易配置和管理。
 

SD-LAN

SD-LAN 是围绕软件定义网络原理构建的局域网 (LAN),尽管在拓扑、网络安全、应用程序可见性和控制、管理和服务质量方面存在重大差异。SD-LAN 将控制管理和数据平面解耦,从而为有线和无线 LAN 提供策略驱动的架构。SD-LAN 的特点是使用云管理系统和无线连接,无需物理控制器。

使用SDN的安全性:

由于控制器的网络中心视图及其随时重新编程数据平面的能力,SDN 架构可以启用、促进或增强网络相关的安全应用。虽然 SDN 架构本身的安全性仍然是一个悬而未决的问题,研究界已经研究过几次,以下仅关注已成为可能或重新审视的安全应用程序使用SDN。
一些关于 SDN 的研究工作已经研究了基于 SDN 控制器构建的安全应用程序,并具有不同的目标。分布式拒绝服务(DDoS)检测和缓解,以及僵尸网络和蠕虫传播,是此类应用程序的一些具体用例:基本上,这个想法在于定期收集网络以标准化方式(例如使用Openflow)从网络转发平面获取统计数据,然后对这些统计数据应用分类算法以检测任何网络异常。如果检测到异常,应用程序会指示控制器如何对数据平面重新编程以缓解异常情况。
另一种安全应用程序通过实施一些移动目标防御 (MTD) 算法来利用 SDN 控制器。MTD 算法通常用于通过定期隐藏或更改给定系统或网络的关键属性,使对该系统或网络的任何攻击比平时更加​​困难。在传统网络中,实现 MTD 算法并不是一项简单的任务,因为很难建立一个能够确定(对于要保护的系统的每个部分)哪些关键属性被隐藏或更改的中央机构。在 SDN 网络中,由于控制器的中心地位,此类任务变得更加简单。例如,一个应用程序可以定期向网络内的主机分配虚拟 IP,然后由控制器执行虚拟 IP/真实 IP 的映射。另一个应用程序可以在网络中的随机主机上模拟一些假的打开/关闭/过滤端口,以便在攻击者执行的侦察阶段(例如扫描)期间添加显着的噪声。还可以分别使用 FlowVisor 和 FlowChecker获得有关支持 SDN 的网络安全性的附加价值。前者尝试使用共享多个独立逻辑网络的单个硬件转发平面。采用这种方法,相同的硬件资源可用于生产和开发目的,以及分离监控、配置和互联网流量,其中每个场景都可以有自己的逻辑拓扑,称为切片。结合这种方法,FlowChecker实现了用户使用自己的切片部署的新 OpenFlow 规则的验证。
SDN控制器应用大多部署在大规模场景中,需要对可能的编程错误进行全面检查。2012 年描述了一个名为 NICE 的系统。引入总体安全架构需要采用全面且长期的 SDN 方法。自推出以来,设计人员一直在寻找在不影响可扩展性的情况下保护 SDN 安全的可能方法。一种架构称为SN-SECA(SDN+NFV)安全架构。

使用SDN进行分组数据传输

跨数据中心运行的分布式应用程序通常出于同步、故障恢复、负载平衡和让数据更接近用户的目的而复制数据(这减少了用户的延迟并增加了他们感知的吞吐量)。此外,许多应用程序(例如 Hadoop)会在数据中心内跨多个机架复制数据,以提高容错能力并使数据恢复更容易。所有这些操作都需要将数据从一台机器或数据中心传输到多台机器或数据中心。将数据从一台机器可靠地传送到多台机器的过程称为可靠组数据传送(RGDD)。
通过安装允许转发到多个传出端口的规则,SDN 交换机可用于 RGDD。例如,OpenFlow 从版本 1.1 开始提供对组表的支持,这使得这成为可能。使用SDN,中央控制器可以仔细、智能地为RGDD设置转发树。可以在构建此类树的同时关注网络拥塞/负载状态以提高性能。例如,MCTCP 是一种向数据中心内的许多节点进行交付的方案,依赖于数据中心网络的常规和结构化拓扑,而 DCCast 和 QuickCast 是跨数据中心快速高效地复制数据和内容的方法。私有广域网。

SDN的优点

•提高网络带宽利用率;

•网络运行更加稳定;

•管理更加高效简化;

•运行费用明显降低;

NFV

NFV的概念:

网络功能虚拟化(Network Functions Virtualization,NFV)是一种关于网络架构的概念。我们平时使用的x86服务器由硬件厂商生产,在安装了不同的操作系统以及软件后实现了各种各样的功能。而传统的网络设备并没有采用这种模式,路由器、交换机、防火墙、负载均衡等设备均有自己独立的硬件和软件系统。NFV借鉴了x86服务器的架构,它将路由器、交换机、防火墙、负载均衡这些不同的网络功能封装成独立的模块化软件,通过在硬件设备上运行不同的模块化软件,在单一硬件设备上实现多样化的网络功能。

NFV的架构:

不同于传统物理设备中软件与硬件强绑定的关系,在NFV架构中,实现各种网络功能的标准化软件必须能够应用在同一台硬件设备上。这就要求NFV需要有一个统一的标准。NFV架构由基础网络功能虚拟化架构、虚拟网络功能功能、管理自动化及网络编排三个部分组成:

基础网络虚拟化架构(Network Functions Virtualization Infrastructure, NFVI)NFVI就好比各手机厂商推出的手机系统,它给硬件设备赋予基本的组件,支持网络应用所需要的软件或者容器管理平台。
虚拟网络功能(Virtual Network Functions, VNF)VNF是实现网络功能(转发服务、IP配置等)的软件应用,就好比手机上的APP。在NFV架构中,各种VNF在NFVI的基础上实现。由于NFVI是标准化的架构,使得不同的VNF获得了通用性,不再依赖于原来的黑盒设备。
管理自动化及网络编排(Management and orchestration, MANO)MANO是用于管理各VNF以及NFVI的统一框架,方便运维人员进行业务编排与设备管理。

OSS/BSS
服务提供商的管理功能,不属于NFV框架内的功能组件,但MANO和网元需要提供对OSS/BSS 的接口支持。
VNF
Virtual Network Functions,指虚拟机及部署在虚拟机上的业务网元、网络功能软件等。
NFVI
NFV Infrastructure,NFV基础设施,包括所需的硬件及软件。为VNF提供运行环境。
•Hardware:硬件层,包括提供计算、网络、存储资源能力的硬件设备。
•Virtualization Layer:虚拟化层,主要完成对硬件资源的抽象,形成虚拟资源,如虚拟计算资源、虚拟存储资源、虚拟网络资源。NFV标准架构定义的主要功能模块。
MANO
Management and Orchestration,NFV的管理和编排。包括VIM,VNFM及NFVO,提供对VNF和NFVI资源的统一管理和编排功能。
•VIM:Virtualized Infrastructure Managers, NFVI管理模块,主要功能包括:资源的发现、虚拟资源的管理分配、故障处理等。
•VNFM:VNF Managers ,VNF管理模块,主要对VNF的生命周期(实例化、配置、关闭等)进行控制。
•NFVO:NFV Orchestrator,实现对整个NFV基础架构、软件资源、网络服务的编排和管理。

NFV相比于传统物理网元:

NFV适用于各种网络解决方案,目前使用较多的包括SD-WAN、网络切片、移动边缘计算等。由于NFV将软件功能与硬件设备进行了解耦,随着标准化架构的完善,NFV带来了诸多优势:

灵活的业务( Flexible services )

在服务器上运行不同的VNF,当网络需求变更时,根据需求变更和移动VNF即可,加快了网络功能交付和应用的速度。在测试新的网络功能时,无需建立专门的实验环境,只需请求新的虚拟机来处理该请求,当服务停用时释放该虚拟机即可,为网络功能测试提供了更便捷的方法。

更低的成本(Less Spending)

使用NFV后,网络通信实体将变为虚拟化的网络功能,这使得单一硬件服务器上可以同时运行多种网络功能,从而减少了物理设备的数量,实现了资源整合,降低了物理空间、功耗等带来的成本。但由于从传统设备切换为NFV在初期的投入较大,短期内的投资回报比并不比传统的物理网元具有足够的优势。

更高的资源利用率(Greater Resource Efficiency)

当网络需求发生变化时,无需更换硬件设备,避免了复杂的物理变更,通过软件重组快速更新基础网络架构,避免由业务变更带来的设备冗余和搬迁需求。

避免供应商锁定(Avoid Vendor Lock-in)

在统一制式的硬件上部署不同的网络功能,避免了某种功能被特定的供应商锁定,降低了网络设备维护带来的服务费用。

NFV与SDN的关系

NFV网络虚拟化技术是对SDN的补充概念。因此,NFV 不依赖于 SDN 或 SDN 概念。NFV 将软件与硬件分开,以实现灵活的网络部署和动态操作。NFV 部署通常使用商用服务器来运行以前基于硬件的网络服务软件版本。这些在 NFV 环境中运行的基于软件的服务称为虚拟网络功能 (VNF)。SDN-NFV 混合计划旨在实现高效、弹性和可扩展的 NFV 功能,旨在使用标准 IT 虚拟化技术加速服务创新和配置。SDN 提供了使用 SDN 控制器控制路由器和交换机等通用转发设备的灵活性。另一方面,通过使用虚拟化服务器为网络应用程序提供 NFV 敏捷性。使用现有网络和编排范例将虚拟化网络功能 (VNF) 作为独立实体实现是完全可能的。然而,利用 SDN 概念来实施和管理 NFV 基础设施具有固有的优势,特别是在考虑 VNF 的管理和编排时,这就是定义将 SDN 和 NFV 纳入协同生态系统的多供应商平台的原因。

NFV与SDN的相似点

NFV也是一种网络架构,它将传统物理设备的网络功能封装成独立的模块化软件,通过在硬件设备上运行不同的模块化软件,在单一硬件设备上实现多样化的网络功能。
SDN和NFV的相似之处主要体现在如下方面:
•都以实现网络虚拟化为目标,实现物理设备的资源池化。
•都提升了网络管理和业务编排效率。
•都希望通过界面操作或者编程语言来进行网络编排。

NFV与SDN的不同

SDN抽象物理网络资源(交换机、路由器等),并将决策转移到虚拟网络控制平面。控制平面决定将流量发送到哪里,而硬件继续引导和处理流量,无需依赖标准的硬件设备。NFV的目标是将所有物理网络资源进行虚拟化,允许网络在不添加更多设备的情况下增长,这依赖于标准的硬件设备。
其实经典SDN架构也将硬件与软件解耦作为目标,但在实现过程中由于软件研发成本、设备替换等原因的影响,现行的SDN方案弱化了控制面的分离,仅以网络可编程和自动化运维为目标。
华为NFV架构中,虚拟化层及VIM的功能由FusionSphere云操作系统实现,即华为FusionSphere可以实现计算资源、存储资源和网络资源的全面虚拟化,并能够对物理硬件虚拟化资源进行统一的管理、监控、优化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/130342.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

贝锐蒲公英智慧运维方案:实现远程网络监控、管理、维护工业设备

为了提升运维效率,能够及时发现和响应设备的故障、异常和潜在问题。 越来越多的企业都在搭建“集中式”的远程智慧运维体系,以提高运维效率和降低成本。 但是,受限于网络,将不同地域的资源和信息进行整合,实现统一管理…

No source control providers registered

使用vscode时碰到这个问题 git扩展没启动

Linux-vi/vim命令

1.vim/vi编辑器的三种工作模式 ①命令模式 ②输入模式 i打开 ③底线命令模式 :打开 2.命令模式 vi 文件路径 vim 文件路径 如果文件不存在则创建新的文件,存在则使用vi/vim打开 3.快捷键 模式命令描述命令模式i在当前光标位置进入输入模式命令模式a在当前光标位置之…

Java11新增特性

前言 在前面的文章中,我们已经介绍了 Java9的新增特性 和 Java10的新增特性 ,下面我们书接上文,来介绍一下Java11的新增特性 版本简介 Java 11 是 Java 平台的最新版本,于2018年9月25日发布。这个版本是自Java 8以来最重要的更新之一&…

【Mysql】next-key 锁范围

背景 Mysql RR场景下通过next-key 锁解决了幻读的问题,而幻读通常是由 insert 新增的数据导致。所以next-key锁最终通过锁机制防止了一定条件下的新增数据从而解决了幻读问题。 规律 next-key锁可以由以下几条规律总结出锁范围 next-key会对查询过程中访问到的对…

jenkins邮件告警

构建失败邮件通知 配置自己的邮箱 配置邮件服务,密码是授权码 添加构建后操作 扩展 配置流水线 添加扩展 钉钉通知 Jenkins安装钉钉插件 钉钉添加机器人 加签 https://oapi.dingtalk.com/robot/send?access_token98437f84ffb6cd64fa2d7698ef44191d49a11…

CSS特效005:绘制一个环环相扣的五个环

css实战中,怎么制作这样的一个环环相扣的五个环呢? 绘制五个圈圈很容易,关键是要环环相扣,尤其要注意环环相交部分的处理。这里要用到transform-style: preserve-3d; 和 transform: rotateY( 1deg ) 等关键的css技术。 效果图 源…

系列二十二、idea Live Templates

一、idea Live Templates 1.1、Java Group 1.1.1、fast fast 快速在类上添加注解Data AllArgsConstructor NoArgsConstructor Accessors(chain true) ToString(callSuper true) 1.1.2、getThreadName getThreadName快速获取当前线程的名字Thread.currentThread().getName…

Flink SQL自定义表值函数(Table Function)

使用场景: 表值函数即 UDTF,⽤于进⼀条数据,出多条数据的场景。 开发流程: 实现 org.apache.flink.table.functions.TableFunction 接⼝实现⼀个或者多个⾃定义的 eval 函数,名称必须叫做 eval,eval ⽅法…

Unity 场景优化策略

Unity 场景优化策略 GPU instancing 使用GPU Instancing可以将多个网格相同、材质相同、材质属性可以不同的物体合并为一个批次,从而减少Draw Calls的次数。这可以提高性能和渲染效率。 GPU instancing可用于绘制在场景中多次出现的几何体,例如树木或…

MIT6.5830 Lab1-GoDB实验记录(六)

MIT6.5830 Lab1-GoDB实验记录(六) – WhiteNights Site 标签:Golang 赛博坐牢之旅第一章第六节:接着上一节,补全heap_page剩下的函数。 开始坐牢 删除tuple 这个看起来…难度还没那么高,写一下试试吧。那…

HTTP和HTTPS详解

一)什么是HTTP协议 1)HTTP协议是倾向于相遇业务层次上面的一种协议,传输层协议主要考虑的是端对端之间的一个传输过程,TCP重点进行关注的是可靠传输;咱们的HTTP/1,HTTP/2是基于TCP的,但是咱们的HTTP/3是基于UDP的&…

QWidget背景图片在Qt Designer 中能显示但运行时不显示的解决方法

目录 1. 现象 2. 解决方法 3. 附录 1. 现象 今天想在QWidget中贴一张png图片作为背景图,在Qt Designer 能显示,但运行时,死活不显示背景图片。样式表设置如下: QWidget {border-image:url(:/untitled2/image/operpanel.png); }…

Linux 多线程控制详解

目录 多线程编临界资源访问 互斥锁 API 简述 初始化互斥量 互斥量加锁/解锁 互斥量加锁(非阻塞方式) 互斥量销毁 程序示例 多线程编执行顺序控制 信号量 API 简述 初始化信号量 信号量 P/V 操作 信号量申请(非阻塞方式) 信号量销毁 程序示例 条件变量 创建和销毁…

Mybatis-plus 内部提供的 ServiceImpl<M extends BaseMapper<T>, T> 学习总结

作用 当集成Mybatis-Plus 后,我们的大部分数据库操作都可以通过 XxxxxMapper ,同时 Mybatis-plus 在Mapper 提供基本操作方法的同时,也提供类基础的 serviceImpl 来帮助我们完成一些常见的基本操作。 使用 一般情况下,我们首先…

Ipa Guard使用手册

使用手册 开始使用ipa guard代码混淆界面介绍文件混淆-界面介绍安装和登录Ipa Guard 相关教程 下载安装Ipa Guardipaguard注册和登录 下载安装Ipa Guard 可以前往ipaguard工具官网下载,工具是免费下载,免费体验使用的。下载地址是https://www.ipagua…

MS2358:96KHz、24bit 音频 ADC

MS2358 是带有采样速率 8kHz-96kHz 的立体声音频模数 转换器,适合于面向消费者的专业音频系统。 MS2358 通过使用增强型双位 Δ - ∑ 技术来实现其高精度 的特点。 MS2358 支持单端的模拟输入,所以不需要外部器 件,非常适合用于像 …

ChatGPT 宕机?OpenAI 将中断归咎于 DDoS 攻击

您的 ChatGPT 已关闭吗?您是否遇到 ChatGPT 问题,例如连接问题或遇到“长响应时出现网络错误”?– ChatGPT 遭受了一系列 DDoS 攻击,显然是由匿名苏丹组织策划的。 OpenAI 的 ChatGPT 是一款流行的人工智能聊天机器人,…

标本传送设备物联网应用案例|蓝蜂物联网一体化方案

标本传送设备物联网应用案例 标本传输系统被大量应用到现代医院场景中,系统各个设备的运行情况直接影响到整个医院系统的正常稳定,所以对于标本传输系统的实时监控和及时运维是维持医院稳定和规避风险的重中之重。 针对标本传输系统应用过程中的数据统…

ios安全加固 ios 加固方案

​ 目录 一、iOS加固保护原理 1.字符串混淆 2.类名、方法名混淆 3.程序结构混淆加密 4.反调试、反注入等一些主动保护策略 二 代码混淆步骤 1. 选择要混淆保护的ipa文件 2. 选择要混淆的类名称 3. 选择要混淆保护的函数,方法 4. 配置签名证书 5. 混淆和测…