计算机网络 4 - 网络层

news2025/1/15 13:09:46

  • 第4章 网络层:数据层面(Network Layer: Data Plane)
    • 4.1 网络层概述
    • 4.2 IP: Internet Protocol
      • 分类 IP 地址
      • 子网划分
      • 无分类域间路由 CIDR
      • IP 地址的特点
    • 4.3 地址解析协议 ARP
    • 4.4 IP 数据包格式
      • 路由转发示例
      • 路由器转发算法
      • 使用二叉树查找转发表
    • 4.5 IP分配技术
      • DHCP
      • NAT 网络地址转换
      • ICMP
    • 4.6 IPv6
      • IPv6数据报结构
      • IPv4 向 IPv6 过渡
      • ICMPv6
    • END 练习
  • 第5章 网络层:控制层面(Network Layer: Control Plane)
    • 5.1 路由选择算法
      • LS: link state 链路状态算法
      • Flooding 洪泛算法
      • DV: distance vector 算法
      • 层次路由算法
    • 5.2 内部网关协议 RIP
      • RIP 路由信息协议
      • OSPF 开放最短路径协议
      • BGP 协议
    • END 练习


第4章 网络层:数据层面(Network Layer: Data Plane)

4.1 网络层概述

  • 网络层核心功能:
    • 转发:将 分组 从路由器的输入端口 转移到 合适的输出端口
    • 路由:确定 分组 从源 到 目的 经过的路径
  • 网络层连接 和 传输层连接 对比:
    • 网络层连接:两个主机之间(路径上的路由器等网络设备参与其中)
    • 传输层连接:两个应用进程之间(对中间网络设备透明)
  • 网络服务模型:
    • 无连接服务
      **数据包网络(datagram network)**提供无连接服务
      不事先为分组的传输确定传输路径,每个分组独立确定路径,不同分组可能传输路径不同
    • 连接服务
      虚电路网络(virtual-circuit network) 提供连接服务
      首先为分组传输确定 从源主机到目的主机的路径(建立连接)
      然后 沿该路径传输 系列分组
      系列分组传输路径相同
      传输结束后拆除连接
  • 网络层的设计思路
    ① 网络层向上只提供简单灵活的,无连接的、尽最大努力交付的数据报服务
    ② 网络在发送分组时不需要先建立连接
    ③ 每一个分组独立发送,与其前后的分组无关
    ④ 网络层不保证分组传送服务的质量,由主机中的传输层负责可靠的通信
  • 在查找转发表时,采用最长前缀匹配原则 (与分组目的地址匹配前缀最长的输出端口)

路由(router)

  • 路由器 主要工作:转发分组
    把从某个输入端口收到的分组,按照分组要去的目的地,从当前路由器的某个合适的输出端口转发给下一跳路由器
  • 转发路由选择 区别
    在这里插入图片描述
  • 路由器 输入端口
    在这里插入图片描述
  • 路由器 输出端口
    在这里插入图片描述
  • 常用的三种交换结构:
    • 通过存储器
      在这里插入图片描述
    • 通过总线
      在这里插入图片描述
    • 通过互联网络 / 纵横交换结构
      在这里插入图片描述
  • 输出端口队列
    排队时延 和 丢失 的原因:输出端口缓冲区溢出
  • 输入端口队列
    在这里插入图片描述

4.2 IP: Internet Protocol

  • 网络层功能
    在这里插入图片描述
  • 与 IP 协议配套使⽤的还有三个协议
    1. 地址解析协议 ARP (Address Resolution Protocol)
    2. 网际控制报⽂协议 ICMP (Internet Control Message Protocol)
    3. 网际组管理协议 IGMP (Internet Group Management Protocol)

分类 IP 地址

  • 分类
    在这里插入图片描述
    • 各类IP地址的 指派范围
      在这里插入图片描述
    • 一般不使用的特殊IP地址
      在这里插入图片描述
    • 私有 IP 地址
      在这里插入图片描述
    • 分类的 IP地址 的优缺点
      在这里插入图片描述

子网划分

