IP路由原理、静态路由及动态路由区分

news2024/11/17 7:23:55

1、什么是路由?

路由器
在互联网中进行路由选择所使用的设备,或者说,实现路由的设备,我们称之为路由器。

  • 路由器关键功能:
  • 检查数据包的目的地
  • 确定信息源
  • 发现可能的路由
  • 选择最佳路由
  • 验证和维护路由信息

什么是路由
路由是指导IP报文发送的路径信息
A查自己的路由表找到最佳路径 B 查自己的路由表找到最佳路径C 目标网络。A查自己的路由表找到最佳路径 B 查自己的路由表找到最佳路径–>C -->目标网络。

2、路由的原理

路由表
路由器工作时依赖于路由表进行数据的转发。路由表犹如一张地图,它包含着去往各个目的的路径信息(路由条目)。每条信息至少应该包括下面3个内容:

  • 目的网络——表明路由器可以到达的网络的地址,可理解为去哪里。
  • 下一跳——通常情况下,下一跳(next hop)一般指向去往目的网络的下一个路由器的接口地址,该路由器称之为下一跳路由器。
  • 出接口——表明数据包从本路由器的哪个接口发送出去。
    在这里插入图片描述
 [R1]dis ip routing-table
Route Flags: R – relay转发, D - download to fib来自路由表
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 13       Routes : 14       
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
        0.0.0.0/0   Static  60   0           D   0.0.0.0         NULL0
        1.1.1.1/32  Direct  0    0           D   127.0.0.1       LoopBack1
       12.0.0.0/24  Direct  0    0           D   12.0.0.1        GigabitEthernet
0/0/0
       12.0.0.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
0/0/0
     12.0.0.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
0/0/0
       13.0.0.0/24  Direct  0    0           D   13.0.0.1        GigabitEthernet
0/0/1
       13.0.0.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
0/0/1
     13.0.0.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
0/0/1
       23.0.0.0/24  OSPF    10   2           D   13.0.0.3        GigabitEthernet
0/0/1
                    OSPF    10   2           D   12.0.0.2        GigabitEthernet

路由表中包含了下列关键项:
Destination:表示此路由的目的地址。用来标识IP包的目的地址或目的网络。
Mask:表示此目的地址的子网掩码长度。与目的地址一起来标识目的主机或路由器所在的网段的地址。
Proto:表示学习此路由的路由协议
Pre:表示此路由的路由协议优先级。针对同一目的地,可能存在不同下一跳、出接口等多条路由,这些不同的路由可能是由不同的路由协议发现的,也可以是手工配置的静态路由。优先级高(数值小)者将成为当前的最优路由。各协议路由优先级请参见路由协议的优先级。
Cost:路由开销。当到达同一目的地的多条路由具有相同的路由优先级时,路由开销最小的将成为当前的最优路由。

根据目的地与该路由器是否直接相连,路由又可划分为:

  • 直连路由:目的地所在网络与路由器直接相连。
  • 间接路由:目的地所在网络与路由器非直接相连。

在这里插入图片描述目标网络10.4.1.0,A查到这个地址下一跳10.1.2.2,出接口是E0,就从这里传送数据出去,到B路由器同样查路由表……
这个过程称为路由。

3、路由来源

静态和动态路由

分类描述
静态路由由网络管理员手工指定的路由。当网络拓扑发生变化时,管理员需要手工更新静态路由。
动态路由路由器使用路由协议从其他路由器那里获悉的路由。当网络拓扑发生变化时,路由器会更新路由信息。

在这里插入图片描述

[RTA] display ip routing-table
Routing Tables: Public
        Destinations : 8        Routes : 8
Destination/Mask  Proto   Pre  Cost  NextHop     Interface
2.2.2.2/32        Static    60   0     10.1.2.2    Ethernet0

static表示静态路由,手工配置。

[R1]dis ip routing-table
Route Flags: R – relay转发, D - download to fib来自路由表
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 13       Routes : 14       
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
       23.0.0.0/24  OSPF    10   2           D   13.0.0.3        GigabitEthernet
