[前言]

无论学习OpenStackCloudStack或是其他的云平台产品,网络都是举足轻重的概念和技术。但是网络知识本身就很庞大和复杂,学习起来非常困难,不知道从何处下手。前段时间翻看OpenStack的文档,发现里面的文章写的网络基本入门知识非常浅显易懂,但是没有中文版本。好东西当然要分享,便在闲暇时间将这篇文章翻译过来了,希望对渴望了解网络知识的人提供一点帮助。同时由于水平有限,里面的错误和疏漏之处也大家批评指正。

原文地址http://docs.openstack.org/networking-guide/intro_basic_networking.html

以太网(Ethernet

以太网是一种基于IEEE802.3标准的网络协议。大部分以有线接入通信的网卡(NICS)使用的都是以太网协议。

OSI七层网络模型中,以太网位于第二层,即数据链路层。当我们讨论以太网时,会经常听到诸如本地网络,第二层,链路层,数据链路层等概念。

在以太网中,连接到网络中的主机之间通过交换数据帧通信。每一台主机使用MAC地址作为网络中的唯一标识。在OpenStack环境中,每一个虚拟机实例拥有一个单独的MAC地址,并且不同于计算节点的MAC地址。每个MAC地址的长度是48位,通常以十六进制的方式表示,如08:00:27:b9:88:74。每块网卡在出厂时就会被注入MAC地址,现在的网卡可以通过工具或者编程的方式修改MAC地址。在Linux系统中,可以通过IP命令获取一块网卡的MAC地址。

$ ip link show eth0

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000

    link/ether 00:0c:29:de:4b:31 brd ff:ff:ff:ff:ff:ff

 

理论上说,可以将以太网理解为一个网络上所有主机连接的总线。最初的时候,以太网是用同轴电缆实现的,每一台主机通过接口连接到同轴电缆上。现代的以太网络不再采用这种方法了,而是将主机直接连接到一个叫做交换机的网络设备上。但是这个概念模型是有用的,在网络图中包括OpenStackDashboard网络图,以太网就表现为一个单独的总线。我们会经常听到一个以太网网络被称为一个2层网段。

在同一个以太网网络中,这个网络上的每台主机都可以直接向其它的主机发送数据帧。以太网也支持广播,所以一台主机可以通过向一个特殊的MAC地址ff:ff:ff:ff:ff:ff发送的方式将数据帧发送给该网络上的所有主机。ARPDHCP是使用以太网广播的两个典型的协议。因为以太网支持广播,有时我们会把一个以太网网络称为一个广播域。

当一个网卡收到一个以太网数据帧时,这个网卡缺省会检查目的MAC地址是否与网卡的MAC地址匹配(或是广播地址),如果不匹配就会丢弃这个以太网数据帧。对于一个计算主机,这种行为是不期望的,因为这个数据帧可能是发送给计算节点上一个实例的。网卡可以配置为混杂模式,即使MAC地址不匹配,也可以将所有的以太网数据帧发送给操作系统。因此,计算节点应当将特定的网卡配置为混杂模式。

正如之前提到的,现代以太网使用交换机作为网络上主机的互联设备。一个交换机是一个有很多个端口的网络硬件盒子,以太网通过交换机将以太网数据帧从一个主机转发到连接到交换机上的另一个主机。当主机第一次通过交换机发送数据帧时,交换机不知道哪个MAC地址连接到了哪个端口。如果一个以太网数据帧指向一个的MAC地址,交换机会将数据帧广播到所有的端口。交换机端口通过观察数据流学习哪个MAC地址关联到哪个端口。一旦这个端口知道了MAC地址和端口的关联关系,它可以直接将以太网数据帧发送到正确的端口而不必再广播了。交换机维护MAC地址和交换机端口的对应表,这个表称之为一个转发表或转发信息库(FIB)。交换机之间可以通过daisy-chained(菊花链)的方式连接到一起,这样做的结果就是主机和交换机就像连接到了一个网络上。

虚拟局域网(VLANs

VLAN是一种虚拟网络技术,它可以将一台物理交换机划分成多个逻辑交换机,使得每个逻辑交换机同独立的物理交换机一样。这样,连接到同一台物理交换机上的两台主机如果属于不同的VLAN,则它们之间彼此看不到对方的网络流量。OpenStack利用VLAN的这个特性隔离不同租户的网络通信,即使不同租户的实例在同一台计算主机上运行。每一个VLAN都有一个关联的ID号,VLANID14095中的一个数字。我们说“VLAN 15”就表明这个VLAN关联的ID15

要理解VLAN是如何工作的,可以参照VLAN在传统IT环境下是如何应用的,物理主机连接到物理交换机,不引入虚拟化。想象一个场景,你只有一台物理交换机,但是想创建3个网络。网络管理员会选择3VLANID,例如101112,并且将VLANID与交换机上的端口关联起来。例如,交换机端口2VLAN10关联,端口3VLAN11关联,等等。当一个端口配置一个特定的VLAN,这个端口就被称为访问端口(Access口)。这台交换机相应就保证了VLAN之间网络流量是隔离的。

我们再考虑一个场景,第一台交换机的所有端口都已经被使用了,单位又买了第二台交换机并且与第一台交换机连接起来以扩展交换机端口的数量。第二台交换机也支持VLAN 101112。设想连接到第一台交换机配置为VLAN10端口的主机A发送一个以太网数据帧给主机B主机B连接到了第二台交换机配置为VLAN10的端口。当第一台交换机向第二台交换机转发转发数据帧时,它必须标记数据帧与VLAN ID10关联。

如果两台交换机连接在了一起,并且它们都配置了VLAN,连接两台交换机的端口必须配置为允许任何VLAN的数据帧转发到另外一台交换机上。此外,发送数据的交换机必须为每个以太网数据帧打VLANID标签,这样接收交换机可以保证只有与VLAN匹配的主机接受到数据帧。当一个交换机端口被配置为通过所有VLAN的数据帧并且将这些数据帧打上VLANID标签时,这个端口就被称为Trunk口。IEEE 802.1Q网络标准描述了应用trunk时,VLAN标签如何在以太网数据帧编码的。

需要注意的是,在OpenStack云中,如果你使用在物理交换机上划分VLAN的方式实现多租户隔离,必须保证所有的交换机端口都配置为trunk端口。

确保在云中选择使用没有被使用的VLAN范围。例如,预计你的云将会支持最大100个项目,需要选择一个大于100VLAN范围,比如VLAN200-299OpenStack和所有处理租户网络的物理网络基础架构必须支持这个VLAN范围。

trunk是为了连接不同的交换机。每个trunk使用一个标签标识使用了哪个VLAN。这样就保证了同一VLAN的交换机可以通信。

子网和地址解析协议(Subnets and ARP

网卡使用MAC地址标识网络中的主机,然而TCPIP应用使用IP地址。地址解析协议(ARP)通过将IP地址转换为MAC地址的方式将二者之间的缝隙连接起来。

IP地址分为网络号和主机号两个部分。如果两个主机有共同的网络号,则它们处于同一个子网中。回忆一下两台主机只有在同一个本地网络中才能通过以太网直接通信。ARP认为在同一个子网内的主机都在同一个本地网络上。网络管理员在为主机分配IP地址和子网掩码时必须注意任意两台同一子网的主机必须在相同的本地网络上,否则ARP就不能正常解析IP地址。

通过IP址的子网掩码可以计算IP地址的网络号。子网掩码表示32位的IP地址中有多少位标记网络号。

子网掩码的两种表示方法:

●        点分符号法

●        无类域间路由(CIDR)法

考虑一个IP地址192.168.1.5,它的前24位表示网络号。用点分方法的写法是255.255.255.0CIDR表示法包含IP地址和子网掩码,这个IP可以写为192.168.1.5/24

注意:

在OpenStack环境中创建CIDR子网不能包含多播地址或者本地环路地址。例如不支持使用224.0.0.0/16或者127.0.1.0/24创建子网。

有时我们想要表示一个子网,但是并不指定子网上具体的IP地址。一个通用的做法是把所有的主机标识设为0。例如,如果一个主机的IP地址是10.10.53.24/16,我们说这个子网是10.10.0.0/16

要理解ARP如何将IP地址转换为MAC地址的,考虑下面这个例子:假设主机AIP地址是192.168.1.5/24MAC地址是fc:99:47:49:d4:a0,并且主机A想要向主机B发送一个包,主机BIP地址是192.168.1.7。注意,这两台主机的网络号是一样的,所以主机A可以直接向主机B发送数据帧。

第一次,主机A想要与主机B通信,目的MAC地址是不知道的。主机A向本地网络发起一个ARP请求。这个ARP请求发起一个如下的广播消息:TOeverybody(ff:ff:ff:ff:ff:ff)。我正在寻找一台IP地址为192.168.1.7的计算机。签名:MAC地址fc:99:47:49:d4:a0

主机B做如下回应

To: fc:99:47:49:d4:a0。我有IP地址192.168.1.7。签名:MAC address 54:78:1a:86:00:a5

主机A向主机B发送以太网数据帧。

你可以使用arping命令手工发起一个ARP请求。例如,向IP地址172.16.28.2发送ARP请求:

$ arping 172.16.28.2

ARPING 172.16.28.2 from 172.16.28.241 eth0

Unicast reply from 172.16.28.2 [00:50:56:E6:47:5F]  0.818ms

Unicast reply from 172.16.28.2 [00:50:56:E6:47:5F]  0.797ms

Unicast reply from 172.16.28.2 [00:50:56:E6:47:5F]  0.757ms

Sent 3 probes (1 broadcast(s))

Received 3 response(s)

 

为了减少ARP请求的次数,操作系统维护了一个ARP缓存,包含了IP地址向MAC地址的映射。在Linux机器上,可以使用arp命令查看ARP缓存里的内容:

$ arp -n

Address                  HWtype  HWaddress           Flags Mask            Iface

172.16.28.2              ether      00:50:56:e6:47:5f      C                     eth0

172.16.28.1              ether      00:50:56:c0:00:08    C                     eth0

 

DHCP

主机可使用动态主机配置协议DHCP)自动获取网络IP地址。DHCP服务器负责将IP地址分发到网络上的主机,这些主机称为DHCP客户端。

DHCP客户端通过68端口向255.255.255.255这个地址的67端口发送一个UDP包来定位DHCP服务器。地址255.255.255.255为本地网络的广播地址:本地网络上的所有的主机都可以看到发送到这个地址的UDP包。然后,这些数据包不会转发到其他网络上。所以,DHCP服务器必须与DHCP客户端在同一个网络上,否则DHCP服务器就收不到来自客户端的广播包。DHCP服务器通过从67端口发送一个到客户端68端口UDP包来响应客户端的请求。客户端与服务器端的数据交换大体如下:

1.   客户端发送一个发现请求(我是一个在MAC地址08:00:27:b9:88:74上的客户端,我需要一个IP地址)

2.   服务器端提供服务(好的,08:00:27:b9:88:74,我为你提供了10.10.0.112这个IP地址)

3.   客户端发送一个请求(服务器10.10.0.131,我将会使用10.10.0.112这个IP地址)

4.   服务器发送一个确认(好的,08:00:27:b9:88:7410.10.0.112这个IP地址是你的了)

OpenStack使用了一个叫做dnsmasq的第三方程序实现了DHCP服务器。DnsmasqDHCP的请求和应答写入到了syslog,我们可以在syslog中查看。

$ Apr 23 15:53:46 c100-1 dhcpd: DHCPDISCOVER from 08:00:27:b9:88:74 via eth2

Apr 23 15:53:46 c100-1 dhcpd: DHCPOFFER on 10.10.0.112 to 08:00:27:b9:88:74 via eth2

Apr 23 15:53:48 c100-1 dhcpd: DHCPREQUEST for 10.10.0.112 (10.10.0.131) from 08:00:27:b9:88:74 via eth2

Apr 23 15:53:48 c100-1 dhcpd: DHCPACK on 10.10.0.112 to 08:00:27:b9:88:74 via eth2

 

 

当排查一台实例无法通过网络访问时的问题时,可以通过检查这个日志来验证DHCP协议的四个步骤来帮助我们解决问题。

IP

互联网协议(IP)规定如何在两台连接在不同本地网络上的主机之间路由数据包。IP依赖称为路由或网关的特殊主机。一个路由器是一台连接到至少两个本地网络上的主机,并且可以将IP数据包从一个本地网络转发到另外的本地网络。一个路由器有多个IP地址:每一个IP地址对应与其连接的网络。

OSI七层网络模型上,IP位于第三层,这一层被称为网络层。当我们讨论IP是,会经常听到诸如第三层,L3和网络层这样的词汇。

当一台主机向一个IP地址发送数据包时,它首先会查询自己的路由表,然后决定将数据包发送到本地网络的哪台主机上。一个路由表维护了这台主机所连接的本地网络的子网清单,以及这些本地网络上的路由器的清单。

在一台Linux机器上,下面的任何一条命令都可以显它的示路由表:

$ ip route show

$ route –n

$ netstat -rn

 

下面时使用ip route show输出路由表的例子:

$ ip route show

default via 10.0.2.2 dev eth0

10.0.2.0/24 dev eth0  proto kernel  scope link  src 10.0.2.15

192.168.27.0/24 dev eth1  proto kernel  scope link  src 192.168.27.100

192.168.122.0/24 dev virbr0  proto kernel  scope link  src 192.168.122.1

 

第一行的输出指定了默认路由的位置,当其他的路由规则都不匹配时由它作为一个有效的路由。连接在默认路由上的路由器(上面例子中的10.0.2.2)有时会作为默认的网关。DHCP服务器一般会将默认网关的IP地址以及客户端IP和子网掩码传输给客户端。

第二行输出表示在10.0.2.0/24子网中的IP处于与网卡eth0连接的本地网络上。

第三行输出表示在192.168.27.0/24子网中的IP处于与网卡eth1连接的本地网络上。

第四行输出表示在192.168.122/24子网中的IP处于与网卡virbr0连接的本地网络上。

Route –n netstatrn命令的输出格式只有细微的差别。下面这个例子展示了使用这两个命令的输出格式:

$ route -n

Kernel IP routing table

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface

0.0.0.0         10.0.2.2        0.0.0.0         UG        0 0          0 eth0

10.0.2.0        0.0.0.0         255.255.255.0   U         0 0          0 eth0

192.168.27.0    0.0.0.0         255.255.255.0   U         0 0          0 eth1

192.168.122.0   0.0.0.0         255.255.255.0   U         0 0          0 virbr0

 

 

Ip route get命令输出目的IP地址的路由。下面的例子中,目的IP地址10.0.2.14在本地网络的eth0网卡上,可以直接发送:

$ ip route get 10.0.2.14

10.0.2.14 dev eth0  src 10.0.2.15

 

 

目的IP地址93.184.216.34没有在主机连接的任何本地网络上,将会转发到10.0.2.2这个缺省网关上。

一个IP包通过多个路由器跳转到达目的地址是通常发生的情况。在一个Linux主机上,traceroute和最近的mtr程序可以打印出一个IP包经过的每个路由器的IP地址。

TCP/UDP/ICMP

网络软件程序通过IP网络通信,它们需要使用IP层之上的协议。这些协议位于OSI模型的第四层,被称为传输层或第四层。可参考由互联网数字分配机构(IANA)维护的ProtocolNumbers这个网页,这个网页列出了IP协议智商的协议列表和它们关联的协议号。

传输控制协议(TCP)是最常用的4层协议。TCP是一个面向连接的协议:它使用客户端-服务器端模型,客户端连接到服务器端,服务器端启动收到连接的应用程序。基于TCP的应用程序典型的交互过程如下:

1.   客户端向服务器端发起连接请求

2.   客户端羽服务器端交换数据

3.   客户端与服务器端断开连接

因为一个网络主机可能会有多个基于TCP的应用在运行,TCP使用一个叫做端口的地址模式来唯一标识基于TCP的应用。TCP端口的范围为1-65535,操作系统强制限制在同一时间主机上仅能有一个应用程序使用同一个端口。

一个TCP服务监听一个端口。例如,SSH服务通常监听22端口。一个客户端使用TCP连接到一个服务器,这个客户端必须同时知道服务器的IP地址和TCP端口。

TCP客户端程序的操作系统自动为客户端分配一个端口号。这个客户端将会保留这个端口号直至TCP连接中断,之后操作系统会回收这个端口号。这类端口称为临时端口。

IANA维护了很多基于TCP服务的端口号记录表,以及使用端口号的其他四层协议。注册一个TCP端口号是不必要的,但是注册一个端口号对于避免与其他服务冲突是有帮助的。请参考附录B:OpenStack配置指南的防火墙与默认端口部分查看部署一个OpenStack环境相关的不同服务使用的默认端口号。

写基于TCP程序最常用的软件编程接口是伯克利sockets,另外的称谓是BSD sockets 或简称sockets。Sockets API为TCP程序释放面向流的接口:从程序员的视角来,通过TCP连接发送数据类似于向一个文件写字节流。操作系统的TCP/IP实现将数据流分解组合成IP数据包。操作系统也负责重传丢弃的数据包,并且负责流量控制,从而保证传送的数据不会超出发送数据缓存、接收数据缓存和网络传输能力。最终,操作系统在接受端将数据包按照正确的顺序重组成数据流。因为TCP检测并重传丢失的数据包,所以它被称为可靠的协议。

用户数据报协议(UDP)是另一种四层协议,它是很多著名网络协议的基础。UDP是一个无连接的协议:两个通过UDP通信的应用程序在交换数据中前无需建立连接。UPD协议同时也是一个不可靠的协议。操作系统不会监测或重传丢失的UDP数据包。操作系统同样不保证接受到的数据包顺序与发送顺序一致。

 

UDPTCP一样,使用端口的概念区分运行在同一个系统上的不同应用。需要注意的是操作系统对待UDP端口与TCP端口是分开的。例如一个程序使用TCP端口16543,另一个程序可以使用UDP端口16543

TCP一样,Socket API是写基于UDP程序的最常用的接口。SocketsAPIUDP程序提供了一个面向消息的接口:一个程序通过传送一个固定大小的消息在UDP发送数据。如果一个程序需要重传丢失的数据包或者需要定义良好的接收顺序,需要在应用中依靠程序自己来实现这些功能。

DHCP,域名系统(DNS),网络时间协议(NTP)和虚拟可扩展局域网(VXLAN)是在OpenStack环境中使用UDP协议的典型例子。

UDP支持一对多的通信,向多台主机发送一个数据包。通过将接收端IP地址设为特殊的IP广播地址255.255.255.255,应用可以向同一网络中所有主机发送一个UDP广播包。应用也可以使用IP多播将一个UDP数据包发送到一组接收主机。接收端应用程序通过将UDPsocket绑定到一个特殊的有效多播组IP地址就可以加入到一个多播组。接收端主机并不一定与发送端主机在一个本地网络中,但是中间的路由器必须配置为支持IP多播路由。VXLAN就是一个基于UDP协议使用IP多播的例子。

Internet控制报文协议是一个通过IP网络发送控制报文的协议。例如,如果一个路由器在它的路由表中找不到对应的目的地址(ICMP编码1,目的主机不可达)或者IP数据包太大以至于超出了路由器的处理能力(ICMP编码4,需要分段并且没有置位分段标识),这台路由器就会向源主机发送一个ICMP包。

pingmtrLinux命令行工具是网络应用使用ICMP的两个例子。

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

相关文章

  1. android 使用adb命令导出指定位置数据库

    adb pull 拉取指定目录下的文件 adb pull /storage/emulated/0/es_cabin/dhlgrid.db adb pull /storage/emulated/0/es_cabin/dhlgrid.db-shm adb pull /storage/emulated/0/es_cabin/dhlgrid.db-wal...

    2024/4/7 0:44:22
  2. 127序列化流和反序列化流概述ObjectOutputStream对象的序列化流写对象writeObject();]ObjectInputStream对象的反序列化流[读对象readObject();

    序列化和反序列化就是把对象写入到文件中保存再把文件读取出来...

    2024/4/24 7:18:10
  3. Springboot集成shiro

    springboot集成Shiro1、依赖2、自定义的realm3、shiro的配置类4、控制器5、 登陆界面1.pom文件1、依赖 2、自定义的realm 3、shiro的配置类 4、控制器 5、 登陆界面 1.pom文件 <dependency><groupId>org.apache.shiro</groupId><artifactId>shir…...

    2024/4/19 4:43:23
  4. BASE理论

    BASE理论是对CAP的一种解决思路&#xff0c;包含三种思想 Basically Available&#xff08;基本可用&#xff09;&#xff1a;分布式系统出现故障时允许损失部分可用性&#xff0c;即保证核心可用 Soft State&#xff08;软状态&#xff09;&#xff1a;在一定时间内允许出现中…...

    2024/4/19 23:53:52
  5. 学Java用什么软件工具好

    Java已经发展成为世界上最流行的编程语言之一。它用途广泛&#xff0c;相对易于使用&#xff0c;并且具有广泛的用例。这使它成为一种很好的学习语言—对于初学者和有经验的程序员来说&#xff0c;导致大量的人询问如何用Java编码。 学Java用什么软件工具好&#xff1f; 需要什…...

    2024/4/20 9:19:10
  6. OpenCV常用操作

    1、色彩空间转换 cvtColor cvtColor(image, hsv, COLOR_BGR2HSV); hsv格式 cvtColor(image, gray, COLOR_BGR2GRAY); 灰色图 2、图像像素的算数运算&#xff08;加减乘除&#xff09; 加&#xff1a;add(Mat src1,Mat src2,Mat addRes); 减&…...

    2024/4/18 22:55:33
  7. Candence17.2自带的库说明

    AMPLIFIER.OLB共182个零件&#xff0c;存放模拟放大器IC&#xff0c;如CA3280&#xff0c;TL027C&#xff0c;EL4093等。 ARITHMETIC.OLB共182个零件&#xff0c;存放逻辑运算IC&#xff0c;如TC4032B&#xff0c;74LS85等。 ATOD.OLB共618个零件&#xff0c;存放A/D转换IC&…...

    2024/4/23 23:21:00
  8. 面试官问我MySQL调优,我真的是

    面试官&#xff1a;要不你来讲讲你们对MySQL是怎么调优的&#xff1f; 候选者&#xff1a;哇&#xff0c;这命题很大阿…我认为&#xff0c;对于开发者而言&#xff0c;对MySQL的调优重点一般是在「开发规范」、「数据库索引」又或者说解决线上慢查询上。 候选者&#xff1a;…...

    2024/4/19 11:46:22
  9. SFUD (Serial Flash Universal Driver) 串行 Flash 通用驱动库

    SFUD (Serial Flash Universal Driver) 串行 Flash 通用驱动库 0、SFUD 是什么 SFUD 是一款开源的串行 SPI Flash 通用驱动库。由于现有市面的串行 Flash 种类居多&#xff0c;各个 Flash 的规格及命令存在差异&#xff0c; SFUD 就是为了解决这些 Flash 的差异现状而设计&…...

    2024/4/21 12:21:46
  10. Python函数

    目录一.目的与要求&#xff08;一&#xff09; 目的&#xff08;二&#xff09; 要求二.实验内容三. 实验代码清单四.小结&#xff08;运行结果分析&#xff09;一.目的与要求 &#xff08;一&#xff09; 目的 通过函数的设计&#xff0c;熟练掌握函数的使用&#xff0c;进一…...

    2024/4/15 5:12:43
  11. 笔记少时诵诗书

    操作系统 死锁的条件&#xff1a; 1.资源互斥&#xff1a;一个资源同时只能被一个线程占有 2.请求保持&#xff1a;线程请求其他资源被阻塞&#xff0c;此时他不会释放自己的资源 3.不可剥夺&#xff1a;线程的资源只能 4.存在线程-资源的环 计算机网络 流量控制和拥塞控…...

    2024/4/16 0:25:44
  12. 学习Java看什么书?哪些适合学者参考

    每当程序员开始学习Java编程语言时&#xff0c;他们问的第一个问题是&#xff1a;“我应该参考哪本书来学习Java&#xff1f;”或“对于初学者来说&#xff0c;学习Java的最佳书籍是什么&#xff1f;”或者“你能告诉我一些学习Java的好书吗&#xff1f;”这本身就说明了Java书…...

    2024/4/20 17:36:28
  13. 中国冰鲜鸡市场经营和品牌竞争分析报告(2021-2026年)

    中国冰鲜鸡市场经营和品牌竞争分析报告(2021-2026年) ************************************** 【报告编号】: BG545774 【出版时间】: 2021年11月 【出版机构】: 中智正业研究院 免费售后服务一年&#xff0c;具体订购内容及流程欢迎咨询客服专员。 内容简介&#xff1a; 第…...

    2024/4/17 4:46:22
  14. 数据结构实验四

    7-1 【模板】KMP字符串匹配 (20 分) 给出两个字符串text和pattern&#xff0c;其中pattern为text的子串&#xff0c;求出pattern在text中所有出现的位置。 为了减少骗分的情况&#xff0c;接下来还要输出子串的前缀数组next。 输入格式: 第一行为一个字符串&#xff0c;即为…...

    2024/4/19 21:12:48
  15. SpringBoot 创建主子模块后 项目正常运行并访问接口测试

    1.前面两篇博客 讲了 创建和配置 使用idea 创建 SpringBoot 和Maven 主子模块项目工程_Json的知识梦工厂-CSDN博客 SpringBoot 中mybatis-plus的代码生成器和常用配置文件_Json的知识梦工厂-CSDN博客 下面就是开发与测试 1.控制层 2.创建启动类 3.创建配置类 配置mapper扫描…...

    2024/4/15 5:12:38
  16. 『行远见大』 BQ Corpus 信贷文本匹配相似度计算

    『行远见大』 BQ Corpus 信贷文本匹配相似度计算 项目简介 BQ Corpus 信贷文本匹配相似度计算&#xff0c;根据两段银行信贷业务的文本在语义上是否相似进行二分类&#xff0c;相似判断为1&#xff0c;不相似判断为0。本项目为各位同学提供一个 Baseline&#xff1a;acc 0.8…...

    2024/4/20 14:51:42
  17. 【算法千题案例】每日LeetCode打卡——69.赎金信

    &#x1f4e2;前言&#x1f332;原题样例&#xff1a;赎金信&#x1f33b;C#方法&#xff1a;数组存储&#x1f33b;Java 方法&#xff1a;数组存储&#x1f4ac;总结&#x1f4e2;前言 &#x1f680; 算法题 &#x1f680; &#x1f332; 每天打卡一道算法题&#xff0c;既是…...

    2024/4/16 19:54:08
  18. jQuery Mobile弹出对话框后不刷新原页面,保持原页面内容不变

    使用jQuery Mobile开发移动应用程序时,在一个页面上弹出对话框,关闭对话框后,发现原来的页面被刷新了。如果原页面上有一些已经选择或者填写的数据,则这些数据就会丢失。这时候,就需要对对话框的返回按钮做一些处理,让页面返回到对话框父页面在弹出对话框执勤的状态。 弹…...

    2024/4/19 19:31:41
  19. loading完成, 加载提示条自动消失

    <!doctype html> <html> <head> <script> window.οnlοad=function(){var a = document.getElementById("loading");a.parentNode.removeChild(a); } document.write(<div id="loading" style="background:green;color:#…...

    2024/4/15 5:12:43
  20. 微星Z370M主板参数

    一 概述 官网信息&#xff1a;Specification Z370M MORTAR | 微星中国 (msi.com)https://cn.msi.com/Motherboard/Z370M-MORTAR/Specification 二 参数截图 个别细节待后续了解分析。。。...

    2024/4/15 5:12:18

最新文章

  1. 广播,组播,多进程并发通信,多线程并发通信

    广播服务器搭建&#xff1a; #include <myhead.h> #define PORT 8888 #define IP "192.168.124.255" int main(int argc, const char *argv[]) { //创建流套接字 int sfd socket(AF_INET,SOCK_DGRAM,0); if(sfd < 0){ fprintf(stde…...

    2024/4/25 9:12:56
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. FreeRTOS学习 -- 再识

    工作中一直使用FreeRTOS进行着开发&#xff0c;但是没有进行过系统的总结过。现在将快速使用几天时间将FreeRTOS相关知识点加以总结。 官网&#xff1a; https://www.freertos.org/zh-cn-cmn-s/ 参看资料&#xff1a; 正点原子 STM32F1 FreeRTOS开发手册_V1.2.pdf The FreeRTOS…...

    2024/4/23 6:24:52
  4. MySQL 底层数据结构 聚簇索引以及二级索引 Explain的使用

    数据结构 我们知道MySQL的存储引擎Innodb默认底层是使用B树的变种来存储数据的 下面我们来复习一下B树存储 B树存储 哈希存储的区别 哈希存储,只能使用等值查询 B树与B树存储 我们知道B树实际上就是B树的变种 那么为啥使用B树而不是使用B树呢? 我们知道效率的高低主要取决于…...

    2024/4/23 6:22:51
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/23 20:58:27
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/23 13:30:22
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/23 13:28:06
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/24 18:16:28
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/23 13:27:44
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/19 11:57:53
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/23 13:29:53
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/23 13:27:22
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/23 13:28:42
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/23 22:01:21
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/23 13:29:23
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/25 0:00:17
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/25 4:19:21
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/19 11:59:23
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/19 11:59:44
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/25 2:10:52
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/24 16:38:05
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/23 13:28:14
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/23 13:27:51
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/23 13:27:19
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57