华为数通HCIP-OSPF路由计算

路由协议

作用:用于路由设备学习非直连路由;

动态路由协议:使路由设备自动学习到非直连路由;

分类:

按照算法分类:

1、距离矢量路由协议;(RIP、BGP)

只交互路由信息,不交互拓扑信息,运行距离矢量路由协议的路由器,只关心目的网段如何到达,无法得知网络结构;

拓扑信息:用于描述网络结构的信息(如接口带宽、接口类型等)

路由信息:目的网段以及掩码;

2、链路状态路由协议;(ospf、isis)

既交互路由信息,也交互拓扑信息,运行链路状态路由协议的路由器,可以得出全网的网络结构,并且计算出去往目的网段的最优路由,进行访问;

按照工作范围分类:

1、IGP(内部网关协议)-ospf、isis;

工作在一个AS内的动态路由协议,实现AS内部的互通;

会周期更新路由(ospf 1800s/次,超时时间为3600s;isis 900s/次 超时时间1500s)

2、BGP(边界网关协议)

工作在AS之间,实现AS之间的互通;

不会周期更新路由,只会触发式更新;

AS(自治系统/路由域)

定义:运行相同路由协议,具有相同管理规则的区域(一般为一个企业网);

按照传递路由时是否携带掩码分类:

1、有类路由协议

路由传递时,无需携带掩码,对端收到后,根据网段的类别,自动生成掩码;

2、无类路由协议(ospf、isis、BGP)

传递路由时,会携带掩码

——————————

ospf(开放式最短路径优先协议)

分类:链路状态路由协议、IGP、无类;

工作过程:

1、建立ospf邻居关系;

2、建立ospf邻接关系(同步LSDB);

LSDB(链路状态数据库):每台运行了ospf的路由器都会有一个LSDB,里面会携带自身的LSA;

LSA(链路状态通告信息):携带自身的路由信息以及拓扑信息;

同步LSDB:邻居双方相互发送LSA,直至双方的LSDB完全一致,既包含自身的LSA,也包含对方的LSA;

3、每台ospf路由器都会根据同步完成的LSDB,进行spf计算,得出全网网络结构,算出去往每个目的网段的最优路由,放进路由表;

报文:

结构:ospf层——网络层——数据链路层

ospf工作在网络层,协议号为89;

报文发送方式:组播发送,组播地址224.0.0.5(所有ospf路由器均可以接收)、224.0.0.6(只有DR/BDR可以接收)

ospf层:ospf头部+报文详细信息;

其中ospf头部所有ospf报文都会携带,并且携带内容一致;

报文的详细信息:不同报文类型,携带不一致;

ospf头部详细信息:

1、版本:v2/v3,分别工作在ipv4/v6环境;

2、router id(发送端)

格式大小:跟ip地址完全一致;

作用:唯一标识一台ospf路由器(不能冲突)

获取方式:

(1)手工配置

[R1]ospf 1 router-id 1.1.1.1 //创建并且进入ospf进程1,并且指定router id为1.1.1.1

修改router id后,需要重启ospf进程才能使新的router id生效;

<R1>reset ospf process //重启ospf进程;

(2)如果没有手工指定,则会自动进行选举;

选举规则:先在loopback接口中,选择最大的一个作为router id;

如果没有配置loopback口,则在物理接口中选最大的一个作为router id;

在实际设备中,会选择最先启动的接口ip作为router id;

3、区域id(area id)

标识发送ospf报文的接口属于哪一个区域;

区域分类:骨干区域(area id=0):必须要有

非骨干区域(area id=/=0):可有可无

普通区域、特殊区域(stub、totally stub、nssa、totally nssa);

区域划分:

基于接口进行划分;

划分规则:

(1)骨干区域必须要有,有且仅有一个;

(2)非骨干区域必须围绕着骨干区域建立,非骨干区域之间的互通,必须经过骨干区域;

4、认证信息:默认为空,如果配置了,两端需要认证通过才能建立ospf邻居;

分类:

1、hello报文

