子网划分路由网卡

news2024/12/24 20:29:06

1."IPv4 CIDR"

"IPv4 CIDR" 是与互联网协议地址(IP address)和网络的子网划分有关的概念。

- "IPv4" 代表 "Internet Protocol version 4",也就是第四版互联网协议,这是互联网上最广泛使用的协议。

- "CIDR" 是 "Classless Inter-Domain Routing" 的缩写,中文名称是无类别域间路由。过去的 IP 地址使用的是基于类别的系统(A类、B类、C类等)来进行网络和子网的划分,但这种方法随着互联网规模的增长显得效率低下,也存在地址浪费的问题。CIDR 就是为了解决这个问题而提出的。

CIDR 使用一种简洁的表示方式,即 "IP地址/前缀长度",比如 "192.168.1.0/24"。这种表示方式同时包含了 IP 地址和子网掩码,其中 "/24" 表示前面 24 位是网络地址,后面 8 位是主机地址。这就可以很灵活地进行子网划分,而不再限于以前的 A、B、C 类划分。

简单来说,"IPv4 CIDR" 就是用于 IPv4 地址和子网划分的一种方法。

2.子网划分方法和实例

子网划分是一种将一个大型的 IP 地址网络划分为多个小型的网络的方法,有助于改善网络性能和安全性。每一个小型的网络被称为一个子网。 CIDR(无类别域间路由)是一种常用的子网划分方法。

假设你有一个 IP 地址开始于 "192.168.0.0",并且使用 /24 的子网掩码(表示前24位用于网络地址,后8位用于主机地址)的网络。这意味着你有从 "192.168.0.0" 到"192.168.0.255"的 256 个 IP 地址可用(包括网络地址和广播地址)。

你可以通过改变子网掩码来划分子网。例如,你可以将子网掩码改为 /25。这表示前25位用于网络地址,后7位用于主机地址。这就将原本的网络划分为两个子网:

- 第一个子网的地址范围是 "192.168.0.0" 到 "192.168.0.127"
- 第二个子网的地址范围是 "192.168.0.128" 到 "192.168.0.255"

每个子网有128个可用的 IP 地址(包括网络地址和广播地址)。你可以继续改变子网掩码来创建更多的子网,例如使用 /26、/27 等。记住,每增加一位子网掩码,可用的 IP 地址数量就会减半。

这只是一个基本示例,实际情况可能会更复杂,包括处理保留的网络地址和广播地址,以及考虑网络的实际需求和增长计划。

3.子网之间可以访问通吗

子网之间的访问取决于网络的配置。如果在同一个网络范围内,大部分情况下,子网之间是可以直接访问的。如果子网间的交互是禁止的或者被限制的,那么就需要进行相应的配置(比如安全组规则),或者通过路由器或防火墙来实现。

在大型网络或企业级网络中,通常会使用路由器或者更复杂的网络设备来控制子网之间的通信。路由器可以根据设定的规则和路由表,决定是否允许子网之间的交换数据。当两个子网需要互相通信时,数据包会被送到路由器,路由器根据自己的路由表,将数据包转发到目标子网。

防火墙也可以用来控制子网间的通信。防火墙可以根据一系列的规则来决定是否允许某个数据包通过,从而达成对子网间通信的控制。

所以,子网之间能否互相访问,主要取决于你的网络配置,以及你的路由器和防火墙的设置。

4.子网之间可以访问通的例子 以及访问不通的例子

子网间可以通信的例子:

假设有两个子网,一个是192.168.1.0/24,一个是192.168.2.0/24。他们都连接到同一个路由器,路由器的配置允许这两个子网间的通信。那么在这种情况下,192.168.1.0/24子网的设备就可以访问192.168.2.0/24子网的设备,反之亦然。

子网间不能通信的例子:

假设和上面一样的网络,但是路由器的配置改变了,规定从192.168.1.0/24到192.168.2.0/24的通信被阻止。那么,尽管这两个子网都连接到同一个路由器,但是他们之间的设备是不能互相访问的。 

另一个可能造成子网间不能通信的例子是,两个子网分别连接到两个不同的路由器,而这两个路由器并没有连接到同一个网络中。在这种情况下,这两个子网的设备也是不能互相访问的,除非在路由器之间建立一条通信路径。

