【考前预习】3.计算机网络—数据链路层
往期推荐
【考前预习】2.计算机网络—物理层-CSDN博客
【考前预习】1.计算机网络概述-CSDN博客
浅谈云原生--微服务、CICD、Serverless、服务网格_云原生cicd-CSDN博客
子网掩码、网络地址、广播地址、子网划分及计算_子网广播地址-CSDN博客
浅学React和JSX-CSDN博客
目录
1.数据链路层概述
1.1 数据链路和帧
2.数据链路层三个基本问题
2.1封装成帧
2.1.1帧定界
2.2透明传输
2.2.1 实现透明传输—字节填充
2.3差错检测
2.3.1循环冗余检验CRC
2.3.2生成多项式
2.4可靠传输
3.点对点信道—点对点协议PPP
3.1PPP协议组成
3.2PPP协议帧格式
3.3透明传输实现—字节填充
3.4透明传输实现—零比特填充
4.广播信道
4.1共享信道
4.2适配器的作用
4.3总线型网络拓扑—CSMA/CD协议
4.4.1 截断二进制指数退避算法
4.4星形网络拓扑—集线器
4.5以太网信道利用率
4.6以太网MAC层
4.6.1MAC的硬件地址
4.6.2MAC帧格式
4.7以太网扩展
5.虚拟局域网VLAN
1.数据链路层概述
数据链路层属于计算机网络的低层。数据链路层使用的信道主要有以下两种类型:
- 点对点信道:使用一对一的点对点通信方式。
- 广播信道:使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。
局域网虽然是个网络,但我们并不把局域网放在网络层中讨论。这是因为在网络层要讨论的问题是多个网络互连的问题,是讨论分组怎样从一个网络通过路由器转发到另一个网络。
数据链路层研究的是在同一个局域网中,分组怎样从一台主机不用路由器传送到另一台主机。
1.1 数据链路和帧
- 链路:从一个节点到相邻节点的一段物理线路。
- 数据链路:在链路的基础上增加必要的通信协议控制数据传输。
- 链路层协议数据单元:帧,链路层接收到网络层的IP数据报添加首部尾部信息封装成帧作为链路层传输单元。
点对点信道的数据链路通信步骤:
(1)节点A的数据链路层把网络层交下来的P数据报添加首部和尾部封装成帧。
(2)节点A把封装好的帧发送给节点B的数据链路层。
(3)若节点B的数据链路层收到的帧无差错,则从收到的帧中提取出P数据报交给上面的网络层:否则丢弃这个帧。
2.数据链路层三个基本问题
2.1封装成帧
在IP数据报头部尾部添加一些控制信息,使得接收端的数据链路层接收到物理层的比特流后能根据首部尾部标记识别到帧的开始和结束,因此帧的作用之一就是帧定界。
最大传送单元MTU是数据部分长度上限。
2.1.1帧定界
- 当数据是由可打印的ASCⅡ码组成的文本文件时,帧定界可以使用特殊的帧定界符。ASCⅡ码是7位编码,一共可组合成128个不同的ASCIⅡ码,其中可打印的有95个,而不可打印的控制字符有33个。控制字符SOH(Start Of Header)放在一帧的最前面,表示帧的首部开始。另一个控制字符EOT(End Of Transmission)表示帧的结束。SOH和EOT都是控制字符的名称。它们的十六进制编码分别是01(二进制是00000001)和04(二进制是00000100)。SOH(或EOT)并不是S,O,H(或E,O,T)三个字符。
- 如果数据传送时中断,那么接收端接收到的数据就只有SOH,没有EOT,那么说明帧是不完整的,接后端链路层就会丢弃该帧,因此帧定界有一定的检错作用。
2.2透明传输
- 由于帧的开始和结束的标记使用专门指明的控制字符,因此传输数据中的任何8 bit的组合不能和帧定界的控制字符的比特编码一样,否则就会出现帧定界的错误。
- 当传送的帧是用文本文件组成的帧时(从键盘上输入),其数据部分一定不会出现像SOH或EOT这样的帧定界控制字符。可见不管从键盘上输入什么字符都可以放在这样的帧中传输过去,这样的传输就是透明传输。
- 当数据部分是非ASCⅡ码的文本文件时(如二进制代码的计算机程序或图像等),情况就不同了。如果数据中的某个字节的二进制代码恰好和SOH或EOT这种控制字符一样,数据链路层就会错误地“找到帧的边界”,把部分帧收下(误认为是个完整的帧),而把剩下的那部分数据丢弃,这样就不是透明传输。
2.2.1 实现透明传输—字节填充
设法使数据中出现的控制字符“SOH”和“EOT”在接收端不被解释为控制字符。具体的方法是:发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(其十六进制编码是1B,二进制是00011011)。而在接收端数据链路层在把数据送往网络层之前删除这个插入的转义字符。这种方法称为字节填充或字符填充。如果转义字符也出现在数据
当中,那么解决方法仍然是在转义字符的前面插入一个转义字符。因此,当接收端收到连续
的两个转义字符时,就删除其中前面的一个。
2.3差错检测
比特流在传输过程中可能出现比特差错,一段时间内,传输错误的比特占传输总比特的比率叫误码率BER,这和信噪比有一定关系。
2.3.1循环冗余检验CRC
- 在发送端,先把数据划分为组,假定每组k个比特。现假定待传送的数据M=101001(k=6)。CRC运算就是在数据M的后面添加供差错检测用的n位冗余码,然后构成一个帧发送出去,一共发送(k+n)位。在所要发送的数据后面增加n位的冗余码,虽然增大了数据传输的开销,却可以进行差错检测。
- 冗余码可用以下方法得出:用二进制的模2运算进行
乘M的运算,相当于在M后面添加n个0。得到的(k+)位的数除以收发双方事先商定的长度为(n+1)位的除数P,得出商是Q而余数是R(n位,比P少一位)。M=101001(即k=6)。假定除数P=1101(即n=3)。经模2除法运算后的结果是:商Q=110101(商没有用处),而余数R=001这个余数R就作为冗余码拼接在数据M的后面发送出去。这种为了进行检错而添加的冗余码常称为帧检验序列FCS。因此加上FCS后发送的帧是101001001(即
M+FCS),共(k+n)位。
- 在接收端对收到的每一帧经过CRC检验后,有以下两种情况:
- 若得出的余数R=0,则判定这个帧没有差错,就接受。
- 若余数R≠0,则判定这个帧有差错(但无法确定究竟是哪一位或哪几位出现了差
错),就丢弃。CRC是一种检错方法,而FCS是添加在数据后面的冗余码。
2.3.2生成多项式
2.4可靠传输
由上面知,凡是数据链路层接收到的帧,都概率接近1的认为帧没有差错,因为差错的帧都被丢弃了。但是我们并不要求链路层向网络层提供可靠传输的服务。
传输差错可分为两类:一类是前面的比特差错,另一类是帧丢失、重复、失序。所以,CRC检验实现的无比特差错传输还不是可靠传输。
3.点对点信道—点对点协议PPP
除了能实现可靠传输的高级数据链路控制HDLC,还有更为简单好用的PPP协议。
PPP协议制定于1992年,是用户计算机和ISP进行通信所使用的数据链路层协议。
3.1PPP协议组成
PPP协议有三个组成部分:
- 一个将IP数据报封装到串行链路的方法。PPP既支持异步链路(无奇偶检验的8 bit数据),也支持同步链路。IP数据报在PPP帧中就是其信息部分。这个信息部分的长度受最大传送单元MTU的限制。
- 一个用来建立、配置和测试数据链路连接的链路控制协议LCP(Link Control Protocol)。通信的双方可协商一些选项。
- 一套网络控制协议NCP(Network Control Protocol),其中的每一个协议支持不同的网络层协议。
3.2PPP协议帧格式
PPP帧的首部和尾部分别为四个字段和两个字段。
- 首部的第一个字段和尾部的第二个字段都是标志字段F(Flag),规定为0x7E(符号“0x”,表示它后面的字符是用十六进制表示的。十六进制的7E的二进制表示是01111110)。标志字段表示一个帧的开始或结束。因此标志字段就是PPP帧的定界符。
- 首部中的地址字段A规定为0xFF(即11111111),控制字段C规定为0x03(即00000011)。最初曾考虑以后再对这两个字段的值进行其他定义,但至今也没有给出。可见这两个字段实际上并没有携带PPP帧的信息。
- PPP首部的第四个字段是2字节的协议字段。当协议字段为0x0021时,PPP帧的信息
字段就是IP数据报。若为0xC021,则信息字段是PPP链路控制协议LCP的数据,
0x8021表示这是网络层的控制数据。- 信息字段的长度是可变的,不超过1500字节。
尾部中的第一个字段(2字节)是使用CRC的帧检验序列FCS。
3.3透明传输实现—字节填充
PPP使用异步传输时,采用字节填充来实现透明传输:
- 把信息字段中和标志字段一样的比特组合(0x7E)转义为0x7D并使用字节填充。
- 把信息字段中比特组合为0x7D的变为2字节序列(0x7D,0x5D)。
- 把信息字段中的ASCⅡ码控制字符前加0x7D。
3.4透明传输实现—零比特填充
PPP在SONET/SDH使用同步传输时,采用零比特填充来实现透明传输:
- 发送端先扫描整个信息字段,只要发现有5个连续1,则立即填入一个0。保证在信息字段中不会出现6个连续1。
- 接收端在收到一个帧时,先找到标志字段F以确定一个帧的边界,接着再用硬件对其中的比特流进行扫描。每当发现5个连续1时,就把这5个连续1后的一个0删除,以还原成原来的信息比特流。
- 这样就保证了透明传输:在所传送的数据比特流中可以传送任意组合的比特流,而不会引起对帧边界的错误判断。
4.广播信道
局域网最主要的特点:网络为一个单位所拥有,且地理范围和站点数目均有限。
局域网可按网络拓扑进行分类:
- 星形网,由于集线器(hub)的出现和双绞线大量用于局域网中,星形以太网以及多级星形结构的以太网获得了非常广泛的应用。
- 环形网。
- 总线网,各站直接连在总线上。总线两端的匹配电阻吸收在总线上传播的电磁波信号的能量,避免总线产生有害电磁波反射。
总线网以传统以太网最为著名,但以太网后来又演变成了星形网。现在以太网已成为了局域网的同义词,因此本章从本节开始都是讨论以太网技术。
4.1共享信道
共享信道要着重考虑的一个问题就是如何使众多用户能够合理而方便地共享通信媒体
资源。这在技术上有两种方法:
- 静态划分信道,用户只要分配到了信道就不会和其他用户发生冲突。但这种划分信道的方法代价较高,不适合于局域网使用。
- 动态媒体接入控制,又称为多点接入,特点是信道并非在用户通信时固定分配给用户。这里又分为以下两类:
- 随机接入随机接入的特点是所有的用户可随机地发送信息。但如果恰巧有两个或更多的用户在同一时刻发送信息,那么在共享媒体上就要产生碰撞(即发生了冲突),使得这些用户的发送都失败。因此,必须有解决碰撞的网络协议。
- 受控接入,受控接入的特点是用户不能随机地发送信息而必须服从一定的控制。这类的典型代表有分散控制的令牌环局域网和集中控制的多点线路探询。
4.2适配器的作用
- 早期的适配器是计算机主箱的网络接口板,称为网卡,用于连接外界局域网,现在的计算机主板镶嵌了这种适配器,不再单独使用网卡。
- 通信适配器上面装有处理器和存储器(包括RAM、ROM)。适配器和局域网之间的通信是通过电缆或双绞线以串行传输方式进行的,而适配器和计算机之间的通信则是通过计算机主板上的I/O总线以并行传输方式进行的。
- 由于网络上的数据率和计算机总线上的数据率并不相同,因此在适配器中必须装有对数据进行缓存的存储芯片。在主板上插入适配器时,还必须把管理该适配器的设备驱动程序安装在计算机的操作系统中。
- 同时适配器还要实现以太网协议。
- 计算机的硬件地址在适配器ROM中,软件地址(IP地址)在存储器中
4.3总线型网络拓扑—CSMA/CD协议
为了通信简便,以太网有如下两种措施:
- 采用无连接,不建立连接直接发数据、不需要ACK确认,提供不可靠交付,接收端CRC检测到错误帧,对于错误帧是否重传由高层决定,比如TCP协议,TCP协议检测到数据缺失,会让以太网重传。
然而,总线型拓扑网络中只要有一台计算机发送数据,那么总线传输资源就会被占用,所以在同一时间只能允许一台计算机发送数据,否则会发生冲突。
为了避免发生冲突,就有了CSMA/CD协议,意为载波监听多点接入/碰撞检测- 以太网使用曼彻斯特编码
“多点接入”就是说明这是总线型网络,许多计算机以多点接入的方式连接在一根总
线上。协议的实质是“载波监听”和“碰撞检测”。
“载波监听”也就是“边发送边监听”。载波监听就是在发送数据前后,每个站都必须不停地检测信道。如果检测出已经有其他站在发送,则本站就暂时不要发送数据。在发送中检测信道,是为了及时发现如果有其他站也在发送,就立即中断本站的发送。这就称为碰撞检测。然而也会出现两个计算机同时发送消息的情况。
在使用CSMA/CD协议时,一个站不可能同时进行发送和接收。因此使用CSMA/CD协议的以太网不可能进行全双工通信而只能进行双向交替通信(半双工通信)。
4.4.1 截断二进制指数退避算法
以太网使用截断二进制指数退避算法来确定碰撞后重传的时机。这种算法让发生碰撞而停止发送数据的站退避一个随机的时间再发送数据,而不是等待信道变为空闲后就立即再发送数据,因为几个发生碰撞的站将会同时检测到信道变成了空闲。如果大家都同时重传,必然接
连发生碰撞。如果采用退避算法,生成了最小退避时间的站将最先获发送权。以后其余的站
的退避时间到了,但发送数据之前监听到信道忙,就不会马上发送数据了。
4.4星形网络拓扑—集线器
- 传统以太网使用粗同轴线缆后来演变成便宜灵活的双绞线,这种以太网采用星形拓扑,星形中心增加了一种可靠性非常高的设备,叫做集线器。
- 双绞线能够传送高速数据的主要措施是把双绞线的绞合度做得非常精确。这样不仅可使特性阻抗均匀以减少失真,而且大大减少了电磁波辐射和无线电频率的干扰。
- 使用集线器的以太网在逻辑上仍是一个总线网,各站共享逻辑上的总线,使用的还是CSMA/CD协议。网络中的各站必须竞争对传输媒体的控制,并且在同一时刻至多只允许一个站发送数据。
- 一个集线器有许多端口,每个端口通过RJ-45插头用两对双绞线与一台计算机上的适配器相连。一个集线器很像一个多端口的转发器。
- 集线器工作在物理层,每个端口仅转发比特,不进行碰撞检测
4.5以太网信道利用率
4.6以太网MAC层
4.6.1MAC的硬件地址
硬件地址又称为物理地址、MAC地址,它固化在适配器的ROM中,全球唯一,48比特位。如果计算机更换了适配器,那么其局域网位置就发生改变,因此严格的讲,MAC地址是每台计算机的唯一名字,而不能确定其位置。
IEEE规定地址字段的第一字节的最低有效位为I/G位。当I/G位为0时,地址字段表示一个单个站地址。当I/G位为1时表示组地址,用来进行多播(组播)。
在地址记法中有两种标准:第一种记法是把每一字节的最低位(即最低有效位)写在最左边(第一位)。IEEE802.3标准就采用这种记法。例如,十进制数11的二进制表示是1011,最高位写在最左边。但若使用IEEE802.3标准的记法,就应当记为1101,把最低位写在最左边。
适配器有过滤功能。当适配器从网络上每收到一个MAC帧就先用硬件检查MAC帧中的目的地址。如果是发往本站的帧则收下,然后再进行其他的处理。否则将此帧丢弃,
这里“发往本站的帧”包括以下三种帧:
- 单播(unicast)帧(一对一),即收到的帧的MAC地址与本站的MAC地址相同。
- 广播(broadcast)帧(一对全体),即发送给本局域网上所有站点的帧(全1地址)。
- 多播(multicast)帧(一对多),即发送给本局域网上一部分站点的帧。
以太网适配器还有一种混杂工作方式,可以窃听传输的帧。嗅探器就使用了这种适配器。
4.6.2MAC帧格式
常用的以太网MAC帧格式有两种标准:DIX Ethernet V2标准(以太网V2标准)和IEEE的802.3标准。这里只介绍使用得最多的以太网V2的MAC帧格式,图中假定网络层使用的是IP协议。实际上使用其他的协议也是可以的。
4.7以太网扩展
扩展以太网更常用的方法是在数据链路层进行的。最初人们使用的是网桥(bridge)。网桥对收到的帧根据其MAC帧的目的地址进行转发和过滤。当网桥收到一个帧时,并不是向所有的端口转发此帧,而是根据此帧的目的MAC地址,查找网桥中的地址表,然后确定将该帧转发到哪一个端口,或者是把它丢弃(即过滤)。
1990年问世的交换式集线器(switching hub)代替了网桥。交换式集线器常称为以太网交换机(switch)或第二层交换机(L2 switch),强调这种交换机工作在数据链路层。
以太网交换机特点
- 交换机实质是多端口网桥,采用全双工方式,可以并行。换句话说,每一个端口和连接到端口的主机构成了一个碰撞域,具有N个端口的以太网交换机的碰撞域共有N个。
- 以太网交换机的端口还有存储器,能在输出端口繁忙时把到来的帧进行缓存。
- 以太网交换机即插即用,内部的帧交换表(又称为地址表)是通过自学习算法自动地逐渐建立起来的。实际上,这种交换表就是一个内容可寻址存储器CAM。以太网交换机由于使用了专用的交换结构芯片,用硬件转发收到的帧,其转发速率要比使用软件转发的网桥快很多。
以太网交换机自学习
图示中以太网交换机有四个端口,各连一台计算机,计算机MAC地址分别是ABCD
考虑到主机更换适配器改变了MAC地址,那么就需要更改交换表的信息,因此交换表还有第三列用来记录时间,只要超过预设时间信息就会删除,以保证交换表数据符合当前网络的实际状况。
兜圈子问题
总线以太网使用CSMA/CD协议,以半双工方式工作。
以太网交换机不使用共享总线,没有碰撞问题,不使用CSMA/CD协议,以全双工方式工作。
既然连以太网的重要协议CSMA/CD都不使用了(相关的“争用期”也没有了),为什么还叫作以太网呢?原因就是它的帧结构未改变,仍然采用以太网的帧结构。
5.虚拟局域网VLAN
虚拟局域网其实只是局域网给用户提供的一种服务,而并不是一种新型局域网。
- VLAN标签字段的长度是4字节,插入在以太网MAC帧的源地址字段和类型字段之间。
- VLAN标签的前两个字节总是设置为0x8100(即二进制的1000000100000000),称为IEEE802.1Q标签类型。
- VLAN标签的后两个字节中,前面4位实际上并没有什么作用。
- 后面的12位是该虚拟局域网VLAN标识符VID(VLAN ID),它唯一地标志了802.1Q帧属于哪一个VLAN。12位的VID可识别4096个不同的VLAN。插入VLAN标签后,802.1Q帧最后的帧检验序列FCS必须重新计算。
- 当数据链路层检测到MAC帧的源地址字段后面的两个字节的值是0x8100时,就知道现在插入了4字节的VLAN标签。由于用于VLAN的以太网帧的首部增加了4个字节,因此以太网的最大帧长从原来的1518字节(1500字节的数据加上18字节的首部和尾部)变为1522字节。
相关文章:

【考前预习】3.计算机网络—数据链路层
往期推荐 【考前预习】2.计算机网络—物理层-CSDN博客 【考前预习】1.计算机网络概述-CSDN博客 浅谈云原生--微服务、CICD、Serverless、服务网格_云原生cicd-CSDN博客 子网掩码、网络地址、广播地址、子网划分及计算_子网广播地址-CSDN博客 浅学React和JSX-CSDN博客 目录 1.数…...

DockeUI 弱口令登录漏洞+未授权信息泄露
0x01 产品描述: DockerUI是一款开源的、强大的、轻量级的Docker管理工具。DockerUI覆盖了 docker cli 命令行 95% 以上的命令功能,通过可视化的界面,即使是不熟悉docker命令的用户也可以非常方便的进行Docker和Docker Swarm集群进行管理和维护。0x02 漏洞描述: DockerUI中存…...

【电子元器件】电感基础知识
本文章是笔者整理的备忘笔记。希望在帮助自己温习避免遗忘的同时,也能帮助其他需要参考的朋友。如有谬误,欢迎大家进行指正。 一、 电感的基本工作原理 1. 电感的基本工作原理如下: (1) 当线圈中有电流通过时&#…...

【SSH+X11】VsCode使用Remote-SSH在远程服务器的docker中打开Rviz
🚀今天来分享一下通过VsCode的Remote-SSH插件在远程服务器的docker中打开Rviz进行可视化的方法。 具体流程如下图所示,在操作开始前,请先重启设备,排除之前运行配置的影响: ⭐️ 我这里是使用主机连接服务器ÿ…...