作用:用于发现、建立、维护ospf邻居(10s/次相互发送hello报文维持邻居),并且可以感知邻居的离开(超时时间为hello时间的4倍,默认为40s);

携带内容:

(1)掩码:标识发送hello报文的端口的掩码;

(2)hello时间/超时时间

(3)DR优先级、DR与BDR的ip地址;

(4)活跃邻居列表:携带hello报文的发送者的邻居router id;

(5)option位:用于标识区域类型;

E=1 N=0 普通区域

E=0 N=1 NSSA、totally NSSA

E=0 N=0 STUB、totally STUB

2、DD(数据库描述报文)

作用:携带自身LSDB中所有LSA的摘要信息,用于告知邻居,自身的LSDB中包含哪些LSA;

携带内容:

(1)MTU:代表接口发送的最大的数据单元,默认位1500B;

(2)flags:

I:代表该DD报文,是否为本设备发送的第一份DD报文;

M:用于标识该设备后续是否还有DD报文需要发送;

MS:代表该DD报文的发送端,是否为主设备;

(3)序列号;

3、LSR(LSA请求报文)

作用:携带自身需要获取的LSA的摘要信息,用于在收到DD报文后,向邻居请求自身缺少的LSA;

4、LSU(LSA更新报文)

作用:携带LSA的详细信息,用于回应LSR的请求;

5、LSACK(LSA确认报文)

作用:携带LSA的摘要信息,用于在收到LSU报文后,进行回复,确认收到;

ospf邻居状态机(详细的工作过程)

1、down

ospf路由器刚运行的状态,在该状态下代表ospf路由器没有收到任何的ospf报文,但可以发送hello报文进行邻居发现;

2、init

ospf路由器收到hello报文,并且该hello报文的邻居列表不包含自身的router id,则进入该状态;

3、2-way

ospf路由器收到hello报文,并且该hello报文的邻居列表包含自身的router id,则进入该状态;

当双方都进入2-way状态,则ospf邻居关系建立完成;

会进行DR/BDR的选举,选举完成后进入下一个状态;

4、exstart

邻居双方会相互发送不携带lsa摘要信息的DD报文(空DD),用于确保后续同步LSDB过程的可靠性;

携带内容:MTU、m=1、i=1、ms=1、序列号(随机生成)

作用:1、用于选举主从路由器;

选举规则:router id大的为主;

2、协商MTU,如果不一致,则邻接关系无法建立,停留在exstart状态;

3、确定序列号,以主的序列号为准;

5、exchange

邻居双方相互发送携带自身LSA摘要信息的DD报文,用于告知对端自身的LSDB中含有哪些LSA;

过程:

(1)由从先发出DD报文,其中序列号,为主设备在exstart发送的DD报文的序列号;

(2)主设备收到从设备的DD报文后,自身需要发出的DD报文的序列号,为从设备发出的DD报文的序列号+1;

(3)从设备收到主设备发送的DD报文,自身需要发出的DD报文的序列号等于主设备发送的DD报文中的序列号

(4)双方发送的DD报文中的M位均为0时,代表双方的LSA摘要信息全部发送完成,进入下一个阶段;

6、loading

邻居双方相互发送LSR、LSU、LSACK报文进行LSDB的同步;

5s重传机制:如果ospf路由器发送LSR、LSU后,没有收到对应的回应,则会将该报文重新发送,5s/次;

当重传列表为空时,代表本设备没有需要请求的以及发送的LSA,则进入FULL状态;

7、full

进入该状态,说明邻接关系建立完成,开始计算路由;

DR/BDR

DR:指定路由器,一个网段中有且只有一个;

BDR:备份指定路由器,一个网段中有且只有一个;

DRother:一个网段中可以有0到多个;

作用:减少ospf邻接关系的数目,从而减少网络中报文交互的数目,从而节省链路资源;

原理:DR可以跟所有路由器建立邻接关系;

BDR可以跟所有路由器建立邻接关系;

DRother之间无法直接建立ospf邻接关系,它们之间会停留在邻居关系的状态,但可以通过DR/BDR完成LSDB的同步;

选举:

选举状态:2-way

选举报文:hello报文