参考资料:划分子网

  • 为什么要划分子网
    ① 节省IP资源,提高IP地址利用率
    ② 给每一个物理网络分配一个网络号会导致路由表变大,网络性能变差
    ③ 减少广播的负面影响
  • 划分思路:从主机号借⽤n位作为⼦⽹号 subnet-id
  • 子网划分方法:
    • 定长子网:固定长度子网,所划分的所有⼦⽹的⼦⽹掩码都是相同的
    • 变长子网:长度变化的子网
  • 示例
    在这里插入图片描述
    在这里插入图片描述
  • 子网掩码 (Subnet Mask / Netmask)
    • 32位地址,与IP地址结合使用的技术
      A类地址默认的子网掩码是 255.0.0.0
      B类地址默认的子网掩码是 255.255.0.0
      C类地址默认的子网掩码是 255.255.255.0
    • 作用:
      ① 屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上
      ② 将一个大的IP网络划分为若干小的子网络
    • 规则:
      将 32位的子网掩码 和 IP地址的二进制形式 进行“按位”操作,得到的是 网络地址
      在这里插入图片描述
    • 具体使用:
      ① 路由器在和相邻路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻路由器
      ② 路由器的路由表中的每一个项目,要同时给出 目的网络地址 和 该网络的子网掩码
      ③ 一个路由器连接在两个子网上就拥有两个网络地址和两个子网掩码
      ④ 不同的子网掩码可能得出相同的网络地址,但其意义不同(子网的划分方式不同)

无分类域间路由 CIDR

  • CIDR (Classless Inter-Domain Routing):无分类域间路由选择,消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,可以更加有效地分配 IPv4 的地址空间,但是不能解决IP地址枯竭的问题
  • 网络前缀
    • 示例:128.14.35.7/20中,斜线后的20代表 IP地址的前20位是网络前缀
  • 地址块
    • 网络前缀都相同的所有连续的 IP 地址组成一个CIDR地址块
    • 示例:128.14.35.7/20 所在的地址块为 128.14.32.0/20
      128.14.35.7/24 所在的地址块为 128.14.35.0/24
  • 地址掩码 / 子网掩码
    • 网络前缀的数值 = 子网掩码中前面1的个数
    • 示例:128.14.35.7/20的地址掩码为255.255.240.0
  • 构造超网
    每个CIDR地址块中的地址数一定是2 的整数次幂,此在文献中有时称 CIDR 编址为“构造超网”。
  • 特殊的CIDR地址块
    在这里插入图片描述
  • 路由聚合
    在这里插入图片描述

IP 地址的特点

  • 每个 IP 地址都由网络前缀和主机号两部分组成
    IP 地址是一种分等级的地址结构
    方便了IP 地址的分配和管理
    实现路由聚合,减小了转发表所占的存储空间,以及查找转发表的时间
  • IP 地址是标志一台主机(或路由器)和一条链路的接口
    一台主机同时连接到两个网络上时,该主机就必须同时具有两个相应的IP地址其网络号必须是不同的。这种主机称为多归属主机
    一个路由器至少应当连接到两个网络,因此至少应当有两个不同的 IP 地址
  • 转发器或交换机连接起来的若干个局域网仍为一个网络
    一个网络(或子网)是指具有相同网络前缀的主机的集合
    转发器或交换机连接起来的若干个局域网都具有同样的网络号,它们仍为一个网络
    具有不同网络号的局域网必须使用路由器进行互连
  • 在 IP 地址中,所有分配到网络前缀的网络都是平等的
    互联网同等对待每一个IP地址,不管是范围很小的局域网,还是可能覆盖很大地理范围的广域网