0/0/1
                   OSPF    10   2           D   12.0.0.2        GigabitEthernet

OSPF是动态路由,D表示来自于路由表。

3.1、静态路由概述

静态路由是由管理员手工配置而生成的路由。
优点为:

  • 使用简单,容易实现
  • 可精确控制路由走向,对网络进行最优化调整
  • 对设备性能要求较低,不额外占用链路带宽

缺点为:

  • 网络是否通畅以及是否优化,完全取决于管理员的配置
  • 网络规模扩大时,由于路由表项的增多,将增加配置的繁杂度以及管理员的工作量
  • 网络拓扑发生变更时,不能自动适应,需要管理员参与修正

静态路由的应用:

  • 静态路由在实际应用中相当广泛,通常应用于以下两个场景:
    • 小规模、稳定的网络。
    • 路径选择的控制,即控制某些目的网络的路由走向。

3.1.1、静态路由配置

配置单播静态路由:
ip route-static ip-address {mask|mask-length} {nexthop-address|interface-type interface-number [nexthop-address]}[preference preference|tag tag]
在这里插入图片描述

[R2]ip route-static 192.168.1.0 30 192.168.2.2 

#ip route-static <目的网络地址> <目的网络地址的子网掩码> <下一跳路由器IP地址>
或者 [R2] ip route-static 192.168.1.0 30 g0/0/0 #出接口

[R2]display ip interface brief g0/0/0    #查看接口与IP相关的配置和统计信息或者简要信息
Interface                         IP Address/Mask      Physical Protocol  
GigabitEthernet0/0/0              12.0.0.1/24          up         up   

案例1、
在这里插入图片描述
1.配置各接口所属VLAN
配置SwitchA。SwitchB和Switch省略。

<HUAWEI> system-view
[HUAWEI] sysname SwitchA
[SwitchA] vlan batch 10 30
[SwitchA] interface gigabitethernet 0/0/1
[SwitchA-GigabitEthernet0/0/1] port link-type trunk
[SwitchA-GigabitEthernet0/0/1] port trunk allow-pass vlan 10
[SwitchA-GigabitEthernet0/0/1] quit
[SwitchA] interface gigabitethernet 0/0/2
[SwitchA-GigabitEthernet0/0/2] port link-type access
[SwitchA-GigabitEthernet0/0/2] port default vlan 30
[SwitchA-GigabitEthernet0/0/2] quit

2、配置各VLANIF接口的IP地址

[SwitchA] interface vlanif 10
[SwitchA-Vlanif10] ip address 10.1.4.1 30
[SwitchA-Vlanif10] quit
[SwitchA] interface vlanif 30
[SwitchA-Vlanif30] ip address 10.1.1.1 24
[SwitchA-Vlanif30] quit

3、配置主机
配置主机PC1的缺省网关为10.1.1.1,主机PC2的缺省网关为10.1.2.1,主机PC3的缺省网关为10.1.3.1。
4、配置静态路由
在SwitchA配置IP缺省路由。

[SwitchA] ip route-static 0.0.0.0 0.0.0.0 10.1.4.2

在SwitchB配置两条IP静态路由。

[SwitchB] ip route-static 10.1.1.0 255.255.255.0 10.1.4.1
[SwitchB] ip route-static 10.1.3.0 255.255.255.0 10.1.4.6

在SwitchC配置IP缺省路由。

[SwitchC] ip route-static 0.0.0.0 0.0.0.0 10.1.4.5

5、验证配置结果

[SwitchA] display ip routing-table
Route Flags: R - relay, D - download to fib, T - to vpn-instance
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 7        Routes : 7
Destination/Mask    Proto  Pre  Cost   Flags   NextHop      Interface
 
        0.0.0.0/0    Static 60   0        RD    10.1.4.2     Vlanif10
        10.1.1.0/24  Direct 0    0         D    10.1.1.1     Vlanif30
        10.1.1.1/32  Direct 0    0         D    127.0.0.1    Vlanif30
        10.1.4.0/30  Direct 0    0         D    10.1.4.1     Vlanif10
        10.1.4.1/32  Direct 0    0         D    127.0.0.1    Vlanif10
      127.0.0.0/8    Direct 0    0         D    127.0.0.1    InLoopBack0
      127.0.0.1/32   Direct 0    0         D    127.0.0.1    InLoopBack0