选举规则:

(1)比较DR优先级,越大越优;(默认为1,可调范围0~255,其中0代表不参与选举)

(2)比较router id,越大越优;

特点:

1、不抢占:一旦网络中的DR/BDR确定,则除非它们故障,否则地位都不会改变;

2、有备份:BDR作为DR的备份,一旦DR故障,BDR马上成为DR;

选举时间:等待时间(wait time),默认为120s

等待时间选举过程:

1、当ospf路由器刚启动,就会开始计时,在等待时间计时结束前,该路由器不会参与DR/BDR选举,并且如果在此过程中收到hello中DR/BDR有携带ip地址,则直接承认它们的地位;

2、当等待时间计时结束后,才会开始进行选举,并且将自己的ip地址填充进hello报文的DR字段中进行发送;

优先级最大的ospf路由器,一定为DR——x

最先启动的ospf路由器,一定为DR——√

网络中必须有DR,但不一定有BDR;

interface GigabitEthernet0/0/0

ospf dr-priority 2 //修改接口的dr优先级为2

基础配置

1、创建并且进入ospf进程,指定router id

[R1]ospf 1 router-id 1.1.1.1 /只有第一次创建进程时,需要指定router id,后续再进入无需指定

2、进入区域视图(以区域0为例)

[R1-ospf-1]area 0

3、宣告网段

[R1-ospf-1-area-0.0.0.0]network 10.1.12.0 0.0.0.255 //以网段的方式进行宣告,网段后需要接反掩码(255.255.255.255-掩码得出);

network 10.1.12.2 0.0.0.0 //以接口ip的方式宣告(精确宣告)

**只能宣告自身的直连网段;

display ospf brief //查看ospf摘要信息,其中包含router id、hello时间、DR信息;

display ospf peer brief //查看ospf邻居

开销

ospf开销=接口参考带宽/实际带宽;

越小越优;

GE/E——1

点到点链路——48

interface GigabitEthernet0/0/0

ospf cost 2 //修改接口开销为2

网络类型

作用:用于使ospf适应不同的底层链路;

底层链路 是否选举DR/BDR hello时间/超时时间 报文发送方式

广播型网络(MA) 以太网链路 选 10s/40s 组播发送:hello报文、LSACK、LSU;单播发送:DD、LUR

P2P 点到点链路 不选举 10s/40s 所有报文均为组播

NBMA 帧中继网络 选 30s/120s 所有报文均为单播

P2MP 无(需要手动调整) 不选举 30s/120s 组播:hello,其余报文均为单播

P2P网络不选举DR/BDR的原因:

P2P网络一般只有两端的两台设备,如果选举的话,一台为DR、一台为BDR,都会建立邻接关系,因此在P2P网络中选举DR/BDR,无法减少邻接关系的数目,并且还需要消耗选举的时间以及开销,因此没有必要选举;

因此一般P2P网络ospf邻居的建立时间会快于广播型网络;

针对只有两台设备相连的以太网链路,可以将其ospf的网络类型修改为P2P,无需选举DR/BDR,加快邻居关系建立的速度;

interface GigabitEthernet0/0/1

ip address 10.1.24.2 255.255.255.0

ospf network-type p2p //修改接口的网络类型为P2P;

邻居关系:

1、广播型网络:能跟P2P建立、修改hello时间一致后可以跟P2MP建立邻居关系;

2、P2P:可以跟广播型网络建立,修改hello时间一致后可以跟P2MP建立邻居关系;

ospf认证

作用:提高ospf网络的安全性;

原理:只有认证通过才能建立ospf邻居关系;

认证通过:认证类型以及用户名、密码要一致;

认证方式:

接口认证:配置在接口下;

区域认证:配置在区域下;

认证类型:

明文认证(simple)

特点:配置时只需要指定密码;

抓包时可以看得见密码;

直接根据密码进行认证,密码一致则通过;

认证过程简单、节省报文空间,安全性差;

密文认证:(MD5、keychain)

特点:配置时需要指定key id以及密码;

抓包时可以看不见密码;

