网络知识——局域网和交换机

定义:

  • 局域网(Local Area Network,简称LAN)是指在某一区域内由多台计算机互联成的计算机组。
  • 广域网(Wide Area Network,简称WAN)是指跨越单个建筑物或大型园区,连接分布在特定地理区域甚至全球的多个位置。

补充:以太网是局域网技术之一,但是因为现在大部分的局域网均为以太网,因此一般提及局域网都会默认为以太网。

1、局域网内主机通信

局域网根据相互连通方式,分为:

  1. 共享介质式局域网
  2. 交换式局域网

两者区别为:冲突域不同、数据传输不同、连通不同。

无论哪种方式,在局域网内计算机要实现相互通信,根据OSI七层网络模型,在数据链路层需要知道计算机设备的MAC地址。所以局域网中的计算机(更确切的说是计算机中的网卡)首先要通过ARP协议,广播的方式获取对方的MAC地址。

1.1)共享局域网:

早期局域网使用的方案,典型代表是使用10Base2/10Base5的总线型网络和以集线器(HUB)为核心的星型网络。

后者使用了集线器将多台计算机集中到一起,这些设备都连接到集线器中的同一个物理总线结构中(因此,以集线器为核心的以太网与总线型以太网并无本质区别)。

1)特点:

  • 介质:采用的是同轴电缆。所有电脑连接到集线器上;
  • 信息交换方式:半双工通信,不能同时发送、接收数据;
  • 总先空闲时,计算机才可以发送数据。(任意一个时刻,网络中只能有一个节点发送数据,其他站点只可以接收信息,若想发送数据,只能退避等待)
  • 采用广播方式通信:一台设备发送的数据会被所有其他设备接受,收到后进行判断,如果是发给自己的就处理,否则就丢弃,所以很容易产生广播风暴。

2)CSMA/CD协议:

CSMA/CD(Carrie Sense Multiple Access with Collision Detection),载波监听、多点接入和冲突检测。工作原理是:侦听总线上是否有载波,总线无载波时才能发送数据。

3)缺点:

  • 所有节点都处于同一冲突域:不管一个帧从哪里来或到哪里去,所有的节点都能接收到这个数据帧。随着节点的增加,大量的冲突将导致网络性能急剧下降。
  • 所有用户共享带宽:每个用户的实际可用带宽随网络用户数的增加而递减。集线器在某一时刻只能传输一个数据帧,这就意味着集线器的所有接口都要共享同一带宽。

1.2)交换式局域网:

目前局域网基本采用交换式,多台计算机通过双绞线连接到交换机上,形成了一交换机为中心的星形拓扑结构。

在交换式局域网中,交换机根据接收到的数据帧中的MAC地址决定数据帧应发往交换机的哪个端口。因为端口间的帧传输彼此屏蔽,因此节点就不必担心自己发送的数据帧在通过交换机时是否会与其他节点发送的帧发生冲突。交换机为每个用户提供专用的信息通道,除非两个源端口企图将信息同时发往同一目的端口,否则各个源端口与各自的目的端口之间可同时进行通信而不发生冲突

1)优点:

交换机工作在数据链路层,它有效地隔离了以太网中的冲突域,极大地提升了以太网的性能。

  • 减少冲突:交换机将冲突隔绝在每一个端口(即每个端口都是一个冲突域),避免了冲突的扩散。
  • 提升带宽:接入交换机的每个节点都可以使用全部的带宽,而不是各个节点共享带宽。

2)交换机的基本工作原理:

交换机中有一个MAC地址-端口表,里面存放了MAC地址与交换机端口的映射关系。初始状态下为空;交换机会通过学习的方式记录MAC地址表。

 1.如果进入交换机的是一个单播帧,则交换机会去MAC地址表中查找这个帧的目的MAC地址。

        A、如果查不到这个MAC地址,则交换机执行泛洪操作。

        B、如果查到了这个MAC地址,则比较这个MAC地址在MAC地址表中对应的端口是不是这个帧进入交换机的那个端口。如果不是,则交换机执行转发操作。如果是,则交换机执行丢弃操作。

 2.如果进入交换机的是一个广播帧,则交换机不会去查MAC地址表,而是直接执行泛洪操作。