Vue Web开发(五)
1. axios axios官方文档 异步库axios和mockjs模拟后端数据,axios是一个基于promise的HTTP库,使用npm i axios。在main.js中引入,需要绑定在Vue的prototype属性上,并重命名。 (1)main.js文件引用 imp…...

HarmonyOS:使用Grid构建网格
一、概述 网格布局是由“行”和“列”分割的单元格所组成,通过指定“项目”所在的单元格做出各种各样的布局。网格布局具有较强的页面均分能力,子组件占比控制能力,是一种重要自适应布局,其使用场景有九宫格图片展示、日历、计算器…...

开源Java快速自测工具,可以调用系统内任意一个方法
java快速测试框架,可以调到系统内任意一个方法,告别写单测和controller的困扰。 开源地址:https://gitee.com/missyouch/Easy-JTest 我们在开发时很多时候想要测试下自己的代码,特别是service层或者是更底层的代码,就…...

力扣刷题TOP101: 29.BM36 判断是不是平衡二叉树
目录: 目的 思路 复杂度 记忆秘诀 python代码 目的: 输入一棵节点数为 n 二叉树,判断该二叉树是否是平衡二叉树。 思路 什么是平衡二叉树(AVL 树)? 每个节点的左子树和右子树的高度差不能超过 1。确保…...