[SwitchA] tracert 10.1.3.1
traceroute to 10.1.3.1(10.1.3.1), max hops: 30 ,packet length: 40,press CTRL_C to break
1 10.1.4.2 31 ms 32 ms 31 ms
2 10.1.3.1 62 ms 63 ms 62 ms

3.2、缺省路由/默认路由

缺省路由又称为默认路由,在通信网络中,当网络主机上没有特定路由时而设置的数据包转发规则,可以给出一个默认的下一跳地址,当路由表中的所有路由都选择失败的时候,为使得报文有最终的一个发送地,将使用缺省路由进行转发。

缺省路由是一种特殊的路由,可以通过静态路由配置,某些动态路由协议也可以生成缺省路由,如OSPF和IS-IS。

在路由表中,缺省路由以到网络0.0.0.0(掩码为0.0.0.0)的形式出现。

当路由器收到一个在路由表中匹配不到明确路由的数据包时,会将数据包转发给缺省路由指向的下一跳。

缺省路由在其它路由里优先级最低。

[R1]ip route-static 0.0.0.0 0.0.0.0 1.1.4.2  //在R1上配置IPv4缺省路由。不同网段

R1–>R2目标地址由于不能明确,所以采用0.0.0.0 子网掩码0.0.0.0 下一跳1.1.4.2(就是R1去往所有目的的数据都交给R2的下一跳1.1.4.2,让网关帮我转发数据。)

ip route 0.0.0.0 0.0.0.0 在路由功能开启的情况下,为路由器配置默认网关
缺省路由是在路由器没有为数据包找到更为精确匹配的路由时最后匹配的。

子网掩码变成了0.0.0.0,这也意味着该网段的32位二进制形式的IP地址都是主机位任何一个地址都属于该网段,这就是所谓全球最大的网段。

默认路由(Default Route)一般应用于网络(企业网、校园网、园区网等)出口,用于指向互联网,实现内网主机能够跟外网通信(我们不可能配置百度、新浪各种网站几万个网段。)。一般放在路由表的最底部,只有当常规的路由列表没有匹配时,才会查看/调用默认路由。从而到达另一个路由器,每次转发,路由都增加了一跳的距离。

3.3、黑洞路由

黑洞路由也为一条静态路由,但与其他路由不同的是,黑洞路由的出口接口为NULL0。如果一条静态路由的出口接口为NULL0时,就像扔进一个黑洞(垃圾站),因此出接口为Null 0的路由又称为黑洞路由。

作用:
实现了数据的过滤,防止环路的产生等等。
在这里插入图片描述

黑洞路由是一种颇有用处的路由,在图中,R1的GE0/0/0连接着一个终端网络,处于该终端网络的PC将默认网关设置为R1的GE0/0/0接口IP地址,而为了让PC能够访问R2右侧的服务器网络,我们在R1上配置了一条默认路由:

[R1]ip route-s 0.0.0.0 0 10.0.12.2
[R2]ip route-static 0.0.0.0 0 10.0.12.1

PC>ping 10.0.12.2
在服务器网络中,有一个特殊的网段——192.168.60.0/24并不希望被PC访问,能否仅仅通过路由的配置来实现这个需求呢?
使用黑洞路由便可,R1增加如下配置:

[R1]ip route-static 192.168.60.0 255.255.255.0 NULL0
[R1]dis ip routing-table 
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 12       Routes : 12       

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
        0.0.0.0/0   Static  60   0          RD   10.0.12.2       G0/0/1
    10.0.12.255/32  Direct  0    0           D   127.0.0.1       G0/0/1
    192.168.1.1/32  Direct  0    0           D   127.0.0.1       G0/0/0
    192.168.1.255/32  Direct  0    0         D   127.0.0.1       G0/0/0
    192.168.60.0/24  Static  60   0           D   0.0.0.0         NULL0

