静态路由配置注意事项及黑洞路由的使用

静态路由

1 . 定义

从管理员处学习到的数据转发路径,就称为静态路由。

2 . 路由表

Proto :协议( Protocol )

  • Direct — 直连链路
  • Static — 静态路由
  • RIP 、OSPF 等 — 动态路由

Pre : 优先级( Preference )

  • 优先级标识不同路由获取方式的可信度
  • 优先级越低,可信度越高

默认 路由优先级:
直连路由:0
OSPF 路由:10
静态路由:60
RIP 路由:100

Cost : 开销值 / 度量值

  • 当路由器通过同一种方式学习到了多条去往某个网络的路由,开销值就是标识不同路由优劣的参数。
  • 开销值越低,越有优势

Flags : 路由标记

  • D :表示这条路由已经下载到 FIB 中,路由器可以直接执行路由转发,从而提高数据的转发效率。
  • RD :表示迭代路由。路由器会根据该路由信息的下一跳地址迭代查找出路由的出接口信息。

【了解】当配置静态路由命令时,

  • 只使用下一跳地址时,NextHop : 下一跳 IP 地址,且 Flags 为 RD
  • 只使用出接口地址时,NextHop : 出接口 IP 地址,且 Flags 为 D
  • 同时使用下一跳,出接口时,NextHop : 下一跳 IP 地址,且 Flags 为 D

NextHop / Interdace : 下一跳地址和接口

  • 出接口:自身路由的接口地址
  • 下一跳:对方路由的 IP 地址

3. 路由信息的三种来源

  • 直连路由:管理员无需配置,直连路由就会出现在路由表中
  • 直连路由的优先级和度量值都是 0,将直连链路的优先级和度量值修改位其他数据值极容易导致次优路由升值路由环路问题,所以直连路由的路由优先级和度量值都是不可修改的。
  • 路由器只会把状态正常的接口所连接的网络,作为直连路由访日自己的路由表中。
  • 静态路由:需要管理员通过命令手动添加到路由表中
  • 负载分担:当静态路由的开销值为 0,配置两条去往同一网络的静态路由,且这两条路由使用了不同的下一跳或者出站接口,且配置的链路优先级相同,那么就能实现数据流量的负载分担。
  • 路由备份:就是当上述情况时,配置不同链路的优先级,使得平时数据从优先级小的传输,当那条链路 down 掉的时候,那么数据就能实现从优先级稍大的那条链路上传输,当下优先级小的链路恢复时,数据继续从之前的那条链路上传输。
  • 动态路由:路由器从邻居路由器中学习过来的路由

4. 静态路由的优缺点

  • 优点:
    • 设备不会自动删除出管理员手动添加的条目,故静态路由相对于动态路由而言要更加稳定
    • 静态路由比动态路由更加可控
    • 静态路由比动态路由更加容易部署
  • 缺点:
    • 静态路由的扩展性很差,不适用于复杂网络环境
    • 静态路由无法反映拓扑的变化

5. 静态默认路由

  • 原理:路由 ” 最长匹配 “ 原则

当多条路由均匹配数据包目的 IP 地址时,路由器会按照最长的、也就是最精确的那条路由来战法这个数据包

  • 定义:给那些路由器位置网路作为目的地的数据包 ” 保底 “ 的全 0 静态路由称为静态默认路由

6. 汇总静态路由

【路由条目越精准,掩码越长,路由器就会认为这条路由越优。但如果路由表中记录的路由都是主机路由,路由表就会非常庞大。因此,我们徐要靠汇总静态路由来既能缩小路由表的大小,又能够提高路由器的查询效率。】

  1. 如果汇总之后的网络,包含了被汇总网络之外的网络,那么这样的汇总会存在一定的风险
  2. 由于不当汇总或过度汇总,会导致环路风险,所以在设计之初应对 IP 地址规划做出正确的操作

7. 路由黑洞

一般是在网络边界做汇总回程路由的时候产生的一种不太愿意出现的现象,就是汇总的时候有时会有一些网段并不在内网中存在,但是又包含在汇总后的网段中,如果在这个汇总的边界设备上同时还配置了缺省路由,就可能出现一些问题。

这时,如果有数据包发向那些不在内网出现的网段(但是又包含在汇总网段)所在的路由器,根据最长匹配原则,并没有找到对应的路由,只能根据默认路由又回到原来的路由器,这就形成了环路,直到 TTL 值超时,丢弃。

