ospf协议(动态路由协议)

ospf基本概念

定义

OSPF 是典型的链路状态路由协议,是目前业内使用非常广泛的 IGP 协议之一。
目前针对 IPv4 协议使用的是 OSPF Version 2 RFC2328 );针对 IPv6 协议使用 OSPF Version 3 RFC2740 )。
运行 OSPF 路由器之间交互的是 LS Link State ,链路状态)信息,而不是直接交互路由。 LSA 信息是 OSPF 能够正常进行拓扑及路由计算的关键信息。
OSPF 路由器将网络中的 LSA 信息收集起来,存储在 LSDB 中。路由器都清楚区域内的网络拓扑结构,这有助于路由器计算无环路径。
每台 OSPF 路由器都采用 SPF 算法计算达到目的地的最短路径。路由器依据这些路径形成路由加载到路由表中。
OSPF 支持 VLSM Variable Length Subnet Mask ,可变长子网掩码),支持手工路由汇总。
多区域的设计使得 OSPF 能够支持更大规模的网络。

ospf基础术语-区域

OSPF Area 用于标识一个 OSPF的区域,使用十进制数或类似于IP地址方式,但是没有IP地址的意义。
区域是从逻辑上将设备划分为不同的组,每个组用区域号( Area ID )来标识。
两种区域类型
  • 骨干区域:区域0 存在并且唯一
  • 非骨干区域:非0区域
注意:
  • 区域的划分是基于接口的,不是基于路由器的,一个路由器可以属于不同的区域。
  • 非骨干区域必须与骨干区域相连接。

ospf基础术语-router-id

Router-ID Router Identifier ,路由器标识符),用于在一个 OSPF 域中唯一地标识一台路由器
Router-ID 的设定可以通过手工配置的方式,或使用系统自动配置的方式

Router-ID的选举规则:

  1. 手工配置最优;
  2. 选用路由器全局Router-ID:
    1.  最先配置的IP地址;
    2.  如果最先配置的IP地址被删除或修改,则优选最大的虚拟地址(loopback地址),再优选最大的物理地址
  3. ospf router-id不具备抢占特性,除非设备重启或重置ospf进程

ospf基础术语-度量值

OSPF使用Cost(开销)作为路由的度量值。 每一个激活了 OSPF 的接口都会维护一个接口 Cost 值,缺省时 接口 Cost = 100  Mbit / s除以 接口带宽。 其中100 Mbit/sOSPF 指定的缺省参考值,该值是可配置的
笼统地说,一条OSPF路由的Cost值可以理解为是从目的网段到本路由器沿途所有入接口的Cost值累加。

ospf路由器角色

区域内路由器(Internal Router-IR)-区域内路由器是 OSPF 自治系统中的基本路由器类型之一。它的所有接口都被分配到同一个 OSPF 区域内。通常情况下,这些路由器在网络拓扑中处于较低的层次,负责局部的路由选择和转发任务。

区域边界路由器(Area Border Router - ABR)-区域边界路由器连接了骨干区域和非骨干区域,因此它在 OSPF AS 中扮演着关键的角色。ABR 可以通过物理连接或逻辑连接连接到骨干区域。

骨干路由器(Backbone Router-BR)-骨干路由器在 OSPF AS 中扮演着核心的角色,负责连接整个自治系统并提供路由信息的交换。它至少一个接口必须连接到骨干区域,可以同时连接到其他区域。

自治系统边界路由器(Autonomous System Boundary Router - ASBR)-ASBR 负责将来自其他自治系统的路由信息引入本自治系统,并将本自治系统的路由信息传递到其他自治系统。它可能位于自治系统的边界,也可能位于自治系统内部。

链路状态路由协议的运算过程

链路状态路由协议有四个步骤
  • 第一步是建立相邻路由器之间的邻居关系。
  • 第二步是邻居之间交互链路状态信息和同步LSDB
  • 第三步是进行优选路径计算。
  • 第四步是根据最短路径树生成路由表项加载到路由表。

ospf中的三大表项

邻居表

