计算机网络之网络层:数据平面

news2024/11/23 23:30:24

四.网络层:数据平面

4.1 网络层概述

网络层被分解为两个相互作用的部分,即数据平面和控制平面。

数据平面决定到达路由器输入链路之一的数据报如何转发到该路由器的输出链路之一,转发方式有:

  • 传统的IP转发:转发基于数据报的目的地址
  • 通用的转发:可以使用数据报首部中的几个不同域的值执行转发和其它功能

该控制平面功能控制数据报沿着从源主机到目的主机的端到端路径中路由器之间的路由方式

  • 传统上,控制平面路由选择协议和数据平面转发功能已被实现成一个整体,位于一台路由器中
  • 软件定义网络 (Software - Defined Networking , SDN) 通过将这些控制平面功能作为一种单独服务,明确地分离数据平面和控制平面,控制平面功能通常置于一台远程”控制 器”中

4.1.1 转发和路由选择:数据平面和控制平面

转发是数据平面的功能,路由选择是控制平面的功能

转发:当一个分组到达某路由器的一条输入链路时,该路由器必须将该分组移动到适当的输出链路

路由选择:当分组从发送方流向接收方时,网络层必须决定这些分组所采用的路由或路径计算这些路径的算法被称为路由选择算法。

1.控制平面:传统的方法

        路由选择算法决定了插入该路由器转发表的内容。在上图中,路由选择算法运行在每台路由器中,并且在每台路由器中都包含转发和路由选择两种功能。在一台路由器中的路由选择算法与在其他路由器中的路由选择算法通信,以计算出它的转发表的值。这种通信是根据路由选择协议交换包含路由选择信息的路由选择报文进行通信的。

2.控制平面:SDN方法

        上图显示了将控制平面从路由器物理上分离的一种方法,远程控制器计算和分发转发表以供每台路由器所使用。注意到上图和上上图的数据平面组件是相同的。而在上图中,控制平面路由选择功能与物理的路由器是分离的,即路由选择设备仅执行转发,而远程控制器计算并分发转发表。远程控制器可能实现在具有高可靠性和冗余的远程数据中心中,并可能由 ISP 或某些第三方管理。路由器和远程控制器是通过交换包含转发表和其他路由选择信息的报文进行通信的。

4.1.2 网络层的服务模型

网络层能够提供的某些可能的服务

  • 确保交付 该服务确保分组将最终到达目的地  
  • 具有时延上界的确保交付 该服务不仅确保分组的交付,而且在特定的主机到主机时延上界内(例如100ms内)交付
  • 有序分组交付 该服务确保分组以它们发送的顺序到达目的地
  • 确保最小带宽 这种网络层服务模仿在发送和接收主机之间一条特定 比特率的传输链路的行为。只要发送主机以低于特定比特率(例如1Mbps)的速率传输比特 (作为分组的组成部分),则所有分组最终会交付到目的主机
  • 安全性 网络层能够在源加密所有数据报并在目的地解密这些分组,从而对所有运输层报文段提供机密性

这只是网络层能够提供的服务的部分列表,有无数种可能的服务变种

因特网的网络层提供了单一的服务,称为尽力而为服务(best-effort service)

4.2 路由器工作原理

输入端口:执行几项重要功能。它在路由器中执行终结入物理链路的物理层功能,这显示在上图中输入端口部分最左侧的方框与输出端口部分最右侧的方框中。它还要与位于入链路远端的数据链路层交互来执行数据链路层功能,这显示在输入与输出端口部分中间的方框中。也许更为重要的是,在输入端口还要执行查找功能,这显示在输入端口最右侧的方框中。正是在这里,通过查询转发表决定路由器的输出端口,到达的分组通过路由器的交换结构转发到输出端口。控制分组(如携带路由选择协议信息的分组)从输入端口转发到路由选择处理器。

交换结构:交换结构将路由器的输入端口连接到它的输出端口。这种交换结构完全包含在路由器之中,即它是一个网络路由器中的网络。

输出端口:输出端口存储从交换结构接收的分组,并通过执行必要的链路层和物理层功能在输出链路上传输这些分组。当一条链路是双向的时(即承载两个方向的流量),输出端口通常与该链路的输入端口成对出现在同一线路卡上。