3)学习MAC地址:

交换机根据接收数据帧中的源MAC地址建立地址和交换机端口之间的映射,并将其写入MAC地址表。交换机将数据帧中的目标MAC地址与已建立的MAC地址表进行比较,以确定转发哪个端口。

  1. PC0发送数据给PC2时,一般首先会发送ARP请求来获取PC2的MAC地址,此ARP请求帧中的目的MAC地址是广播地址,源MAC地址是自己的MAC地址。交换机收到该帧后,会将源MAC地址和接受端口的映射关系添加到MAC地址表中。
  2. PC1和PC3收到数据帧后,查看ARP数据帧,发现PC0不是发送给自己的,就不会回复该帧,自动丢弃数据帧。
  3. PC2会处理该帧并发送ARP回应,此回复数据帧的目的MAC为PC0的MAC地址,源MAC地址为PC2的MAC地址,交换机接收到回复帧后,会将PC2的MAC地址和接口映射关系添加到MAC地址表中。
  4. 如果PC0再想PC2发送数据,交换机就会查询MAC地址表,进行单播转发。MAC地址表老化时间为300秒。如果在老化时间内再次收到PC0发送的数据帧,交换机中保存的PC0的MAC地址和接口的映射的老化时间会被刷新

补充)冲突域和广播域:

  • 冲突域:其实就是二层广播域, 即MAC层上的广播问题;总线型布局的时候, 广播是无可奈何的选择;交换机让解决了局域网大家都处于同一个冲突域中的问题
  • 广播域:指的是三层网络中的“广播域”, 即IP层的广播域。交换式局域网中,大家还是处在同一个广播域,即主机发送IP广播报文的时候, 交换机还是要老老实实的给所有人广播

4)交换机(switch)vs集线器(hub)

传统意义上来说交换机属于OSI的第二层(数据链路层)设备,它可以根据MAC地址将数据包转发到相应的端口,从而实现局域网中不同设备之间的直接通信。

与集线器不同,交换机可以识别不同设备之间的通信,并只将数据包转发到目标设备的端口,从而避免了不必要的广播和网络拥塞。此外,交换机还可以实现虚拟局域网(VLAN)等高级功能,以更好地管理网络流量和提高网络安全性。(vlan和三层交换机见下文)

说明:早期二者都是用来局域网中不同计算机之间通信的,并且交换机的出现替代了集线器。后面不断的发展,交换机也提供了三层、四层的功能,三层是在二层平台上提供VLAN和基于IP的路由和交换功能,而四层交换则为基于端口的应用。

1.3)局域网络拓扑结构

总线型、环形和星型网络是常见的局域网拓扑结构,它们在计算机网络中被广泛应用。

  1. 总线型网络(Bus Network):其中所有计算机都连接到一个共享的传输介质,通常是一根称为总线的电缆。每台计算机通过网络接口连接到总线上,并通过共享传输介质进行通信。当一台计算机发送数据时,数据会在总线上传播到所有其他计算机,但只有目标计算机会接收和处理该数据。总线型网络简单且成本较低,但当网络负载较高时可能会出现性能瓶颈。
  2. 环形网络(Ring Network):其中每台计算机都与相邻的两台计算机直接连接,形成一个环形的连接结构。数据在环形网络中沿着环路传递,每台计算机接收到数据后,会将数据传递给下一个计算机,直到达到目标计算机。环形网络具有较低的延迟和较高的可靠性,但当某个节点故障时,整个网络可能会中断。
  3. 星型网络(Star Network):星型网络是一种拓扑结构,其中每台计算机都与一个中央设备(通常是交换机或集线器)直接连接。所有计算机通过中央设备进行通信,数据从发送计算机传输到中央设备,然后再传输到目标计算机。星型网络具有良好

目前,最流行的局域网拓扑结构是星型网络。星型网络使用中央设备(如交换机或路由器)作为网络的核心,所有计算机都直接连接到中央设备。