【在Linux世界中追寻伟大的One Piece】自旋锁
目录 1 -> 概述 2 -> 原理 3 -> 优缺点及使用场景 3.1 -> 优点 3.2 -> 缺点 3.3 -> 使用场景 4 -> 纯软件自旋锁类似的原理实现 4.1 -> 结论 5 -> 样例代码 1 -> 概述 自旋锁是一种多线程同步机制,用于保护共享资源避免受并…...

前端编辑器JSON HTML等,vue2-ace-editor,vue3-ace-editor
与框架无关 vue2-ace-editor有问题,ace拿不到(brace) 一些组件都是基于ace-builds或者brace包装的 不如直接用下面的,不如直接使用下面的 <template><div ref"editor" class"json-editor"><…...

C++ 中的运算符重载
运算符重载是C中的一种特性,它允许开发者为自定义类型定义或改变标准运算符的行为。通过运算符重载,你可以使得用户定义的类像内置类型一样使用运算符,比如加法、减法、赋值等。 如何在C中进行运算符重载? 重载运算符的语法&#…...

渗透测试工具 -- SQLmap安装教程及使用
随着网络安全问题日益严峻,渗透测试成为了保护信息安全的重要手段。而在渗透测试的众多工具中,SQLmap凭借其强大的自动化SQL注入检测和利用能力,成为了网络安全专家必备的利器。那么,你知道如何高效地使用SQLmap进行漏洞扫描吗&am…...