4.3 地址解析协议 ARP

  • 作用:从 IP地址 解析出 MAC地址

  • ARP 工作原理 - 同局域网
    在这里插入图片描述

    • ARP 查找IP地址对应MAC地址
      在本局域网中广播发送 ARP请求(路由器不转发ARP请求)
      ARP 请求[源MAC | 源IP | 目的MAC或0 | 目的IP] (目的MAC未知时 填0)
  • ARP 缓存
    存放 IP地址 到 MAC地址的 映射表,映射表动态更新 (新增或删除)

    • 作用:
      ① 存放最近获得的 IP 地址到 MAC 地址的绑定
      ② 减少 ARP 广播的通信量
      ③ 为进一步减少 ARP 通信量,主机A 在发送其ARP请求分组时,就将自己的 IP 地址到 MAC 地址的映射写入ARP请求分组
      ④ 当主机 B 收到 A 的 ARP 请求分组时,就将主机A的IP地址及其对应的 MAC 地址映射写入主机 B 自己的ARP 高速缓存中。不必在发送 ARP 请求
  • ARP 工作原理 - 跨局域网

    • 情景:
      在这里插入图片描述
    • 上图数据包传输流程:
      ① A主机 向本局域网广播发送 ARP请求,询问路由器 R1 的 MAC地址
      ② 路由器 R1 回复 A主机 R1的MAC地址
      ③ 主机A把 IP数据包 外层封上MAC(R1),将该帧发给 路由器R1
      ④ 路由器 R1 解包MAC帧,根据数据包的头部目的IP,向其他局域网广播发送 ARP请求,询问 B主机 的 MAC地址
      ⑤ B主机 回复R1 B主机的MAC地址
      ⑥ 路由器R1 把 IP数据包 外层封上MAC(B),将该帧发给 B主机

4.4 IP 数据包格式

在这里插入图片描述

  • IP数据包头部结构
    • 版本:4位,IP协议的版本,IPv4 对应 4
    • 首部长度:4位,首部长度的1表示1个单位4字节,即首部4位最大能表示的长度是15单位,首部最大60字节
    • 总长度:16位,首部和数据的总长度,单位字节
    • 标识 (identification):16位,通过计数器产生,可以唯一标识一个IP报文,同一IP报文的不同分片中标识相同
    • 标志 (flag):3位,与分片相关
      第1位是 MF,MF=1 后面还有分片,MF=0 最后一片
      第2位是 DF,DF=1 不允许分片,DF=0 允许分片
    • 片偏移:13位,当前分组的首单位在原数据包的位置,片偏移以8个字节为偏移单位
    • 生存时间 (TTL):8位,指示数据报在网络中可通过的路由器数的最大值
    • 协议:8位,表示数据包的数据使用什么协议(TCP / UDP / ICMP / IGMP / OSPF)
    • 首部校验和:16位,只检验数据包首部,不校验数据,每经过一个路由器就校验一次,错误则丢弃
    • 源地址 和 目的地址:32位

路由转发示例

  • 主机跨局域网转发
    在这里插入图片描述
  • 路由器转发
    在这里插入图片描述

路由器转发算法

在这里插入图片描述

使用二叉树查找转发表

  • 二叉树构造规则
    在这里插入图片描述
  • 二叉树使用规则
    ① 使用目的IP的网络地址 在二叉树中匹配
    • ② if 找到一个叶节点,将目的IP与该叶结点对应的子网掩码 按位AND计算,看网络前缀是否匹配
      ③ 若匹配,转发分组到吓一跳路由器;否则丢弃该分组
    • ② if 在二叉树中找不到匹配的叶节点,则 检查是否存在默认路由
      ③ 若存在则转发分组到指定默认路由器,否则丢弃分组

4.5 IP分配技术

DHCP