路由选择处理器:路由选择处理器执行控制平面功能。在传统的路由器中,它执行路由选择协议,维护路由选择表与关联链路状态信息,并为该路由器计算转发表 SDN 路由器中,路由选择处理器负责与远程控制器通信,目的是接收由远程控制器计算的转发表项,并在该路由器的输入端口安装这些表项。路由选择处理器还执行网络管理功能。

4.2.1 输入端口处理和基于目的地转发

路由器针对分组中的IP地址使用最长前缀匹配规则对分组进行转发

4.2.2 交换结构

交换可以用许多方式完成,如以下三种交换方式

  • 经内存交换
  • 经总线交换
  • 经互联网络交换

4.2.3 输出端口处理

4.2.4 出现排队

在输入端口和输出端口的网络层会出现排队

4.2.5 分组调度

  • 先进先出
  • 优先权排队
  • 循环和加权公平排队

4.3 网际协议:IPv4、寻址、IPv6及其他

4.3.1 IPv4数据报格式

版本:这4比特规定了数据报的 IP 协议版本,。也就是此数据报是IPv4还是IPv6。

首部长度:因为一个 IPv4 数据报可包含一些可变数量的选项,这些选项包括在 IPv4 数据报首部中,故需要用这 4 比特来确 lP 数据报中载荷实际开始的地方。大多数IP数据报不包含选项,所以一般的IP数据报具有20字节的首部。

服务类型:服务类型 (TOS) 比特包含在 IPv4 首部中,以便使不同类型的 IP 数据报(例如,一些特别要求低时延、高吞吐量或可靠性的数据报) 能相互区别开来。例如,将实时数据报(如用于 IP 电话应用)与非实时流量(如 FTP) 分开也许是有用的。

数据报长度:这是 IP 数据报的总长度(首部加上数据),以字节计。该字段长为 16 比特。

标识、标志、片偏移:这三个字段与所谓 IP 分片有关,这是一个我们将很快要考虑的主题。有趣的是, IPv6 不允许在路由器上对分组分片。

生存时间:生存时间 (Time-To-Live,TTL) 字段用来确保数据报不会永远在网络中循环。每当一台路由器处理数据报时,该字段的值减1。若TTL字段减为 0,则该数据报必须丢弃。

协议:该字段通常仅当 IP 数据报到达其最终目的地时才会有用。该字段值指示了 IP 数据报的数据部分应交给哪个特定的运输层协议。

首部检验和:首部检验和用于帮助路由器检测收到的 IP 数据报中的比特错误。

源和目的 IP 地址:当某源生成一个数据报时,它在源 IP 字段中插入它的 IP 址,在目的 IP 地址字段中插入其最终目的地的地址。通常源主机通过 DNS 查找来决定目的地址。

选项:选项字段允许首部被扩展。

数据:IP 数据报中的数据字段包含要交付给目的地的运输层报文(TCP或UDP) 。然而,该数据字段也可承载其他类型的数据,如 ICMP 报文。

4.3.2 IPv4 数据报分片

问题:并不是所有链路层协议都能承载相同长度的网络层分组。有的协议能承载大数据报,而有的协议只能承载小分组。例如,以太网帧能够承载不超过 1500 字节的数据,而某些广域网链路的帧可承载不超过 576 字节的数据。一个链路层帧能承载的最大数据量叫作最大传送单元 (Maxi ,um Transmission Unil, MTU)。

解决方法:将 IP 数据报中的数据分片成两个或更多个较小的数据报,用单独的链路层封装这些较小的 IP 数据报,然后通过输出链路发送这些帧。每个这些较小的数据报都称为片。

标识、标志、片偏移字段的作用

        当一台目的主机从相同源收到一系列数据报时,它需要确定这些数据报中的某些是否是一些原来较大的数据报的片。如果某些数据报是这些片的话,则它必须进一步确定何时收到了最后一片,并且如何将这些接收到的片拼接到一起以形成初始的数据报。为了让目的主机执行这些重新组装任务, IPv4 的设计者将标识、标志和片偏移字段放在数据报首部中,当生成一个数据报时,发送主机在为该数据报设置源和目的地址的同时贴上标识号,发送主机通常将它发送的每个数据报的标识号加1。 当某路由器需要对一个数据报分片时,形成的每个数据报(即片)具有初始数据报的源地址、目的地址与标识号。当目的地从同一发送主机收到一系列数据报时,它能够检查数据报的标识号以确定哪些数据实际上是同一较大数据报的片。由于 IP 是一种不可靠的服务,一个或多个片可能永远到达不了目的地。因为这种原因,为了让目的主机绝对地相信它已收到了初始数据报的最后一 个片,最后一个片的标志比特被设为0、而所有其他片的标志比特被设为1。另外,为了 让目的主机确定是否丢失了一个片(且能按正础的顺序重新组装片),使用偏移字段指定该片应放在初始 IP 数据报的哪个位置。