当PC访问192.168.200.0/24时,数据包先被默认网关R1,R1通过路由表查询,发现数据包的目的IP地址匹配路由192.168.60.0/24,而这条路由的出接口是NULL 0,因此它将数据包直接丢弃。

黑洞路由的应用场景:

  • 在部署了路由汇总的网络中,用于防止数据转发出现环路。
  • 在部署了NAT(网络地址转换)的网络中,用于防止数据转发出现的环路。
  • 在BGP网络中,用于发布特定网段的路由。

3.3、动态路由

路由器使用路由协议从其他路由器那里获悉的路由。
当网络拓扑发生变化时,路由器会自动更新路由信息。
总结:路由器之间就会互相学习完成。

路由协议分类——作用范围:

作用范围描述
IGP内部网关AS(自冶系统)中的路由器间交换路由选择信息。RIP、OSPF、ISIS。
EGP外部网关AS与AS之间交换路由选择信息。BGP

在这里插入图片描述
一个运营网有一个AS,在一个AS内的协议称为IGP。IGP包含几种类型:RIP、OSPF、ISIS。都属于内部网络协议。

AS与AS之间的协议称为BGP(边界网络协议),比如电信和联通之间。

4、路由的优先级

路由优先级(Preference)
当存在多个路由来源时,具有较高优先级(优先级的值越小优先级越高。)的路由来源提供的路由将被激活,用于指导报文的转发。

路由优先级有内外之分,如果外部优先级相同则比较内部优先级。
外部路由优先级如下表:

路由协议外部优先级
DIRECT0
OSPF10
IS-IS15
STATIC60
RIP100
OSPF ASE150
IBGP255
EBGP255
Untrustworthy255

5、路由的度量值(metric)

路由度量值表示到达这条路由所指定的路径的代价或者开销,也称为路由权值。
路由器A到路由器D有两条路由:

  • Path1: A→B→C→D ,总开销是9
  • Path2: A→E→F→C→D ,总开销是12
    路由器优选较小代价值的路由,并加入到路由表中
    在这里插入图片描述
    通常会考虑以下因素作为或者用来计算路由的度量值
  • 跳数
  • 链路带宽
  • 链路延迟
  • 链路负载
  • 链路可靠度
  • 链路MTU
  • 代价
    路由条目优选进路由表
    在这里插入图片描述

6、路由的选路规则

最长匹配原则
在这里插入图片描述
当存在多个路由来源时,具有较高优先级(数值越小表明优先级越高)的路由来源提供的路由将被激活,用于指导报文的转发。

目的地址为9.1.2.1的数据报文,将命中9.1.0.0/16的路由:

[R1] display ip routing-table
Routing Tables:
Destination/Mask proto   pref  Metric  Nexthop     Interface
0.0.0.0/0        Static   60    0      120.0.0.2    Serial0/0
8.0.0.0/8        RIP     100   3      120.0.0.2   Serial0/1
9.0.0.0/8        OSPF    10   50     20.0.0.2    Ethernet0/0
9.1.0.0/16       RIP     100   4      120.0.0.2   Serial0/0

外部优先级是100、开销是4,但是根据IP最长匹配原则优先匹配9.1.0.0/16。

7、负载均衡

在这里插入图片描述
当源网络和目的网络之间存在多条链路时,可以通过等价路由来实现流量负载分担。这些等价路由具有相同的目的网络和掩码、优先级和度量值。

本示例中RTA和RTB之间有两条链路相连,通过使用等价的静态路由来实现流量负载分担。
在RTB上配置了两条静态路由,它们具有相同的目的IP地址和子网掩码、优先级(都为60)、路由开销(都为0),但下一跳不同。在RTB需要转发数据给RTA时,就会使用这两条等价静态路由将数据进行负载分担。
在RTA上也应该配置对应的两条等价的静态路由。