参考资料: DHCP相关报文 - CSDN

  • DHCP (Dynamic Host Configuration Protocol) 动态主机配置协议,基于UDP工作,DHCP Server Port = 67,DHCP Client Port = 68
  • 作用:允许主机在加入网络时从网络服务器动态获取自己的IP地址
    • 可以续租使用的IP地址上
    • 允许重用地址(只有保持地址时连接/“on”)
    • 支持移动用户谁想加入网络(更简短)
  • 向DHCP申请IP地址流程:
    〇 Host 广播 - DHCP discover (可选操作)
    〇 DHCP服务器 回复 - DHCP offer (可选操作)
    ① Host 请求IP地址 - DHCP request
    ② DHCP服务器 发送地址 - DHCP ack
    其中 DHCP返回 IP地址,第一跳路由器IP地址,DNS服务器名和IP地址,子网掩码
    在这里插入图片描述
  • 运行示例:
    ① 联网笔记本需要获取自己的IP地址,第一跳路由器地址和DNS服务器:采用DHCP协议
    ② 客户端 DHCP 请求被封装在UDP段中,封装在IP数据报中,封装在以太网的帧中
    ③ 以太网帧在局域网范围内广播 (dest: 255.255.255.255) ,被运行DHCP服务的路由器收

    ④ 在DHCP路由器处,以太网帧解封装成IP,IP解封装成UDP,解封装成DHCP
    ⑤ DHCP服务器生成DHCP ACK,包含客户端的IP地址,第一跳路由器的IP地址和DNS域名服务器的IP地址
    ⑥ DHCP服务器封装的报文所在的帧转发到客户端,在客户端逐层解封装成DHCP报文
    ⑦ 客户端知道它自己的IP地址,DNS服务器的名字和IP地址,第一跳路由器的IP地址

NAT 网络地址转换

  • NAT (Network Address Translation) 在专用网连接到互联网的路由器上安装NAT软件,NAT路由器至少有一个有效的外部全球 IP 地址,所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球 IP 地址,才能和互联网连接
  • 图示:
    在这里插入图片描述
  • NAT 特点:
    • 本地网络只有一个有效IP地址,不要从ISP分配一块地址(省钱)
    • 可以在局域网改变设备地址的情况下无需通知外界
    • 改变ISP分配的地址时,不需要改变内部设备地址
    • 局域网内部设备没有明确的地址,对外不可见(安全)
  • NAT 转换
    • 向外传输数据包时,替换<源IP地址, 端口号><NAT_IP, 新端口号>,目的IP地址和端口号不变
    • NAT路由器 在NAT转换表中 记录每个替换对
    • 向内传输数据包时,替换<目的IP, 端口> 采用存储在NAT表中的mapping表项<源IP, 端口>
      在这里插入图片描述
  • NAT穿越问题
    • 问题:客户段需要连接NAT路由器下的服务器,整网对外只要有一个地址
    • 方法1:静态配置NAT:转发进来的分组对服务器特定端口连接请求
    • 方法2:允许NAT下的主机可以获知网络的公共IP,列举存在的端口映射,在租期内增删端口映射
    • 方法3:在NAT外建立中继连接,外部客户端和NAT内部的服务器在中继处桥接

ICMP

  • ICMP (Internet Control Message Protocol) 网际控制报文协议:允许主机或路由器报告差错情况和提供有关异常情况的报告

  • ICMP报文种类(2种):差错报告报文,询问报文

  • ICMP询问报文:
    在这里插入图片描述

  • 不应发送ICMP差错报文的情况
    在这里插入图片描述

  • 应用举例:

    • ping 命令:用来测试两个主机之间的连通性
      使用 ICMP回送请求和回送回答报文
      应用层直接使用网络层ICMP,没有通过传输层

4.6 IPv6

  • IPv6:Internet Protocol version 6,用于解决 IPv4 地址枯竭问题
  • 主要变化:
    在这里插入图片描述
    在这里插入图片描述

IPv6数据报结构

  • 基本首部:固定 40字节

    • 版本:4位,IPv6对应6
    • 流标号:路由相同的数据报具有相同的流标号
    • 有效载荷长度:16位,拓展首部+数据部分的长度和,最大值为64KB
    • 跳数限制:8位,类似IPv4首部的TTL字段
    • 源地址 / 目的地址:128位
      在这里插入图片描述
  • 有效载荷:0-n个拓展首部 + 数据部分

    • 拓展首部类型:逐跳选项,路由选择,分片,鉴别,封装安全有效载荷,目的站选项
  • IPv6三种基本类型

    • 单播:一对一
    • 多播:一对多
    • 任播:交付目标为一组计算机中最近的一个(路由算法计算距离)
  • 新概念:节点、接口
    在这里插入图片描述

  • IPv6地址写法

    • 冒号十六进制 记法:16个十进制数→8个4位十六进制数
      在这里插入图片描述
    • 零压缩:一对冒号代表一串0,0:0:0:0...::,一个地址只能用一次
    • 点分十进制记法的后缀:斜线表示法
      在这里插入图片描述