黑洞路由,将所有无关路由吸入其中,使它们有来无回的路由,一般是 admin 主动建立的路由条目。

null0 接口

null0 口是个永不 down 的口,一般用于管理,详见 null0 相关内容。
admin 建立一个路由条目,将接到的某个源地址转向 null0 接口,这样对系统负载影响非常小,如果同样的功能用 ACL(地址访问控制列表)实现,则流量增大时 CPU 利用率会明显增加。所以,设置黑洞路由一直是解决固定 DOS 攻击的最好办法。

8. 静态路由的配置

查看路由表

display ip routing-table(查看 IP 表中当前正在使用的路由)
display ip routing-table protocol static (只查看路由表中的静态路由)

添加静态路由条目

ip route-static 目标网络 / 网段 子网位 出接口 / 下一跳

配置浮动静态路由( 修改优先级 )

ip route-static 目标网络 / 网段 子网位 出接口 / 下一跳 preference 优先级

黑洞路由

ip routr-static 汇总路由网段 子网掩码 null 0

默认路由

ip route-static 0.0.0.0 0.0.0.0 下一跳 IP 地址

注:

  1. 配置静态路由时不要忘记回程路由的配置
  2. 在以太网链路上配置静态路由时,下一跳参数中必须包含 IP 地址
  3. 在点对点链路上配置静态路由时,可以选择使用下一跳 IP 地址或者出接口作为路由的下一跳。

    下一跳 IP 地址:指定了路由数据包到达下一个网络设备的具体 IP 地址。适用于确切知道下一跳路由器的 IP 地址,并且网络拓扑较为稳定的情况。

    出接口:指定了数据包通过的出口接口。适用于需要动态适应网络拓扑变化的情况,它会根据出口接口的当前状态动态决定路由的下一跳。

via: 静态路由_flags rd-CSDN 博客 麻瓜布朗迪于 2019-10-16 17:59:12 发布
https://blog.csdn.net/Lmagua/article/details/102573453


Cisco

对 Null0 接口使用静态路由预防环路

简介

本文档介绍到 Null 接口的静态路由如何防止路由环路。

使用的组件

本文档中的信息基于以下软件和硬件版本:

  • Cisco IOS® 软件版本 12.3。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。

背景信息

Null 接口通常用于防止路由环路。例如,增强型内部网关路由协议 (EIGRP) 总是在汇总一组路由时创建一个通往 Null0 接口的路由。每当路由协议进行总结时,它就意味着路由器可以接收该总结中任何 IP 地址的流量。由于并非所有 IP 地址都在使用中,所以如果收到汇总流量的路由器使用默认路由,就可能造成数据包循环。

命令语法

指向 Null0 的静态路由是正常的静态路由,不同之处在于它指向 Null0 接口,该接口是虚拟 Cisco IOS 接口。有关 ip route 命令的详细信息,请参阅独立于 IP 路由协议的命令 A 至 R 一章的 ip route 部分。下一节举例说明如何使用 ip route 命令创建到 Null0 的静态路由。

示例

需要向 Null0 添加静态路由的常见场景是接入服务器,该接入服务器有许多客户端拨入。这种情况会导致主机路由被安装到接入服务器的路由表中。为确保客户端的可达性,同时又不至于造成整个网络充斥着主机路由,网络中的其他路由器通常会有指向接入服务器的汇总路由。在此类配置中,接入服务器必须具有指向接入服务器 Null0 接口同一汇总路由。如果不是,则当外部主机尝试访问当前未分配给客户端所拨的 IP 地址(但属于汇总路由的一部分)时,可能出现路由环路。这是因为接入服务器由于缺少通往目标的主机路由,而通过接入服务器的默认路由将数据包反弹回核心网络。

请考虑以下示例:

Network Topology

  • 网络拓扑 *

小型 ISP (ISP-R1) 为其中一个用户分配了网络块 192.168.0.0/16。在本示例中,用户将 192.168.0.0/16 划分为 / 24 网络,目前仅使用 192.168.1.0/24 和 192.168.2.0/24。在路由器 ISP-R1 上,ISP 为 192.168.0.0/16 配置通往用户路由器 (cust-R2) 的静态路由。然后 ISP 连接到骨干网 ISP,后者用路由器 BB-R3 表示。路由器 BB-R3 向 ISP-R1 发送默认路由,并通过 ISP-R1 的 BGP 接收网络 192.168.0.0/16。

