当前位置: 首页 > news >正文

网络基础-路由技术和交换技术以及其各个协议

 四、路由技术和交换技术

4.1路由技术

静态与动态协议的关系:

1,静态路由:由网络管理员手工填写的路由信息。

2,动态路由:所有路由器运行相同路由协议,之后,通过路由器之间的沟通,协商最终计算 生成路由条目。

静态路由: 优点: 1,选路由管理员选择,相对更好掌控; 2,不用占用额外的资源 3,更加安全

缺点: 1,配置量大 2,静态路由无法根据网络拓扑结构的变化而自动收敛

动态路由: 缺点: 1,通过单一算法计算出来的路径,可能会出现选路不佳的情况; 2,会占用额外的链路资源,硬件资源。 3,因为牵扯数据传递,所以可能出现安全问题

优点:1,配置简单 2,动态路由可以根据网络拓扑结构的变化而自动收敛

总结: 静态路由应用在规模较小的网络当中,动态路由可以应用在中大型网络中。

4.1.1静态协议

4.1.1.1 静态路由基础
  • 定义:由管理员手动配置的路由条目,不会自动适应网络变化。
  • 主要参数
    • 目的地址和掩码:目标网络的IP地址及子网掩码(IPv4用点分十进制或掩码长度,IPv6用16进制地址及掩码长度)。
    • 出接口(Interface):数据包离开路由器的接口。
    • 下一跳地址(Next Hop):数据包转发的下一跳IP地址。
    • 优先级(Priority):华为默认优先级为60,数值越小优先级越高。
    • 度量值(Cost/Metric):华为静态路由默认度量值为0,通常不用于路径选择。
  • 特殊路由
    • 默认路由:目的地址为0.0.0.0/0(IPv4)或::/0(IPv6),用于转发无法匹配其他路由的流量。
4.1.1.2. 接口类型与配置差异
  • 点对点接口(如Serial接口)
    • 配置时只需指定出接口,下一跳地址由接口对端隐含。
    • 示例:ip route-static 192.168.1.0 255.255.255.0 Serial 1/0/0
  • 广播接口(如以太网接口)
    • 必须同时指定下一跳地址和出接口,否则无法唯一确定下一跳。
    • 示例:ip route-static 192.168.1.0 255.255.255.0 10.0.12.1 GigabitEthernet 0/0/0
  • NBMA接口(如ATM)
    • 需指定下一跳地址,且需配置链路层映射(如ARP表或静态邻接)。
    • 示例:ip route-static 192.168.1.0 255.255.255.0 2001::1
4.1.1.3.IPv4与IPv6静态路由差异
特性IPv4IPv6
目的地址格式点分十进制(如192.168.1.0)16进制(如2001:db8::/32)
掩码表示点分十进制或掩码长度(如24)仅掩码长度(如/64)
缺省路由0.0.0.0/0::/0
配置命令ip route-staticipv6 route-static
4.1.1.4. 静态路由高级特性
  • 负载分担(等价路由)
    • 配置多条相同目的地址、掩码、优先级和度量值的路由,实现流量分担。
    • 示例:配置两条下一跳分别为10.0.12.120.0.12.1的路由。
  • 路由备份(优先级差异)
    • 配置多条路由,优先级不同的路由中,优先级高的生效;优先级低的作为备份。
  • BFD for静态路由
    • 单跳检测:BFD会话直接绑定静态路由的出接口和下一跳,实时检测链路状态。
    • 多跳检测:BFD会话通过迭代查找直连下一跳,检测多跳链路状态。
    • 作用:当链路故障时,BFD快速将路由从路由表中删除,避免流量黑洞。
4.1.1.5. 配置命令与验证
  • 华为配置命令
    # 配置指定下一跳的静态路由
    ip route-static [目的地址] [掩码] [下一跳地址] [出接口]# 配置仅指定出接口的静态路由(点对点接口)
    ip route-static [目的地址] [掩码] [出接口类型及编号]# 配置默认路由
    ip route-static 0.0.0.0 0 [下一跳地址/接口]
  • 验证命令:
    display ip routing-table  # 查看IPv4路由表
    display ipv6 routing-table  # 查看IPv6路由表
4.1.1.6. 应用场景与优缺点
  • 适用场景
    • 网络结构简单、拓扑变化少的环境。
    • 需要精确控制流量路径的场景(如安全策略)。
    • 作为动态路由协议的补充(如默认路由)。
  • 优点
    • 配置简单,无需协议开销。
    • 安全性高(手动配置,防攻击)。
  • 缺点
    • 网络变化时需手动调整,维护成本高。
    • 无法感知链路故障(需依赖BFD等扩展功能)。

注意:面试高频问题梳理

基础概念类
  1. 静态路由与动态路由的核心区别是什么?
    • 静态路由手动配置,动态路由(如OSPF、BGP)自动学习和更新。
  2. 静态路由的五个主要参数是什么?
    • 目的地址、掩码、出接口、下一跳地址、优先级。
  3. 什么是默认路由?它的作用是什么?
    • 目的地址为0.0.0.0/0的路由,用于转发无法匹配其他路由的流量。
  4. IPv4静态路由与IPv6静态路由的主要差异?
    • 地址格式、掩码表示方式、缺省路由格式不同。
配置与接口类型
  1. 在华为设备上,如何配置一条指定出接口的静态路由?
    • ip route-static 目的地址 掩码 接口类型及编号(适用于点对点接口)。
  2. 为什么以太网接口配置静态路由必须指定下一跳地址?
    • 以太网是广播型接口,存在多个可能的下一跳,需明确下一跳IP。
  3. NBMA接口配置静态路由时需要注意什么?
    • 需配置链路层地址映射(如ARP表或静态邻接)。
 高级特性与故障排查
  1. 如何实现静态路由的负载分担?
    • 配置多条相同目的地址、掩码、优先级和度量值的路由。
  2. BFD for静态路由的作用是什么?单跳和多跳检测的区别?
    • BFD检测链路状态,故障时快速删除路由;单跳直接绑定接口下一跳,多跳需迭代查找。
  3. 静态路由优先级如何影响路由选择?
    • 优先级越小越优先;相同优先级可负载分担,不同优先级可备份。