1.4)广播和泛洪的区别

1)广播

  • 广播地址:MAC地址全是1(FFFFFFFF) 是一种广播地址;IP 地址255.255.255.255是通用广播地址。
  • 应用:如:客户机通过DHCP自动获得IP地址的过程就是通过广播来实现;一台主机想给另外一台主机发送数据, 但是只知道对方的IP地址, 不知道对方的MAC地址, 就需要发送arp报文广播发送到全体,目的主机收到之后就会把自己的MAC地址回复给发送者。还有其他的很多协议都是基于广播帧来实现的,所以广播还是要用的, 不能关闭。

2)泛洪

交换机根据收到数据帧中的源MAC地址建立该地址同交换机端口的映射,并将其写 入MAC地址表中。交换机将数据帧中的目的MAC地址同已建立的MAC地址表进行比较,以决定由哪个端口进行转发。如数据帧中的目的MAC地址不在MAC地址表中,则向所有端口转发。

关于泛洪,这也是一种交换机常用的转发方式,当交换机要给一个目的主机发送数据帧,而数据帧中的目的MAC地址不在交换机MAC地址表中,则向除了接收端口以外的所有其他端口转发。这个动作就是泛洪。

1.5)ARP协议

1)介绍:

ARP(Address Resolution Protocol)即地址解析协议, 用于实现从 IP 地址到 MAC 地址的映射,即询问目标IP对应的MAC地址。

在网络通信中,主机和主机通信的数据包需要依据OSI模型从上到下进行数据封装,再向外发出。所以在局域网的通信中,不仅需要源目IP地址的封装,也需要源目MAC的封装。这就好比我们要寄一个快递,如果在快递单上仅仅写了收件人的姓名(IP),却没有写收件人的地址(MAC),那么这个快递就没法寄出,因为信息不完整。

2)原理:

ARP协议采用局域网的"广播"功能:将请求包以广播的形式发送,交换机或WiFi设备(无线路由器)收到广播包时,会将此数据发给同一局域网的其他所有主机。节点收到请求后,拆开包查看询问的ip,如果不是自己则丢弃,如果是自己则单播的形式应答。

1.6)DHCP协议

DHCP(Dynamic Host Configuration Protocol)是一种动态主机配置协议,用于自动分配 IP 地址、子网掩码、网关、DNS 等网络配置信息。DHCP 获取 IP 地址的过程如下:

  • DHCP Discover:DHCP 客户端广播一个 DHCP Discover 消息,该消息包含一个源 MAC 地址和一个由 0.0.0.0 组成的源 IP 地址。广播地址为 255.255.255.255 或者本地子网的广播地址。该消息意味着 DHCP 客户端正在寻找 DHCP 服务器。
  • DHCP Offer:DHCP 服务器收到 DHCP Discover 消息后,会广播一个 DHCP Offer 消息,该消息包含 IP 地址、子网掩码、网关、DNS 等网络配置信息。此外,该消息还包含一个 DHCP 服务器标识符和租约时间。租约时间指定客户端被分配的 IP 地址的有效期。多个 DHCP 服务器可能会发送 DHCP Offer 消息,但客户端只会选择其中一个。
  • DHCP Request:DHCP 客户端收到 DHCP Offer 消息后,会广播一个 DHCP Request 消息,该消息请求分配一个 IP 地址。该消息包含从 DHCP 服务器收到的服务器标识符和所请求的 IP 地址。如果有多个 DHCP 服务器发送了 DHCP Offer 消息,客户端只会请求其中一个。
  • DHCP Ack:DHCP 服务器收到 DHCP Request 消息后,会广播一个 DHCP Ack 消息,该消息包含客户端请求的 IP 地址和其他网络配置信息。该消息表示客户端已经成功地获得了 IP 地址。
  • DHCP Lease Renewal:在租约时间到期前,DHCP 客户端会发送一个 DHCP Request 消息来请求延长 IP 地址的租约时间。DHCP 服务器会在 DHCP Request 消息中回复 DHCP Ack 消息来确认 IP 地址的租约已经被更新。

