计网--网络层个人笔记

news2024/12/28 4:41:16

在这里插入图片描述
网络层的IP分组由路由器转发,而每一个路由器有很多接口,那么从哪一个接口转发便需要转发表。

一、网络层基本功能

在这里插入图片描述

二、SDN基本概念

2.1 路由器

在这里插入图片描述

数据平面:转发的过程。一个分组如何从一个端口到达另一个端口。
控制平面:路由选择的过程。
在这里插入图片描述

2.1.1 数据平面

在这里插入图片描述

2.1.2控制平面

(1)传统方法

数据平面和控制平面都要在一个路由器中,数据平面负责转发,控制平面负责计算转发表(执行路由器算法并进行路由选择)。

在这里插入图片描述

(2)SDN方法

SDN三大特征:
①网络开放可编程
②控制平面与数据平面分离
③逻辑上的集中控制
SDN是进行远程控制的方法,利用可编程的软件来实现计算转发与路由交互。
在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/25a6c95cabcb4f328dd5654f93在这里插入图片描述
SDN控制器可以计算出准确的网络状态与链路信息,并为应用程序提供信息,进行路由选择。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、IP

在这里插入图片描述
根据TCP/IP协议栈能看到,网络层主要协议为ARP、IP、ICMP、IGMP协议。

3.1 IP数据报

IP数据报和IP分组是同义词,分组就是数据报。
IP数据报首部在前,其分为两部分(固定部分、可变部分(可有可无))。
在这里插入图片描述

3.1.1 IP数据报格式

在这里插入图片描述

固定部分固定长度20Bit,第一个为版本字段,有4位,0~4,指的是IP协议版本是IPV4还是IPV6。
第二个是首部长度,4~8,单位是4B,首部长度表示的是固定部分加可变部分的总长。而首部长度占4个bit(4位),可表示的数字有0-15(0000-1111)个。这里需要注意的是首部长度单位不是1B而是4B,因此最大时可表示15×4 = 60B(字节)即最大首部长度,即最大值15个32位bit(1位为1bit)。而固定部分为20B即固定长度最小也为20,代表着首部没有可变部分,因此首部最小为5(0101)。
第三个字段为区分服务,只有在区分服务时该字段才会起作用。
第四个字段为总长度。即首部+数据长度单位1B.16~31总长16位,即最大为2^16-1=65535B个数据报长度。
生存时间(TTL):为了防止无法交付的数据报无限制的在网络中传播,没经过一个路由器TTL-1,直至为0丢弃。
协议:指明数据部分所使用的协议。每一个协议对应一个字段值。
在这里插入图片描述
首部检验和:检验首部的字段,检验方法为二进制和方法。每经过一个路由器,首部中的标志和片偏移可能会变化,路由器都要重新计算数据报首部和,以防止变化,首部错误时直接丢弃数据报。
源地址与目的地址:长度都是32位。

3.1.2IP数据报分片

当数据报的长度大于链路要求的MTU时时,需要分片。
在这里插入图片描述
在这里插入图片描述
标识:同一数据报的分片使用同一标识。
标志:只有2位有意义,即中间位和最低位。
在这里插入图片描述
在这里插入图片描述
只有DF=0,允许分片,MF才会有意义。
片偏移:13位长度。MF只知道目前的分片是不是最后一个,不知道具体在数据报的什么位置,因此片偏移指出分组分片后,某片在原分组的相对位置。以8B为单位。例如片偏移此时为000 000 000 000 1.那么此时相对位置位1(十进制)×8B = 8B。
在这里插入图片描述
例子:
在这里插入图片描述
对于这样的数据将3800分为1400、1400、1000长度,那么第一个片数据部分0~1399,第二个1400-2799,第三个2800-3800。那么第一个片偏移量即0,第二个即1400/8=175(0000 0000 1010 1111),第三个片偏移量2800/8=350。而由于都来自同一数据报,标识都相同。
在这里插入图片描述
在这里插入图片描述

3.1.3 IP数据报的三种传输方式

在这里插入图片描述
在这里插入图片描述
组播相对于单播传送效率高,但是组播组不同的主机可能在不同的物理网络中,那么服务器怎样确定同一组播组
中不同主机的传输路径和地址呢?-IP组播地址
对于IP组播地址不能使用组内某个主机的地址,这样的话只能确定这一台主机,无法发送给同一组播组内的其他主机,因此需要一群共同需求主机的相同标识)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.1.4 IGMP协议与组播路由选择协议