4.3.3 IPv4编址

IPv4地址的书写方式:IP地址通常按所谓点分十进制记法书写。地址中的每个字节用它的十进制形式书写,各字节间以句点隔开。例如,考虑 IP 地址 193.32.216.9,193 是该地址的第一个比特的十进制等价数,32 是该地址的第二个8比特的十进制等价数,依次类推。因此,地址 193.32.216.9 的二进制记法是:

11000001 00100000 11011000 00001001

子网:为了确定子网,分开主机和路由器的每个接口,产生几个隔离的网络岛,使用接口端接这些隔离的网络的端点。这些隔离的网络中的每一个都叫作一个子网。

因特网的地址分配策略:因特网的地址分配策略叫无类别域间路由选择(CIDR),CIDR 将子网寻址的概念一般化了。使用子网寻址时,32 比特的 IP 地址被划分为两部分,并且也具有点分十进制数形式 a. b. c. d/x,其中的 /x 记法有时称为子网掩码。其中 x 指示了地址的第一部分中的比特数。形式为 a. b. c. d/x 的地址的x最高比特构成了 IP 地址的网络部分,并且经常被称为该地址的前缀prefix。一个组织通常被分配一块连续的地址,即具有相同前缀的一段地址。

子网范例:

上图中,左边三个主机和路由器左边的端口是一个子网;路由器右边的端口和右边的二台主机是一个子网;路由器下边的端口和下边的二台主机是一个子网。

        下图是一个 ISP 将8个组织连接到因特网的例子,它很好地说明了仔细分配 CIDR 化的地址有利于路由选择的道理。如下图所示,假设 ISP (我们称之为 Fly- By - Night - ISP) 向外界通告,它应该发送所有地址的前 20 比特与 200.23.16.0/20 相符的数据报。外界的其他部分不需要知道在地址块 200.23.16.0/20 内实际上还存在8个其他组织,其中每个组织有自己的子网。这种使用单个网络前缀通告多个网络的能力通常称为地址聚合

        如下图所示,如果 Fly- By- Night - ISP 获取了 ISPs-R-Us,然后让组织 1 通过它辅助的 ISPs-R-Us 与因特网相连,在这种情况下Fly- By- Night- ISP 继续通告地址块 200.23. 16.0/20,并且 lSP -R- Us 也继续通告地址块199.31.0.0/16。然而,ISPs-R-Us 现在还要通告组织 1 的地址块 200.23.18.0/23。当在更大的因特网上的其他路由器看见地址块 200.23.16.0/20 (来自 By- Night- ISP)和 200.23.18.0/23 (来自 ISPs R- Us) ,并且想路由选择到地址块 200.23.18.0/23 内的一个地址时,它们将使用最长前缀匹配,并朝着 ISPs-R-Us 路由,因为它通告了与目的地址相匹配的最长的地址前缀。

 一个地址的剩余 32 比特可认为区分该组织内部设备的。其中的所有设备有相同的网络前缀。当该组织内部的路由器转发分组时,才会考虑这些比特。这些较低阶的比特可能形成子网内部的子网。

IP广播地址:255.255.255.255。该报文会被交付给同一网络中的所有主机。

1.组织获取一块地址的方法

从ISP内获取地址

为了获取 IP 址用于一个组织的子网内,某网络管理员也许首先会与他的 ISP 联系,该 ISP 可能会从已分给它的更大地址块中提供一些地址。

向ICANN组织申请地址

非营利的 CANN 组织的作用不仅是分配 IP 地址,还管理 DNS 根服务器。它还有一项容易引起争论的工作,即分配域名与解决域名纷争。CANN 向区域性因特网注册机构(如 ARIN、RIPE、 APNIC、LACNIC 分配地址),这些机构一起形成了ICANN 的地址支持组织,处理本区域内的地址分配/管理。

2.获取主机地址:动态主机配置协议

什么是DHCP