以上就是 DHCP 获取 IP 地址的过程。

2、交换机、路由器

从上面可以,在局域网内实现多台计算机通信,只需要将他们介入到二层交换机(或者集线器)上即可,会自动通过DHCP(交换机上可以配置DHCP)获取ip,通过ARP获取MAC,利用二层交换机做数据的交换。这种情况下是不需要路由器介入的(不需要网络层转发)。考虑到目前局域网大多采用了VLAN技术,所以交换机使用三层的,或者配合路由器实现VLAN数据包的转发(详见下面VLAN之间数据通信)。

2.1)三层交换机vs路由器(route)

这里将交换机和路由器放在一起对比,主要是目前的交换机已经具备了三层,设置四层的功能。

三层交换机:

机房路由器:

虽然三层交换机和路由器都工作在网络第三层,且在内网中都具备路由功能,用来转发数据包,但是三层交换机和路由器还是有很大的差别的!

在外观上:

  • 三层交换机的接口数量较多但样式比较单一;
  • 路由器的接口类型丰富但接口数量较少,且不支持虚拟局域网(二层网络)之间的连接。

在功能方面:

  • 三层交换机主要的功能是在局域网内为不同VLAN提供数据通信,实现不同网段之间的通信;
  • 路由器不是做路由交换的功能,它主要是为不同类型、不同协议之间的的网络提供路由寻址服务。

三层交换机在本质上仍是一个交换机,主要适用在局域网内不同逻辑网段之间的通信,提供快速数据交换功能。路由器虽然也适用于局域网,但对于充当网关、防火墙等或需要NAT、VPN等功能的局域网与外部网络间连接设备的场景,路由器是不能被三层交换机所代替的!

2.2)vlan是什么,为什么要划分vlan?

vlan的全称是Virtual Local Area Network,即“虚拟局域网”,就是把一个大的局域网,分成多个隔离的,小的局域网。

1)为什么要划分vlan?

虽然交换机解决了局域网的冲突域问题,但是多台机器仍然处在同一个广播域上(广播域是三层网络,二层交换机所有端口都在一个广播域)。一个局域网内有上百台主机,如果一旦产生广播风暴,那么这个网络就会被彻底的瘫痪。可以通过vlan还划分广播域,这样使得广播被限制在每一个vlan里面,而不会跨VLAN传播。不同vlan之间的成员在没有三层路由的前提下是不能互访的,这也是一种安全的考虑。

  • 隔离广播域:让每个节点(比如电脑、手机)不需要收到太多无关的广播包,从而减少计算性能和网络带宽的无谓消耗。从而保证局域网的性能
  • 隔离病毒与攻击:即使某个主机感染了arp攻击病毒、dhcp攻击病毒等常见局域网病毒,影响的范围也只限于本vlan,不会影响到其他vlan,可以将故障限制在比较小的范围。一来造成的影响小,二来排查故障也更加容易。

2)局域网网中最多支持多少个vlan呢?

VLAN是二层虚拟技术,VLAN对应IEEE 802.1Q协议标准,802协议标准定义的是数据链路层的标准。vlan信息在传递的时候,需要用到vlan标签,也就是每个电脑(或手机)发出的数据,会打上他所属的vlan的标签。这样网络设备(如交换机)就知道这台电脑是哪个vlan的了。vlan标签长这样

802.1q标准中定义的vlan号(vlan id)的长度是12位,所以说vlan总共只有2的12次方,4096个。这也就是为什么交换机只支持4k个vlan,多贵的都只支持4k个。

3)如果网络规模较大,4096个vlan不够怎么办?

没关系,网络规模在发展,技术也在发展。就像ipv4地址不够了我们发明了ipv6,vlan数量不够了,ieee的一帮工程师又发明了QinQ(也称Stacked VLAN 或Double VLAN),QinQ也就是802.1q in 802.1q,就是打两层标签,那么总共就有了4096x4096个vlan,一下就把4千个升级成了1677万个,这样就绰绰有余了。