[RTB]ip route-static 192.168.1.0 255.255.255.0 10.0.12.1 
[RTB]ip route-static 192.168.1.0 255.255.255.0 20.0.12.1
[RTB]display ip routing-table 
Route Flags: R - relay, D - download to fib
--------------------------------------------------------------
Routing Tables: Public  Destinations : 13       Routes : 14       
Destination/Mask  Proto Pre Cost Flags NextHop Interface
192.168.1.0/24	Static 60  0   RD 10.0.12.1 GigabitEthernet 0/0/0 		   	
Static 60  0   RD 20.0.12.1 GigabitEthernet 0/0/1

8、路由的环路

路由环路,就是数据包不断在这个网络传输,始终到达不了目的地,导致掉线或者网络瘫痪。

9、特殊路由

浮动路由介绍:
当网络中存在多条相同路由前缀时,会优先选取AD值(路由可信度,值越小,路由越优先)小的路由为主用路由,AD值大的路由为备份路由。当主用路由的下一跳不可达时,主用路由消失,备用路由生效切换为主用。当网络中有多条路径到达目的网络时,可以通过配置多条静态路由,修改静态路由的AD值,来实现主备链路的备份,该功能即为浮动静态路由。

浮动路由是主用路由的备份,在主用路由失效是,会自动切换到浮动路由。当主用路由下一跳可达,浮动路由不会出现在路由表。

应用:
在金融行业中常见的网点与支行,或者是支行与总行的出口网络中,通常会租用运营商的多条链路,比如电信的10M,联通的2M这样两种链路,客户希望正常的时候生产、办公的流量能够走电信的10M,当故障的时候切换到联通的2M,同时视频监控流量能够主走联通的2M,当该链路故障的时候,能够切换到电信的10M,实现数据业务的分流,同时故障的时候其他链路还可以作为备份链路,避免单点故障,这样的场景也可以考虑采用浮动静态路由(当然静态路由通常需要与BFD功能联动,以便检查到中间运营商设备或者链路存在故障,而交换机上面端口没有down无法感知到静态路由失效,结果路由无法切换的故障)。
在这里插入图片描述
RTB上配置了两条静态路由。正常情况下,这两条静态路由是等价的。通过配置preference 100,使第二条静态路由的优先级要低于第一条(值越大优先级越低)。路由器只把优先级最高的静态路由加入到路由表中。当加入到路由表中静态路由出现故障时,优先级低的静态路由才会加入到路由表并承担数据转发业务。

[RTB]ip route-static 192.168.1.0 255.255.255.0 10.0.12.1 
[RTB]ip route-static 192.168.1.0 255.255.255.0 20.0.12.1 preference 100

当主用静态路由出现物理链路故障或者接口故障时,该静态路由不能再提供到达目的地的路径,所以在路由表中会被删除。此时,浮动静态路由会被加入到路由表,以保证报文能够从备份链路成功转发到目的地。在主用静态路由的物理链路恢复正常后,主用静态路由会重新被加入到路由表,并且数据转发业务会从浮动静态路由切换到主用静态路由,而浮动静态路由会在路由表中再次被隐藏。

[RTB]display ip routing-table 
Route Flags: R - relay, D - download to fib
--------------------------------------------------------------
Routing Tables: Public  Destinations : 13       Routes : 14       
Destination/Mask Proto Pre Cost Flags NextHop Interface
……
192.168.1.0/24 Static  100  0  RD  20.0.12.1 GigabitEthernet 0/0/1    //故障时,主路由被删除。正常是备份路由隐藏。

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

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

相关文章

洗地机什么牌子最好?洗地机品牌排行榜前十名

洗地机是近年来火热的清洁电器&#xff0c;凭借强劲的顽渍污渍去除和高效的地面清洁性能&#xff0c;成为了保持洁净家居环境、为生活做减法的黑科技&#xff0c;颇受生活达人们的追捧和青睐。洗地机的品牌、种类众多&#xff0c;一时间令人眼花缭乱。今天&#xff0c;我想为大…