实战问题
  1. 配置静态路由后无法转发流量,可能的原因有哪些?
    • 掩码错误、下一跳不可达、接口未激活、BFD检测状态Down。
  2. 如何验证静态路由是否生效?
    • display ip routing-table查看路由表,pingtracert测试可达性。
  3. 在华为设备上,如何为静态路由绑定BFD会话?
    • 使用track bfd-session命令或直接在路由配置中指定BFD参数。
 综合应用
  1. 设计一个使用静态路由和BFD的冗余网络方案。
    • 配置两条静态路由(不同优先级),并绑定BFD会话,主路由Down时切换到备份路由。
  2. 为什么静态路由不适合大型网络?
    • 扩展性差,拓扑变化需手动调整,维护成本高。

4.1.2OSPF

特点

优点:适用于大型网络

缺点:产生的更新量大

解决缺点:1.区域划分-区域间传递路由,区域内传递拓扑

           2.合理的IP地址规划-一个区域可以汇总成一个网段最佳

           3.特殊区域

           4.30miin周期更新

结构突变:1.断开:断开的网段使用DBD来告知所有的邻居,邻居进行LSR/LSU/LSACK收敛

                  2.新增:新增的网段使用DBD来告知所有的邻居,邻居进行LSR/LSU/LSACK收敛

                  3.设备无法通信:dead time(最大老化时间)->超过最大老化时间后,依然没有                    hello包,断开邻居关系,删除从该邻居处学习到的所有信息;->邻居关系正常,                    30min依然没有正常进行,超过3609s,删除该LSA信息即可。

收敛行为:1.OSPF的LSA泛洪;2.OSPF的LSDB同步

工作过程

数据包

Hello->发现、建立邻居(邻接)关系、维持、周期保活;存在全网唯一的RID,使用IP地址

DBD->本地的数据库的目录,LSDB的目录(所有LSA的集合)

LSR->基于DBD包中的未知信息进行查询

LSU->携带了正真的LSA的信息(链路状态通告),用于答复对端的LSR

LSACK->对传递LSA信息进行确认,链路状态确认

状态机 

Down->一旦启动发出hello包,立即进入下一状态

Init(初始化)->若收到了携带了自己的RID的hello包,则和对方一起进入下一状态

Two-way(双向通信)->邻居关系建立(DR/BDR选举),此时进行条件匹配,若成功,RID大的优先进行下一状态,若失败,则保持邻居关系,hello包10s周期保活即可

条件匹配:MA网段进行DR/BDR选举,P2P网段中没有DR/BDR;点到点网络直接进入下一状态,MA网络将进行DR/BDR选举(40s),非DR/BDR间不得进入下一状态

Exstart(预启动)->使用类hello的DBD进行主从选举,RID大的优先进入下一状态

Exchange(准交换)->使用真正的DBD包进行数据库目录交换共享

Loading(加载)->使用LSR/LSU/LSACK来获取未知的LSA信息

Full(转发)->邻接关系建立的标志

基础配置

华为设备

1.启动OSPF协议时需要定义进程号,可同时配置RID,若不指定RID,默认认为最大的环回地址,若没有环路,则物理接口最大数值IP地址

2.指定区域(一定要有a和0区域)

3.宣告路由        反掩码宣告

生成的表

1.邻居表->成为邻居关系的路由表

2.路由表->本地基于LSDB启用SPF算法,计算到达所有未知网段的最短路径,然后将其加载到路由表内

3.数据库表->各种类型的LSA

度量值

1.cost=开销值=参考带宽/接口带宽

2.默认的参考带宽为100M(ospf默认为整段路径cost之和最小值)

3.若接口带宽大于参考带宽,cost=1;将可能导致选路不佳,建议修改默认的参考带宽。(更改参考带宽命令:ospf 1/bandwidth-reference 1000)

4.路由器的环回接口默认没有带宽

区域划分原则

星型结构->所有的非骨干区域必须连接到骨干区域,否则不能进行区域间路由共享

ABR(区域边界路由器)->合法的ABR必须同时工作在骨干区域

不规则区域

分类

1.远离骨干的非骨干区域(非骨干区域没有连接到0区域中)

2.不连续骨干(存在多个0区域)

解决

1.tunnel隧道

2.v.irtual-link虚链路

3.多进程重发布

扩展配置

1.认证

接口认证->ospf authentication-mode md5 1 cisco123 #密文认证,key编号1,密码为cisco123,密码直接以md5值传播

2.被动接口

只接受不发送路由协议的信息,其他信息正常通过;华为是沉默接口

silent-interface Giga0/0/0

3.修改计时器

hello time为10或者30s;dead time为hello的4倍

改小计时器可以加快收敛速度,但将增加网络资源占用;所以修改时不宜过小,维持原有倍数关系

在接口模式下:ospf timer hello 5  #修改本端的hello time,本端的dead time 自动4倍

4.缺省路由

(1)3类的缺省

配置特殊区域后自动生成--末梢、完全末梢、完全NSSA

(2)5类的缺省