其实现将用户私网VLAN Tag封装在公网VLAN Tag中,使报文带着两层VLAN Tag穿越运营商的骨干网络。

4)划分vlan方法:

  • 基于端口划分VLAN:最常见的方法,根据交换机的端口划分,将物理端口和内部的PVC(永久虚电路)端口分成若干组,每个组构成一个虚拟网。
  • 基于MAC地址换分VLAN:根据每个主机的MAC地址来划分,即对每个MAC地址的主机都配置他属于哪个组。
    • 优点:这种方式的VLAN允许网络用户从一个物理位置移动到另一个物理位置时,自动保留其所属VLAN的成员身份。
    • 缺点:初始化时,所有的用户都必须进行配置
  • 基于网络层协议划分VLAN:
  • 基于IP组播划分:
  • 根据策略划分VLAN:

2.2)vlan之间如何通信?

不同VLAN之间的主机是无法实现通信,必须通过三层路由设备进行路由转发才能将报文从一个VLAN转发到另外一个VLAN。下面介绍几种方法:

1)利用路由器物理接口实现

二层交换机上配置VLAN,每一个VLAN使用一条独占的物理链路连接到路由器的一个接口上,如图所示:

  1. PC1的地址为192.168.10.2/24,属于vlan10,PC2的地址为192.168.20.0/24,属于vlan20。
  2. 交换机sw1分别连接路由器R1的两个物理接口作为vlan10和vlan20内PC的网关
  3. 因为路由器接口是无法处理带Tag标签的数据帧的,因此交换机sw1连接路由器R1的接口需要是access类型,在将数据帧转发给路由器之前交换机会摘下数据帧的标签。
  4. 当PC1想发送数据帧给PC2时,数据包先被传输到交换机,交换机将Tag标签摘掉,转发给对应网络的网关
  5. 网关接收到数据帧后,查看路由表,找到目标网络对应输出接口,并将数据包转发,交换机收到数据,发现是无Tag标签数据,会查看接收数据的接口属于哪个vlan并打上标签,根据对比PVID和VID,传输给对应PC2

缺点:通常路由器接口数量较少,此方式对路由器接口要求数量高,不实用。

2)利用路由器子接口实现(单臂路由):

将交换机和路由器之间的链路配置为Trunk链路,并且在路由器上创建子接口以支持VLAN路由。(子接口:在路由器的物理接口上创建逻辑接口,子接口具有同物理接口一样的功能。)

交换机连接路由器的的链路需要配置为Trunk,并允许特定vlan通过,因为这条链路上需通过多个vlan,access链路是无法满足的

  1. 在路由器R1的接口GE0/0/1接口上创建子接口,GE0/0/1.10和GE0/0/1/20,并且分别配置其IP地址,GE0/0/1.10作为vlan10内PC的网关地址,GE0/0/1/20作为vlan20内PC的网关地址。
  2. PC1向PC2发送数据时,数据先由交换机收到,交换机打上对应Tag标签后通过Trunk链路转发给GE0/0/1.10网关接口。
  3. 路由器收到数据查看了标签,是标签10,于是再查哪个子接口和vlan 10对应,是GE0/0/1.10,就由此接口接收,然后再查路由表,通过路由表查到,目标地址直连在另一个子接口GE0/0/1/20,就从GE0/0/1/20发出,拆掉标签10,打上标签20进行发送
  4. 交换机再进行转发到PC2

3)利用VLAN IF技术实现(三层交换机):

在三层交换机上创建逻辑接口作为网关,VLANIF接口编号与VLAN ID相同,如VLAN10对应VLANIF 10(二层交换机:只能实现基本的交换通信功能;三层交换机:除了二层交换机功能,还能通过逻辑接口实现路由转发功能)

2.3)跨网络通信:

早期我们建了很多局域网,后来人们想如何能将这些局域网之间连起来。不通网段的计算机无法通过ARP获取对方MAC地址,这样就无法使用二层的交换剂进行数据交换。所以需要路由器进行包的转发,将一个局域网的包转发到另一个局域网内。

  1. 要连接公网,必须通过 Modem 拨号才能上网,拨号通过 pppoe 协议拨号 ;
  2. 路由器的 wan 口连接 ADSL 猫,会动态获取一个公网 IP 地址 100.87.59.254,在广域网内,任何一个主机,均可以访问到该 ip 地址;
  3. 台式机、手机、ipad、笔记本等终端可以通过有线或者无线的方式通过共享无线路由器的 wan 口访问公网;(NAT)
  4. 终端通过路由器的 DHCP 协议自动获取的地址是局域网地址,pc 获得地址是192.168.0.104,网段是 192.168.0.0/24,但是我们无法使用该地址直接访问公网;
  5. 局域网内终端通过共享 WAN 地址上网,所有走 WLAN 路由器的数据包都要通过 NAT 协议进行源、目的IP,源、目的端口号的转换;
  6. 局域网内终端之间通信运行的是以太网协议,网卡通过 mac 地址过滤数据帧;
  7. 要获取局域网内其他网口的 mac 地址需要通过 ARP 协议;
  8. 公网内路由器之间数据传输一般是 PPP 协议 ;

说明:wan 口地址是 PPPoE 拨号时运营商的其他设备分配的用于公网寻址。model还提供了数字型号到模拟信号的转换功能。

1)路由表、网关:

  • 在计算机网络中,路由表是一张记录了不同网络地址与它们所连接的网络设备的映射关系的表格。路由表的作用是为了帮助网络设备找到通往目的网络的最佳路径。当网络设备收到数据包时,会根据数据包的目的地址在路由表中查找对应的网络地址,然后将数据包转发到对应的网络设备上。
  • 网关是一个网络设备或计算机,它连接了两个或多个不同的网络,并且在这些网络之间转发数据。当一个网络设备需要发送数据包到另一个网络时,它会将数据包发送到该网络的网关设备。网关设备会根据路由表中的映射关系将数据包转发到目标网络中的合适设备。
  • 接口是网络设备用于连接不同网络的物理或逻辑接口。一个网络设备可以拥有多个接口,每个接口都连接到一个不同的网络。当一个网络设备收到一个数据包时,它会根据数据包的目的地址和路由表的映射关系,将数据包转发到合适的接口上,从而将数据包发送到正确的网络中。

2)计算机收到数据包后,如何判断走局域网还是走网关?

网络包在发送的时候,需要从本机的多个网卡设备中选择一个合适的发送出去:

  1. 如果路由条目里包含了目标ip的网段,则数据包就会从对应路由条目后面的网卡出去
  2. 如果没有对应网段的路由条目,则全部都走网关
  3. 如果网关也没有,则报错:网络不可达

网络包在接收的时候,也需要进行路由选择:

  1. 如果是属于本设备的包就往上层送到网络层、传输层直到 socket 的接收缓存区中
  2. 如果不是本设备上的包,就选择合适的设备将其转发出去。

注:在默认情况下,Linux 上的转发功能是关闭的,这时候 Linux 发现收到的网络包不属于自己就会将其丢弃。

2.4)即生瑜,何生亮 — MAC 地址与 IP 地址

为什么需要两个地址:一个是MAC(物理地址),另一个是IP地址。

要想说明这个问题,首先得说说计算机网络的目标是什么。计算机网络的根本目标就是将数据从一点传送到另外一点。听起来很简单,但是里面包含的意思很多。例如,两个点之间是在同一个网络还是跨网络连接的,如何才能将数据正确的传送到对方,如果出现错误怎么办等等。

1)MAC地址:

假设两个计算机在同一个局域网通信,只需要MAC地址就可以了。例如:通过交换机将多台电脑组成一个网络,为了找到对方,必须通过一个地址来标识——MAC地址。当A点要将数据传递给B点时,会在数据的首部添加B的MAC地址,即目标地址。当然在首部中也有源地址,还有其它一些信息,例如用于校验的等等。组装好的这个数据称为帧。然后A点就将帧通过网卡发送出去。