使用 Database Tools 实现高效数据查询的十大 IntelliJ IDEA 快捷键
得益于 IntelliJ IDEA Ultimate 的 Database Tools(数据库工具)中的专用 SQL 查询控制台,您无需离开 IDE 即可轻松修改连接到您的 Java 应用程序的任何数据库中的数据,以及从这些数据库中提取数据。 查询控制台具有 SQL 语句特定的…...

SpringBoot 整合 RabbitMQ 实现流量消峰
RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用。 消息中间件在互联网公司的使用中越来越多,刚才还看到新闻阿里将 RocketMQ 捐献给了 Apache,当然了今天的主角还…...

大数据挖掘建模平台案例分享
大数据挖掘建模平台是由泰迪自主研发,面向企业级用户的大数据挖掘建模平台。平台采用可视化操作方式,通过丰富内置算法,帮助用户快速、一站式地进行数据分析及挖掘建模,可应用于处理海量数据、高复杂性的数据挖掘任务,…...

MySQL数据表的管理
1.创建表 语法: create table 表名( 字段名 字段里保存数据的类型【(数据的长度) 约束】, 字段名 字段里保存数据的类型【(数据的长度) 约束】, 字段名 字段里保存数据的类型【(数据的长度) 约束】 ...... ); 注意:数据类型和约束,接下来用…...