根据hash值(通过key id、密码以及加密序列号进行hash计算得出)进行认证,密码一致则通过;

认证过程复杂,安全性高;

配置参数:

plain:查看配置时可以看见密码;

cypher:查看配置时无法看见密码;

配置:

interface GigabitEthernet0/0/0

ospf authentication-mode simple plain huawei //接口下配置明文认证,密码为huawei

ospf 1 router-id 2.2.2.2

area 0.0.0.0

authentication-mode simple cipher huawei //区域下配置明文认证,密码为huawei

interface GigabitEthernet0/0/0

ospf authentication-mode md5 1 plain huawei //接口下配置密文认证,key id为1,密码为huawei

当一个区域下配置了认证,同时接口下也配置了认证,则该接口以接口配置的认证为准;

keychain认证:

定义:一个keychain由多个key id以及对应的密码组成,可以在不同的时间,使用不同的key id以及密码,提高网络的安全性;

配置

[R3]keychain 1 mode periodic daily //创建钥匙串,设置认证的模式为周期,周期为按天;

key-id 1 //创建key id 1

key-string plain huawei //设置密码为huawei

send-time daily 00:00 to 12:00 //在每天的0点到12点,使用key id 1,密码huawei进行认证;

receive-time daily 00:00 to 12:00

key-id 2

key-string plain huawei

send-time daily 12:01 to 23:59

receive-time daily 12:01 to 23:59

interface GigabitEthernet0/0/0

ospf authentication-mode keychain 1 //接口或者区域下调用;

LSA

LSA摘要信息:唯一标识一份lsa;

ls type:代表lsa的类型;

ls id;链路状态id,不同类型的lsa,代表含义不一样;

adv router:产生该lsa的设备的router id;

单区域:使用1、2类lsa;

在一个区域内,最终所有该区域的ospf路由器都会同步LSDB;

lsa-1

route lsa

所有的ospf路由器都会产生(仅产生一份);

传递范围:一个区域内;

防环:SPF算法;

摘要:

ls id:产生该LSA的设备的router id;

adv router:产生该LSA的设备的router id;

ls type:route

详细信息:

1、当设备存在p2p网络类型的接口时,会产生,描述p2p网络的拓扑信息;

link-type:p2p

link id:本设备通过P2P链路连接的对端的设备的router id;

data:接口ip;

开销:接口开销;

2、当设备存在广播型网络的接口时,会产生,用于描述广播型网络的拓扑信息;

link-type:transnet

link id:DR的ip地址

data:本接口ip

开销:接口开销;

**DR产生的transnet的信息,其中link id与data会一致;

3、当设备存在p2p网络类型的接口,或者存在宣告进ospf的loopback时,会产生,用于描述P2P网络以及loopback接口的路由信息

link-type:stubnet

link id:目的网段

data:掩码

开销:本设备去往该网段的ospf开销

4、当设备配置了v-link会产生;

link-type:virtual

link id:虚链路对端的ip

data:自身接口ip

开销:本设备去往对端开销

lsa-2

network-lsa

只有DR会产生,用于描述广播型网络的路由信息以及部分拓扑信息;

传递范围:区域内传递;

防环:SPF算法;

摘要信息:

ls type:network lsa;

ls id:DR的ip地址

产生者:DR的router id;

详细信息:

掩码;

加入进该网段的设备的router id;

display ospf lsdb //查看设备的ospf lsdb中的lsa的摘要信息;

display ospf lsdb router x.x.x.x //查看一类lsa的详细信息,其中x.x.x.x为需要查看的ls id

display ospf lsdb network x.x.x.x //查看二类lsa的详细信息,其中x.x.x.x为需要查看的ls id

FULL-SPF算法:

在网络刚启动ospf时,会进行计算;

定义:每台路由器,会根据自身收集到的区域内的一二类lsa,进行计算,画出SPF树,得出最优路由;

计算方式:

1、每台路由器都会把自己当成树根,进行计算,先查看自身产生的一类lsa,查看其中的拓扑信息;

根据开销,选择最小的拓扑信息,新增节点,如果link-type为transnet,新增的为伪节点,通过p2p类型新增的为实节点;