此时交换机收到这个帧后,查找自己的转发表。转发表主要有两列,一列是MAC地址,另外一列是该MAC地址对应的端口。如果找到就将数据从该MAC对应的端口转发出去。如果没找到,很简单,交换机会把帧向所有端口广播(除了该帧进入的端口),因此肯定会有一个合适的端口收到的。这个广播的方法很粗暴,也很奏效。(泛洪)

补充:计算机如何得知另一个计算机的MAC地址?

电脑(网卡)缓存里有一张ARP表,该表主要有两列:一列是IP地址,另外一列是MAC地址。这张表不是天生就有的,是随着网卡收到网络中的各种通信数据,不断学习增加的。

2)IP地址:

如果两点不在一个网络内。这时就需要IP地址了。因为IP地址含有两个部分,一个是网络地址,一个是主机地址。因此,通过对方的IP地址,是可以判断出对方是否和本机在一个网络内。

  • 如果在一个网络内,如上所述,只需要知道对方的MAC地址即可通信。
  • 如果不在一个网络内,本机的网络层就认为数据应该发送给网关。要想把数据发给网关,同样需要知道网关的MAC地址(通过ARP协议获取)。

跨网络传输数据时,需要考虑传输的路径,即为了到达目的地,下一跳应该去哪儿,从而一跳一跳的传输到目的地。而网内传输,不需要考虑传输路径,只要发出去一定可以到达(最坏情况下就是通过广播传输也能到达)。而跨网络传输时,无法使用广播,因此,需要使用能够表示网络特征的地址,即IP地址。所以IP地址是负责网络到网络传输的。至于发给网关后,下一步发给谁,本机就管不着了。 

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

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

相关文章

面向嵌入式系统的轻量级框架分析

mr-library简介 mr-library 是一个面向嵌入式系统的轻量级框架,提供统一的底层驱动设备模型以及基础服务功能,具有模块化设计、可配置性和扩展性的特点, 可帮助开发者快速构建嵌入式应用程序。 mr-library 框架支持互斥锁、对象管理等基础内…

Aqs独占/共享模式

独占锁和共享锁的概念 独占锁也叫排他锁,是指该锁一次只能被一个线程所持有。如果线程T对数据A加上排他锁后,则其他线程不能再对A加任何类型的锁。获得排它锁的线程即能读数据又能修改数据。 共享锁是指该锁可被多个线程所持有。如果线程T对数据A加上共…

Flume最简单使用

文章目录 一、简介1、定义2、基础架构 二、快速入门1、解压Flume2、案例一:监控端口号3、案例二:将空目录下文件 三、Flume进阶1、Flume事务2、Flume Agent内部原理3、案例一:监控日志4、案例二:多路复用和拦截器适应4.1 原理4.2 …

Linux 操作技巧

目录 一、shell-命令解释器 二、Linux中的特殊符号 三、命令历史--history 一、shell-命令解释器 shell——壳,命令解释器,负责解析用户输入的命令 ——内置命令(shell内置) ——外置命令,在文件系统的某个目录下&…

【学习草稿】背包问题

一、01背包问题 图解详细解析 (转载) https://blog.csdn.net/qq_37767455/article/details/99086678 :Vi表示第 i 个物品的价值,Wi表示第 i 个物品的体积,定义V(i,j):当前背包容量 j,前 i 个物…

2010-2017年WIND分省政府性债务余额面板数据

2010-2017年WIND分省政府性债务余额面板数据 1、时间:2010-2017年 2、指标:债务余额 3、范围:30个省 4、来源:wind 5、指标解释:地方政府债务分为一般债务和专项债务。 一般债务对应的是一般公共预算&#xff0c…

方案:浅析利用AI智能识别与视频监控技术打造智慧水产养殖监管系统

一、方案背景 针对目前水产养殖集约、高产、高效、生态、安全的发展需求,基于智能传感、智慧物联网、人工智能、视频监控等技术打造智慧水产系统,成为当前行业的发展趋势。传统的人工观察水产养殖方式较为单一,难以及时发现人员非法入侵、偷…

跨域问题解决方案(三种)