SpringBoot【十三(实战篇)】集成在线接口文档Swagger2
一、前言🔥 环境说明:Windows10 Idea2021.3.2 Jdk1.8 SpringBoot 2.3.1.RELEASE 二、如何生成Swagger文档 上一期我们已经能正常访问swagger在线文档,但是文档空空如也,对不对,接下来我就教大家怎么把相关的接口都给…...

【C++初阶】第8课—标准模板库STL(string_2)
文章目录 1. string类对象遍历操作1.1 标准库中的成员函数begin( )和end( )1.2 标准库中的成员函数rbegin( )和rend( )1.3 C11引入的4个标准库中的成员函数 2. string类对象的访问2.1 operator[ ]运算符重载访问字符串字符2.2 公有成员函数at访问字符2.3 公有成员函数back()和f…...

【arm】程序跑飞,SWD端口不可用修复(N32G435CBL7)
项目场景: 国民N32G43X系列,烧录了一个测试程序,在DEBUG中不知什么原因挂掉,然后就无法连接SWD或JLINK。 问题描述 在SWD配置中不可见芯片型号,无法connect,无法烧录。但基本判断是芯片没有损坏。怀疑是程…...

https证书生成、linux 生成https证书、nginx 配置https证书
1. 检查 Certbot 是否已安装 which certbot 2. 安装 Certbot 2.1启用 EPEL 仓库(如果尚未启用): sudo yum install epel-release 2.2 安装 Certbot 和 Nginx 插件: sudo yum install certbot python3-certbot-nginx 2.3验证安…...