IPv4 向 IPv6 过渡

  • 方法:逐步演进,向后兼容(IPv6 系统必须能够接收和转发IPv4分组,并且能够为IPv4 分组选择路由)
  • 两种过渡策略:
    • 双协议栈
      在这里插入图片描述

    • 隧道技术
      在这里插入图片描述

ICMPv6

在这里插入图片描述
在这里插入图片描述

END 练习

  • [子网掩码计算练习] 已知 IP 地址是 141.14.72.24,子网掩码是255.255.192.0。试求网络地址。
    在这里插入图片描述

第5章 网络层:控制层面(Network Layer: Control Plane)

5.1 路由选择算法

LS: link state 链路状态算法

  • 符号标记:
    在这里插入图片描述
  • LS算法
    在这里插入图片描述
    在这里插入图片描述

Flooding 洪泛算法

  • 基本思想:把收到的每一个包,向除了该包到来的线路外的所有输出线路发送
  • 缺点:产生大量重复包
  • 解决方案:每个包头部包含计数器,每经过一站计数器减1,减至0丢弃该包
    记录包经过的路径

DV: distance vector 算法

  • 基本思想:与相邻路由器交换路由表,更新自己的路由表
  • 示例:
    在这里插入图片描述
  • 保证路由表正确性的方法(6种)
    • 最大度量值:针对不同协议有不同的最大度量值;当路由表中的度量值达到最大度量值时,认为路由失效,并移除这条路由。
    • 水平分割:一个方向发来的路由信息,不能再放入该方向的路由更新包中 并且 又发回那个方向
    • 路由中毒:网络中出现故障时,通知邻居节点该网段不可用
    • 毒性反转 / 反向下毒:被通知该网段不可用的邻居节点也会通知原节点,自己也不能使用该网段
    • 保持时间:不可用信息还会再保持一定时间才会被删除
    • 触发更新:当路由器发现某个网段出现故障时,立刻发送路由更新包来通知邻居,而不用等到下一次发送路由更新包的时间
  • 6种方法联合应用示例:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

层次路由算法

5.2 内部网关协议 RIP

在这里插入图片描述

RIP 路由信息协议

OSPF 开放最短路径协议

  • 使用Dijkstra的最短路径算法,采用分布式的LS协议
  • 主要特点
    在这里插入图片描述
  • 高级特性:
    在这里插入图片描述

BGP 协议

  • 主要特点
    在这里插入图片描述
  • eBSP 和 iBGP连接
    在这里插入图片描述

END 练习

  • 考虑图中所示的网络。使用Dijkstra算法(LS Route)和一个类似于表5-1的表来说明你做的工作:
    在这里插入图片描述在这里插入图片描述
    a. 计算出从 t 到所有网络节点的最短路径
    b. 计算出从 u 到所有网络节点的最短路径
    c. 计算出从 v 到所有网络节点的最短路径
    d. 计算出从 w 到所有网络节点的最短路径
    e. 计算出从 y 到所有网络节点的最短路径
    f. 计算出从 z 到所有网络节点的最短路径

答:解a,N=tuvwxyz

步骤N’D(t),p(t)D(u),p(u)D(v),p(v)D(w),p(w)D(x),p(x)D(y),p(y)D(z),p(z)
1t2, t4, t7, t
2tu4, t5, u7, t
3tuv5, u7, v7, t
4tuvw7, v7, t
5tuvwy7, v19, y
6tuvwyx15, y
7tuvwyxz

在这里插入图片描述

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

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

相关文章

celery

一 介绍 官网&#xff1a;https://docs.celeryq.dev/en/latest/index.html celery是一个简单、灵活、可靠的分布式系统&#xff0c;用于 处理大量消息&#xff0c;同时为操作提供 维护此类系统所需的工具。 Celery架构 Celery的架构由三部分组成&#xff0c;消息中间件&…