本地路由表中通过其他协议或者OSPF的其他进程生成了缺省路由条目前提;之后使用重发布机制将该条目重发布到ospf的协议中来(ospf模式下:default-route-advertise type  #默认导入路由起始度量为1,类型2)

若本地路由表中没有缺省条目,也可以让设备强制向内网发送一条5类缺省(ospf模式下:default-route-advertise always  #默认类型2,cost为1)

(3)7类的缺省、普通的NSSA区域将自动产生7类的LSA;也可以在NSSA区域内手动生出7类缺省(ospf的0.0.0.1下:nssa default-route-advertise  #默认类型为2,起始cost为1)

FA转发原则

网络类型

点到点(组播)

BMA(广播型多路访问,广播)

NBMA(非广播型多路访问网络,单播)

二层封装技术

PPP->点到点

以太网->BMA

MGRE->NBMA

选路规则

LSA

1. 基础概念

  • 定义

    • OSPF(Open Shortest Path First)是基于链路状态的IGP协议,通过SPF算法计算最短路径。
    • OSPFv2:适用于IPv4(RFC 2328)。
    • OSPFv3:适用于IPv6(RFC 5340),与v2工作原理一致,但报文封装在IPv6中。
  • 核心特点

    • 分层设计:通过区域(Area)划分缩小LSDB规模。
    • 链路状态数据库(LSDB):每台路由器维护本地LSDB,通过LSA同步全网拓扑。
    • SPF算法:基于Dijkstra算法计算最优路径。
    • 快速收敛:通过LSA泛洪实时更新网络状态。

2. 协议报文与LSA

  • 协议报文

    • Hello:发现邻居、维持关系、选举DR/BDR。
    • DD(Database Description):交换LSDB摘要,协商主从关系。
    • LSR(Link State Request):请求特定LSA。
    • LSU(Link State Update):发送请求的LSA。
    • LSAck(Link State Acknowledgment):确认LSA接收。
  • LSA类型(华为设备常见类型):

    类型作用传播范围
    Type 1 (Router-LSA)描述本路由器的链路状态和开销本区域
    Type 2 (Network-LSA)由DR生成,描述广播/NBMA网络的链路状态本区域
    Type 3 (Network-Summary-LSA)ABR生成,通告区域间路由其他区域
    Type 4 (ASBR-Summary-LSA)ABR生成,通告ASBR的路由其他区域
    Type 5 (AS-External-LSA)ASBR生成,描述外部路由(如静态路由、BGP路由)所有非Stub/Totally Stub/NSSA区域
    Type 7 (NSSA-External-LSA)ASBR在NSSA区域生成,转换为Type5后传播本NSSA区域

3. 路由器类型

  • 普通路由器:仅属于一个区域。
  • ABR(Area Border Router):连接多个区域,负责区域间路由汇总。
  • ASBR(Autonomous System Boundary Router):引入外部路由(如静态路由、BGP路由)到OSPF域。
  • DR/BDR(Designated Router/Backup Designated Router):在广播/多点接入网络中选举,减少LSA泛洪。

4. 邻接关系建立流程

  1. 邻居发现:通过Hello报文建立邻居关系(状态:Down → Init → 2-Way)。
  2. 邻接关系:需通过DD/LSR/LSU同步LSDB(状态:ExStart → Exchange → Loading → Full)。
  3. 条件
    • 同一区域、Hello/Dead间隔匹配、认证方式一致。
    • 广播网络中,DR/BDR需选举(DR优先级默认1,可配置)。

5. 区域划分

  • 骨干区域(Area 0)
    • 必须存在,所有非骨干区域必须直接或间接与之相连。
    • ABR的连接区域必须包含Area 0。
  • 特殊区域类型(华为设备支持):
    类型特点适用场景
    Stub Area不接收Type5 LSA,由ABR下发默认路由减少外部路由对边缘区域的影响
    Totally Stub Area不接收Type3/Type4/Type5 LSA,仅ABR下发默认路由进一步减少区域间路由信息
    NSSA Area允许Type7 LSA(ASBR引入外部路由),但不接收Type5比Stub更灵活,支持外部路由引入
    Totally NSSA Area不接收Type3/Type4/Type5 LSA,仅ABR下发默认路由结合NSSA和Totally Stub的特性

6. 配置命令(华为设备)

  • 基础配置
    # 进入OSPF进程
    ospf [进程号]# 配置区域
    area [区域ID]# 将接口加入OSPF区域
    network [IP地址] [掩码] area [区域ID]
    # 或更灵活的接口模式配置
    interface [接口名]
    ospf enable [进程号] area [区域ID]
  • 特殊区域配置
    # Stub区域
    area [区域ID] stub# Totally Stub区域
    area [区域ID] stub no-summary# NSSA区域
    area [区域ID] nssa
    # Totally NSSA
    area [区域ID] nssa no-summary

7. 优缺点

  • 优点
    • 收敛速度快,适合大型网络。
    • 支持VLSM和CIDR,灵活分配IP。
    • 分层设计减少LSDB规模。
  • 缺点
    • 配置复杂度高,需规划区域和ABR。
    • 需依赖DR/BDR,在某些网络类型中可能成单点故障。

注意:面试高频问题与答案方向

1. 基础概念

  1. OSPF与RIP的区别?

    • OSPF:链路状态协议,收敛快,无跳数限制,分层设计。
    • RIP:距离矢量协议,收敛慢,跳数限制15,不支持VLSM。
  2. OSPF的LSA与路由表的关系?

    • LSA描述网络拓扑,通过SPF算法计算生成路由表。
  3. OSPF的DR/BDR作用?

    • 减少广播型网络中邻接关系数量,DR负责LSA泛洪。

2. 区域划分

  1. 为什么必须存在骨干区域?

    • 所有区域间路由必须通过骨干区域传递,确保全网路由可达。
  2. Stub与Totally Stub区域的区别?

    • Stub:接收Type3(区域间路由),但无Type5(外部路由),由ABR下发默认路由。
    • Totally Stub:不接收Type3/Type4/Type5,仅ABR下发默认路由。
  3. NSSA区域如何引入外部路由?

    • ASBR生成Type7 LSA,ABR将其转换为Type5 LSA传播到其他区域。

3. 邻接关系与报文

  1. OSPF邻居状态变化过程?

    • Down → Init → 2-Way → ExStart → Exchange → Loading → Full。
  2. Hello报文的作用?

    • 发现邻居、维持关系、选举DR/BDR、协商参数(如Dead间隔)。
  3. DD报文与LSAck的作用?

    • DD交换LSDB摘要,协商主从;LSAck确认LSA接收,确保可靠性。

4. 配置与故障排查

  1. interface [接口名]
    ospf network-type p2p
    • 点对点网络无需选举DR/BDR。
  2. 邻居无法建立的可能原因?

    • 区域ID不一致、Hello/Dead间隔不匹配、认证失败、接口状态Down。
  3. 如何查看OSPF邻居状态?

    display ospf peer
    # 查看详细状态
    display ospf peer [邻居IP] verbose

5. 高级特性

  1. OSPF与静态路由的区别?

    • OSPF:动态学习,自动适应拓扑变化。
    • 静态路由:手动配置,需人工维护。
  2. 华为设备中,如何配置OSPF与BFD联动?

    ospf [进程号]
    bfd all-interface # 全局启用BFD
    # 或针对接口配置
    interface [接口名]
    ospf bfd
    • BFD加速OSPF邻居Down检测(默认OSPF Dead间隔4倍Hello间隔)。
  3. OSPFv2与OSPFv3的主要差异?

    • v3支持IPv6,LSA类型扩展(如Type8、Type9),报文封装在IPv6中。

4.1.3BGP

4.1.3.1基本概念

1.EGP的特点:设计简单,只能在AS之间简单传递路由信息,不会对路由进行任何优选,没有考虑在AS之间如何避免路由环路等问题,因而被BGP代替
2.BGP作为一种外部网关协议,用在AS之间进行路由控制和优选
3.BGP的基本作用
AS内部使用IGP计算和发现路由(如ospf,isis,rip等)
AS之间使用BGP来传递和控制路由

4.特点

为了保证数据可靠性,BGP使用TCP作为其承载协议建立连接,因此BGP可以跨越多跳路由器建立邻居关系

AS之间的路由器时不完全相互信任的,为实现路由按需求进行控制和优选,BGP设计了诸多属性在路由中
5.分类
BGPAS - 内部;防环通过IBGP水平分割
EBGP AS - 之间

4.1.3.2工作原理

1.邻居关系建立

(1)BGP邻居发现

先启动BGP的一端发起TCP连接欸,使用随机端口号向对端的179端口号发送TCP连接(三次握手)

使用TCP承接协议保证可靠性

TCP采用单播建立邻居,因此BGP只能手动指定邻居

三次握手报文:TCP SYN ---TCP ACK+SYN---TCP ACK

(2)邻居关系建立

BGP通过报文的交互完成邻居建立,路由更新等操作

五种报文:open、keepalive、update、notification、route-refresh

六种状态机:idle、connect、active、opensent、openconfirm、establish

(3)邻居建立规则

EBGP邻居关系采用物理口

IBGP邻居采用环回口

建立BGP邻居的前提是:接口或者环回口之间要能够通

(4)配置

2.路由生成方式

network(宣告)-在bgp路由表中起源为“i”;宣告是照抄路由表

import(引入)-在bgp路由表中起源为“?”

在bgp路由表中:“*”表示有效;“>”表示最优

IBGP传递时不会修改下一跳,EBGP传递时会修改下一跳,需要进行递归查表才能知道真正的下一跳(查fib表)

3.通告原则与路由处理

仅将自己最优的路由发布给邻居

通过EBGP获得的最优路由会发布给所有的BGP邻居

通过IBGP获得的最优路由不会发布给其他的IBGP邻居(IBGP水平分割) --可能导致路由黑洞(解决黑洞的三个方法:全互联、路由引入、MPLS)

BGP与IGP同步

4.选路原则

5.路由聚合

4.1.3.3反射器与联盟

1.用来解决全互联邻居过多的问题,解决BGP扩展问题

2.路由反射器

(1)原则-只反射最优路由+非非不传(非客户端的不能传给非客户端,其他情况都可以反射)+客户机的路由,发给所有客户机和非客户机

(2)配置

3.联盟

(1)配置

(2)适合大规模网络,保留原有的IBGP属性

(3)在BGP路由表中:

{}表示无序AS

()表示联盟AS

[]表示无序的联盟AS

4.1.3.4BGP属性

4.1.4RIP

4.1.4.1基础特性

IGP内部网关协议

距离矢量算法

以跳数作为cost度量单位

最初的RIP协议开发时间较早,在带宽、配置、管理方面要求较低,由于跳数限制,RIP主要适合于规模较小的网络中

优先级默认为100

4.1.4.2协议特点

配置简单

易于维护

适合小型网络

4.1.4.3工作原理

1.路由器启动时,路由表中只会包含直连路由

2.RIP运行之后:(1).路由器发送request报文,请求邻居路由器的RIP路由

(2).运行RIP的邻居路由器收到request,回复response报文

(3).路由器根据response报文更新自己的路由表

3.网络收敛之后:周期性的发送路由更新

4.2交换技术

4.2.1VLAN

4.2.2STP(生成树)

4.2.2.1产生原因

网络存在冗余,从而产生环路,stp为了消除环路,阻断冗余链路端口,被阻塞端口不能收发数据,不会形成环路

二层环路的原因->广播风暴、MAC地址表振荡、重复数据帧

4.2.2.2计算过程

1.三步走

(1)在所有交换机选举根交换机:比较桥ID小的(桥ID由优先级(默认32768,步长4096)和MAC地址组成)

(2)在非根交换机选举一个根端口(RP):比较根路径开销(RPC)

链路速率:100Mbps\1000Mbps\10Gbps

标椎:802.1D-1998

           802.1t(华为标准)

           私有标准(华三交换机私有)

(3)在每一个网段(冲突域)选举一个指定端口(DP):发送者桥ID

(4)阻塞非根非指定端口(预备端口AP)

2.四要素

(1)桥ID(RID)

(2)根路径开销(RPC)

(3)发送者的桥ID(BID)

(4)对端端口(PID)->优先级+端口号,小优(优先级0-240,默认128,必须是16的倍数)

(5)本端端口ID

4.2.2.3BPDU(桥协议数据单元)

用于传递STP协议相关报文

1.PID

默认0x0000(生成树)

2.PVI

生成树版本:STP、RSTP(快速生成树)、MSTP(多生成树-华为交换机默认)

3.Flags

最高位bit->TCA

最低为bit->TC

4.分类

(1)TCNBPDU:通告拓扑变更信息

(2)配置BPDU:计算生成树时发送

配置BPDU:传递stp配置信息

网桥通过配置BPDU,获取STP计算所需的参数

配置BPDU基于二层组播方式发送,目的地址:01-80-C2-00-00-00

配置BPDU只由根桥周期性发出,发送周期为Hello Time(2s)

注意区分:TC BPDU(根桥发出的拓扑变化信息,其他交换机收到后会将MAC地址表老化时间由300秒缩短到15秒);

TCA BPDU(拓扑变化确认);

TCN BPDU(非根交换机发的拓扑变化通知,用于报错使用) 两者是属于配置BPDU中不同的flag置位

5.构成

RID

RPC

BID

PID

HELLO TIME=2S(配置BPDU的发送周期)

FORWARD DELAY=15S(状态切换延迟)

MESSAGE AGE=经过交换机转发一次+1\MAX AGE=20S

max age:20s(判断链路故障的时间,10个hello time周期)

4.2.2.4端口状态

Disabled

禁用状态,被手动shutdown的端口。不发送配置BPDU,不进行MAC地址学习,不收发数据

Blocking

阻塞状态:不发送配置BPDU,不进行MAC地址学习,不收发数据。

Listening(15s)

监听状态,发送配置BPDU,不进行MAC地址学习,不收发数据,持续15秒。

Learning(15s)

学习状态,发送配置BPDU,进行MAC地址学习,不收发数据,持续15秒。

Forwarding

转发状态,发送配置BPDU,进行MAC地址学习,收发数据

发送延迟的过程:

从中间状态listening经过一个延迟进入另一个中间状态learning;

从中间状态learning经过一个延迟进入另一个中间状态forWording

4.2.2.5拓扑变化

1.根桥故障

非根交换机等待max age时间收不到原有根桥的BPDU,重新计算生成树

2.直连端口故障

原阻塞端口变成根端口计算生成树需要两个转发延迟(30s)

3.非直连链路了故障

阻塞端口需要50s进入转发状态

MAXage+2*forddelay=20+15*2=50s

4.拓扑改变导致MAC地址表变化(TCNBPDU)

所有收到根桥发送的TC报文的接口mac地址表老化时间变为15s

4.2.2.6配置
stp enable
stp mode stp
stp pri 0    #=stp root primaer
stp root secondary    #设置为备份根
stp pathcost-satndard{802.1d/802.1t/legacy(华为私有)}
stp cost 2000    #必须在端口模式下
dis stp
dis stp brief
4.2.2.7 缺点

拓扑变更不灵活,主机频繁上下线,网络会产生大量TCN,导致网卡;

收敛时间长:拓扑层次越多,收敛时间越长,一个端口从blocking到forwarding至少需要30秒;

故障切换时间太长;

4.2.3RSTP

4.2.4MSTP

五、VRRP和链路聚合技术

六、NAT和ACL,实现内外网互通、流量控制以及路由选路相关技术

七、路由引入、过滤、策略

八、GRE和MGRE

七、LINUX操作系统基础操作(文件、用户、权限、网络、shell管理)

八、LINUX中的文本三剑客的使用

九、MYSQL数据库的基本操作,增删改查和基本管理

(其余内容还在疯狂码字总结中~~~)

相关文章:

网络基础-路由技术和交换技术以及其各个协议

四、路由技术和交换技术 4.1路由技术 静态与动态协议的关系: 1,静态路由:由网络管理员手工填写的路由信息。 2,动态路由:所有路由器运行相同路由协议,之后,通过路由器之间的沟通,协…...

替换jeecg图标

替换jeecg图标 ant-design-vue-jeecg/src/components/tools/Logo.vue <!-- <img v-else src"~/assets/logo.svg" alt"logo">-->...

C#里使用WPF的MaterialDesignThemes

先要下载下面的包: <?xml version="1.0" encoding="utf-8"?> <packages><package id="MaterialDesignColors" version="5.2.1" targetFramework="net48" /><package id="MaterialDesignTheme…...

四六级听力考试播音系统:构建播放控制智能化、发射系统双备份、发射功率有冗余、安全稳定可靠的英语四六级听力播音系统使用环境

四六级听力考试播音系统:构建播放控制智能化、发射系统双备份、发射功率有冗余、安全稳定可靠的英语四六级听力播音系统使用环境 北京海特伟业科技有限公司任洪卓于2025年4月9日发布 传统的四六级听力考试播音系统往往存在信号不稳定、容易受干扰、无发射备份、无功率冗余、更…...

JavaScript性能优化(下)

1. 使用适当的算法和逻辑 JavaScript性能优化是一个复杂而重要的话题&#xff0c;尤其是在构建大型应用时。通过使用适当的算法和逻辑&#xff0c;可以显著提高代码的效率和响应速度。以下是一些关键策略和实践&#xff0c;用于优化JavaScript性能&#xff1a; 1.1. 采用适当…...

优先级队列的应用

第一题&#xff1a; 题解思路&#xff1a; 1、建立降序的优先级队列&#xff08;底层是通过大堆来实现&#xff09;&#xff1b; 2、取最大的两个数来相减得到的结果再加入到优先级队列中(优先级队列会自动的排序)&#xff1b; 3、返回队列的头部或者0即可&#xff1b; 题解代…...

从 macos 切换到 windows 上安装的工具类软件

起因 用了很多年的macos, 已经习惯了macos上的操作, 期望能在windows上获得类似的体验, 于是花了一些时间来找windows上相对应的软件. 截图软件 snipaste​​​​​​ windows和macos都有的软件, 截图非常好用 文件同步软件 oneDrive: 尝试了不同的同步软件, 还是微软在各…...

探索原生JS的力量:自定义实现类似于React的useState功能

1.写在前面 本方案特别适合希望在历史遗留的原生JavaScript项目中实现简单轻量级数据驱动机制的开发者。无需引入任何框架或第三方库&#xff0c;即可按照此方法封装出类似于React中useState的功能&#xff0c;轻松为项目添加状态管理能力&#xff0c;既保持了项目的轻量性&am…...

Android系统深度定制:源码级拦截adb install的完整解决方案

一、需求背景与技术挑战 在Android 12.0系统定制开发中&#xff0c;我们面临一个关键需求&#xff1a;需要实现设备级应用安装管控&#xff0c;要求彻底禁用adb install安装方式。这种管控需要满足以下技术指标&#xff1a; 系统级全局拦截&#xff0c;覆盖所有adb install安装…...

基于大模型的非阵发性室性心动过速风险预测与诊疗方案研究报告

目录 一、引言 1.1 研究背景与意义 1.2 研究目的 1.3 国内外研究现状 二、非阵发性室性心动过速概述 2.1 定义与分类 2.2 发病机制 2.3 临床症状与诊断方法 三、大模型在预测中的应用原理 3.1 大模型简介 3.2 数据收集与预处理 3.3 模型训练与优化 3.4 预测原理与…...

HttpServletRequest是什么

HttpServletRequest 是 Java Servlet API 中的一个接口&#xff0c;表示 HTTP 请求对象。它封装了客户端&#xff08;如浏览器&#xff09;发送到服务器的请求信息&#xff0c;并提供了访问这些信息的方法。 1. 基本概念 作用&#xff1a; HttpServletRequest 提供了一种机制&…...

【现代深度学习技术】循环神经网络02:文本预处理

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈PyTorch深度学习 ⌋ ⌋ ⌋ 深度学习 (DL, Deep Learning) 特指基于深层神经网络模型和方法的机器学习。它是在统计机器学习、人工神经网络等算法模型基础上&#xff0c;结合当代大数据和大算力的发展而发展出来的。深度学习最重…...

【微服务】SpringBoot 整合 Lock4j 分布式锁使用详解

目录 一、前言 二、Lock4j 概述 2.1 Lock4j 介绍 2.1.1 Lock4j 是什么 2.1.2 Lock4j 主要特征 2.1.3 Lock4j 技术特点 2.2 Lock4j 支持的锁类型 2.3 Lock4j 工作原理 2.4 Lock4j 应用场景 三、springboot 整合 lock4j 3.1 前置准备 3.1. 1 导入依赖 3.2 基于Redis…...

如何将前端组件封装并发布到npm的步骤详解

以下是封装前端组件并发布至npm仓库的完整步骤指南,结合多个最佳实践和常见问题解决方案: 一、环境准备与项目初始化 创建项目结构 • 使用Vue CLI或Create React App初始化项目: vue create my-component-lib # Vue npx create-react-app my-component-lib --template ty…...

【QT】QWidget 概述与核心属性(API)

&#x1f308; 个人主页&#xff1a;Zfox_ &#x1f525; 系列专栏&#xff1a;Qt 目录 一&#xff1a;&#x1f525; 控件概述 &#x1f98b; 控件体系的发展阶段 二&#xff1a;&#x1f525; QWidget 核心属性 &#x1f98b; 核心属性概览&#x1f98b; 用件可用&#xff08…...

vue + uniapp 实现仿百度地图/高德地图/美团/支付宝 滑动面板 纯css 实现

概要 使用百度地图、各种单车APP时&#xff0c;对地图上的滑动面板很感兴趣&#xff0c;于是根据自己的理解实现了一下 之前用的js实现&#xff0c;滑动的时候没有原生好 这一次用的css实现 代码 <template><view class"container"><mapstyle"…...

124. 二叉树中的最大路径和

https://leetcode.cn/problems/binary-tree-maximum-path-sum/description/?envTypestudy-plan-v2&envIdtop-interview-150对于这题我开始的思路是路径我们可以看作是一条线&#xff0c;我们确定一个点后可以往两侧延伸&#xff08;就是左右子树的方向&#xff09;&#x…...

spark运行架构

运行架构&#xff1a;Spark采用master - slave结构&#xff0c;Driver作为master负责作业任务调度&#xff0c;Executor作为slave负责实际执行任务。 核心组件&#xff1a; Driver&#xff1a;执行Spark任务的main方法&#xff0c;负责将用户程序转化为作业、调度任务、跟踪E…...

开源的7B参数OCR视觉大模型:RolmOCR

1. 背景介绍 早些时候&#xff0c;Allen Institute for AI 发布了 olmOCR&#xff0c;这是一个基于 Qwen2-VL-7B 视觉语言模型&#xff08;VLM&#xff09;的开源工具&#xff0c;用于处理 PDF 和其他复杂文档的 OCR&#xff08;光学字符识别&#xff09;。开发团队对该工具的…...

Http代理服务器选型与搭建

代理服务器选型-Squid 缓存加速 缓存频繁访问的网页、图片等静态资源&#xff0c;减少对原始服务器的重复请求&#xff0c;提升响应速度支持HTTP、HTTPS、FTP等协议&#xff0c;通过本地缓存直接响应客户端请求 访问控制 基于ACL&#xff08;访问控制列表&#xff09;实现精细…...

如何实现Microsoft Word (.docx) 格式到 FastReport .NET (.frx) 文件的转换

现代数据处理技术和文档工作流自动化需要集成各种文件格式&#xff0c;以确保软件产品之间的无缝交互。Microsoft Word 凭借其丰富的功能&#xff0c;已成为最受欢迎的文本编辑器之一&#xff0c;适用于各种任务。 有时&#xff0c;您可能需要将这些文档转换为其他应用程序特定…...

雷电多开器自动化运行、自动登录APP刷新日用户活跃量

文章目录 简介接单价格代码对爬虫、逆向感兴趣的同学可以查看文章,一对一小班教学(系统理论和实战教程)、提供接单兼职渠道:https://blog.csdn.net/weixin_35770067/article/details/142514698 简介 客户有一个APP,需要在雷电模拟器每天自动运行APP,每台模拟器设置不同的I…...

Dify教程01-Dify是什么、应用场景、如何安装

Dify教程01-Dify是什么、应用场景、如何安装 大家好&#xff0c;我是星哥&#xff0c;上篇文章讲了Coze、Dify、FastGPT、MaxKB 对比&#xff0c;今天就来学习如何搭建Dify。 Dify是什么 **Dify 是一款开源的大语言模型(LLM) 应用开发平台。**它融合了后端即服务&#xff08…...

《深入探秘:分布式软总线自发现、自组网技术原理》

在当今数字化浪潮中&#xff0c;分布式系统的发展日新月异&#xff0c;而分布式软总线作为实现设备高效互联的关键技术&#xff0c;其自发现与自组网功能宛如打开智能世界大门的钥匙&#xff0c;为多设备协同工作奠定了坚实基础。 分布式软总线的重要地位 分布式软总线是构建…...

spring扫描自定义注解注册bean

前言 我们知道&#xff0c;在spring中&#xff0c;我们只需要加上注解Component&#xff0c;就可以自动注入到spring容器中&#xff0c;如果我们自定义注解&#xff0c;怎么让spring识别到&#xff0c;注入到容器中呢&#xff0c;下面我们来看看。 基础使用 自定义注解 Tar…...

【RL系列】StepFun之Open-Reasoner-Zero

1. 简介 开源了一个大规模RL训练框架之Open-Reasoner-Zero&#xff0c;仅使用vanilla PPO&#xff0c;GAE中参数 λ 1 , γ 1 \lambda 1, \gamma 1 λ1,γ1&#xff0c;rule-based reward&#xff0c;不需要KL regularization就可以增加response length和benchmark上的指标。…...

括号匹配问题--栈

括号匹配问题 栈的应用代码概览栈操作函数详解1.初始化栈&#xff08;stackInit&#xff09;2.向栈中压入元素&#xff08;stackpush&#xff09;3.获取栈顶元素&#xff08;stacktop&#xff09;4.弹出栈顶元素&#xff08;stackpop&#xff09;5.销毁栈&#xff08;stackdest…...

LangChain4j(7):Springboot集成LangChain4j实现知识库RAG

我们之前的直接整合进SpringBoot进行实战&#xff0c;最终其实还会将查询到的内容&#xff0c;和对话上下文组合起来&#xff0c;发给LLM为我们组织语言进行回答: 配置一个Content Retriever 内容检索器&#xff0c;提供向量数据库和向量模型及其他参数将内容检索器绑定到AiSe…...

企业使用Excel开展数据分析限制和建议完整版

Excel作为企业数据分析的常用工具&#xff0c;虽然功能强大&#xff0c;但也存在一些限制和使用时的注意事项。以下是综合整理的关键点&#xff1a; 一、Excel在企业数据分析中的限制 数据处理规模有限 Excel的行列限制&#xff08;如Excel 2019及之前版本最多支持1,048,576行…...

41、web前端开发之Vue3保姆教程(五 实战案例)

一、项目简介和需求概述 1、项目目标 1.能够基于Vue3创建项目 2.能够基本Vue3相关的技术栈进行项目开发 3.能够使用Vue的第三方组件进行项目开发 4.能够理解前后端分离的开发模式 2、项目概述 使用Vue3结合ElementPlus,ECharts工具实现后台管理系统页面,包含登录功能,…...

Quill富文本编辑器支持自定义字体(包括新旧两个版本,支持Windings 2字体)

文章目录 1 新版&#xff08;Quill2 以上版本&#xff09;2 旧版&#xff08;Quill1版本&#xff09; 1 新版&#xff08;Quill2 以上版本&#xff09; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta n…...

Flutter命令行打包打不出ipa报错

Flutter打包ipa报错解决方案 在Flutter开发中&#xff0c;打包iOS应用时可能会遇到以下错误&#xff1a; error: exportArchive: The data couldn’t be read because it isn’ in the correct format. 或者 Encountered error while creating the IPA: error: exportArchive…...

UV安装与使用

1. 概述 GitHub&#xff1a;astral-sh/uv: An extremely fast Python package and project manager, written in Rust. 官网&#xff1a;uv An extremely fast Python package and project manager, written in Rust. 效率神器&#xff0c;基于Rust实现&#xff0c;比传统工具快…...

SQL练习题

数据表介绍 –1.学生表 Student(SId,Sname,Sage,Ssex) --SId 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别–2.课程表 Course(CId,Cname,TId) --CId 课程编号,Cname 课程名称,TId 教师编号–3.教师表 Teacher(TId,Tname) --TId 教师编号,Tname 教师姓名–4.成绩表…...

Rust Command无法执行*拓展解决办法

async fn run_cmd_async_out<I, S>(cmd: &str, args: I, timeout_s: u64, with_http_proxy: bool) -> Result<String> whereI: IntoIterator<Item S>,S: AsRef<OsStr>, {let mut cmd tokio::process::Command::new(cmd);// 让 sh 来运行命令&…...

利用Hadoop MapReduce实现流量统计分析

在现代大数据时代&#xff0c;处理和分析海量数据是一项常见的任务。Hadoop MapReduce提供了一种高效的方式来处理分布式数据集。本文将通过一个具体的示例——流量统计分析&#xff0c;来展示如何使用Hadoop MapReduce进行数据处理。 项目背景 在电信行业中&#xff0c;对用…...

Spring Boot应用程序接入ELK-003

Spring Boot应用程序接入ELK 一、项目依赖集成 在将Spring Boot应用程序接入ELK日志搜索引擎时&#xff0c;首先要在项目中集成相关依赖&#xff1a; &#xff08;一&#xff09;Logstash依赖 <dependency><groupId>net.logstash.logback</groupId><a…...

spark(一)

本节课围绕Spark Core展开深入学习&#xff0c;了解了Spark的运行架构、核心组件、核心概念以及提交流程&#xff0c;明晰其整体运行机制与各部分协作逻辑。重点聚焦于两个核心组件&#xff1b;对RDD相关概念进行了细致学习&#xff0c;包括其核心属性、执行原理、序列化方式、…...

绿电直供零碳园区:如何用清洁能源重塑企业竞争力?

引言 在全球积极应对气候变化的大背景下&#xff0c;“双碳” 目标已成为世界各国实现可持续发展的关键战略方向。我国也明确提出要在 2030 年前实现碳达峰&#xff0c;2060 年前实现碳中和&#xff0c;这一宏伟目标的提出&#xff0c;对各行各业都产生了深远影响&#xff0c;…...

国家科技奖项目答辩ppt设计_科技进步奖PPT制作_技术发明奖ppt美化_自然科学奖ppt模板

国家科学技术奖 为了奖励在科学技术进步活动中做出突出贡献的公民、组织&#xff0c;调动科学技术工作者的积极性和创造性&#xff0c;加速科学技术事业的发展&#xff0c;提高综合国力而设立的一系列奖项。每两三年评选一次。 科技奖ppt案例 WordinPPT / 持续为双一流高校、…...

LLM应用实战2-理解Tokens

文章目录 基本定义Tokenization 的作用主流 Tokenization 算法示例示例GPT-4o&GPT-4o miniGPT-3.5 & GPT-4 基本定义 Tokens 是大型语言模型&#xff08;LLM&#xff09;处理文本或代码的最小语义单元&#xff0c;可包含以下形式&#xff1a; 字符&#xff08;如英文…...

【Java面试系列】Spring Boot微服务架构下的分布式事务处理与性能优化详解 - 3-5年Java开发必备知识

【Java面试系列】Spring Boot微服务架构下的分布式事务处理与性能优化详解 - 3-5年Java开发必备知识 引言 在当今的微服务架构中&#xff0c;分布式事务处理和性能优化是面试中经常被问及的高频话题。随着系统规模的扩大&#xff0c;如何保证数据一致性和系统性能成为了开发者…...

NO.80十六届蓝桥杯备战|数据结构-字符串哈希|兔子与兔子(C++)

回忆&#xff1a;哈希函数与哈希冲突 哈希函数&#xff1a;将关键字映射成对应的地址的函数&#xff0c;记为 Hash(key) Addr 。哈希冲突&#xff1a;哈希函数可能会把两个或两个以上的不同关键字映射到同⼀地址&#xff0c;这种情况称为哈希冲突。 字符串哈希 定义⼀个把字…...

Spring MVC 请求类型注解详解

Spring MVC 请求类型注解详解 1. 核心注解分类 Spring MVC 中的请求处理注解分为以下几类&#xff1a; 类别注解示例作用范围方法级注解RequestMapping, GetMapping 等方法级别参数级注解RequestParam, RequestBody方法参数模型/会话注解ModelAttribute, SessionAttributes方…...

RabbitMQ的死信队列和ttl

TTL ttl即过期时间&#xff0c;rbbitmq可以对队列和消息设置过期时间&#xff0c;当消息到存活时间之后&#xff0c;还没有被消费&#xff0c;就会被自动清除 例如&#xff1a;在网上购物&#xff0c;经常会遇到一个场景&#xff0c;当下单超过24小时还未付款&#xff0c;订单…...

[特殊字符] Hyperlane:Rust 高性能 HTTP 服务器库,开启 Web 服务新纪元!

&#x1f680; Hyperlane&#xff1a;Rust 高性能 HTTP 服务器库&#xff0c;开启 Web 服务新纪元&#xff01; &#x1f31f; 什么是 Hyperlane&#xff1f; Hyperlane 是一个基于 Rust 语言开发的轻量级、高性能 HTTP 服务器库&#xff0c;专为简化网络服务开发而设计。它支…...

【后端开发】Spring MVC-常见使用、Cookie、Session

文章目录 代码总结初始化传递参数单参数多参数 传递对象后端参数重命名&#xff08;后端参数映射&#xff09;必传参数设置非必传参数 传递数组传递集合传递JSON数据JSON语法JSON格式转换JSON优点传递JSON对象 获取URL中参数传递文件 Cookie与SessionCookieCookie机制 SessionC…...

Element Plus 去掉表格外边框

使用el-table组件拖拽时&#xff0c; 想使用自定义样式进行拖拽, 想去掉外边框&#xff0c; 并在表头加入竖杠样式 css代码&#xff1a; <style lang"less" scoped>// 表格右边框线 .el-table--border::after {width: 0; }// 表格上边框线 :deep(.el-table__i…...

安全厂商安全理念分析

奇安信&#xff08;toB企业安全&#xff09; 安全理念&#xff1a;率先提出 “内生安全” 理念。即把安全能力内置到信息化环境中&#xff0c;通过信息化系统和安全系统的聚合、业务数据和安全数据的聚合、IT 人才和安全人才的聚合&#xff0c;让安全系统像人的免疫系统一样&a…...

GaussDB Plan Hint调优实战:从执行计划控制到性能优化

GaussDB Plan Hint调优实战&#xff1a;从执行计划控制到性能优化 一、GaussDB Plan Hint核心价值 执行计划控制原理 mermaid graph TD A[SQL提交] --> B(优化器决策) B --> C{使用Hint?} C -->|是| D[强制指定执行路径] C -->|否| E[自动生成最优计划] D --&g…...