在实际使用中,是否应该允许子网间通信需要根据各自的需求和安全策略来决定。

5.路由表配置解释

路由表是网络设备(比如`路由器`和`计算机`)中的一个关键组件,它决定了设备如何将网络流量从一个地方路由到另一个地方。

一个路由表通常包含以下主要信息:

1. 目标网络或主机:这是设备需要将数据包发送到的网络或主机的IP地址。

2. 下一跳:如果设备无法直接将数据包发送给目标网络或主机,设备将发送给"下一跳"的IP地址。下一跳通常是另一个路由器,这个路由器再将数据包传递到目标或者下一个跳跃点。

3. 接口:这是设备上用于发送数据包的物理或逻辑网络接口。

4. 路由指标(可能存在):路由指标是一个数值,表示到达特定网络或主机的开销或长度。这能帮助设备针对有多个可能路径的目标选择最佳路径。

网络设备在收到一个网络数据包时,根据包内的目标IP地址,参照路由表进行处理。根据路由表的信息,设备会决定将数据包直接发送到目标接口,或者发送到下一跳以便进一步传输。

路由表可以手动配置(静态路由),也可以通过使用路由协议(如RIP、OSPF、BGP等)自动产生和更新(动态路由)。

6.路由表配置两个子网不可通信的示例

为了阻止两个子网间的通信,你可以在路由器的路由表中删除或禁用指向其他子网的路由。下面是一个简单的示例。

假设我们有两个子网:子网A和子网B。子网A的地址是192.168.1.0/24,子网B的地址是192.168.2.0/24。

路由器的初始路由表可能如下:

- 目标:192.168.1.0/24,下一跳:子网A的接口
- 目标:192.168.2.0/24,下一跳:子网B的接口

这个路由表的设置允许从子网A到子网B的通信,以及从子网B到子网A的通信。

现在,假设我们希望阻止从子网A到子网B的通信,我们可以在路由表中删除或禁用第二个路由条目。这样,路由器就不会再将子网A的流量转发到子网B了。所以,从子网A到子网B的通信被阻止。

请注意,这个示例只是一个简化的场景,真实的网络环境可能会更加复杂。在实际操作中,你也可能需要考虑网络的其他因素,比如网络安全策略、防火墙规则等。

或者Server端的安全组,入站配置,只允许子网为192.168.0.0/24的请求:

7.192.168.0.0/16跟192.168.0.0/24可以通信吗

192.168.0.0/16和192.168.0.0/24都是网络地址,它们自身并不能进行通信,而是每个地址范围内的设备可以通信。这里我们实际上是在讨论这两个网络范围内的设备是否可以相互通信。

192.168.0.0/16表示的是192.168.0.0到192.168.255.255的地址,/16表示前16位是网络部分,也就是192.168。

192.168.0.0/24表示的是192.168.0.0到192.168.0.255的地址,/24表示前24位是网络部分,也就是192.168.0。

在这种情况下,192.168.0.0/24其实是192.168.0.0/16的一个子网,它们的地址存在交集。它们之间的设备应该可以直接通信,不需要额外的路由。然而,能否通信还取决于防火墙规则和其他安全策略。

如果您有特殊的网络设置,比如防火墙禁止某个范围内的IP地址通信,那么即使它们在网络层次上可以直接通信,通信也可能被阻止。因此,除了网络地址和子网掩码之外,还需要考虑当前网络环境和安全策略来确定它们是否可以通信。

8.192.168.0.0/24 和192.168.0.0/16 它们的地址非交集部分可以通信吗?

解释:

对于这种情况,我们要看的是192.168.0.0/16网络内部,但不在192.168.0.0/24范围的设备,是否能跟192.168.0.0/24范围内的设备通信。

如果你的网络设备(如路由器或交换机)正确配置,并且没有其他防止它们通信的因素(如防火墙或访问控制列表),那么它们应该是可以相互通信的。

192.168.0.0/24属于192.168.0.0/16的一部分。这意味着,任何设备配置的网络地址为192.168.0.0/16,都应该可以访问到在192.168.1.0到192.168.255.255范围内的设备(即与192.168.0.0/24非交集部分的设备),反之亦然