主机地址可以使用手工配置,但通常使用动态主机配置协议(DHCP)进行配置。DHCP是一个客户-服务器协议。客户通常是新到达的主机,它要获得包括自身使用 IP 地址在内的网络配置信息。

DHCP服务器的位置

在最简单场合下,每个子网将具有 DHCP 服务器。如果在某子网中没有服务器,则需要一个 DHCP 中继代理(通常是一台路由器),这个代理知道用于该网络的 DHCP 服务器的地址。

对于一台新到达的主机而言,通过DHCP获取IP地址的步骤如下

DHCP 服务器发现:新到达的主机可通过使用 DHCP 发现报文发现一个要与其交互的 DHCP服务器。客户在 UDP 分组中向端口 67 发送该发现报文。该UDP 分组封装在一个 IP 数据报中。但是 这个数据报应发给谁呢?主机甚至不知道它所连接网络的 IP 地址,更不用说用于该网络的 DHCP 服务器地址了,在这种情况下,DHCP 客户生成包含 DHCP 发现报文的 IP 数据报。其中使用广播目的地址 255.255.255.255 并且使用本主机源 IP 地址 0. 0. 0. 0。DHCP 客户将该 IP 数据报传递给链路层,链路层然后将该帧广播到所有与该子网连接的节点。

DHCP 服务器提供:DHCP 服务器收到 DHCP 发现报文时,用 DHCP 提供报文向客户做出响应,该报文向该子网的所有节点广播,仍然使用 IP 广播地址 255.255.255.255。因为在子网中可能存在几个 DHCP 服务器,该客户也许会发现它处于能在几个提供者之间进行选择的优越位置。每台服务器提供的报文包含有收到的发现报文的事务 、向客户推荐的 IP 地址、网络掩码以及 IP 地址租用期,即 IP 地址有效的时间量。服务器租用期通常设置为几小时或几天。

DHCP请求:新到达的客户从一个或多个服务器提供中选择一个 ,并向选中的服务器提供用 DHCP 请求报文进行响应,回显配置的参数。

DHCP ACK:服务器用 DHCP ACK 报文对DHCP 请求报文进行响应,证实所要求的参数。

4.3.4 网络地址转换

何处使用到网络地址转换

        网络地址转换越来越广泛地被应用于小型办公室、家庭办公室。在一个家庭网络中,有一台NAT使能路由器,如下图所示。在家庭网络内的编址就像下图中看到的完全一样,其中的所有4个接口都具有相同的网络地址 10.0.0/24。地址 10.0.0.0/8 是在 [RFC 1918] 中保留的三部分 IP 地址空间之一,这些地址用于如下图中的家庭网络等专用网络或具有专用地址的地域。

        在一个给定家庭网络中的设备能够使用 10.0.0.0/24 编址彼此发送分组。然而,转发到家庭网络之外进入更大的全球因特网的分组显然不能使用这些地址,因为有数十万的网络使用着这块地址。当家庭网络中的主机向或从全球因特网发送或接收分组时如何处理编址问题呢?答案在于理解NAT

NAT使能路由器是如何来实现网络地址转换

        NAT 使能路由器对外界隐藏了家庭网络的细节,在NAT路由器上有一张NAT转换表,并且在表项中包含了端口号及其IP地址。假设一个用户坐在家庭网络主机 10.0.0.1 后,请求 IP 地址为 128.119.40.186 某台 Web 服务器上的页面。主机 10.0.0.1 为其指派了(任意 )源端口号 3345 并将该数据报发送到 LAN中。NAT 路由器收到该数据报、为该数据报生成一个新的源端口号 5001 ,将源 IP 替代为其广域网一侧接口的 IP 地址138. 76.29. 7,且将源端口 3345 更换为新端口 5001,当生成一个新的源端口号时,NAT 路由器可选择任意一个当前未在 NAT 转换表中的源端口号。路由器中的 NAT 在它的 NAT 转换表中增加一表项。Web 服务器并不知道刚到达的包含 HTTP 请求的数据报已被 NAT 路由器进行了改装。它会发回一个响应报文,其目的地址为 NAT 路由器的 lP 地址、其目的端口 5001 ,当该报文到达 NAT 路由器时 、路由器使用 IP 地址与目的端口号从 NAT 转换表中检索出家庭网络浏览器使用的适当 IP ( 10. 0. 0. 0)和目的端口号 (3345)。于是,路由器重写该数据报的目的 IP 地址与目的端口号,并向家庭网络转发该数据报。