对于OSPF的邻居表,需要了解:

  • OSPF在传递链路状态信息之前,需先建立OSPF邻居关系。
  • OSPF的邻居关系通过交互Hello报文建立。
  • OSPF邻居表显示了OSPF路由器之间的邻居状态,使用display ospf peer查看。

链路状态数据库-LSDB

对于OSPF的LSDB表,需要了解:

  • LSDB会保存自己产生的及从邻居收到的LSA信息,本例中R1LSDB包含了三条LSA
  • Type标识LSA的类型,AdvRouter标识发送LSA的路由器。
  • 使用命令行display ospf lsdb查看LSDB表。

ospf路由表

对于OSPF路由表,需要了解:

  • OSPF路由表和路由器路由表是两张不同的表项。本例中OSPF路由表有三条路由。
  • OSPF路由表包含DestinationCostNextHop等指导转发的信息。
  • 使用命令display ospf routing查看OSPF路由表。

ospf的网络类型

  • 在学习DRBDR的概念之前,需要首先了解OSPF的网络类型。

  • OSPF网络类型是一个非常重要的接口变量,这个变量将影响OSPF在接口上的操作,例如采用什么方式发送OSPF协议报文,以及是否需要选举DRBDR等。

  • 接口默认的OSPF网络类型取决于接口所使用的数据链路层封装。

  • 如图所示,OSPF的有四种网络类型,BroadcastNBMAP2MPP2P

一般情况下,链路两端的OSPF接口网络类型必须一致,否则双方无法建立邻居关系

OSPF网络类型可以在接口下通过命令手动修改以适应不同网络场景,例如可以将BMA网络类型修改为P2P

BMA(Broadcast Multiple Access,广播式多路访问)

  • BMA也被称为Broadcast,指的是一个允许多台设备接入的、支持广播的环境。
  • 典型的例子是Ethernet(以太网)。当接口采用Ethernet封装时,OSPF在该接口上采用的缺省网络类型为BMA

NBMA(Non-Broadcast Multiple Access,非广播式多路访问)

  • NBMA指的是一个允许多台网络设备接入且不支持广播的环境。
  • 典型的例子是帧中继(Frame-Relay)网络。

P2P(Point-to-Point,点对点)

  • P2P指的是在一段链路上只能连接两台网络设备的环境。
  • 典型的例子是PPP链路。当接口采用PPP封装时,OSPF在该接口上采用的缺省网络类型为P2P

P2MP(Point to Multi-Point,点到多点)

  • P2MP相当于将多条P2P链路的一端进行捆绑得到的网络。
  • 没有一种链路层协议会被缺省的认为是P2MP网络类型。该类型必须由其他网络类型手动更改。
  • 常用做法是将非全连通的NBMA改为点到多点的网络。

DR和BDR

MAMulti-Access)多路访问网络有两种类型:广播型多路访问网络(BMA)非广播型多路访问网络(NBMA)。以太网(Ethernet)是一种典型的广播型多路访问网络。

MA网络中,如果每台OSPF路由器都与其他的所有路由器建立OSPF邻接关系,便会导致网络中存在过多的OSPF邻接关系,增加设备负担,也增加了网络中泛洪的OSPF报文数量

当拓扑出现变更,网络中的LSA泛洪可能会造成带宽的浪费和设备资源的损耗

为优化MA网络中OSPF邻接关系,OSPF指定了三种OSPF路由器身份,DRDesignated Router,指定路由器)、BDRBackup Designated Router,备用指定路由器)和DRother路由器。

只允许DR、BDR与其他OSPF路由器建立邻接关系。DRother之间不会建立全毗邻的OSPF邻接关系,双方停滞在2-way状态。

BDR会监控DR的状态,并在当前DR发生故障时接替其角色。

DR和BDR的选举规则:

  • OSPF DR优先级值大的接口成为该MADR,第二大的成为BDR。
  • 如果优先级值相等(默认为1),则具有更大的OSPF Router-ID的路由器(的接口)被选举成DR,第二大的成为BDR,并且DR具有非抢占性。