现在可保证从 Internet(主干 ISP 路由器 BB-R3)到用户路由器 cust-R2 的可达性,因为 cust-R2 已配置默认路由以指向 ISP-R1。然而,如果数据包被发往 192.168.0.0/16 范围以外的尚未使用的网络地址块,则 cust-R2 路由器会使用指向 ISP-R1 的默认路由来转发那些数据包。然后,数据包在 ISP-R1 和 cust-R2 之间形成环路,直到 TTL 超时。这会对路由器的 CPU 和链路利用率造成巨大的影响。例如,流向未使用 IP 地址的流量可能来自拒绝服务攻击、扫描 IP 块以查找易受攻击的主机等。

相关配置:

cust-R2

version 12.3
!
hostname cust-R2
!
ip subnet-zero
!
interface Loopback0
ip address 10.2.2.2 255.255.255.255
!         
interface Ethernet0/0
ip address 192.168.1.1 255.255.255.0
!
interface Ethernet1/0
ip address 192.168.2.1 255.255.255.0
!
interface Serial2/0
ip address 10.0.0.2 255.255.255.252
!--- This interface leads to ISP-R1.
!
ip classless
ip route 0.0.0.0 0.0.0.0 10.0.0.1
!--- Default route going to ISP-R1.
!
end

ISP-R1

version 12.3
!
hostname ISP-R1
!
ip subnet-zero
!
interface Loopback0
ip address 10.1.1.1 255.255.255.255
!
interface Serial0/0
ip address 10.0.0.1 255.255.255.252
!--- Interface to cust-R2.
!
interface Serial1/0
ip unnumbered Loopback0
!--- Interface going to BB-R3.
!
router bgp 65501
no synchronization
network 192.168.0.0 mask 255.255.0.0
!--- ISP-R1 injects 192.168.0.0/16 into BGP to !--- advertise it to BB-R3.
neighbor 10.3.3.3 remote-as 65503
neighbor 10.3.3.3 ebgp-multihop 255
no auto-summary
!
ip classless
ip route 10.3.3.3 255.255.255.255 Serial1/0
ip route 192.168.0.0 255.255.0.0 Serial0/0
!--- The first route is necessary for the eBGP !--- session to BB-R3 to come up.
!--- The route to 192.168.0.0/16 points towards cust-R2.
!
!
end

BB-R3

version 12.3
!
hostname BB-R3
!
ip subnet-zero
!
!
interface Loopback0
ip address 10.3.3.3 255.255.255.255
!
interface Serial2/0
ip unnumbered Loopback0
!--- This interface goes to ISP-R1.
!
router bgp 65503
no synchronization
bgp log-neighbor-changes
neighbor 10.1.1.1 remote-as 65501
neighbor 10.1.1.1 ebgp-multihop 255
neighbor 10.1.1.1 default-originate 
!--- BB-R3 injects a default route into BGP and !--- sends it to ISP-R1.
no auto-summary
!
ip classless
ip route 10.1.1.1 255.255.255.255 Serial2/0
!--- This route points to ISP-R1 and is !--- used to establish the eBGP peering.
!
end
数据包流

注意:在路由器上启用了 debug 命令以更好地说明数据包流,特别是 debug ip packet 和 debug ip icmp。除非已经充分了解后果,否则切勿在生产环境中启用这些命令。

BB-R3#ping ip 192.168.20.1 repeat 1Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 192.168.20.1, timeout is 2 seconds:*Oct  6 09:36:45.355: IP: tableid=0, s=10.3.3.3 (local), d=192.168.20.1 (Serial2/0), routed via FIB
*Oct  6 09:36:45.355: IP: s=10.3.3.3 (local), d=192.168.20.1 (Serial2/0), len 100, sending.
Success rate is 0 percent (0/1)
BB-R3#
*Oct  6 09:36:50.943: ICMP: time exceeded rcvd from 10.0.0.1

BB-R3 向一个位于 192.168.0.0/16 地址块内但又未在 cust-R2 上使用的 IP 地址发送单个 ICMP 请求。BB-R3 收到从 ISP-R1 返回的 ICMP 超时。

在 ISP-R1 上:

18:50:22: IP: tableid=0, s=10.3.3.3 (Serial1/0), d=192.168.20.1 (Serial0/0), routed via RIB
18:50:22: IP: s=10.3.3.3 (Serial1/0), d=192.168.20.1 (Serial0/0), g=192.168.20.1, len 100, forward
18:50:22: IP: tableid=0, s=10.3.3.3 (Serial0/0), d=192.168.20.1 (Serial0/0), routed via RIB
18:50:22: IP: s=10.3.3.3 (Serial0/0), d=192.168.20.1 (Serial0/0), g=192.168.20.1, len 100, forward
18:50:22: IP: tableid=0, s=10.3.3.3 (Serial0/0), d=192.168.20.1 (Serial0/0), routed via RIB
18:50:22: IP: s=10.3.3.3 (Serial0/0), d=192.168.20.1 (Serial0/0), g=192.168.20.1, len 100, forward
18:50:22: IP: tableid=0, s=10.3.3.3 (Serial0/0), d=192.168.20.1 (Serial0/0), routed via RIB

初始数据包在 ISP-R1 的 serial1/0 接口上从 BB-R3 接收,然后按预期转发到 serial0/0 接口的 cust-R2。由于以下路由,同一数据包返回到 ISP-R1 的 serial0/0 上,并立即通过同一接口发送到 cust-R2。

ISP-R1#show ip route 192.168.20.1
Routing entry for 192.168.0.0/16, supernetKnown via "static", distance 1, metric 0 (connected)Advertised by bgp 65501Routing Descriptor Blocks:* directly connected, via Serial0/0Route metric is 0, traffic share count is 1

是什么导致 cust-R2 把流量发送回 ISP-R1 呢?

在 cust-R2 上:

*Oct  6 09:41:43.495: IP: s=10.3.3.3 (Serial2/0), d=192.168.20.1 (Serial2/0), g=10.0.0.1, len 100, forward
*Oct  6 09:41:43.515: IP: tableid=0, s=10.3.3.3 (Serial2/0), d=192.168.20.1 (Serial2/0), routed via RIB
*Oct  6 09:41:43.515: IP: s=10.3.3.3 (Serial2/0), d=192.168.20.1 (Serial2/0), g=10.0.0.1, len 100, forward
*Oct  6 09:41:43.555: IP: tableid=0, s=10.3.3.3 (Serial2/0), d=192.168.20.1 (Serial2/0), routed via RIB

您可以看到,由于以下路由,cust-R2 将这些数据包发送回 ISP-R1:

cust-R2#show ip route 192.168.20.1 longer-prefixes 
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2ia - IS-IS inter area, * - candidate default, U - per-user static routeo - ODR, P - periodic downloaded static routeGateway of last resort is 10.0.0.1 to network 0.0.0.0cust-R2#

路由器 cust-R2 没有通往 192.168.20.1 的路由,因为该网络在用户网络中未使用,因此通往 192.168.20.1 的最佳路由是指向 ISP-R1 的默认路由。

结果是,数据包在 ISP-R1 和 cust-R2 之间循环,直到 TTL 超时。

如果 ICMP 请求发送到正在使用的网络中的 IP 地址,则不会出现此结果。例如,如果 ICMP 请求的是 192.168.1.x,而该地址直接连接到 cust-R2,则不会出现环路:

cust-R2#show ip route 192.168.1.1
Routing entry for 192.168.1.0/24Known via "connected", distance 0, metric 0 (connected, via interface)Routing Descriptor Blocks:* directly connected, via Ethernet0/0Route metric is 0, traffic share count is 1

此问题的解决方案是,在 cust-R2 上为 192.168.0.0/16 配置指向 Null0 的静态路由。

cust-R2#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
cust-R2 (config)#ip route 192.168.0.0 255.255.0.0 Null0
cust-R2 (config)#end
cust-R2#
*Oct  6 09:53:18.015: % SYS-5-CONFIG_I: Configured from console by console
cust-R2#show ip route 192.168.20.1
Routing entry for 192.168.0.0/16, supernetKnown via "static", distance 1, metric 0 (connected)Routing Descriptor Blocks:* directly connected, via Null0Route metric is 0, traffic share count is 1

如果您现在将来自 BB-R3 的 ICMP 请求重新发送到 192.168.20.1,cust-R2 会将此流量发送到 Null0,这会触发生成 ICMP 不可达。

BB-R3#ping ip 192.168.20.1 repeat 1Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 192.168.20.1, timeout is 2 seconds:
U
Success rate is 0 percent (0/1)
BB-R3#
*Oct  6 09:54:33.051: ICMP: dst (10.3.3.3) host unreachable rcv from 10.0.0.2