Halcon随机贴图生成缺陷图片脚本
halcon随机贴图生成缺陷图片,用于深度学习训练: read_image (Image, C:/Users/61082/Desktop/bentiiamge/omron/S06-1211/ok/ok_images/D246B_CPFNNUBA8LT0SX_AAA_S2412001793_C1216_1733895885320066.jpg) get_image_size (Image, Width, Height) gen_rectangle1 …...

[ZMQ] -- ZMQ通信Protobuf数据结构 1
1、前言背景 工作需要域间实现zmq通信,刚开始需要比较简单的数据结构,比如两个bool,后面可能就需要传输比较大的数据,所以记录下实现流程,至于为啥选择proto数据结构去做大数据传输,可能是地平线也用这个&…...

大数据平台
大数据行业应用持续升温,特别是企业级大数据市场正在进入快速发展时期。越来越多的企业期望实现数据孤岛的打通,整合海量的数据资源,挖掘并沉淀有价值的数据,进而驱动更智能的商业。随着公司数据爆发式增长,原有的数据…...

《C++解锁机器学习特征工程:构建智能数据基石》
在当今机器学习蓬勃发展的浪潮中,特征工程犹如一座坚实的基石,奠定了模型成功的基础。而 C以其卓越的性能和强大的底层控制能力,在实现机器学习特征工程方面发挥着独特且关键的作用。 特征工程的核心目标是从原始数据中提取和构建最具代表性…...