注意:

  1. 只有在广播和NBMA 的链路上才会选举DR和BDR,在P2P 和P2MP 的链路上不会选举DR和BDR。
  2. DR 是针对一个网段内的设备选举的,对于一台路由器来说,可能它在某个接口上是DR,在其它接口上是BDR、DROther,或者因为是P2P 的链路而不参加DR 的选举。
  3. 在广播的网络上必须存在DR 才能够正常工作,但BDR 不是必需的。
  4. 一个网段中即使只有一台路由器,也要选举DR。
  5. 由于“终身制”的原因,网段中的DR 不一定是priority 最高的,但通常是“来的早”的路由器。

ospf协议的报文类型

OSPF使用5种不同的报文类型。每种类型用于支持不同的,专门的网络功能:

  • Hello报文:发现和维护邻居关系。
  • DD报文(数据库描述):交互链路状态数据库摘要。
  • LSR(链路状态请求):请求特定的链路状态信息。
  • LSU(链路状态更新):发送详细的链路状态信息。
  • LSACK(链路状态确认):对链路状态信息进行确认。

ospf的状态机

(1)邻居建立状态变化过程

1、Down状态:这是邻居的初始状态,表示没有从邻居收到任何信息。

启用了OSPF功能的链路默认成为down状态,并开始向外发送Hello报文(基于网络类型的不同发送方式也会不同,广播类型Hello为组播发送)。

注意:OSPF的每条链路都会经历状态机,每条OSPF链路的状态机互不影响。

启用OSPF的链路从Down状态开始,向外发送Hello报文。

2、Init状态:在此状态下,路由器已经从邻居收到了Hello报文。

在Init状态下的链路,如果接收到传来的Hello包中含有自己的router-id,则表示对端已经发现了自己,此时链路就能成为2-way状态了。

3、Attempt状态(NBMA)

该状态仅发生在NBMA网络中,表明该链路在发送Hello报文之后,到达了失效时间(dead interval)仍然没有收到对端回复Hello报文。如果Router Dead Interval间隔内未收到邻居的Hello报文,则转为Down状态。

处于该状态下的链路仍然会向对端发送Hello报文。

4、2-way状态:在此状态下,双向通信已经建立,但是没有与邻居建立邻接关系。这是建立邻接关系以前的最高级状态。

(2)邻接建立状态变化过程

5、ExStart:这是形成邻接关系的第一个步骤,邻居状态变成此状态以后,路由器开始向邻居发送DD报文,主从关系是在此状态下形成的。初始DD序列号是在此状态下决定的,在此状态下发送的DD报文不包含链路状态描述。

6、Exchange:此状态下路由器相互发送包含链路状态信息摘要的DD报文,描述本地LSDB的内容。

7、Loading:相互发送LSRequest报文请求LSA,发送LSUpdate通告LSA。

8、Full:两台路由器的LSDB已经同步。

OSPF的3种稳定状态:

什么是稳定的状态?即链路状态会长时间所处的状态机。

在OSPF状态机中,有三个稳定的状态机状态:Down、2-way、Full

  • Down:启用OSPF功能的链路默认所处状态机或者邻居失效后的状态。
  • 2-way:在交互了Hello报文建立邻居之后所处的状态,DR-Other与DR-Other之间所处的状态。
  • Full:在邻接建立成功之后的状态,也是OSPF的最终状态。

ospf邻接关系建立过程

OSPF完成邻接关系的建立有四个步骤,即建立邻居关系、协商主/从、交互LSDB信息,同步LSDB

建立邻居关系

当一台 OSPF 路由器收到其他路由器发来的首个 Hello 报文时会从初始 Down 状态切换为 Init 状态。
OSPF 路由器收到的 Hello 报文中的邻居字段包含自己的 Router ID 时,从 Init 切换 2-way 状态。

协商主/从、交互LSDB信息

