【考前预习】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运算进行2^{^{n}}乘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(即2^{^{n}}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 bit实际上并没有什么作用,后面的12bit是该虚拟局域网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字节。

5.1交换机端口类型

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

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

相关文章

bean创建源码

去字节面试,直接让人出门左拐:Bean 生命周期都不知道! spring启动创建bean流程 下面就接上了 bean生命周期 doGetBean Object sharedInstance this.getSingleton(beanName); sharedInstance this.getSingleton(beanName, new ObjectF…

iOS swift开发系列 -- tabbar问题总结

1.单视图如何改为tabbar,以便显示2个标签页 右上角➕,输入tabbar 找到控件,然后选中,把entrypoint移动到tabbar控件 2.改成tabbar,生成两个item,配置各自视图后,启动发现报错 Thread 1: “-[p…

【常考前端面试题总结】---2025

React fiber架构 1.为什么会出现 React fiber 架构? React 15 Stack Reconciler 是通过递归更新子组件 。由于递归执行,所以更新一旦开始,中途就无法中断。当层级很深时,递归更新时间超过了 16ms,用户交互就会卡顿。对于特别庞…

直流开关电源技术及应用

文章目录 1. 开关电源概论1.1 开关电源稳压原理1.1.1 开关电源稳压原理核心组成部分及其作用工作过程稳压原理 1. 开关电源概论 1.1 开关电源稳压原理 为了提高效率,必须使功率调整器件处于开关工作状态。 作为开关而言,导通时压降很小,几乎…

汽车嵌入式软件构建高效技术团队的全面思考

在汽车嵌入式软件开发领域,构建一支高效的通用技术团队至关重要。这类团队负责为各种项目提供可复用、标准化的技术基石,从而提高开发效率、降低成本并确保产品质量。构建这样的团队需要从技术能力、角色分工、标准化与复用、流程管理与质量保证、工具和…

SpringBoot左脚进门之Maven管理家

一、概念 Maven 是一个项目管理和整合工具。通过对 目录结构和构建生命周期 的标准化, 使开发团队用极少的时间就能够自动完成工程的基础构建配置。 Maven 简化了工程的构建过程,并对其标准化,提高了重用性。 Maven 本地仓库 (Local Reposi…

活动报名:Voice Agent 开发者分享会丨RTE Meetup

引入 voice agent 的口语学习应用 Speak 估值已达 10 亿美元 Voice Agent 开发者分享会 一同探索语音驱动的下一代人机交互界面,一场 voice agent builder 的小规模深度交流会。 RTE Meetup 迎来第六期!12 月 15 日(周日)上午&…

gentoo安装Xfce桌面

一、安装Xfce 1.选择一个配置文件 参见另一篇“https://blog.csdn.net/my1114/article/details/143919066”,配置文件选择24. 2.安装Xfce (1)root #emerge --ask xfce-base/xfce4-meta 第一次启动登录后时可能还需starx来启动X11 (2)安装slim(X11登录管理…

舌头分割数据集labelme格式2557张1类别

数据集格式:labelme格式(不包含mask文件,仅仅包含jpg图片和对应的json文件) 图片数量(jpg文件个数):2557 标注数量(json文件个数):2557 标注类别数:1 标注类别名称:["tongue"] 每个类别标注的框数&#xff1…

【提升工作能力:五大关键要素】

提升工作能力:五大关键要素 在职场中,工作能力强的员工往往能够更高效地完成任务,赢得同事的尊重和领导的信任。那么,如何提升自己的工作能力呢?根据上述内容,我们可以将提升工作能力的关键要素归纳为以下…

【Linux服务器nginx前端部署详解】ubantu22.04,前端Vue项目dist打包

本文主要讲一下在Linux系统环境下(以ubantu22.04为例),如何用nginx部署前端Vue项目打包的dist静态资源。有些具体的命令就不展开讲了,可以自行查看其他博主的文章,我主要讲整体的步骤和思路。 一、ubantu系统安装ngin…

(后序遍历 简单)leetcode 101翻转二叉树

将根结点的左右结点看作 两个树的根结点,后序遍历(从叶子结点从下往上遍历) 两个树边遍历边比较。 左节点就左右根的后序遍历 右根结点就右左根的后序遍历来写 后序遍历(从叶子结点从下往上遍历) /*** Definition …

【Google Cloud】VPC Service Controls 的试运行模式

本文介绍了 VPC 服务控制的试运行模式。 什么是 VPC Service Controls VPC Service Controls 是 Google Cloud(以前称为 GCP)的一项安全功能。它通过设置一个被称为 边界 的逻辑围栏,防止从内部到外部和从外部到内部的双向意外访问&#xf…

NAT网络地址转化技术

1.什么是NAT NAT技术是一种将自己内网的多个私有IP地址转换为一个公网IP进行访问互联网的一项技术,这个技术主要是用来解决IPv4地址不够的问题。 2.NAT技术的具体例子 如果我们用手机使用流量浏览一个网站,那么第一步手机会对这个域名进行DNS解析&#…

图形几何之美系列:铺装算法效果赏析

你知道怎么设置地砖排布吗?或者墙砖排布 有一块布料,怎么填充好看的纹理? 可以用铺装算法,使得设计和艺术变得更有创造力 轮廓铺装:地板铺装、墙砖铺砖、吊顶铺装、图案填充。 图案变得更具艺术感~电视机&#xff1f…

Tomcat项目本地部署

前言: 除了在idea中将项目启动之外,也可以将项目部署在本地tomcat或者云服务器上,本片文章主要介绍了怎样将项目部署在本地tomcat 下面介绍如何使用Tomcat部署本地项目: 1、本篇文章使用的项目案例为一个聚合项目,ha…

Django结合websocket实现分组的多人聊天

其他地方和上一篇大致相同,上一篇地址点击进入, 改动点1:在setting.py中最后再添加如下配置: # 多人聊天 CHANNEL_LAYERS {"default":{"BACKEND": "channels.layers.InMemoryChannelLayer"} }因此完整的se…

网络工程师常用软件之配置对比软件

老王说网络:网络资源共享汇总 https://docs.qq.com/sheet/DWXZiSGxiaVhxYU1F ☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝ 我们经常在项目或者运维中对设备的config进行变更&am…

Spring Boot 集成 MyBatis 全面讲解

Spring Boot 集成 MyBatis 全面讲解 MyBatis 是一款优秀的持久层框架,与 Spring Boot 集成后可以大大简化开发流程。本文将全面讲解如何在 Spring Boot 中集成 MyBatis,包括环境配置、基础操作、高级功能和最佳实践。 一、MyBatis 简介 1. SqlSession …

面向对象编程(下半)

面向对象编程(下半) 继承 面向对象的三大特征: 封装,继承,多态 继承的作用?能解决什么样的实际问题? 生活中的继承:将一方所拥有的东西给予另一方。父母的财富 类之间的继承:属性…