2、再根据新增的节点,去查找相关联的lsa,其中实节点,查找1类lsa,伪节点查找2类lsa,再继续新增新节点,直至网络中没有新节点增加为止;

3、在每个节点上,挂上路由信息,计算出最优路由;

区域间通信:

ABR(区域边界路由器)

定义:在骨干区域以及非骨干区域同时存在FULL邻接关系的ospf路由器;

lsa-3

由ABR产生,只携带路由信息;

传递范围:区域间;(除产生区域外的其他相邻区域,特殊区域除外)

产生过程:ABR会将区域内1、2类lsa中的路由信息,转成3类lsa在其他相邻的区域内传递,其他区域的设备收到后,会累加自身到ABR的开销,得出去往目的网段的路由;

摘要:

ls type:summary-lsa

ls id:目的网段;

产生者:ABR的router id;

详细信息:

掩码;

开销:产生该三类lsa的abr到目的网段的开销;

透传:

当ABR收到三类LSA时,会进行透传操作:

将产生者变为自己,开销修改为自身到目的网段的开销,在其他相邻的区域内传递(特殊区域除外);

防环:

1、水平分割规则:

当ABR从非骨干区域收到三类LSA时,执行只接收,不计算的、不透传的操作;

接收的原因:(1)用于备份路径;

(2)需要在区域内同步LSDB;

2、LSA-1、2优于LSA-3

当ABR同时收到描述相同路由的1、2类lsa以及3类lsa时,会优选1、2类lsa,同时不会将收到的3类lsa进行计算以及透传,作为备份路径使用;

vlink(虚链路)

定义:配置在边界设备上,配置后相当于在配置的两端另外单独建立了一个骨干区域(area 0)的邻接关系;

原理:vlink两端设备会以单播的形式同步area 0的数据库,另外也是通过单播发送hello报文维持邻接关系;

作用:解决因区域划分不规则导致的无法互访的问题;

配置:

ospf 1 router-id 2.2.2.2

area 0.0.0.2 //进入双方共处的区域

vlink-peer 4.4.4.4 //指定对端的router id

display ospf vlink //查看vlink邻接关系的建立情况

配置的注意事项:

1、vlink无法跨区域建立,因为需要通过1类lsa(virtual类型的link type)定位对端的位置,单播发送lsa;

2、骨干区域不可以配置;

3、特殊区域不能配置

危害:

1、增加网络的复杂度;

2、存在环路隐患;

路由引入:

将一个协议的路由以另一个协议路由的形式,在另一个协议中传递;

ospf外部路由:

通过其他协议引入进ospf的路由,优先级默认为150;

ASBR(自治系统边界路由器)

指进行了外部引入的ospf'设备;

LSA-5

用于描述外部路由,携带路由信息;

由ASBR产生;

传递范围:整个ospf域,特殊区域除外;

防环:根据1、2、3、4类lsa的防环规则防环;

摘要信息:

ls type:external

ls id:目的网段;

产生者:ASBR的router id;

详细信息:

掩码;

开销:外部开销;

外部开销:ASBR在进行路由引入时,指定的开销,默认为1;

内部开销:需要访问外部路由的设备到ASBR的开销;

type:代表开销计算方式,分为type 1以及type 2,默认为2;

type 2:直接比较外部开销,比不出来再比较内部开销,路由表上,只呈现外部开销;

type 1:直接比较内外开销之和,路由表上,呈现内部开销+外部开销之和;

为什么需要区分type 1以及type 2:可以在进行选路时,更加灵活控制流量走向;

tag:路由标记,用于匹配路由,默认为1

FA地址(转发地址)

默认为0.0.0.0

作用:解决次优以及环路的问题;

置位条件:

1、ASBR发送lsa-5的接口,跟它自身访问外部路由的出接口为同一接口;

2、上述接口宣告进ospf,并且没有静默;

满足置位条件后,FA会被置位为外部路由的下一跳;

原理:

1、当FA地址为0时,ospf设备通过4类lsa找到ASBR的位置去访问外部路由;