邻居状态机从 2-way 转为 Exstart 状态后开始主从关系选举:
R1 R2 发送的第一个 DD 报文内容为空,其 Seq 序列号假设为 X
R2 也向 R1 发出第一个 DD 报文,其 Seq 序列号假设为 Y
选举主从关系的规则是比较Router ID,越大越优 R2 Router ID R1 大, 因此 R2 成为真正的主设备。主从关系比较结束后, R1 状态从 Exstart 转变为 Exchange
R1 邻居状态变为 Exchange 后, R1 发送一个新的 DD 报文,包含自己 LSDB 的描述信息,其序列号采用主设备 R2 的序列号。 R2 收到后邻居状态从 Exstart 转变为 Exchange
R2 R1 发送一个新的 DD 报文,包含自己 LSDB 的描述信息,序列号为 Y+1
R1 作为从路由器需要对主路由 R2 发送的每个 DD 报文进行确认,回复报文的序列号与主路由 R2 一致。
发送完最后一个 DD 报文后, R1 将邻居状态切换为 Loading

同步LSDB

邻居状态转变为 Loading 后, R1 R2 发送 LSR 报文,请求那些在 Exchange 状态下通过 DD 报文发现的,但是在本地 LSDB 中没有的 LSA
R2 收到后向 R1 回复 LSU 。在 LSU 报文中包含被请求的 LSA 的详细信息。
R1 收到 LSU 报文后,向 R2 回复 LS ACK 报文,确认已接收到,确保信息传输的可靠性。
此过程中 R2 也会向 R1 发送 LSA 请求。当两端 LSDB 完全一致时,邻居状态变为 Full ,表示成功建立邻接关系。

虚链路

为了避免区域间的环路,OSPF规定不允许直接在两个非骨干区域之间发布路由信息只允许在一个区域内部或者在骨干区域和非骨干区域之间发布路由信息。因此,每个非骨干区域都必须连接到骨干区域,同时骨干区域也必须连续
        但由于网络设计、升级、合并、改造等因素,从而造成不规范区域架构,最终导致路由学习不完整,解决方法就是使用虚链路

ospf支持一种名叫虚链路(virtual link)的特性,当非骨干区域与骨干区域之间没法建立物理连接的情况下,可利用该特性来建立逻辑连接,虚链路的用途如下:

  • 当非骨干区域与骨干区域之间无法通过物理链路直连时,可让两者之间通过这种逻辑链路互连。
  • 可用来防止骨干区域的“分裂”,或可用来把发生“分裂”的骨干区域合并。

虚链路使用场景:

场景一:

在上图中,区域2只能与区域1直连,而无法与骨干区域直连,在这种情况下,由于area 2没有与骨干区域直连,最终导致area 2无法学习到其他区域的路由信息,在这种情况下,需要通过OSPF虚链路将骨干区域的范围扩展到相邻的区域1,如下图:

在进行OSPF虚链路扩展后,区域1被虚拟成了骨干区域,而这时的R3等同于连接骨干区域和区域2的ABR(因为有一个virtual接口在区域0,因此变成了ABR),所以可以将自己所有的LSA发进区域2。在扩展OSPF虚链路时,是通过连接R2(ABR)与R3(ABR)的Router-ID 来建立的。

场景二:

因为OSPF虚链路(Virtual Link)能将骨干区域扩展到相邻的常规区域,从而将常规区域虚拟为骨干区域,所以在某些情况下,如公司合并,或者为了备份骨干区域,可能出现骨干区域被常规区域所隔离,如下图:

图中骨干区域被区域1分割为两部分,将使得骨干区域自己的路由无法相互传递,在使用OSPF虚链路后,可以将区域1也扩展为骨干区域,如下图:

在经过OSPF虚链路将区域1也扩展为骨干区域后,可见所有的区域都变成了骨干区域,从而使网络中骨干区域能够收到另外一边被分割的骨干区域的路由,并且最后骨干区域自己的路由都为Intra-Area Route。

参考:OSPF虚链路技术原理与注意点-CSDN博客

ospf各类LSA介绍

OSPF LSA 链路状态通告( Link status announcement),作用于向其它邻接OSPF路由器传递拓扑信息路由信息

OSPF路由器通过不同类型的LSA组建成LSDB数据库(链路状态数据库)再通过SPF算法计算出最优的OSPF路由加入到路由表中。