纸牌游戏新版小猫钓鱼设计制作

新版纸牌游戏《小猫钓鱼》设计制作 此游戏设计是我新创制的简单的卡牌游戏。属于儿童益智类游戏&#xff0c;适用于儿童的认知教育。 游戏规则很简单&#xff1a;找配对的牌消去。 游戏设置2个玩家对玩&#xff0c;鱼池置牌21张&#xff0c;玩家每人5张牌&#xff0c;二人轮转…

從turtle海龜動畫 學習 Python - 高中彈性課程系列 6.1 內嵌正多邊形 類似禪繞圖

Goal: 藉由有趣的「海龜動畫繪圖」學會基礎的 Python 程式設計 本篇介紹基礎的 Python 海龜動畫繪圖, 確實可以只以簡單的指令畫出極為複雜有趣或美麗的圖案: 內嵌正多邊形之圖案, 禪繞圖等 “Talk is cheap. Show me the code.” ― Linus Torvalds 老子第41章 上德若谷 大白…

Redis--1.CentOS8安装redis服务器

一、登录root账号 设置root密码&#xff1a; sudo passwd root切换到root账号&#xff1a; su root二、下载解压安装包 切换到根目录: cd / 1、创建存放路径: mkdir -p /usr/local/redis cd /usr/local/redis2、下载redis安装包&#xff1a;去官网找到redis连接地址如&…

基于jsp+mysql+ssm进销存管理系统-计算机毕业设计

本java进销存系统主要完成对超市的管理&#xff0c;包括会员管理、厂家管理、商品管理、退货管理&#xff0c;销售管理、进货管理、员工管理、系统管理等几个方面。系统可以完成对各类信息的浏览、查询、添加、删除、修改等功能。 系统采用了jsp的mvc框架,SSM(springMvcspringM…

告别手机自带浏览器,分享2022年好用的手机浏览器

对于喜欢使用手机上网冲浪的人来说&#xff0c;最喜欢用的一般都是小巧、强大、干净简洁的APP。作为上网常用的软件&#xff0c;好用的浏览器能够提高工作效率。而手机自带的浏览器往往占用资源大&#xff0c;而且广告很多&#xff0c;并夹带新闻、小说等无用功能&#xff0c;不…

自制操作系统日记(7):字符串显示

代码仓库地址&#xff1a;https://github.com/freedom-xiao007/operating-system 简介 上篇中我们在屏幕上画出了界面的大致轮廓&#xff0c;系统有了点模样&#xff0c;本篇继续跟着书籍&#xff0c;让程序中的字符串显示在屏幕上 效果展示 先放最终的效果&#xff0c;可以…

Linux磁盘分区,挂载介绍

分区的方式: mbr分区: 1.最多支持四个主分区 ⒉系统只能安装在主分区 3.扩展分区要占一个主分区 4.MBR最大只支持2TB&#xff0c;但拥有最好的兼容性 gtp分区: 1.支持无限多个主分区&#xff08;但操作系统可能限制&#xff0c;比如windows下最多128个分区) ⒉.最大支持18E…

仿大众点评——秒杀系统部分02

秒杀系统优化 接口限流和安全措施 令牌桶限流单用户访问频率限流抢购接口隐藏 接口限流&#xff1a; 在面临高并发的请购请求时&#xff0c;我们如果不对接口进行限流&#xff0c;可能会对后台系统造成极大的压力。尤其是对于下单的接口&#xff0c;过多的请求打到数据库会对…

MVCC 底层实现原理

文章目录概述事务并发出现的问题脏读不可重复读幻读事务隔离级别MVCC 底层实现原理隐式字段undo 日志Read View总结概述 MVCC(Multi-Version Concurrency Control) &#xff0c;叫做基于多版本的并发控制协议。 MVCC 是乐观锁的一种实现方式&#xff0c;它在很多情况下&#…

多线程增量下载K线数据