2、当FA地址不为0时,ospf设备直接通过1、2、3类lsa找到FA地址,从而访问外部路由

ospf 1 router-id 5.5.5.5

import-route static cost 2 //引入外部路由时,修改外部开销为2

import-route static cost 2 type 1 //修改开销计算类型

import-route static tag 10 //为引入的路由打上tag 10

display ospf lsdb ase 6.6.6.6 //查看5类lsa的详细信息;

LSA-4

作用:携带ASBR的router id(位置信息),其他ospf设备会根据该lsa找到ASBR,从而访问外部路由;

摘要:

ls type:asbr

ls id:ASBR的router id;

产生者:ABR的router id;

传递范围、防环规则、透传均跟lsa-3一致;

产生过程:

1、当一台ospf路由器引入了外部路由后,它产生的1类lsa中的option位asbr位置位为1;

2、同区域的ABR收到ABSR产生的1类lsa后,则会为该ASBR产生lsa-4,在其他相邻的ospf区域内传递(特殊区域出外)

特殊区域:

作用:保护性能较差的设备;

对性能要求:ASBR>ABR>骨干区域中间设备>普通区域中间设备>特殊区域中间设备;

1、stub区域

特点:不允许存在4、5、7类lsa;

当一个区域配置为stub区域时,该区域的ABR会下发一条描述默认路由的3类lsa,在stub区域内传递,该区域的设备就可以学习到默认路由,用于访问外部路由;

配置:

ospf 1 router-id 3.3.3.3

area 0.0.0.2

stub //把区域2,配置成stub区域,注意整个区域的所有设备均需要配置;

2、totally stub区域

特点:不允许存在4、5、7类以及明细的3类lsa;

当一个区域配置为totally stub区域时,该区域的ABR会下发一条描述默认路由的3类lsa,在totally stub区域内传递,该区域的设备就可以学习到默认路由,用于访问其他区域的路由以及外部路由;

配置:

ospf 1 router-id 3.3.3.3

area 0.0.0.2

stub no-summary //把区域2,配置成totally stub区域

缺陷:stub区域无法引入外部路由;

3、nssa区域

特点:不允许4、5lsa存在;

当一个区域配置为nssa区域时,该区域的ABR会下发一条描述默认路由的7类lsa,在nssa区域内传递,该区域的设备就可以学习到默认路由,用于访问其他区域引入外部路由;

nssa区域可以引入外部路由,引入的路由会以7类lsa的形式在nssa区域内传递;

当nssa区域的ABR在本区域收到7类lsa时,会进行7转5的操作:将类型修改为5类,产生者变为自己,在其余的ospf区域中传递(特殊区域除外),在其余区域的设备严重,该ABR为对应外部路由的ASBR;

当nssa区域中存在多台ABR时,只有router id大的可以进行7转5

lsa-7

用于描述在nssa区域内引入的外部路由,携带路由信息;

传递范围:nssa区域

摘要:

ls id:目的网段;

产生者:ASBR的router id;

type:nssa

详细信息:

掩码;

外部开销

开销计算类型

tag

FA地址(一般不为0)

选举规则:

(1)先看是否满足lsa-5的fa地址置位条件;

(2)在宣告进ospf中的loopback接口中选择最大的ip地址

(3)在宣告进ospf中的物理接口中选择最大的ip地址

作用:防止在nssa区域中存在多台ABR的情况下,只有一台进行7转5时,出现的次优路径问题;

配置:

ospf 1 router-id 3.3.3.3

area 0.0.0.2

nssa //把区域2,配置成nssa区域

4、totally nssa

特点:在nssa区域的基础上,进一步过滤了明细的三类lsa,ABR在下发一条描述默认路由的3类lsa,用于访问区域外的路由;

配置:

ospf 1 router-id 3.3.3.3

area 0.0.0.2

nssa no-summary //把区域2,配置成totally nssa区域

ospf路由汇总

作用:减少路由表/LSDB规模

分类:

1、在ABR上实现,针对lsa-3生效;

ospf 1 router-id 2.2.2.2

area 0.0.0.1 //进入产生3类lsa的区域;