fastadmin:在新增页面,打开弹窗单选,参数回传

样式&#xff1a;核心代码&#xff1a;一、弹窗的控制器中&#xff1a;// 定义一个公共函数select()&#xff0c;如果这个请求是Ajax&#xff0c;则返回index()函数&#xff0c;否则返回view对象的fetch()函数。 public function select() {if ($this->request->isAjax(…

C 学习笔记 —— 函数指针

函数指针 上面的第二个char (* f) (int);写法就是函数指针的声明&#xff1b; 首先&#xff0c;什么是函数指针&#xff1f;假设有一个指向 int类型变量的指针&#xff0c;该指针储存着这个int类型变量储存在内存位置的地址。 同样&#xff0c;函数也有地址&#xff0c;因为函…

LC-3—MIO、MMIO、Caller Save、Callee Save

LC-3—MIO、MMIOMMIOMIOCaller Save、Callee Save举个例子MMIO MMIO&#xff08;Memory Mapped I/O&#xff09;是一种在系统内存中映射I/O端口的技术&#xff0c;它允许设备直接访问内存中的特定地址&#xff0c;从而实现I/O操作。MMIO技术可以提高I/O操作的效率&#xff0c;…

Mysql 事务版本链(RR 与 RC 的本质区别)

版本链其实就是CURD的历史记录&#xff0c;回滚的本质也是用版本链中的最近一条历史记录覆盖当前记录。版本链针对的是每个表中的记录&#xff0c;只要表中有任意一条记录被修改&#xff0c;版本链中就会新增一条历史记录。 目录 1、为什么需要版本链&#xff1f; 2、有关版本…

《爆肝整理》保姆级系列教程python接口自动化(二十四)--unittest断言——中(详解)

简介 上一篇通过简单的案例给小伙伴们介绍了一下unittest断言&#xff0c;这篇我们将通过结合和围绕实际的工作来进行unittest的断言。这里以获取城市天气预报的接口为例&#xff0c;设计了 2 个用例&#xff0c;一个是查询北京的天气&#xff0c;一个是查询 南京为例&#xf…

接口幂等性的通用解决方案golang版

文章目录简介幂等性如何实现前端应当处理后端基于 token redis 处理简介 接口的幂等性是指&#xff1a; 用户对同一个操作发起多次请求&#xff0c;系统的设计需要保证其多次请求后结果是一致的。常见的如支付场景&#xff0c;连续快速点击两次支付 10 元&#xff0c;不应该扣…

阶段八:服务框架高级(第三章:分布式缓存Redis)

阶段八&#xff1a;服务框架高级&#xff08;第三章&#xff1a;分布式缓存Redis&#xff09;Day-分布式缓存Redis0.学习目标1.Redis持久化1.1.RDB持久化 【重要】1.1.1.执行时机1.1.2.RDB原理1.1.3.小结1.2.AOF持久化【重要】1.2.1.AOF原理1.2.2.AOF配置1.2.3.AOF文件重写1.3.…

搜广推 WideDeep 与 DeepCrossNetwork (DCN) - 记忆+泛化共存

😄 这节来讲讲Wide&Deep与Deep&CrossNetwork (DCN)。从下图可看出WD非常重要,后面衍生出了一堆WD的变体。本节要讲的WD和DCN结构都非常简单,但其设计思想值得学习。 🚀 wide&deep:2016年,谷歌提出。 🚀 Deep&CrossNetwork (DCN):2017年,谷歌和斯坦…

刷题小抄1-2数之和

时间复杂度和空间复杂度 对于一个算法高效性的评估,分为时间复杂度与空间复杂度两种,在算法优化到极致的情况下,只能舍弃时间来换取空间,或者舍弃空间来换取时间,故而两者可以说是互斥关系 时间复杂度衡量的是算法运行的速度,而空间复杂度衡量的是算法运行所需要的额外内存空…