上述的多播是在局域网内,这两个协议是在internet网上的组播与多播。
IGMP是路由器内部所规定的协议,让连接在局域网上的组播路由器是不是还有主机(本质上是主播的某个进程)参加或者退出了某个组播组,即通过IGMP就可以让路由器知道是不是还有可以接收主播数据报的主机。但是IGMP协议不知道组播组的主机数量(听个响)。
组播路由协议也是路径选择协议,单纯的RIP协议无法完成组播当中的数据传输,而且无法以最小的代价来传送给主播组中的全部成员。组播路由协议->选路:当组播组中的主机在不同的局域网中,某个主机发送数据时,也需要先找到到达不同局域网的最短路径,发送给其最短路径的路由器,再由该路由器分发给这个局域网中的所有主播组的成员。
在这里插入图片描述
在图中R1,R2,R3在组播组中,R4不在。
在这里插入图片描述
IGMP与ICMP都属于网络层的最上层,都会使用IP数据报传送报文。
路由器在对一个网络进行探寻时,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

移动IP:
在这里插入图片描述

3.2 IPV4地址

每一台设备都有一个或多个IP地址。
物理地址=MAC地址 = 硬件地址
逻辑地址 = IP地址

3.2.1 分类的IP地址

IP地址={<网络号><主机号>}
IP地址分A,B,C,D,E五类,我们常用的是A,B,C三类。
A类是1.0.0.1-126.255.255.254 第一位是网络号,后三位是主机号。
B类是128.1.0.1-191.254.255.254 前两位是网络号,后两位是主机号。
C类是192.0.1.1-223.255.254.254 前三位是网络号,后一位是主机号。
在这里插入图片描述
在这里插入图片描述

特殊IP

在这里插入图片描述

私有IP

在这里插入图片描述
A类网络除了第一位固定,当网络号其他位全0(0)或者全1(127)都是特殊IP地址,因此是2^7-2,而主机数同样。B类网络除了前两位固定,也存在网络号其他位全0的特殊IP地址因此是2^14-1。而主机号存在全0(本网络)全1(广播地址)的特殊IP因此是2^16-2。C类网络同样。
在这里插入图片描述

3.2.2 网络转化NAT

私有IP地址只能在本地网和专用网中使用。路由器对目的地址是私有IP地址的数据报一律不进行转发。也就是说私有IP在外网或者以太网中是无效的。
在这里插入图片描述
想要访问专用网(私有IP)则需要进行内网穿透,而内网穿透需要一个公网IP,而NAT路由器可以提供一个外部全球IP地址,类似代理模式(梯子)。因此本地主机发送数据报会先发给公网IP(NAT路由器),再有NAT路由器根据NAT转换表,进行地址转化,将源地址和目的地址换为公网IP和专网IP,并将数据发送给私有IP地址。而端口号可以具体到某一个进程。
在这里插入图片描述

3.2.3 子网划分

在这里插入图片描述
将主机号当中较高的位划分为子网号(位数不一定是8位,看单位的划分规则)。
在这里插入图片描述
外部并不知道单位内部的子网划分规则。
在这里插入图片描述
而如果需要通过路由器对单位内部具体的某个主机转发数据,便需要直到其详细的IP地址,但是现在表现出来的只有一个网络号。那么便需要子网掩码的帮助。
子网掩码网络号全为1,主机号全为0。网络号和主机号与其IP地址划分相同。
在这里插入图片描述
而划分子网后的子网掩码,除了主机号为全0,网络号和子网号全为1。而通过子网掩码与子网IP地址相与得到最终的网络地址。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
对于同一个IP子网掩码不同,但是相与的结果是一样的,但是子网掩码是有区别的,192(1100 0000)、224(1110 0000),这代表前一个子网掩码,前两位是划分后的子网位,后一个前三位是划分后的子网位。其划分的子网个数,与每一个子网中能容纳的主机个数是不同的。
在这里插入图片描述
使用子网时分组的转发,需要将目的IP地址与各子网的子网掩码进行相与。
例:假设给子网145.13.3.10发送数据,将其与子网(145.13.3.0)的子网掩码(255.255.255.0)相与得出结果(145.13.3.0),直接交付。而如果相与后结果无法在网络中找到该子网号,那么会在路由表中找有没有特定主机路由,如果有且和目的地址一样那么直接按照特定路由的步骤走,如果没有和目的主机地址相同特定主机路由,那么检测路由表中有无路径,利用目的主机地址与路由表中的每一行子网掩码进行相与,直至找到目的子网,如果都没有,那么进入默认路由0.0.0.0,默认路由将数据发给另一个路由器然后继续循环执行这些步骤,如果仍没找到,则返回默认路由再发给另外一台路由器直至找到为止。如果再生存时间内没有找到,那么丢弃该分组。
在这里插入图片描述