家庭网络计算机是从哪儿得到其地址的呢?路由器又是从哪儿得到它的 IP 地址的?

        在通常的情况下 ,答案是相同的,即 DHCP,路由器从 ISP DHCP 服务器得到它的地址、并且路由器运行一个 DHCP 服务器,为位于 NAT-DHCP 路由器控制的家庭网络地址空间中的计算机提供地址。

4.3.5 IPv6

IPv4的地址会被分配完,由此引入IPv6

1.IPv6数据报的格式

版本:该4比特字段用于标识 IP 版本号。

流量类型:比特字段与我们在 IPv4 中看到的 TOS 字段的含义相似。

流标签:该 20 比特的字段用于标识一条数据报的流,能够对一条流中的某些数据报给出优先权,或者它能够用来对来自某些应用(例如 lP 话音)的数据报给出更高的优先权,以优于来自其他应用(例如 SMTP 电子邮件)的数据报。

有效载荷长度:16 比特值作为一个无符号整数,给出了 IPv6 数据报中跟在定长 40 字节数据报首部后面的字节数量。

下一个首部:该字段标识数据报中的内容需要交付给哪个协议(如 TCP UDP) 。该字段使用与 IPv4 首部中协议字段相同的值。

跳限制:转发数据报的每台路由器将对该字段的内容减1。如果跳限制计数达到 0,则该数据报将被丢弃。

源地址和目的地址:无需解释。

数据:这是 IPv6 数据报的有效载荷部分。

注意

  • 在IPv6数据报中,分片/重新组装,首部检验和、选项等字段已经全部去掉。
  • IPv6中引入了一种称为任播地址的新型地址,这种地址可以使数据报交付给一组主机中的任意一个。

2.从IPv4到IPv6的迁移

在实践中已经得到广泛采用的 IPv4 到 IPv6 迁移的方法包括建隧道

        建隧道依据的基本思想如下:假定两个 IPv6 节点(如下图中的 B 和 E) 要使用 IPv6 数据报进行交互,但它们是经由中间 IPv4 路由器互联的,我们将两台 IPv6 路由器之间的中间 IPv4 路由器的集 合称为一个隧道,如下图所示。借助于隧道,在隧道发送端的 IPv6 节点(如 B) 可将整个 IPv6 数据报放到 IPv4 数据报的数据(有效载荷)字段中。于是,IPv4 数据报的地址设为指向隧道接收端的 IPv6 节点(在此例中为E)。再发送给隧道中的第一个节点(在此例中为 C)。隧道中的中间 IPv4 路由器在它们之间为该数据报提供路由,就像对待其他数据报一样,完全不知道该 IPv4 数据报自身就含有一个完整的 IPv6 数据报。隧道接收端的 lPv6 节点最终收到该 IPv4 数据报(它是该 1Pv4 数据报的目的地),并确定该 IPv4 数据报含有 IPv6 数据报(通过观察在 IPv4 数据报中的协议号字段是 41,指示该 IPv4 有效载荷是 IPv6 数据报),从中取出 IPv6 数据报,然后再为 IPv6 数据报提供路由,就好像它是从一个直接相连的 IPv6 邻居那里接收到 IPv6 数据报一样。

4.4 通用转发和SDN

基于目的地的转发:查找目的IP地址(匹配),然后将分组发送到有特定输出端口交换结构(动作)。

通用转发:通用转发能够对协议栈的多个首部字段进行匹配,这些首部字段是与不同协议相关联的。动作包括:将分组转发到一个或多个输出端口,跨越多个通向服务的离开接口进行负载均衡,重写首部值,有意识的阻挡/丢弃某个分组,为进一步处理和动作而向某个特定的服务器发送一个分组,等等。

因为能够使用网络层和链路层源和目的地址做出转发决定,所以显示在下图中的转发设备更为准确地描述为“分组交换机”而不是第三层“路由器”或第二层 “交换机” 。因此,在后面,将这些设备称为分组交换机,这是 SDN 文献中被广泛采用的术语。 

每台分组交换机中有一张匹配加动作表,该表由远程控制器计算、安装和更新

       后续讨论基于OpenFlow,OpenFlow是一个得到高度认可和成功的标准 ,它已经成为匹配加动作转发抽象 、控制器以及更为一般的 SDN 革命等概念的先驱。