有时候,使用指向 Null0 的汇总静态路由是不可行的。例如,如果在上一个示例中:

  • 192.168.1.0/24 地址块被连接到另一个路由器上,该路由器通过 ISDN 拨入 cust-R2
  • ISP-R1 不分配 192.168.0.0/16,只分配 192.168.1.0/24
  • 此时出现 ISDN 链路断开的情况

注意:结果是传输中的数据包或尝试到达此 IP 地址块的应用程序会创建与前面所述相同的路由环路。

:要解决此路由环路,必须使用

 ip route 192.168.1.0 255.255.255.0 Null0 200

命令为 192.168.1.0/24 配置到 Null0 的浮动静态路由。此命令中的 200 是管理距离。

注意:由于我们使用的管理距离比任何路由协议都高,因此如果通过 ISDN 链路到达 192.168.1.0/24 的路由变为非活动状态,cust-R2 将安装浮动静态路由。随后,数据包将被发送到 Null0,直到 ISDN 链路变为活动状态为止。


via: Cisco 文档 2024 年 2 月 23 日

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

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

相关文章

设计模式之职责链模式(Chain of Responsibility Pattern)

1.概念 职责链模式(Chain of Responsibility Pattern):避免将请求发送者与接收者耦合在一起,让多个对象都有机会接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止…

搞清楚[继承],易如反掌

穷不失义,达不离道。——孔丘《论语》 继承 1、简单理解2、继承2、1、继承的概念2、2、继承定义2、3、基类和派生类对象赋值转换2、4、继承中的作用域2、5、派生类默认成员函数2、6、继承中的特点2、6、1、友元2、6、2、静态成员2、6、3、菱形继承及菱形虚拟继承 3、…

html H5 dialog弹窗学习,实现弹窗显示内容 替代confirm、alert