3.2.4 无分类编址CIDR

可变长网络号,因此没有ABC类网络的划分。
在这里插入图片描述
CIDR在IP地址后面加一个斜杠/,后面接网络前缀的位数。其子网掩码与之前的划分规则一样,同样要进行子网划分时,可以继续往低位延申网络前缀。
在这里插入图片描述

CIDR应用

(1)构成超网(路由聚合)
将很多子网聚合在成一个较大的子网。
对于两个相连的路由器,当路由表链接了很多路由时,路由表会一直增加,路由表项会一直增加,也很不好维护。CIDR提供路由聚合方式,将相同接口的IP地址合并在一起,合并方法将网络前缀缩短(所有网络地址取交集)。聚合后的网络地址,网络号取交集,主机号全0。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)最长前缀匹配
使用CIDR表示IP地址时,使用子网的分组转发会与各个子网的子网掩码进行相与得到子网号,但是有时与每个子网相与都会得到该子网号(目的IP地址为206.0.71.130与子网号为206.0.68.0/22的子网掩码相与得到的结果是206.0.68.0,但是与206.0.71.128/25的子网掩码相与得到的也是206.0.71.128),即数据报给每个子网都要发送?可是目的IP地址只有一个鸭,此时选择最长网络前缀的路由(发送给206.0.71.128)。
在这里插入图片描述

3.3 ARP协议(地址解析协议)

对于主机来说,发送数据需要对数据进行封装,应用层首先要发送一个数据,传输层会将数据进行分段(数据过大时划分报文段),网络层对报文段添加首部形成IP数据报(分组),其中主要包括源主机地址与目的主机地址(根据DNS得到),到了链路层在进行封装加上MAC地址,其中除了源MAC地址,还需要目的MAC地址,那么源地址知道,目的MAC地址怎么获得呢(ARP协议解决)。
每一台主机和路由器上都有一个ARP高速缓存,其中存放的是某一个IP地址及其对应MAC地址的映射。因此只需要查询ARP高速缓存就能得到目的IP地址对应的MAC地址。而当ARP高速缓存中没有目的IP地址及其对应的MAC地址,那么便需要ARP协议
ARP协议:首先会广播一个ARP请求,源主机会发送一个数据帧,其中包含源IP地址、目的IP地址,源MAC地址,目的物理地址(全1)。
在这里插入图片描述
当数据帧从主机到集线器再到交换机,交换机原本不会随意的转发分组(帧),但是全F为广播分组的,那么交换机会将广播分组从所有端口发送出去,而当目的主机接收到了该分组后会回应一个单播(只发送给一个主机)ARP响应分组。其包括目的IP地址及其MAC地址,那么会完成数据链路层的封装。
在这里插入图片描述
在这里插入图片描述
那么对于不在一个局域网的主机怎么获取MAC地址进行封装呢(ARP中存放的是该局域网下的所有主机/路由器的IP地址与MAC地址的映射)。那么源主机会先用自己的IP地址与目的主机IP地址的子网掩码相与查看是不是在一个网段内,如果不在,此时会查询默认网关,默认网关是局域网与外界沟通的接口也是一个路由器,因此源主机会先发送一个广播ARP请求分组,请求默认网关的MAC地址。
在这里插入图片描述
默认网关会返回一个单播ARP响应分组。回应自己的IP地址及MAC地址对数据进行封装。封装完后发送数据给路由器,默认网关会发送广播ARP请求分组,且路由器会持续一个封装与解封装的过程,但是此时的广播ARP请求分组不会改变其源地址和目的地址,只会不断地改变MAC地址来继续往下一个路由器继续发送,直至找到目的地址对应局域网,由目的地址返回单播ARP响应分组,其中包含目的MAC地址。(交换机没有MAC地址, 在广域网的点对点传输过程中MAC地址是要改变的(变为路由器端口对应的MAC地址))
MAC地址(Media Access Control Address)的全称叫做媒体访问控制地址,也称作局域网地址,以太网地址或者物理地址。MAC地址用于在网络中唯一标示一个网卡,一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的MAC地址。MAC地址共48位(6个字节)。前24位由IEEE(电气和电子工程师协会)决定如何分配,后24位由实际生产该网络设备的厂商自行制定。例广播地址:FF:FF:FF:FF:FF:FF
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.4 DHCP协议