abr-summary 1.1.1.0 255.255.255.0 //进行路由汇总,汇总的结果为1.1.1.0/24

可选参数:not-advertise(汇总不通告),将汇总后的路由进行抑制,起到过滤路由的效果;

2、针对引入路由,在ASBR上实现

ospf 1 router-id 3.3.3.3

asbr-summary 4.4.4.0 255.255.255.0 //进程下进行汇总,如果存在nssa区域,则可以选择在ASBR或者是NSSA区域中进行7转5的ABR上做

静默接口

作用:使接口不发送hello报文,但不影响该接口的网段通告出去;

应用:用于连接终端设备的接口;

配置

ospf 1 router-id 1.1.1.1

silent-interface GigabitEthernet0/0/1

影响ospf邻接关系建立因素

1、版本需要一致;

2、router id不能一致;

3、区域id要一致;

4、如果配置了认证,认证需要通过;

5、掩码要求一致(p2p网络不检查该项)

6、hello/超市时间一致;

7、option中的E以及N位要一致(区域类型要一致)

8、接口不能被静默

9、MTU要一致;

10、网络类型:广播型与p2p网络可以建立full的邻接关系,但是路由计算会出问题(用的lsa不一样,无法正常计算SPF树);

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

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

相关文章

CTFSHOW web 信息收集

web入门的刷题 web1 教我们多看看源代码 web2 抓包 web3 抓包 web4 robots.txt robots.txt web5 phps源代码泄露 phps 就是php的源代码 用户无法访问 php 只可以通过phps来访问 web6 源代码备份 web7 git web8 svn web9 swp /index.php.swp web10 cookie web11 查域名…

电商-订单模块

电商-订单模块 流程思维图表结构支付中心流程 流程思维图 表结构 支付中心 流程

Java-逻辑控制

目录 一、顺序结构 二、分支结构 1.if语句 2.swich语句 三、循环结构 1.while循环 2.break 3.continue 4.for循环 5.do while循环 四、输入输出 1.输出到控制台 2.从键盘输入 一、顺序结构 按照代码的书写结构一行一行执行。 System.out.println("aaa"); …

(学习日记)2023.04.30

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

蓝桥杯专题-真题版含答案-【加法变乘法】【三羊献瑞】【交换瓶子】【卡片换位】

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 &#x1f449;关于作者 专注于Android/Unity和各种游…

Sharding-JDBC强制路由案例实战

&#x1f680; ShardingSphere &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&…

【NLP】图解变压器(transformer)

一、说明 在这篇文章中&#xff0c;我们将看看 The Transformer——一个利用注意力来提高这些模型训练速度的模型。转换器在特定任务中优于谷歌神经机器翻译模型。然而&#xff0c;最大的好处来自变压器如何适应并行化。事实上&#xff0c;谷歌云建议使用The Transformer作为参…

1 第一个vue程序

复习次数 &#xff1a;✔ 1.1 vue优势 1.2 vue环境 直接在idea的插件搜vue.js&#xff0c;然后下载。 接着创建一个空项目&#xff0c;并添加模块。然后&#xff0c;创建一个html文件。 1.3 vue例子 完整的html代码如下&#xff1a; <!DOCTYPE html> <html lang&qu…

【VUE】npm打包报错 Syntax Error: Error: Cannot find module ‘imagemin-gifsicle‘

一. Syntax Error: Error: Cannot find module ‘imagemin-gifsicle’ npm run build 报错&#xff0c;报错如下 原因 这个错误消息显示缺少了 imagemin-gifsicle 模块&#xff0c;而它是 image-webpack-loader 的依赖项&#xff0c;导致构建失败。解决 &#xff08;1&#xf…

MyBatis学习笔记之缓存

文章目录 一级缓存一级缓存失效 二级缓存二级缓存失效二级缓存相关配置 MyBatis集成EhCache 缓存&#xff1a;cache 缓存的作用&#xff1a;通过减少IO的方式&#xff0c;来提高程序的执行效率 mybatis的缓存&#xff1a;将select语句的查询结果放到缓存&#xff08;内存&…