准备一份股票列表的CSV文件&#xff0c;文件格式如下 codenameclosecmvdate_ipo300434金石亚药12.89427982959020150424300380安硕信息19.31241993416320140128688123聚辰股份132.821114087266620191223300586美联新材20.34790882138120170104300534陇神戎发12.96389465063120…

Arduino与Proteus仿真实例-密码输入、验证与更新仿真

密码输入、验证与更新仿真 本次实例将通过4X4矩阵键盘、LCD1602、EEPROM实现一个密码输入匹配、储存、更新。 1、仿真电路原理图 在仿真电路原理图中,4X4矩阵键盘通过PCF8574 IO扩展器驱动,请参考前面文章: Arduino与Proteus仿真实例-PCF8574驱动4x4矩阵键盘仿真Arduino与…

大数据:Flume安装部署和配置

文章目录Flume 简介一&#xff0c;Flume下载和安装1&#xff09;登录[Flume官网](https://flume.apache.org/)&#xff0c;下载 apache-flume-1.9.0-bin.tar.gz2&#xff09;解压文件到 /opt 目录下3&#xff09;改名为 flume二&#xff0c;Flume配置1&#xff09;修改 /conf/ …

.Net开发——EFCore

1 EFCore是一个ORM框架 EFCore(EntityFramworkCore)是对底层ADO.NET重新封装的一个数据操作框架&#xff0c;因此ADO.NET支持的多种数据库都可以被EFCore支持。 EF Core 可用作对象关系映射程序 (O/RM)&#xff0c;这可以实现以下两点&#xff1a; 使 .NET 开发人员能够使用…

Python医学数据分析入门,推荐你学习这本书

医学生学习Python的难点通常在于 没有系统的编程教育&#xff0c;很难短时间内使用编程语言描述问题及其解答过程相关教程、案例少&#xff0c;想要练习缺少素材 所以这里就给大家推荐一本比较新比较前沿的教医学生学习Python的书《Python医学数据分析入门》 这本书的切入点为…

代码随想录——分割回文串 II

题目 给你一个字符串 s&#xff0c;请你将 s 分割成一些子串&#xff0c;使每个子串都是回文。 返回符合要求的 最少分割次数 。 示例 1&#xff1a; 输入&#xff1a;s “aab” 输出&#xff1a;1 解释&#xff1a;只需一次分割就可将 s 分割成 [“aa”,“b”] 这样两个回文子…

Oracle技术分享 创建外键报错ORA-00906

问题描述&#xff1a;给表创建外键报错ORA-00906&#xff0c;具体过程如下&#xff1a; 数据库&#xff1a;oracle 11.2.0.464位 scottORCL2022-10-18 19:10:40> selectindex_name,table_name,tablespace_name,status,last_analyzed from user_indexes; INDEX_NAME TABLE…

事务【mysql】

1、事务的概念 事务指逻辑上的一组操作&#xff0c;组成这组操作的各个单元&#xff0c;要么全部成功&#xff0c;要么全部失败。 在不同的环境中&#xff0c;都可以有事务。对应在数据库中&#xff0c;就是数据库事务。 把多个操作打包成一个整体&#xff0c;要么全部都执行完…

【#HDC2022】HarmonyOS体验官活动正式开启,赶快投稿赢限量奖品吧!

1. 【活动简介】 HDC 2022 于11月4日线上线下正式开启。历时一年&#xff0c;在无数开发者的共同努力下&#xff0c;我们汇聚了HarmonyOS生态的新成果、新体验、新开放能力&#xff0c;邀你参与到HarmonyOS的每一步成长和构建中。 本次HarmonyOS体验官活动&#xff0c;将以文章…

MySQL自连接和内连接和外连接_左外连接+右外连接

自连接&#xff1a;将一张表看作两张表 练习&#xff1a;查询员工id&#xff0c;员工姓名及其管理者的id和姓名select emp.employee_id,emp.last_name,mgr.employee_id,mgr.last_name from employees emp,employees mgr where emp.manager_id mgr.employee_id;内连接 只是把左…