主机的IP地址获取方式有两种:静态配置、动态配置。
静态配置由别的主机静态的固定的分配IP地址、子网掩码、默认网关(局域网与外界交流的关口,通常是一个路由器的接口的IP地址)。静态IP就是固定IP,运营商给了你固定IP也会告诉你对应的掩码与网关,然后你可以把这个配置在本地连接里可以直接连接上网,不需要获取地址。
动态配置:根据网段划分网络,每一个网段内都有DHCP服务器,DHCP可以为移动设备在静止时,分配IP地址。动态IP就是指在需要的时候才进行地址分配的方式。所谓动态就是指当你每一次上网时,服务端会随机分配一个地址,随用随分配安全性比较高,比较灵活。
一般来说,动态IP有两种情况:一种是DHCP动态分配,这种动态IP可以省去你配置IP的过程,就是路由器分配给你的一个空闲的IP地址,你就可以直接上网了;另一种就是运营商的动态分配了,这是为了解决IP稀缺的问题。当用户需要使用IP的时候,运营商就给你分配一个,当你不需要用的时候,这类动态IP就会回收给其他人使用。
动态的变化一般出现在每次断开网络的时候,也就是说如果我们好几天没有关机或者重启网络,那么你的动态地址也是不会变得。
所以说,其实动态也不是一个真实的地址,而是每次路由器联网的时候,都会获得一个新的地址,而这样的地址因为不断更换所以安全性比较高。
在这里插入图片描述
在这里插入图片描述
动态主机配置协议DHCP分配IP的步骤:
1.首先,主机广播DHCP发现报文,主机可以从服务器获取IP地址、子网掩码、默认网关、DNS服务器名称。
2.DHCP服务器广播DHCP提供报文。(IP地址、子网掩码、默认网关、DNS服务器名称等相关配置)。
3.主机广播DHCP求情报文。主机向服务器请求提供IP地址(我要用你的IP地址了)
4.DHCP服务器广播DHCP确认报文。正式将IP地址分配给主机(用吧!)

3.5 ICMP(网际控制报文)协议

在这里插入图片描述
根据TCP/IP协议栈,ICMP协议与IGMP位于网络层和传输层之间,起桥梁作用。其目的是为了更有效的转发IP数据和提高交付成功的机会。
在这里插入图片描述
它用于 TCP/IP 网络中发送控制消息,提供可能发生在通信环境中的各种问题反馈,通过这些信息,使网络管理者可以对所发生的问题作出诊断,然后采取适当的措施解决问题。
虽然 ICMP 是网络层协议,但是它不像 IP 协议和 ARP 协议一样直接传递给数据链路层,而是先封装成 IP 数据包然后再传递给数据链路层。所以在 IP 数据包中如果协议类型字段的值是 1 的话,就表示 IP 数据是 ICMP 报文。IP 数据包就是靠这个协议类型字段来区分不同的数据包的。

ICMP差错报告报文

1.终点不可达:无法交付数据
2.时间超过:拥塞丢数据
3.时间超过:TTL= 0;
4.参数问题:首部字段有问题
5.重定向:换路由
在这里插入图片描述
所有的ICMP差错报告报文的数据格式都一样,将收到的需要进行差错报告的IP数据报的首部和前8个字节作为ICMP报文的数据字段,再加上ICMP的前8个字节组成ICMP差错报告报文,在加上首部构成完整的数据报。
ICMP差错报告报文即IP数据报,也就是网络层传输单元的数据部分。
在这里插入图片描述
组播:也是一对多,但是不用发送给所有结点,是有选择性的。
在这里插入图片描述
ICMP询问报文分为:
1.回答请求和回答报文:例如在ping+IP/DNS时,便需要请求和回答
在这里插入图片描述
ICMP的应用:
在这里插入图片描述