html H5 dialog弹窗学习,实现弹窗内容 替代confirm 框架使用的mui,使用mui.confirm() 弹窗内容过多时,弹窗被撑的到屏幕外去了,使用H5 dialog 标签自定义一个固定大小的弹窗,内容过多时可下拉显示 效果展示 隐私政策内容很多,可以下拉显示 代码 myDialog.css dialog{p…

【深度学习基础】MacOS PyCharm连接远程服务器

目录 一、需求描述二、建立与服务器的远程连接1. 新版Pycharm的界面有什么不同?2. 创建远程连接3. 建立本地项目与远程服务器项目之间的路径映射4.设置保存自动上传文件 三、设置解释器总结 写在前面,本人用的是Macbook Pro, M3 MAX处理器&am…

PointNet——源码调试(模型训练+可视化测试显示)

因为项目涉及到3D点云项目,故学习下PointNet这个用来处理点云的神经网络 论文的话,大致都看了下,网络结构有了一定的了解,本博文主要为了下载调试PointNet网络源码,训练和测试调通而已。 我是在Anaconda下创建一个新的…

【C++知识点总结全系列 (08)】:面向对象编程OOP

这里写目录标题 1、OOP概述(1)面向对象四大特征A.抽象B.封装C.继承D.多态 (2)构造函数A.What(什么是构造函数)B.Why(构造函数的作用)C. Which(有哪些构造函数) (3)析构函数A.What(什么是析构函数…

【YOLOv8系列】(一)YOLOv8介绍:实时目标检测的最新突破

目录 引言 背景与发展历程 YOLOv8架构设计 1. 改进的特征提取网络 2. 多尺度特征融合 3. 新的激活函数 4. Attention机制 模型训练与优化 性能评估 应用案例 目标检测 图像分割 图像分类 姿势估计 旋转框检测(OBB) 优势与挑战 优势&…

SAP PS学习笔记03 - 批量更改Project(CNMASS),批量创建Project(CNMASSCREATE)

上一章讲了网络(Network),活动(Activity),PS长文本, PS文书(凭证),里程碑(Milestone)的创建等相关知识。 SAP PS学习笔记02 - 网络&a…

中西部公关新篇章:赛氪网赋能新质生产力赛事,引领行业潮流

2024年7月7日,武汉光谷盛况空前,中西部公共关系协会共同体多边合作平台(以下简称“共同体”)举办了2024年度中西部公关协会会长、秘书长专题交流会,本次会议主题为“加快新质生产力,推进公关行业新格局&…

思维+数学,CF 1138B - Circus

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 1138B - Circus 二、解题报告 1、思路分析 设第一组会小丑和杂技的人数分别为x1, y1 第二组会小丑和杂技的人数分别为x2, y2 显然根据要求有: x1 y2 > x1 x2 x2 y2 上式说明第二组每…

213.贪心算法:跳跃游戏||(力扣)

class Solution { public:int jump(vector<int>& nums) {if (nums.size() 1) return 0; // 如果数组长度为1&#xff0c;已经在终点&#xff0c;不需要跳跃int cur 0; // 当前跳跃能到达的最远位置int flag 0; // 记录跳跃次数int next 0; // 下一次跳跃能到…

0302GPIO外设输入功能

GPIO外设输入功能 输入部分硬件电路按键简介传感器模块简介按键和传感器模块的硬件电路 C语言的学习C语言数据类型宏定义typedef结构体枚举C语言知识总结 按键控制LED灯&光敏传感器蜂鸣器GPIO总结GPIO使用方法总结模块化编程的方法&#xff1a; 两个程序&#xff1a;按键控…

PostgreSQL 里怎样解决多租户数据隔离的性能问题?

文章目录 一、多租户数据隔离的性能问题分析&#xff08;一&#xff09;大规模数据存储和查询&#xff08;二&#xff09;并发访问和锁争用&#xff08;三&#xff09;索引维护成本高&#xff08;四&#xff09;资源分配不均 二、解决方案&#xff08;一&#xff09;数据分区&a…

计算理论复习

1.Turing Machine 确定性图灵机 图灵机有很多不同的定义&#xff0c;这里选取其中一种&#xff0c;其它定义下的图灵机往往与下面这种定义的图灵机计算能力等价。 图灵机是一个在一条可双向无限延伸且被划分为若干格子的纸带上进行操作的机器&#xff0c;其有内部状态&#…

Springboot项目实训--day2

今天学习的是idea和MySQL的连接&#xff0c;以及一些基本的增删改查的功能实现。 一、软件下载 昨天下载了idea&#xff0c;今天要是西安它们的连接&#xff0c;就需要再下载MySQL&#xff0c;我的MySQL是前面几个学期别人帮忙下载的&#xff0c;所以具体的操作步骤我也不清楚…

基于Java+SpringMvc+Vue技术的智慧校园系统设计与实现

博主介绍&#xff1a;硕士研究生&#xff0c;专注于信息化技术领域开发与管理&#xff0c;会使用java、标准c/c等开发语言&#xff0c;以及毕业项目实战✌ 从事基于java BS架构、CS架构、c/c 编程工作近16年&#xff0c;拥有近12年的管理工作经验&#xff0c;拥有较丰富的技术架…

3-6 构建线性模型解决温度计示数转换问题

3-6 构建线性模型解决温度计示数转换问题 直接上源码 %matplotlib inline import numpy as np import torch torch.set_printoptions(edgeitems2, linewidth75)导入必要的库并设置 PyTorch 的打印选项&#xff0c;确保在打印张量时显示边缘项和行宽。 #%% t_c [0.5, 14.0,…

window.matchMedia

matchMedia() 返回一个新的 MediaQueryList 对象&#xff0c;表示指定的媒体查询字符串解析后的结果。 const width ref(); const myFunction (x) > {if (x.matches) {// 媒体查询document.body.style.backgroundColor "yellow";width.value "yellow&quo…

alibabacloud学习笔记11

讲解什么是配置中心及使用前后的好处 讲解Nacos作为配置中心面板介绍 官方文档 Nacos config alibaba/spring-cloud-alibaba Wiki GitHub 加入依赖&#xff1a; 订单服务和视频服务也加上这个依赖。 讲解Nacos作为配置中心实战 订单服务添加配置。 我们注释掉之前的配置。 …

乐鑫ESP-NOW与Wi-Fi SoC方案家居设备无缝连接,启明云端乐鑫代理商

随着科技的不断进步&#xff0c;智能家居逐渐成为现代生活的一部分。ESP-NOW技术以其独特的无线通信能力&#xff0c;为智能家居领域带来了一场革命。 ESP-NOW是一种由乐鑫定义的无线通信协议&#xff0c;它能够在无需路由器的情况下&#xff0c;实现设备间的直接、快速、低功…