常见的LSA有:

  • 1类 Router-LSA:描述设备的直连拓扑信息、路由信息,该LSA只能在接口所属的区域内泛洪。
  • 2类 Network-LSA:网络LSA,该2类LSA只会在广播类型网络中出现,由DR产生,描述DR所在的MA网络中所有与之形成邻接关系的路由器,以及DR自己。
  • 3类 Summary-Network-LSA:网络汇总LSA,由ABR设备产生,描述区域内的路由信息。因为1类、2类LSA只能在区域内传递。故其它区域需要学习到另一个区域的1类2类就需要有新的LSA来统一描述1类2类的拓扑、路由信息。这个LSA就是3类LSA。
  • 4类 ASBR-summary-LSA:ASBR汇总LSA,由ABR产生,描述到ASBR的路由,服务于5类LSA。通告给除ASBR所在区域的其它区域。
  • 5类 AS-external-LSA:AS外部LSA,由ASBR产生,描述到OSPF域外的路由。OSPF引入的路由,如引入RIP、ISIS、BGP等路由,引入的路由就属于外部路。外部路由用5类LSA进行通告。
  • 7类 NSSA-LSA:用于特殊区域 NSSA 中的LSA。由ASBR产生,用于描述到达OSPF域外的路由。NSSA7类与5类功能一样,但泛洪范围不同。

各类LSA详解请参考:路由 OSPF LSA介绍、1~7类LSA详细介绍_ospf lsa类型详解-CSDN博客

ospf特殊区域

特殊区域类型:

  • Stub Area 末梢区域
  • Totally  Stub Area  完全末梢区域
  • NSSA(Not So Stub  Area)
  • Totally  NSSA 完全NSSA

各区域详情请参考:OSPF 特殊区域介绍、Stub、Totally Stub、NSSA、Totally NSSA-CSDN博客

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

现代网络架构PCI DSS合规范围确定和网络分割措施实施探讨