睡眠健康数据分析

项目背景 背景描述 本数据集涵盖了与睡眠和日常习惯有关的诸多变量。如性别、年龄、职业、睡眠时间、睡眠质量、身体活动水平、压力水平、BMI类别、血压、心率、每日步数、以及是否有睡眠障碍等细节。 数据集的主要特征&#xff1a; 综合睡眠指标&#xff1a; 探索睡眠持续时…

重庆市北斗新型智慧城市政府项目

技术栈&#xff1a;使用vue2JavaScriptElementUIvuexaxiosmapboxcesium 项目描述&#xff1a;重庆市北斗新型智慧城市政府项目是基于千寻孪界开发的一款智慧城市项目&#xff0c;包含车辆实时位置定位&#xff0c;智能设备的报警&#xff0c;基础设施的部设等等功能 工作内容&a…

Flink状态的理解

Flink是一个带状态的数据处理系统&#xff1b;系统在处理数据的过程中&#xff0c;各算子所记录的状态会随着数据的处理而不断变化&#xff1b; 1. 状态 所谓状态State&#xff0c;一般指一个具体的 Task 的状态&#xff0c;即线程处理过程中需要保存的历史数据或历史累计数据…

数据结构【排序】

第七章 排序 一、排序 1.定义&#xff1a;将无序的数排好序 &#xff1b; 2.稳定性&#xff1a; Kᵢ和Kⱼ中&#xff0c;Kᵢ优先于Kⱼ那么在排序后的记录中仍然保持Kᵢ优先&#xff1b; 3.评价标准&#xff1a;执行时间和所需的辅助空间&#xff0c;其次是算法的稳定性&#xf…

[算法很美打卡] 多维数组篇 (打卡第一天)

文章目录 顺时针打印二维数组0所在的行列清零 顺时针打印二维数组 package 每日算法学习打卡.算法打卡.七月份.七月二十六号;public class test1 {public static void main(String[] args) {int[][] matrix {{1,2},{5,6},{9,10},{13,14},};print(matrix);}static void print(i…

LangChain Agents深入剖析及源码解密上(一)

LangChain Agents深入剖析及源码解密上(一) LangChain Agents深入剖析及源码解密上 Agent工作原理详解 本节会结合AutoGPT的案例,讲解LangChain代理(Agent)为核心的内容。我们前面已经谈了代理本身的很多内容,也看了绝大部分的源代码,例如:ReAct的源代码,还有mrkl的源代…

P3183 [HAOI2016] 食物链

题目描述 如图所示为某生态系统的食物网示意图&#xff0c;据图回答第 1 小题 现在给你 n 个物种和 m 条能量流动关系&#xff0c;求其中的食物链条数。物种的名称为从 1 到 n 编号 M 条能量流动关系形如 1,2,3​,…,am−1​,bm−1​,am​,bm​。其中 ai​ 和 bi​ 表示能量从物…

Java反射 -- 详细介绍 (框架核心)

反射 是 Java框架 的核心 &#xff0c;无论是Tomcat、SpringMVC、Spring IOC、Spring AOP、动态代理 &#xff0c;都使用到了 反射 反射的作用简单讲就是 无需 new 对象&#xff0c;就可以动态获取到一个类的全部信息&#xff0c;包括 属性、方法&#xff0c;构造器&#xff0…

边写代码边学习之全连接Dense

1. 全连接原理 全连接神经网络&#xff08;Fully Connected Neural Network&#xff09;是一种最基本的神经网络结构&#xff0c;也被称为多层感知器&#xff08;Multilayer Perceptron&#xff0c;MLP&#xff09;。其原理是模拟人脑神经元之间的连接方式&#xff0c;通过多个…

pytorch学习——多层感知机

一.感知机 感知机——神经网络基本单元&#xff0c;最简单的深度网络称为多层感知机。多层感知机由多层神经元组成&#xff0c;每一层与它上一层相连&#xff0c;从中接收输入&#xff0c; 同时每一层也与它的下一层相连&#xff0c;影响当前层的神经元。 解释&#xff1a;如果…