Same Origin Policy同源策略(SOP) 具有相同的Origin,也即是拥有相同的协议、主机地址以及端口。一旦这三项数据中有一项不同,那么该资源就将被认为是从不同的Origin得来的,进而不被允许访问。 Cross-origin resource…

SpringBean的生命周期

SpringBean的生命周期 SperingBean的生命周期是从Bean实例化之后,即通过反射创建出对象之后,到Bean成为一个完整对象,最终存储到单例池中,这个过程被称为Spring Bean的生命周期。Spring Bean的生命周期大体上分为三个阶段 Bean的…

Win7开启触摸键盘方法

在Win7系统中,自带有触摸屏幕键盘,能够在屏幕上显示虚拟键盘,让用户可以用指针设备或触屏等进行输入操作,那么Win7系统怎么开启触摸键盘呢?想知道的小伙伴可以跟着我一起来学习一下。 1、首先打开Win7系统的开始菜单&a…

小程序中如何查看会员的访问记录

​在小程序中,我们可以通过如下方式来查看会员的访问记录。下面是具体的操作流程: 1. 找到指定的会员卡。在管理员后台->会员管理处,找到需要查看访客记录的会员卡。也支持对会员卡按卡号、手机号和等级进行搜索。 2. 查看会员卡详情。点…

Smart UI Web 16.0.1 WebComponents htmlelements Crack

Javascript Web 组件库 Smart UI Web 组件库是您构建令人惊叹的 Web 应用程序所需的唯一套件。它包含 70 多个快速且专业设计的 UI 组件,可在单个包中实现美观且始终现代的 Web 应用程序。 具有高级功能的即用型Javascript 组件。只需几行代码即可使用数据网格、甘特…

解决编译中遇到的问题:Please port gnulib freadahead.c to your platform

今天在编译旧版的gzip-1.7时遇到了一个错误: error: #error "Please port gnulib freadahead.c to your platform! Look at the definition of fflush, fread, ungetc on your system, then report this to bug-gnulib." 在网上搜了一下解决方法&#xf…

400电话申请流程详解,助您快速办理联通、移动、电信400电话

导语:随着企业业务的发展,越来越多的企业开始关注400电话的申请与办理。本文将为您详细介绍联通、移动、电信400电话的申请流程,帮助您快速办理400电话,提升企业形象和客户服务质量。 一、联通400电话申请流程 咨询与选择&#x…

nginx知识点详解:反向代理+负载均衡+动静分离+高可用集群

一、nginx基本概念 1. nginx是什么,做什么事情? Nginx是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强。Nginx转为性能优化而开发,能经受高负载考验。支持热部署,启动容易,运…

Avl树(有详细图解)

目录 介绍 引入 概念 特点 模拟实现 思路 插入 旋转 左旋 无子树 有子树 右旋 无子树 有子树 左右旋 引入(也就是有子树版本的抽象图解) 解决方法(也就是左右旋) 总结 无子树(也就是curright的位置就是newnode) 有子树 模型高度解释 旋转 更新三个…

资料分析笔记

统计术语 现期:现在的时间 基期:之前的时间 现期量 基期量 增长量(有正负) 增长率 【增幅、增速、r】(有正负) 同比:例:2014年5月 和 2013年5月 环比:例:20…

[Linux入门]---git命令行的基本使用

文章目录 1.git使用gitee仓库创建git使用测试ignore文件 1.git使用 git是一款对文件进行版本控制的软件,gitee、github是基于git软件搭建的网站,是可以对代码进行托管的平台;github是国外的网站,访问慢,不稳定&#xf…

基于微信小程序的高校宿舍信息管理系统设计与实现(源码+lw+部署文档+讲解等)

前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 👇🏻…

【C++入门指南】C如何过渡到C++?祖师爷究竟对C++做了什么?

【C入门指南】C如何过渡到C?祖师爷究竟对C做了什么? 前言一、命名空间1.1 命名空间的定义1.2 命名空间使用 二、C输入、输出2.1 std命名空间的使用惯例 三、缺省参数3.1 缺省参数的定义3.2 缺省参数分类 四、函数重载4.1 函数重载概念4.2 C支持函数重载的…