解释:

对于192.168.0.0/16这个网络,它的地址范围是从192.168.0.0到192.168.255.255,这个网络包含了许多子网,其中就包括192.168.0.0/24。192.168.0.0/24这个子网的地址范围是192.168.0.0至192.168.0.255。

对于你的问题,"地址非交集部分"应该是指192.168.0.0/16中不属于192.168.0.0/24的部分。这部分地址的范围是192.168.1.0至192.168.255.255,这部分地址能否与192.168.0.0/24子网通信取决于网络的路由和防火墙规则。

如果没有特殊的配置或阻止他们通信的规则,通常来说,同属一个较大网络的不同子网之间是可以相互通信的。这就意味着,192.168.0.0/16网络中的非192.168.0.0/24部分(即192.168.1.0至192.168.255.255)应该是可以与192.168.0.0/24子网通信的。

但是,具体能否通信还是需要看网络环境和配置,包括路由器的路由表配置,以及防火墙规则等。

9.路由匹配规则 举例

路由匹配规则是在路由器或者其他网络设备中,为了决定数据包应该如何被转发到它的目的地而存在的规则。路由匹配是根据目标IP地址进行的。

这是一个简单的路由匹配规则示例:

假设路由器R1有以下路由表:

| 目标网络   | 下一跳     | 接口  |
|--------|---------|-----|
| 192.168.1.0/24  | 192.168.2.2  | eth0 |
| 192.168.2.0/24  | 直接连接    | eth1 |
| 默认路由 (0.0.0.0/0)  | 192.168.2.1 | eth1 |

现在,R1收到一个到达192.168.1.45的数据包,根据路由表,R1会选择第一个路由(192.168.1.0/24),因为这个网络包含了目标IP。然后,R1会将数据包发送到下一跳192.168.2.2,通过接口eth0。

如果R1收到一个到达8.8.8.8的数据包,由于路由表中没有匹配的网络,R1会选择最后一个路由(默认路由)。然后,R1会将数据包发送到下一跳192.168.2.1,通过接口eth1。

这就是一个典型的路由匹配规则的示例。当然,实际的网络环境可能会有更复杂的路由匹配规则,包括根据不同的协议(如TCP/UDP)、端口号、源IP地址等进行匹配。

10.目的是192.168.0.5,路由匹配规则 举例

假设你有路由器R1,其路由表中有以下路由条目:

| 目标网络   | 下一跳     | 接口  |
|--------|---------|-----|
| 192.168.0.0/24  | 直接连接    | eth0 |
| 192.168.1.0/24  | 192.168.0.1  | eth1 |
| 默认路由(0.0.0.0/0)| 10.10.10.1 | eth2 |

如果你收到一个数据包,其目标IP地址是192.168.0.5,那么路由过程就会是这样的:

1. R1首先会在路由表中查找匹配的目标网络。在本例中,它会找到目标网络192.168.0.0/24,因为192.168.0.5在192.168.0.0/24的范围内。

2. 一旦找到匹配的目标网络,R1就会定义下一跳和接口。在这种情况下,下一跳是"直接连接",接口是eth0。这意味着R1将直接通过接口eth0将数据包发送到目标192.168.0.5。

请注意,这只是一个简化的例子。在实际的网络环境中,路由匹配规则可能会更复杂,并且可能包括其他的因素,例如负载平衡、安全规则等。

11.route -n解释

`route -n`是一个在Unix或类Unix系统中用来查看路由表的命令。该命令的输出提供了所有路由的列表,以及关于如何到达每个目的地的信息。

下面是`route -n`命令的一般输出的一个例子:

```shell
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 eth0
```

下面是对这个输出的逐列解释:

- Destination:目的地网络。将发送到这个网络的数据包。(即,我要请求的地址所在的网络,比如curl http://ip:port/uri)
- Gateway:网关,用来到达目的地网络的下一跳地址。如果是0.0.0.0,表示该网络直接连接。
- Genmask:目的地网络的网络掩码。
- Flags:用来描述路由的属性,一些常用的标记包括:U(路由为上行),G(使用网关),H(目的地为一个主机,而非网络)等。
- Metric:跃点数,一个决定路由优先级的计数值。数值越小,优先级越高。
- Ref:路由条目的引用数。
- Use:该路由条目被使用的次数。
- Iface:用于该路由的网络接口(例如,eth0、wlan0等)。

比如发给192.168.1.0目的地网络,走eth0网卡

12.ifconfig查看网卡信息:

`ifconfig`是在 Unix-like 操作系统中用来配置或显示系统网络接口的信息的命令。该命令主要用于初始化一个网络接口,或者用来在系统运行过程中查看和更改网络接口配置。

`ifconfig` 命令的典型输出可能如下所示:

```
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.2  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::211:22ff:fe33:4455  prefixlen 64  scopeid 0x20<link>
        ether 00:11:22:33:44:55  txqueuelen 1000  (Ethernet)
        RX packets 1003654  bytes 1211663481 (1.1 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 534324  bytes 68560842 (65.3 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
```

这个输出包含以下一些信息:

- eth0:这表明该行是关于网络接口eth0的信息。
- flags:描述了接口的状态,例如UP表示接口处于活跃状态,BROADCAST表示接口支持广播,RUNNING表示接口已启动,MULTICAST表示接口支持多播。
- mtu:最大传输单元。最大的数据包可以通过这个网络接口发送,不需要进行分段。
- inet:此接口的IPv4地址
- netmask:子网掩码。
- broadcast:广播地址。
- ether:硬件地址(MAC地 址)。
- RX packets / bytes:接收到的数据包数量和字节数。
- TX packets / bytes:发送的数据包数量和字节数。
- errors:接收和发送中出错的数据包数。

13.eth1 网卡的 inet 192.168.0.2时,路由规则转发举例

在这个例子中,假设你的机器有一个名为`eth1`的网络接口,其IPv4地址(`inet`)为192.168.0.2。下面是一个基本的路由规则转发的例子:

首先,通过命令`route -n`来查看你的路由表。它可能看起来像这样:

```
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth1
```

在这种情况下:

- 对于目标地址在192.168.0.0/24(即192.168.0.1到192.168.0.254)的数据包,由于这个网络直接连接到`eth1`接口(网关为0.0.0.0),因此数据包将直接通过`eth1`接口发送。

- 对于目标地址不在192.168.0.0/24的数据包,它们将被发送到默认网关(在这个案例中是192.168.0.1),然后由默认网关进行进一步的转发。这个过程也是通过`eth1`接口进行的。

由于这个默认的路由规则,任何发送到192.168.0.0/24以外的进出数据包都将被转发到默认网关。这样的规则允许你的机器与本地网络以外的其他网络进行通信。

14.网卡的网关网络gateway必须是跟网卡的inte在一个网段是吗?

是的,网关通常需要与网卡上配置的IP地址处于同一网络中。

网关是一个充当网络间接口的设备,它能将你的网络与其他网络连接起来,比如连接到互联网。当你的电脑或设备试图与本地网络之外的设备交互时,数据会发送到网关,随后网关将数据发送到正确的位置。

为了让这个过程正常工作,网关的IP地址必须处于与你的设备在同一网络内。这个网络是通过你的设备的IP地址以及子网掩码来定义的。如果网关地址位于其他网络中,那么你的设备将无法正确地将数据发送到网关,除非你的设备有其他的路由信息,定义了如何到达那个网关。

15.ip route get 地址 解释

`ip route get` 是一个在Linux系统中测试路由选择的命令,它模拟了内核在选择路由时的操作。其用法是 `ip route get 目的地址`,该命令返回用于到达指定目的地址的路由条目。

例如,如果你输入 `ip route get 1.1.1.1`,你可能会得到如下的输出:

```
1.1.1.1 via 192.168.1.1 dev eth0 src 192.168.1.100 
    cache 
```

这个输出的含义是:

- 1.1.1.1:这是你想要达到的目的IP地址。
- via 192.168.1.1:路由到达1.1.1.1的数据包需要通过网关192.168.1.1。
- dev eth0:数据包会通过设备eth0发送。
- src 192.168.1.100:源地址(即你的设备的IP)为192.168.1.100。(最后封装的数据包源地址,即192.168.1.1封装为192.168.1.100,去请求目的地)
- cache:表示这条路由信息在路由缓存中有条目,因至该特定的目的地路由选择被加速。

在实际操作中,`ip route get` 常用于追踪和调试网络问题,特别是在复杂的网络环境和多网关场景下。

16.网卡与网关的关系

网卡负责数据包的发送和接收

网关负责中转

在计算机网络中,网卡和网关之间有非常重要的关系。

网卡(Network Interface Card)是连接计算机或其他设备与网络的硬件设备,它能够将你的设备与网络(如以太网、Wi-Fi网络等)连接在一起,使设备得以发送和接收数据。

网关(Gateway),可以被视为不同网络间的桥梁或者门户。它是一个网络设备,用于连接两个或多个不同的网络(这些网络可能使用不同的协议)并进行数据转发。例如,家庭路由器就是一个常见的网关,它连接了家庭局域网和互联网。

对于一个私人网络(比如家庭网络),通常会配置一个网关设备(比如路由器)来与外部网络(如互联网)进行通信。在这种情况下,网络中的每个设备(其网卡的IP地址和子网掩码决定了它在网络中的位置)都需要知道网关的地址,因为当它们需要访问局域网之外的资源时,数据需要被发送到网关,网关再将数据转发到正确的位置。

总的来说,网卡提供了计算机或其他设备与网络之间的物理连接,而网关则处理网络之间的数据交流。

17.网卡和网关结合路由表,举例职责

在计算机网络中,网卡、网关和路由表都有各自的职责并且它们之间紧密配合以实现数据的正确转发。以下是它们的职责和利用一个例子来说明如何联合工作。

- 网卡(Network Interface Card):提供与网络的物理连接。它负责在物理层面发送和接收数据。

- 网关(Gateway):作为一个网络与其他网络之间进行通信的节点。如果数据包的目标不在当前网络内,就会被发送到网关,在那里它会被 routed 到正确的网络。

- 路由表:指导数据包应该如何到达其目标。路由表中含有许多路由条目,每一个条目会指出如果数据包的目标符合某个特定的条件,应该将数据包发送到哪里。

举个例子,假设一台计算机在其网卡`eth0`上拥有IP地址192.168.1.2,网关设置为192.168.1.1。路由表可能会这样设置:

```
Destination     Gateway         Genmask        Flags Metric Ref    Use Iface
192.168.1.0     0.0.0.0         255.255.255.0  U     0      0        0 eth0
0.0.0.0         192.168.1.1     0.0.0.0        UG    0      0        0 eth0
```

在这种情况下,如果计算机要发送一个目标地址为192.168.1.3的数据包,根据路由表,它看到192.168.1.3属于目的网络192.168.1.0/24 (这是由子网掩码255.255.255.0决定的),所以它会直接通过网卡`eth0`将数据包发送到该网络,数据包会被直接传送到目标。

如果要发送一个目的地址为8.8.8.8的数据包,根据路由表,它不属于任何特定的已列出网络,所以它使用默认路由(0.0.0.0)。这条默认路由指示数据包应该被发送到网关192.168.1.1。计算机会通过网卡`eth0`将数据包发送到网关,然后由网关负责通过互联网将数据包路由到正确的地方。

这就是网卡、网关和路由表如何一起工作来确保数据正确路由的一个例子。

18.路由规则 最长匹配

在路由过程中,“最长匹配”规则是一种非常重要的原则,它是决定一个数据包应该通过哪条路由发送的关键因素。

当一个数据包需要被路由时,路由器会查看路由表中的所有路由。路由表中的每项路由都有一个“网络前缀”或“网络掩码”,这用来决定一个路由的网络范围。路由器会比较数据包的目标地址与路由表中路由的网络前缀是否匹配。

"最长匹配"规则就是在所有匹配的路由中,选择网络前缀最长(即网络掩码最具体)的路由,来决定数据包的转发方向。换句话说,如果一个目标IP地址同时匹配多个路由,那么会选择具有最长网络前缀的那条路由。

举个例子:

假设路由表如下:
```
Destination      Gateway          Genmask
192.168.0.0      0.0.0.0          255.255.0.0
192.168.1.0      0.0.0.0          255.255.255.0
0.0.0.0          192.168.1.1      0.0.0.0
```
如果有一个目标地址是192.168.1.33的数据包,获得正确的路由将会依赖于“最长匹配”规则。虽然此目标地址既匹配192.168.0.0/16路由,也匹配192.168.1.0/24路由,但是根据“最长匹配”规则,此数据包将会选择目的网络为192.168.1.0/24,因为该路由的网络前缀长度为24,而192.168.0.0/16的网络前缀长度为16。长度为24的前缀比16的更具体,所以会被选择。

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

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

相关文章

IPv4 与 IPv6:网络协议的差异和转换方法

在网络的世界里&#xff0c;IPv4 和 IPv6 这两个协议就像是两个不同的王国&#xff0c;各自拥有着独特的领土和规则。虽然它们都是为了互联网的发展而存在&#xff0c;但它们之间究竟有哪些差异&#xff0c;以及如何在这两个王国之间穿梭&#xff0c;仍然是很多网络小白们的困惑…

Spring使用注解存储Bean对象

文章目录 一. 配置扫描路径二. 使用注解储存Bean对象1. 使用五大类注解储存Bean2. 为什么要有五大类注解&#xff1f;3.4有关获取Bean参数的命名规则 三. 使用方法注解储存Bean对象1. 方法注解储存对象的用法2. Bean的重命名 在前一篇博客中&#xff08; Spring项目创建与Bean…

Excel中Vlookup

VLOOKUP($A:$A,Sheet3!$A:$D,COLUMN(Sheet3!B1),FALSE) ps: 1.按F4&#xff0c;锁定第一个和第二个参数 2.第二个参数&#xff0c;要选择全部范围(包括被查找列&#xff0c;以及查找内容) 2.第三个参数用column&#xff08;&#xff09;函数&#xff0c;第三列不要锁定 3.…

【Linux】自动化构建工具-make/Makefile详解

前言 大家好吖&#xff0c;欢迎来到 YY 滴 Linux系列 &#xff0c;热烈欢迎&#xff01;本章主要内容面向接触过Linux的老铁&#xff0c;主要内容含 欢迎订阅 YY 滴Linux专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; 订阅专栏阅读&#xff1a;YY的《…

Alpha-GO打败⼈类的秘籍- 强化学习(Reinforcement Learning)

为了深⼊理解强化学习&#xff08;Reinforcement Learning&#xff0c;简称RL&#xff09;这⼀核⼼概念&#xff0c;我们从⼀个⽇常游戏的例⼦出发。在“贪吃蛇”这个经典游戏中&#xff0c;玩家需要掌控⼀条蛇&#xff0c;引导它吞吃屏幕上出现的各种果实。每次成功捕获果实&a…

CSS层叠

声明冲突 同一个样式&#xff0c;多次应用到同一个元素。 此时可以看到我们的a元素的样式和浏览器的默认样式发生了冲突 层叠 解决声明冲突的过程&#xff0c;浏览器会自动处理&#xff08;权重计算&#xff09;&#xff0c;权重大的获胜 1.比较重要性 重要性从高到低 1&…

Docker 教程

Docker 是一个开源的应用容器引擎&#xff0c;基于 Go 语言并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xff0c;然后发布到任何流行的 Linux 机器上&#xff0c;也可以实现虚拟化。 容器是完全使用沙箱机制&a…

省电液晶驱动IC,VK2C22G,COG片高抗干扰抗噪系列LCD段码驱动芯片,I2C通信接口

型号:VK2C22G DICE(邦定COB)/COG&#xff08;绑定玻璃用&#xff09; VK2C22G概述&#xff1a; VK2C22G是一个点阵式存储映射的LCD驱动器&#xff0c;可支持最大176点&#xff08;44SEGx4COM&#xff09;的LCD屏。单片机可通过I2C接口配置显示参数和读写显示数据&#…

C# 接口2.0 (028 课程)

参考视频教程&#xff1a;B站 刘铁猛 028 接口 依赖反转 单元测试 接口是一种供方和需求方都遵守的契约 — 即规则。 文章目录 原始代码利用用接口简化函数重载紧耦合程序实体松耦合代码实体设计一个紧耦合 -- 接口松耦合 -- 单元测试紧耦合程序实例松耦合程序实体 -- 引入接…

latex子图无法重新编号问题

问题 想让后四个子图&#xff0c;从a开始编号 解决方法 如上原因是由于全局自动编号机制&#xff0c;在 \begin{figure*}[h] \centering下面添加&#xff1a; \setcounter{subfigure}{0}

SpringBoot+ShardingSphere+Mybatis实现Mysql8读写分离

场景 CentOS7安装Mysql8并进行主从复制配置&#xff1a; CentOS7安装Mysql8并进行主从复制配置_霸道流氓气质的博客-CSDN博客 在上面搭建起来Mysql之间的主从复制的基础上&#xff0c;在SpringBoot项目中实现Mysql数据的 读写分离&#xff0c;即写入操作一个库&#xff0c;…

为什么重写 equals 方法要重写 hashCode 方法

前言 看了挺多关于这个问题相关的文章&#xff0c;发现回答缺少因果逻辑。直到看了一篇文章提到 《Effective Java》中有关于这个问题的答案。于是找了电子书看了一下&#xff0c;查看相关源码理清了因果逻辑&#xff0c;得出怎样回答这个问题比较好。 1 hashCode 的通用约定…

k8s 如何升级应用

如何升级应用 在之前的分享中&#xff0c;我们知道一个程序如何放到容器中&#xff0c;一个镜像如何生成 pod&#xff0c; pod 的创建&#xff0c;运行&#xff0c;管理&#xff0c;删除过程&#xff0c;挂载等等 那么我们有没有想过&#xff0c;在真正的生产环境中&#xff…

golang 验证器库go-playground/validator实践

当我们将一个接口值传递给一个 reflect.ValueOf 函数调用时&#xff0c;此调用返回的是代表着此接口值的动态值的一个 reflect.Value 值。我们必须通过间接的途径获得一个代表一个接口值的 reflect.Value 值。 reflect.Value 类型有很多方法&#xff08;Package reflect - The …

【字符流】编码解码问题

字符流中编码解码问题 字符流抽象基类&#xff1a; Reader&#xff1a;字符输入流的抽象类Writer&#xff1a;字符输出流的抽象类 字符流中和编码和解码问题相关的两个类&#xff1a; InputStreamReader&#xff1a;是从字节流到字符流的桥梁&#xff0c;它读取字节并使用指…

Jupyter Notebook 后台启动

进入用户目录 cd 指定目录 激活环境 conda activate 环境名 Note&#xff1a; 注意&#xff1a;无法导入依赖包&#xff0c;查看是否激活对应环境。 后台启动 jupyter notebook&#xff0c;或者服务器上启动 可通过浏览器访问 nohup jupyter notebook --allow-root& …

C语言——通讯录的实现

前面的文章介绍了C语言中的 指针、自定义类型等模块&#xff0c;这篇文章将通过编写实现通讯录的代码对这些模块进行应用和进一步加深理解&#xff1a; 目录 1. 通讯录主要功能设计&#xff1a; 2. 通讯录的实现——主页面&#xff1a; 3. 通讯录的实现——保存个人信息&am…

CS 144 Lab Three-- the TCP sender

CS 144 Lab Three -- the TCP sender TCPSender 功能如何检测丢包TCPSender 要求TCPSender 状态转换图TCPSender 实现测试 对应课程视频: 【计算机网络】 斯坦福大学CS144课程 Lab Three 对应的PDF: Lab Checkpoint 3: the TCP sender TCPSender 功能 TCP Sender 负责将数据以…

27 Deep Belief Network

文章目录 27 Deep Belief Network——深度信念网络27.1 DBN是什么&#xff1f;27.2 为什么要使用DBN27.2.1 DBN的思想是怎么来的&#xff1f;27.2.2 RBM的叠加可以提高ELBO 27.3 训练方式 27 Deep Belief Network——深度信念网络 27.1 DBN是什么&#xff1f; DBN(Deep Belie…

【机器学习】分类算法 - KNN算法(K-近邻算法)KNeighborsClassifier

「作者主页」&#xff1a;士别三日wyx 「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;零基础快速入门人工智能《机器学习入门到精通》 K-近邻算法 1、什么是K-近邻算法&#xff1f;2、K-近邻算法API3、…