【Ap AutoSAR入门与实战开发03】-【Ap_s2s模块02】:到底什么是基于信号,什么是基于服务,两者的主要区别是什么?

总目录链接==>> AutoSAR入门和实战系列总目录 文章目录 1 基于信号的通信2 基于服务的通信3 面向服务设计举例在【Ap_s2s模块01】中我们大概讲述了,为什么要有s2s模块,并且简单的阐述了基于信号的通信和基于SOME/IP的服务的通信,我们接下来详细分析一下这两个概念。…

Torch单独层赋值

20230227 - 引言 对于torch中的权值初始化方式&#xff0c;以往都是采用默认的方式&#xff0c;或者利用初始化库里面的函数。但是如果想尝试一些自己的想法&#xff0c;那就必须自己来填充这部分数据&#xff0c;例如看到的内容&#xff0c;利用PCA的公式来对权值进行填充。…

CSGO社区服务器搭建架设服务器配置以及环境准备

CSGO社区服务器搭建架设服务器配置以及环境准备 CSGO作为一款射击动作游戏还原场景真实性广受大批玩家的热爱&#xff0c;很多小伙伴也有想过自己搭建的话需要知道那些东西。 我是艾西&#xff0c;今天跟大家聊聊搭建架设前我们需要知道的事情&#xff1a; Windows&#xff1…

【谷歌grc】recaptcha browser-error 错误

grc 谷歌人机验证错误 https://www.google.com/recaptcha/api/siteverif 返回错误信息 browser-error [{"success": false,"error-codes": ["browser-error"] }]之前都是调通能用的&#xff0c;突然之间就不能用了&#xff0c;查了半天也没有找…

前端实现压缩图片的功能(vue-element)

前言&#xff1a; 随着现在手机像素&#xff0c;拍照功能越来越好&#xff0c;随之而来的是本地图片越来越大&#xff0c;那么如何更好的将本地图片上传到后端接口呢&#xff1f;这是后台管理系统常见的场景和头疼的问题&#xff0c;这里分享下个人的方法。 实现效果&#xff…

java多线程(八)线程等待与线程唤醒2

三、wait(long timeout)和notify() wait(long timeout)会让当前线程处于“等待(阻塞)状态”&#xff0c;“直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法&#xff0c;或者超过指定的时间量”&#xff0c;当前线程被唤醒(进入“就绪状态”)。 下面的示例就是演示…

入职数据分析公认的好书|建议收藏

众所周知&#xff0c;数据分析经常出现在我们的日常生活中&#xff0c;各行各业都需要数据分析。可你知道什么是数据分析&#xff1f;它在企业里到底扮演什么角色&#xff1f;以及如果我们自己也想拥有数据分析的能力&#xff0c;以便更好的满足数据分析的需求&#xff0c;我们…

系列六、存储引擎

一、存储引擎介绍 大家可能没有听说过存储引擎&#xff0c;但是一定听过引擎这个词&#xff0c;引擎就是发动机&#xff0c;是一个机器的核心组件。 比如&#xff0c;对于舰载机、直升机、火箭来说&#xff0c;他们都有各自的引擎&#xff0c;是他们最为核心的组件。而我们在选…

vue脚手架多页自动化生成实践

前言 在前端开发过程中&#xff0c;常常面对多种业务场景。到目前为止&#xff0c;前端对于不同场景的处理通常会采用不同的渲染方案来组合处理&#xff0c;常见的渲染方案包括&#xff1a;CSR(Client Side Rendering)、SSR(Server Side Rendering)、SSG(Static Site Generati…

2023年房地产行业研究报告

第一章 行业发展概况 房地产业是指以土地和建筑物为经营对象&#xff0c;从事房地产开发、建设、经营、管理以及维修、装饰和服务的集多种经济活动为一体的综合性产业&#xff0c;是具有先导性、基础性、带动性和风险性的产业。主要包括&#xff1a;土地开发&#xff0c;房屋的…