匹配加动作转发表在 OpenFlow 中称为流表, 它的每个表项包括:

  • 首部字段值的集合:入分组将与之匹配。
  • 计数器集合: 当分组与流表项匹配时更新计数器。这些计数器可以包括已经与该表项匹配的分组数量以及自从该表项上次更新以来的时间。
  • 当分组匹配流表项时所采取的动作集合:这些动作可能将分组转发到给定的输出端口,丢弃该分组、复制该分组和将它们发送到多个输出端口,重写所选的首部字段。

4.4.1 匹配

到达的分组允许与对来自三个层次的协议首部的字段进行匹配,匹配完成之后执行相应的动作

4.4.2 动作

每个流表项都有零个或多个动作列表,这些动作决定了应用于与流表项匹配的分组的处理。如果有多个动作,它们以在表中规定的次序执行

其中最为重要的动作可能是

  • 转发:一个入分组可以转发到一个特定的物理输出端口,广播到所有端口(分组到达的端口除外),或通过所选的端口集合进行多播。该分组可能被封装并发送到用于该设备的远程控制器。该控制器则可能对该分组采取某些动作,包括安装新的流表项,以及可能将该分组返回给该设备以在更新的流表规则集合下进行转发
  • 丢弃:没有动作的流表项表明某个匹配的分组应当被丢弃
  • 修改字段:在分组被转发到所选的输出端口之前,分组首部 10 个字段(4.4.1中图显示的除协议字段外的所有第二、三、四层的字段)中的值可以重写

4.4.3 匹配加动作操作中的OpenFlow例子

第一个例子:简单转发

第二个例子:负载均衡

第三个例子:防火墙

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

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

相关文章

【算法与数据结构】707、LeetCode设计链表

文章目录 一、题目二、设计链表三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、设计链表 思路分析:这里我将的成员函数放在类外实现了,这样链表类看起来更加简洁,方便大家…

jenkins用户权限管理

环境准备: 登录jenkins: http://192.168.9.190:8091/ admin asdwhl@0 一、用户权限插件安装 1、Dashboard > Manage Jenkins > Manage Plugins > Available(可选插件) 依次安装: Role-based Authorization Strategy Authorize Project

校园二手交易平台实训报告

目 录 一、设计背景 1. 需求分析 2. 课题研究的目的和意义 二、系统需求分析与开发环境 1. 系统功能需求 2. 系统界面需求 3. 开发环境 三、系统设计 四、系统测试 1. 脑模拟器测试 五、总结与展望 六、重要程序 1. LoginActivity 2. RegisterActiv…

51Proteus仿真数控0~20mA恒流源串口DAC0832数码管显示-0036