3.6 IPV6

32位的IPv4地址空间已经分配殆尽。
在这里插入图片描述
在这里插入图片描述
IPV6在源地址和目的地址都从32位扩充位128位。

在这里插入图片描述
IPV6常以16进制进行表示。
在这里插入图片描述
IPV6独有的同行方式是任播,实际上还是一对一通信,表现形式是一对多,假设一台主机其IP数据包所封装的地址是任播地址,那么其会给任播组内的最近的一台发送信息。
在这里插入图片描述
IPV6与IPV4的兼容与过度:双栈协议/隧道技术
隧道技术实现了IPv6到ipv4的伪装(将ipv6的数据报作为数据部分封装在首部为IPv4的数据报中)
在这里插入图片描述
在这里插入图片描述

3.7 路由选择协议

3.7.1 内部网关协议

3.7.1.1 RIP协议与距离向量算法

在这里插入图片描述

RIP协议

RIP适用于较小的网络
在这里插入图片描述
RIP没30秒交换一次路由信息,若超过180秒没收到邻居路由器的通告,则判定路由器或者链路有问题,那么此时更新路由表便会把要通过邻居的表项更新掉。
在这里插入图片描述
RIP报文:包含路由表的全部信息,是相邻路由器所交换的信息。
对于路由表当中最短距离以及下一跳的更新与添入,即通过距离向量算法确定。

距离向量算法

在这里插入图片描述
返回就是在不断更新直至收敛。
在这里插入图片描述

RIP报文
  1. RIP是将首部和路由信息部分塞到了UDP用户数据报当中,在加上UDP首部形成UDP用户数据报。UDP是传输层协议,传输层的传输单元数据部分也是高层(应用层)传下来的,所以RIP是应用层协议,将封装的好的RIP报文塞进UDP数据报中,使用UDP传送数据。
  2. 一个RIP报文最多可包括25个路由。对于比较庞大的网络,常常需要发送不止一个RIP报文。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
3.7.1.2 OSPF协议链路状态算法
OSPF(开放最短路径优先协议)

OSPF在链路状态改变时,通过向相邻的路由器发送信息(相邻的所有路由器的链路状态),来传播到整个自治系统,类似广播形式。最终所有路由器都能知道自己到这个全网络内的其他路由器的最短路径。
在这里插入图片描述

路由状态路由算法

在这里插入图片描述
在这里插入图片描述
主要划分为主干区域和普通区域,主干区域0.0.0.0主要是用来联通其他区域,其中R3与R7即是主干路由器也是区域边界路由器负责两个区域的通信。

OSPF报文

OSPF分组用IP数据报传送,是网络层协议。
在这里插入图片描述
在这里插入图片描述

3.7.2 外部网关协议-BGP协议

在这里插入图片描述

在配置BGP协议时,自治系统管理员都要选择最少一个路由器作为BGP发言人,两个BGP发言人通过网络连接在一起,一般BGP发言人就是BGP边界路由器,与外界进行相连,因此发言人不仅会使用RIP,OSPF等内部网关协议,也会使用BGP外部网关协议。即边界路由器不仅要清楚,通过那几个自治系统才能到达目的自治系统,也得知道自治系统内部的最短路由信息。而自治系统与OSPF一样,链路变化时才会更新路由信息。
因此BGP交换的便是路径向量(一组完整路径信息)
在这里插入图片描述
在这里插入图片描述

BGP报文

BGP报文信息封装在TCP报文当中,因此传输BGP报文必须先建立TCP连接。
在这里插入图片描述
BGP路由表中的网络是通过CIDR这种网络前缀的形式来表示的。
在这里插入图片描述
open报文即实现TCP连接的建立,同时证实发送发身份,实现身份认证。
KEEPALIVE报文:虽然相邻的BGP发言人之间建立了TCP连接,但是如果长时间没有发送报文,没有路径的更新,但是为了确实对方是否还在线,则需要发送该报文,同时也可以对连接报文进行确认。
NOTIFICATION(通知)报文:可以用来关闭TCP连接。
在这里插入图片描述

3.7.3 三种协议的比较

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

四、 网络层设备