《机器学习》3.7-4.3end if 启发式 uci数据集klda方法——非线性可分的分类器
目录 uci数据集 klda方法——非线性可分的分类器 计算 步骤 1: 选择核函数 步骤 2: 计算核矩阵 步骤 4: 解广义特征值问题 と支持向量机(svm) 目标: 方法: 核技巧的应用: 区别: 使用 OvR MvM 将…...

【Linux】VMware 安装 Ubuntu18.04.2
ISO镜像安装步骤 选择语言 English 选择键盘布局 English 选择系统 Ubuntu 虚拟机网卡地址,默认即可 代理地址,默认空即可 镜像地址,修改成阿里云地址 选择第二项,LVM 磁盘扩容技术 第一块硬盘名sda,默认…...

人员离岗监测摄像机智能人员睡岗、逃岗监测 Python 语言结合 OpenCV
在安全生产领域,人员的在岗状态直接关系到生产流程的顺利进行和工作环境的安全稳定。人员离岗监测摄像机的出现,为智能人员睡岗、逃岗监测提供了高效精准的解决方案,而其中的核心技术如AI识别睡岗脱岗以及相关的算法盒子和常见的安全生产AI算…...

【Spark】Spark数据倾斜解决方案、大表join小表及大表join大表优化思路
如果觉得这篇文章对您有帮助,别忘了点赞、分享或关注哦!您的一点小小支持,不仅能帮助更多人找到有价值的内容,还能鼓励我持续分享更多精彩的技术文章。感谢您的支持,让我们一起在技术的世界中不断进步! Sp…...

探索 Cesium 的未来:3D Tiles Next 标准解析
探索 Cesium 的未来:3D Tiles Next 标准解析 随着地理信息系统(GIS)和 3D 空间数据的快速发展,Cesium 作为领先的开源 3D 地球可视化平台,已成为展示大规模三维数据和进行实时渲染的强大工具。近年来,随着…...

每日一站技術架構解析之-cc手機桌布網
# 網站技術架構解析: ## 一、整體架構概述https://tw.ccwallpaper.com是一個提供手機壁紙、桌布免費下載的網站,其技術架構設計旨在實現高效的圖片資源管理與用戶訪問體驗優化。 ### (一)前端展示 1. **HTML/CSS/JavaScript基礎構…...