51Proteus仿真数控0~20mA恒流源串口DAC0832数码管显示-0036 Proteus仿真小实验: 51Proteus仿真数控0~20mA恒流源串口DAC0832数码管显示-0036 功能: 硬件组成:AT89C51单片机 6位数码管DAC0832电压输出多个按键(设置、移动、加、…

INTERSPEECH 2023论文|基于多频带时频注意力的复调音乐旋律提取

论文题目: MTANet: Multi-band Time-frequency Attention Network for Singing Melody Extraction from Polyphonic Music 作者列表: 高虞安,胡英,王柳淞,黄浩,何亮 研究背景 复调音乐是一种具有多个声…

[PyTorch][chapter 41][卷积网络实战-LeNet5]

前言 这里结合前面学过的LeNet5 模型,总结一下卷积网络搭建,训练的整个流程 目录: 1: LeNet-5 2: 卷积网络总体流程 3: 代码 一 LeNet-5 LeNet-5是一个经典的深度卷积神经网络,由Yann LeCun在1998年提…

zabbix-agent安装

1.CentOS release 5 1-1.centos5 32位 [rootLV zabbix]# cat /etc/redhat-release CentOS release 5 (Final) [rootLV zabbix]# uname -a Linux LV 2.6.18-53.el5xen #1 SMP Mon Nov 12 03:26:12 EST 2007 i686 i686 i386 GNU/Linux确定了系统centos5 32位rpm方式安装&#…

Ubuntu18.04离线安装redis

因需要安装redis的服务器无法连接互联网,所以需要离线安装。首先需要下载redis的安装包,之后进行安装,在安装之前需要保证gcc,g,make等依赖包已经安装。 1. 安装gcc等依赖包 依赖包安装请参考: Ubuntu18…

CI570 3BSE001440R1需要电流显示和就地/远传控制

​ CI570 3BSE001440R1需要电流显示和就地/远传控制 CI570 3BSE001440R1需要电流显示和就地/远传控制 如果变频器与通讯方式与DCS系统连接,则只需要计算1个通讯点,不需要计算其他点数。 (6)如DCS系统外接电磁阀、指示灯、接触器等…

物联网云平台数据存储方案,这次我终于找对了

《高并发系统实战派》-- 你值得拥有 文章目录 物联网云平台存储概述为什么要做存储?存储的意义在哪里?数据存储方案设计存储数据库选型需要考虑的因素数据库选型结构化数据半结构化数据非结构化数据 案例分析第一颗栗子第二颗栗子第三颗栗子第四颗栗子 …

Web安全:vulhub 靶场搭建.(各种漏洞环境集合,一键搭建漏洞测试靶场)

Web安全:vulhub 靶场搭建. Vulhub是一个面向大众的开源漏洞靶场,无需docker知识,简单执行两条命令即可编译、运行一个完整的漏洞靶场镜像。让漏洞复现变得更加简单,让安全研究者更加专注于漏洞原理本身. 目录: Web安…

DLL修复工具下载,解决DLL文件问题的方法

在计算机应用程序中,我们经常会遇到一些错误提示,如“找不到.dll文件”或“无法加载.dll文件”。这些问题通常是由于缺少或损坏的DLL文件造成的。为了解决这些问题,我们可以借助DLL修复工具来修复和恢复DLL文件。本文将介绍什么是DLL文件&…

C# 自动更新(基于FTP)

效果 启动软件后,会自动读取所有的 FTP 服务器文件,然后读取本地需要更新的目录,进行匹配,将 FTP 服务器的文件同步到本地 Winform 界面 一、前言 在去年,我写了一个 C# 版本的自动更新,这个是根据配置文…

黑盒、白盒、灰盒,如何选择合适的模糊测试工具?

在软件开发和安全领域,模糊测试是一种常用技术,用于发现应用程序或系统中的潜在漏洞和安全弱点。选择不同的模糊测试方法将极大地影响测试的有效性和效率。本文将比较对比黑盒、白盒和灰盒模糊测试的特点和优势并提供选型指导。 模糊测试的分类 黑盒模糊…

人工智能带来的利好将继续推动Palantir股价反弹

来源:猛兽财经 作者:猛兽财经 Palantir的人工智能产品已经获得行业认可 Palantir(PLTR)成立于2003年,是一家专注于数据分析和人工智能的知名软件公司。其尖端产品已应用到了政府机构、企业和非营利组织等各个行业&…

华为OD机试 Java 实现【输出单向链表中倒数第k个结点】【LeetCode练习题】,附详细解题思路

一、题目描述 输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第1个结点为链表的尾指针。 链表结点定义如下: class ListNode{int value;ListNode next;public ListNode(){}public ListNode(

解决H5在native中键盘弹起影响页面交互

您好,如果喜欢我的文章,可以关注我的公众号「量子前端」,将不定期关注推送前端好文~ 问题描述 在native中拉起键盘再收回,滚动列表实际距离发生变化,被键盘一起弹上去了(我这里大约是400px的样子&#xf…

使用yolox训练自己的数据集并测试

1.首先给出yolox原模型的下载地址: ​​​​​​https://github.com/bubbliiiing/yolox-pytorch 百度网盘链接给出自己完整的模型(包括数据集以及权重文件): 链接:https://pan.baidu.com/s/1JNjB42u9eGNhRjr1SfD_Tw 提取码&am…

Redis和Redis可视化管理工具的下载和安装

文章目录 Redis 简介一,Redis 下载二,Redis 安装三,Redis 配置四,Redis 启动 Redis-Desktop-Manager 简介一,Redis-Desktop-Manager 下载二,Redis-Desktop-Manager 安装三,Redis-Desktop-Manage…

深度学习笔记之Transformer(三)自注意力机制

深度学习笔记之Transformer——自注意力机制 引言回顾:缩放点积注意力机制自注意力机制自注意力机制与 RNN,CNN \text{RNN,CNN} RNN,CNN的对比简单介绍:卷积神经网络处理序列信息的原理从计算复杂度的角度观察 位置编码 引言 上一节对注意力分数 ( Atte…