路由选择:是宏观的,选择一个合适的路径把数据从源地址转发到目的地址。
转发:是路由器内部从一个输入端口转发到一个输出端口。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
默认路由在路由表中找不到能转发的路由时,先转发到默认路由,在局域网中通常也是一个路由器,再由路由器慢慢寻找能不能转发。

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

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

相关文章

小程序渲染层图标错误

小程序渲染图标层出现错误&#xff1a; 官方提示&#xff1a;不影响可以忽略&#xff1b; 通过阿里巴巴矢量图标库--项目设置--字体格式--选中base64格式&#xff1b; 重新更新图标库代码&#xff0c;替换项目中的图标库&#xff1b; 重新加载小程序--渲染层错误的提示消失&…

基于vue+element+springboot+uniapp开发的智慧城管源码,java智慧城市管理综合执法系统源码

智慧城管源码&#xff0c;智慧执法&#xff0c;数字化城市管理综合执法系统源码 智慧城管系统充分利用物联网、云计算、信息融合、网络通讯、数据分析与挖掘等技术&#xff0c;对城市管理进行全方位覆盖。它通过建立城市综合管理平台&#xff0c;将城市的信息和管理资源有机结合…

TS + Vue3 elementUI 表格列表中如何方便的标识不同类型的内容,颜色区分 enum

TS Vue3 elementUI 表格列表中如何方便的标识不同类型的内容&#xff0c;颜色区分 enum 本文内容为 TypeScript 一、基础知识 在展示列表的时候&#xff0c;列表中的某个数据可能是一个类别&#xff0c;比如&#xff1a; enum EnumOrderStatus{"未受理" 1,"…

鸿蒙Harmony应用开发—ArkTS(@State装饰器:组件内状态)

State装饰的变量&#xff0c;或称为状态变量&#xff0c;一旦变量拥有了状态属性&#xff0c;就和自定义组件的渲染绑定起来。当状态改变时&#xff0c;UI会发生对应的渲染改变。 在状态变量相关装饰器中&#xff0c;State是最基础的&#xff0c;使变量拥有状态属性的装饰器&a…

分享ChatGPT超全面从基础到实战视频教程 - 带源码课件

分享ChatGPT超全面从基础到实战视频教程 - 带源码课件。本课程从ChatGPT的注册和使用讲起&#xff0c;分析了主流ChatGPT的应用场景&#xff0c;针对代码类开发场景做了详细实践&#xff0c;通过ChatGPT完成实战项目&#xff0c;从0-1搭建聊天机器人&#xff0c;轻松学习ChaGPT…

【mysql 127错误】mysql启动报错mysqld.service: Failed with result ‘exit-code‘.

无网环境&#xff0c;mysql 安装 出现如下错误 [rootmysql tools]# systemctl status mysqld.service ● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: failed (Result: exit-code) since…

基于OpenCV的图像处理案例之图像矫正(Python)

Index 目录索引 写在前面解决思路参考 写在前面 本文通过一个案例介绍如何使用OpenCV将倾斜的扫描文档图像进行水平矫正。 解决思路 因为扫描图像中的大部分文字倾斜后&#xff0c;同一行文字也在同一条直线&#xff0c;所以可以通过拟合直线来计算文本倾斜角度&#xff0c;…

ETL的全量和增量模式

在当今信息爆炸的时代&#xff0c;数据管理已经成为各行各业必不可少的一环。而在数据管理中&#xff0c;全量与增量模式作为两种主要的策略&#xff0c;各自具有独特的优势和适用场景&#xff0c;巧妙地灵活运用二者不仅能提升数据处理效率&#xff0c;更能保障数据的准确性。…

没有磁盘整列下的多机分布式存储:使用rysnc+多服务器文件/文件夹内容同步

目录 0.为什么要定时同步 1.程序安装 2.文件夹设置rsync使用 3.使用cron进行定时任务 0.为什么要定时同步 作为科研党&#xff0c;实验室有多个服务器&#xff0c;但是都是分批买的没有上磁盘整列&#xff0c;所以一个服务器上跑的东西并不能同步&#xff0c;有时候挂任务要…

docker基础(八)之docker commit,docker tag,docker cp,docker diff

文章目录 概述docker commit语法OPTIONS说明&#xff1a;docker commit --help实例使用场景 docker tag语法示例使用场景为什么要这样做呢&#xff1f; docker cp语法OPTIONS说明&#xff1a;docker cp --help示例 docker diff语法示例使用场景&#xff1a; 概述 用于学习和记…