本文为atsec和作者技术共享类文章,旨在共同探讨信息安全业界的相关话题。未经许可,任何单位及个人不得以任何方式或理由对本文的任何内容进行修改。转载请注明:atsec信息安全和作者名称 1 引言 支付卡行业数据安全标准 (P…

鸿蒙开发:自定义一个任意位置弹出的Dialog

前言 鸿蒙开发中,一直有个问题困扰着自己,想必也困扰着大多数开发者,那就是,系统提供的dialog自定义弹窗,无法实现在任意位置进行弹出,仅限于CustomDialog和Component struct的成员变量,这就导致…

深入浅出:开发者如何快速上手Web3生态系统

Web3作为互联网的未来发展方向,正在逐步改变传统互联网架构,推动去中心化技术的发展。对于开发者而言,Web3代表着一个充满机遇与挑战的新领域,学习和掌握Web3的基本技术和工具,将为未来的项目开发提供强大的支持。那么…

Q-2A型金相试样切割机

产品概述 在金相试样制备过程中,试样材料的切割是试样制备的首道重要工序,本机利用高速旋转的薄片砂轮来截取试样,适直切割较硬的金属材料,本机有冷却装置,用来带走切割时所产生的热量,避免试样过热而改变组织。 主要…

Ubuntu环境中RocketMQ安装教程

参考教程 https://blog.csdn.net/weixin_56219549/article/details/126143231 1、安装JDK,并配置环境变量(略) 2、下载RocketMQ安装包 RocketMQ下载地址,选择二进制包下载 unzip rocketmq-all-5.0.0-ALPHA-bin-release.zip 使…

传输控制协议(TCP)

传输控制协议是Internet一个重要的传输层协议。TCP提供面向连接、可靠、有序、字节流传输服务。 1、TCP报文段结构 注:TCP默认采用累积确认机制。 2、三次握手、四次挥手 (1)当客户向服务器发送完最后一个数据段后,发送一个FIN段…

我们来学mysql -- 事务之概念(原理篇)

事务的概念 题记一个例子一致性隔离性原子性持久性 题记 在漫长的编程岁月中,存在一如既往地贯穿着工作,面试的概念这类知识点,事不关己当然高高挂起,精准踩坑时那心情也的却是日了🐶请原谅我的粗俗,遇到B…

2024 ccpc 辽宁省赛 E(构造 思维?)L(二分+一点点数论知识?)

E 题意: 可以注意到: 我的两种方格都四个方格的大小。 所以 如果存在一种摆放方式 那么 4|nm。 再考虑一种特殊的情况 22 ,此时虽然我的积是4 但是无法摆放的。 1>对于 4 | n,或者 4 | m.我直接摆放第二种方格就可以了。 如果我n 是4 的…

自定义类型: 结构体、枚举 、联合

目录 结构体 结构体类型的声明 匿名结构体 结构的自引用 结构体变量的定义和初始化 结构体成员变量的访问 结构体内存对齐 结构体传参 位段 位段类型的声明 位段的内存分配 位段的跨平台问题 位段的应用 枚举 枚举类型的定义 枚举的优点 联合体(共用体) 联合…

更多开源创新 挑战OpenAI-o1的模型出现和AI个体模拟突破

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

说说Elasticsearch查询语句如何提升权重?

大家好,我是锋哥。今天分享关于【说说Elasticsearch查询语句如何提升权重?】面试题。希望对大家有帮助; 说说Elasticsearch查询语句如何提升权重? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 Elasticsearch 中&…

基于协同推荐的黔醉酒业白酒销售系统

文末获取源码和万字论文 摘 要 基于协同推荐的黔醉酒业白酒销售系统主要针对黔醉酒业的具体业务需求所设计,现阶段阶段我国大型企业都会有自己的电商平台以及销售管理系统,其功能对于中小型过于冗长复杂,成本也不是中小型企业能够承受的&…

【Redis】—0.1、Ubuntu20.04源码编译部署redis6.2.7

1、Redis下载 创建redis的目录:mkdir -p /data/db/redis 下载redis:https://redis.io/download/ 2、上传文件到目录后解压 tar xvf redis-6.2.7.tar.gz 3、安装redis的依赖软件更新gcc,装一系列软件包,gcc,g和make。 s…

Kubernetes——part11 云原生中间件上云部署 Rocketmqkafkazookeeper

Rocketmq rocketmq角色 RocketMQ由四部分构成:Producer、Consumer、Broker和NameServer 启动顺序:NameServer->Broker 为了消除单点故障,增加可靠性或增大吞吐量,可以在多台机器上部署多个nameserver和broker,并…

软件架构4+1视图详解

软件架构41视图详解 1. 用例视图(场景视图)2. 逻辑视图3. 开发视图4. 进程视图(运行视图)5. 物理视图(部署视图)6. 总结 软件架构是软件系统的骨架,它决定了系统的结构、行为和属性。为了更好地…

【开源免费】基于Vue和SpringBoot的校园资料分享平台(附论文)

博主说明:本文项目编号 T 059 ,文末自助获取源码 \color{red}{T059,文末自助获取源码} T059,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析…

基于深度学习和卷积神经网络的乳腺癌影像自动化诊断系统(PyQt5界面+数据集+训练代码)

乳腺癌是全球女性中最常见的恶性肿瘤之一,早期准确诊断对于提高生存率具有至关重要的意义。传统的乳腺癌诊断方法依赖于放射科医生的经验,然而,由于影像分析的复杂性和人类判断的局限性,准确率和一致性仍存在挑战。近年来&#xf…

2024“蜀道山” RE 部分题解

Map_maze 题目描述 真真假假真真,你能够寻找到最后的终点吗? 附件下载 迷宫生成 v5 是一个长度为 105 的数组,被用作 15x15 的二维网格 int __cdecl sub_4010D0(_DWORD *a1, _DWORD *a2) {_DWORD *v2; // eax_DWORD *v3; // eaxint result; // eax_DWORD v5[1…

水库大坝安全监测之量水堰计应用

量水堰计是水库大坝安全监测系统中的一种关键设备,主要用于测量水库水位、流量等水力参数。以下是量水堰计在水库大坝安全监测中的应用及注意事项: 一、量水堰计的工作原理 量水堰计是一种专门用于测量水流流量的仪器,其工作原理主要基于水流…

vue基础之3:模板语法、数据绑定

欢迎来到“雪碧聊技术”CSDN博客! 在这里,您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者,还是具有一定经验的开发者,相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导,我将…