贪心算法入门

简介 贪心算法&#xff08;Greedy Algorithm&#xff09;是一种在每一步选择中都采取在当前状态下最好或最优&#xff08;即最有利&#xff09;的选择&#xff0c;从而希望导致结果是全局最好或最优的算法。也就是首先选取局部最优&#xff0c;从局部最优推出全局最优。 举例…

隐语笔记3 —— 隐语架构

隐语架构一览 隐语产品层 定位&#xff1a; 通过可视化产品&#xff0c;降低终端用户的体验和演示成本。通过模块化API降低技术集成商的研发成本。 人群画像&#xff1a; 隐私保护计算集成商&#xff0c;产品人员&#xff0c;隐私保护计算需求方&#xff0c;开发人员&#xff…

IDEA | 资源文件中文乱码问题解决

问题 IDEA打开资源文件&#xff0c;显示乱码问题。 解决方案 1、电脑是mac&#xff0c;点击IDEA->【Preferences】->【Editor】->【File Encodings】 2、选择【Properties Files】中的UTF-8&#xff0c;并勾选Transparent native-to-ascii conversion。 3、最后点击…

罗格朗逸景PLUS IOT智能系统发布,为您提供更智能的生活体验!

罗格朗全新推出的逸景PLUS IOT智能系统现已正式上市,采用纤薄纯平的设计,功能丰富全面,支持灯光/温度/场景控制、背景音乐等多种功能,整合罗格朗IOT2.0系统,集成可视对讲,为用户打造更舒适、安全的智能生活。 罗格朗智能家居 罗格朗是全球电气与智能建筑系统专家,创立于1865年…

QT tableWidget横向纵向设置

横向控件 要设置QTabWidget选项卡的字体方向&#xff0c;可以使用QTabWidget的setTabPosition()方法。通过传递Qt枚举值QTabWidget.east或QTabWidget.west作为参数&#xff0c;可以设置选项卡的字体方向为从左到右或从右到左。 myTabWidget QTabWidget() myTabWidget.setTabP…

基于python+vue的O2O生鲜食品订购flask-django-nodejs-php

近年来互联网络的迅猛发展和电子终端设备的普及&#xff0c;赋予了各行业充足的发展空间。微信小程序的O2O生鲜食品订购相比于传统信息技术&#xff0c;时效性是它最大的特色&#xff0c;已经在电子娱乐、经济等中发挥着举足轻重的作用。短时间内迅速扩大了线上管理系统的规模。…

牛,The O-one ——通过语音交互控制电脑的开源语言模型

模型介绍 The O-one &#xff1a;一个创新的开源语言模型计算机 可以让你通过语音交互来和你的计算机进行对话&#xff0c;完成询问、指令下达等任务。灵感居然来自Andrej Karpathy 的 LLM 操作系统。O1运行一个代码解释语言模型&#xff0c;并在计算机内核发生特定事件时调用…

机器学习——线性回归(头歌实训)

头歌机器学习实训代码、答案&#xff0c;如果能够帮到您&#xff0c;希望可以点个赞&#xff01;&#xff01;&#xff01; 如果有问题可以csdn私聊或评论&#xff01;&#xff01;&#xff01;感谢您的支持 目录 第1关&#xff1a;简单线性回归与多元线性回归 第2关&#…

【机器学习入门 】支持向量机

系列文章目录 第1章 专家系统 第2章 决策树 第3章 神经元和感知机 识别手写数字——感知机 第4章 线性回归 第5章 逻辑斯蒂回归和分类 前言 支持向量机(Support Vector Machine) 于1995年发表&#xff0c;由于其优越的性能和广泛的适用性&#xff0c;成为机器学习的主流技术&…

在Linux/Debian/Ubuntu上通过 Azure Data Studio 管理 SQL Server 2019

Microsoft 提供 Azure Data Studio&#xff0c;这是一种可在 Linux、macOS 和 Windows 上运行的跨平台数据库工具。 它提供与 SSMS 类似的功能&#xff0c;包括查询、脚本编写和可视化数据。 要在 Ubuntu 上安装 Azure Data Studio&#xff0c;可以按照以下步骤操作&#xff1…