王道考研计算机网络——数据链路层

 e64ce31958d140b794326f5cde7c0ace.png

码元和信号变化是一一对应的

588a0a9b2afe431e8349888aebeb848a.png

低通:低于最高频率的可以通过
7029b6167c504bd58e77bdc64bfa631f.png

49f59183b6e245c095836be79c866394.png

奈氏准则无噪声,香农定理有噪声

给出db,利用公式求出S/N

e34859a659c4428cab08f98c6a529a38.png

a73a057e822348b09cf442cf799a2f5d.png

e6998c7e004b408380c31daf8dda6970.png a00c4f1d75b349d1bbf731512913fe26.png

放到数字信道上传输就是基带信号,放到模拟信道上传输就是宽带信号

把基带信号调制成宽带信号之后,才能放到复杂,危险的信道上面进行传输

高频信号就可以应对衰减很大的环境

5ffdc273593b4455a7753739c1542f43.png

84d797173db24a5ea13819e08d974504.png

aa480d2bf19546ec89798ccd7ff61a93.png

归零编码处于低电平的时间比较多,信道利用率低

反向不归零编码:0->1 1->0 高低电平发生跳变,否则就维持,缺点:全1无法区分,就需要发送端和接收端确立时钟周期,每一小段有多长

曼彻斯特编码就可以把时钟信号和数据都放到一块,不需要额外的信道来传送时钟信号》自同步

只要发生跳变就是一个单独的比特,然后根据电平跳变是0-1还是1-0来区分0/1

1s信号变化2次,但是数据只传送1位,所以调制速率是数据传输速率的2倍

1个时钟周期内2个码元1个bit

cb3bd5025e3d4a95b8512fc3523e3ec0.png

76743073143c49b5811ad51ebab44296.png

5fb9d77648754fd59ad1198d27759c11.png

调幅:0没有幅度,1有幅度

调频:低频0,高频1

调相:0一种波形(正弦波?),1对应一种波形(余弦波?)

16种波形》16种码元

17dd8cb5bfbc4536affffedc9318106a.png

 

 3391cbc021fb460eaec2c2a8699ae061.png 

节点:主机、路由器

数据链路层负责相邻节点之间的数据传输 

4ddd0a06148640c89bf1e2f32732b9b0.png

可靠数据传输;逻辑上实现无差错的链路 

7451be2108954b5f8b0a10792456a49c.png

最大传送单元MTU: IP数据报/帧的数据部分的最大值

aad6cf2b6ad14a5f9a19f3f6533a804b.png

帧同步/透明传输:不管你的数据怎么排列组合,链路层都可以区分出帧界限 

dff2d09849864d40be6ec982692a7fe6.png

以下是为了实现透明传输采取的组帧方法: 

一个出错,全部出错:

7839058deedc4813b550d38adb3830c1.png

字符填充法:在帧头帧尾加一个特殊的控制字段

由于文本文件是ASCII,所以不会冲突,但是其他数据在编码上可能和帧头帧尾重复,这时候应当采用字符填充法 

f6cdfe6c0ed14f5f889d7e7c530bc38f.png

当传送的数据是非ASCII时,为避免数据部分和帧头帧尾重复,在数据部分添加转义字符

74656d3719194ded9e2054c0ee074e8a.png

只有开始和结尾有连续的6个1,中间的数据遇到连续的5个1就无脑地填充一个0

afeb60d447ef47078d9f2a4b60d7ac91.png

实现简单被广泛应用,局域网的IEEE802标准就采用的这个标准:

4d8d0cba2102400ab525b5b6458e3269.png

小结:目前普遍使用的是比特填充和违规编码法 

链路质量好的话,就只需要在传输层确保数据的正确即可

随机噪声:信道固有的,随机存在的》提高信噪比

冲击噪声:产生差错的主要原因》使用编码技术来解决(一组比特,物理层是一个比特编码)

位错:0-1倒置

帧错:丢失、重复、失序

e08164edd615405ea3bdae35753526a2.png

冗余编码:在数据发送之前给它加上一定的冗余位(校验元)来检错/纠错

检错编码:奇偶校验、CRC循环冗余码

纠错编码:海明码 

13f4268b55ca4612ad4d36d5ab2c94f2.png

奇偶校验码的检错率为50%

奇校验:接收方收到的数据应该有奇数个1,否则就出错了 

59268f21ba1f474b81546e413a129dd3.png

98d9e8b2d2174730af68b320f3dd4ff8.png

8a86e2b6384a49adb643830a822f9f78.png

a7d24d65ec1443cba65bbf89b686bd99.png

最终发送方发送的数据为:11010110111110 

余数就是校验码;校验多项式:把余数放到原始数据的后面就是校验多项式

接收方检错过程:把接收到的数据除以10011(每一帧都是除以10011),如果余数为0就判定这个帧没有出错,否则就丢弃

008bf4379cd4483d81fd94bf025b3d28.png

0932b185304e4e288ffd2b3761c9bd00.png

1111;101101111

101101111

a1f834aa23db4daeb1677a72dfdc4559.png

1100111001

不正确 

a0f5d4da487d4d4c8ed75261e115c804.png

 10101011010101

没出错

小结:校验码(余数),循环冗余检验码(原始数据+余数)

接收端校验只有除以生成多项式就可以了

4dc5260d3ebb4d5b9b1d30b27da69a47.png

4a2192be9b974a06b5889dad4fde7072.png

7296d9ded6a240e6922a08a31dcec84c.png

2d480a5eb7b940b48db647abf297922f.png

通常采用偶校验:

c03ff983aa2c440da1ecc06351dae0b1.png

9bb8db050380491a80a647f48725ef9b.png

8e02a2f096a34f328b05d0bf3e400e0f.png

和传输层有交叉

传输层的流量控制是两台主机之间的(端到端),而数据链路层的流量控制是2个相邻节点之间的(点到点);链路层接收方收不下就不回复确认帧了(不包含数据的控制帧)(通常情况下是要回复确认帧的,没有回复表示缓冲区满了)

接收方检测到链路层的帧出错了也会直接丢弃

窗口公告:我的窗口还有多少,我的缓冲区有多大

4676e9b182124d6fae2def81bcafe5a5.png

收到一个确认发送窗口向前移动一格

a3f2c054175043c8bde91008c986bd9f.png

链路层的发送和接收窗口在整个过程中是固定不变的,传输层可能会变

36369020092a4e308d80810885d8bbf0.png

可靠传输:接收端可以放心接收发送端发来的数据(会有机制对出错的数据进行纠正)

637914398c40423cb0bac0350ed0d509.png

在计算机的前期链路层来实现可靠传输,后期基本是在传输层来实现了

0ccdf475a8ab419c9f6f8fec472b12d6.png

cd3b186e903b4901a959533f8dc16876.png

9e9a860846df45d9827c64fadfa75517.png

48d4f47919894f9ebc05f7baef05246a.png

a8940ef8299c4958ab56385543cfb86b.png

0051998807624aa3bd9acb4f38fee722.png

dcb152be581342f8a3d885c39fdf7314.png

1号帧超时,就重传这段时间从1号之后的所有帧

1df18cbf44214944a688fe234a081b54.png

6ad4def711a841f498c54455bf180b6d.png

接收方只收它期待的那一个编号的数据包2,到来的3 4 5它都会丢包并返回一个ACK1

后退N帧指的是发送指针返回2,不是指的窗口

发送方一旦超时就会一次性重发所有已发送但未确认的帧

ae6817389f15474882e7ca98febf387f.png

a09fc2d2dc4b46ada891638512c2dc05.png

0370267aee0040c9b10a21e6048c4e7b.png

1afe7a8e7c2041d991ae0954a165ac8d.png

第一个帧、最后一个帧、第一个帧的确认帧 

3796e620397f4d1080daaf4d3ab7fe92.png

264ca8f850c347d2970b6305ddaef6c7.png

f0a983db0c13449092462fb3e1593279.png

如果收到了窗口外的帧就返回一个

接收方收到下界帧之后就会一次性移动窗口 

ed5656b727f049a3b1b64947bbad0c2b.png

f00ad9791c3c4ca0a1cbf2dc4c096d50.png

594bdb87c9e24b82a52aa885c8f9d215.png

e979a62004f8423fb49b454635234f38.png

广播:一个人发,所有人侦听

959c5641faa74e22bbc722665280883c.png

介质访问控制:几个成对节点之间的通信不会相互干扰

9015bbfc69bf4d51863f8440cd3aa430.png

多路复用技术:把很多台主机的信号拧成一捆放在共享信道上进行传输

广播信道把多个单个信道拧成一捆了

30183d9f317944aca901644dc70f4f36.png

fc616338639e4e3e8d6d5d6266d50e24.png

89421d046e114eaa92b99bd06cbad413.png

设一个TDM帧最多发送8000bit/s,则A最多2000bit,但在 STDM中A最多就是独占信道的8000bit/s

163c00298431411094f923f4d1c1950f.png

2eb3a8d0f5f64cd7a695ab73da3006de.png

678d77dd02a04e6280172d3d46b133bf.png  

83eac668483d4b0c9e5df56dbf1502ac.png

98fe4e1aead547beb2e72dcf199812e3.png

8b7797a538344e79b7f0f2001a1cbf3e.png

吞吐量:在一段时间内成功发送的平均帧数

64edb4be9de5491a930874d8180ea396.png

1571739613f9417b9a5ba66ff9a82744.png

2387f828d0584506b88a1e77558d3d43.png

各个节点随机等待的时间不一样,就可以减少发生冲突的可能性

4e060db167fb4c9f8c39b64813fcfa01.png

11429d0f793c41b2b3af61e4d521945c.png

b7e2721458d9460583c7b234d76d0ef7.png

82980c7613974d4997ea300c1b5ef36d.png

b61ab9a87d594794ae4ce083df02cacd.png

k=min{重传次数,10} ,退避时间:{0,1,2...2^k-1}里面随机选一个

重传次数超过10窗口大小k就不变了

2618749606c54e88be22154e5d509c90.png

786ecd49941345728e3b622c334d2131.png

bd9be839711249bfbe5f35a157411b37.png

c3483505944a4536ae5f843c0d700076.png

639244b2b79b4cea8f78489345c134dd.png

7010ca115e134bef896ed1dbd3c0cd0b.png

CD:碰撞检测;适用于总线是以太网(有线网)

CA:碰撞避免;适用于无线局域网

3ac3c399910a4f51bf61133545b516c3.png

解决隐蔽站点问题:先预约信道,如果预约方收不到响应cts就无法发送(说明有隐藏站) 

01cc3578e75440a1ab5c5758b732601a.png

29446edfd3a14ac5bf08109393d8a439.png

mac协议总结: 

86885c33f3c34905ae2467c5b7cd9f95.png

轮询:老大挨个问每个节点需不需要发送数据

6f9ce4d0f5fe43238937ee19e911a87c.png

如果主机D在t时刻想要发送数据了,就让令牌带着数据一起传递 

6ea74ca52b6f4512891b569ea43f37a2.png

5c9db1a8334e4db7bb80ead8e76e44be.png

以太网就是逻辑上的总线型拓扑结构

0662b916bf514887bbbf0b403d3fd08a.png

4c360aa03f724bafa45e9c7186bcdc97.png

无限局域网WLAN:IEEE802.11 802.5:令牌环网

9b9ce96ca9de4816a6cf1e37782a18c6.png

b0df2663e31242bb83fcc1fed91c035f.png

以太网只实现无差错接收,但是并不实现可靠传输

c78fff2358d74063ab537fcaee0771d7.png

dd39cf4092bc437988e1e51af418150a.png

现在的计算机通常都有自己的通信适配器,所以就不需要单独的网卡了

87cd02ba469946ed94cad41951be31cd.png

101发送方和接收方进行时钟同步最后2个1是发送方告诉接收方现在可以开始准备接收我的mac帧了

目的地址:单播地址、广播地址(48位全1)、多播地址

类型:交给网络层的什么协议;FCS:CRC

链路层MTU=1500B,最小为以太网最小帧长64-6-6-2-4=46

为何尾部没有帧定界符?》结束的时候检测不到电压变化,就表明数据帧结束了,下一个帧之间一般都会隔上一小段距离

2512a28c025c4f458d944b651657fef3.png

11f3f7c8e270414286f7487115d61258.png

A和B通过基站/接入点进行通信:

移动访问点:你坐火车到北京,离北京比较近了,北京附近的接入点就会更新它的数据库,把你动态的加入进去,所以会给你发一个北京欢迎你

你到北京,离它那里的基站比较近了,你的手机号就会被注册到它的基站里面,它的基站就会把此时此刻注册到这个基站的手机号记录下来,并给这些手机号发送一个北京欢迎你的信息

86d549a6d6214c37a87098853e455342.png

基站的作用:实现一个区域内的各个主机进行通信,同样可以实现漫游(相邻基站范围内的主机之间进行通信A与A‘进行通信)

A与C都在AP1这个无线接入点(基站)所覆盖的范围内 

A与A’:A先把数据发给自己的基站AP1,然后通过有线的分配系统DS把数据交给AP2,然后AP2再下发给A‘(有线与无线的结合)

e1ffb0d4a609495290f17ff517b2390b.png

每个WiFi就对应一个基站,名字:服务集标识符 

 e5b9a4cd86074c81a14465cff3e2bbd5.png

在一个广播域当中一台主机发送了一个广播帧,那么这个广播域里的所有主机都能够收到这个广播帧

如果有很多广播帧在链路上进行传输,我们就希望给他隔离,诞生一些广播域,而广播域的隔离就需要路由器来支持,如果一个局域网中有非常多的组我们希望给他隔离开来,就需要用多个路由器,使得成本急剧飙升

8b2ebf6660ce46f6993664a61969ea43.png

只有大家在一个广播域内才能收到彼此的广播消息

通过VLAN技术,在一个局域网中就可以划分出两个广播域

cbea4258e5e84ceaa26e69a6846d12cb.png

而且不仅可以在一台交换机连接的主机上进行划分,还可以在一个大的局域网中进行划分

e3767f1f607f47db9b1ab6a3b00f8827.png

7a51f0874653466d92436892c00abc3e.png

A发送一个广播帧:查交换机的VLAN表

A发送一个单播帧给B:先查交换机的转发表确定端口,再查交换机的VLAN表根据他们是否在一个VLAN下决定能否转发,不在一个VLAN下就需要借助路由器等三层的设备来进行转发了

交换机与交换机之间的trunk(主干线)端口不用去掉标签,贴标签之后就知道需要发送给哪个虚拟局域网了

6a9752d2ed984377922a31fbd83aa0af.png

6b2e0e1d41e64d94b99a67cd63d4f7d2.png

314afcb0957347dea9045e2487fe2113.png

每个VALN就是一个广播域 

a4f3a720157e4a2f9ba1f7e33f9a8ccf.png

8836d2065cb9431b93badaf12d2d1110.png

点对点协议PPP是目前使用最广泛的数据链路层协议,用户使用拨号电话接入因特网时候】一般都使用PPP协议,它只支持全双工链路

80f77851df974f2ca8380fa4beba00d6.png

42a16bd06cbf44969f795a088fa12df7.png

ca0c9982456140b48c09610e59cdd790.png

efd0dc02c2da453a9f610d607d059d86.png

网桥是交换机的前身,网桥的两端就是两个网段,网桥的端口通常是两个或者4个

一个冲突域就是一个网段(共享传输设备/集线器)

如果仅使用物理层设备连接6台主机,这6台主机是不可以同时通信的,而经过网桥这种链路层设备连接之后每个冲突域内就都可以进行单独的通信

如果把网桥换成物理层设备,那么整个网络就都处在一个碰撞域之下,即使A和B通信其他人都是不能进行通信的

6e718c2b49584d9bbc31ae0e4058379d.png

转发表会不断更新,以反映当前的最新的网络拓扑状态 

f830fb122bbb4e6ba966a17c4fe682de.png

以太网交换机通常有十几个端口,每个端口可以连接主机/集线器,交换机的每一个端口连接的就是一个冲突域

以太网交换机可以独占传输媒体带宽,如果连了集线器就再平分带宽呗😂

e0672ff26f60485baf7297ba7466eb62.png

008fe78528b8425cb07d97e3938274c8.png

C和D拿到消息之后,发现TMD不是发给我的,就直接丢弃,只有B会收下

每个表项都有一个生存周期,过了这个周期,该表项就会被交换机删除

a57aaa49df104414b4a58cf6b7655966.png

冲突域:与物理层的设备连接的一堆主机构成一个冲突域

广播域:有几个路由器就有几个广播域

8abdd44620f6415fbf8377c86792f227.png

交换机的一个端口就是一个冲突域

4个1个

b0b4963f7c5043e4ac6a5b0535ffb8b2.png

52da497349934562a89104fa5f36c194.png

以上就是本节的全部内容了!!! 

 

 

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

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

相关文章

JSON在Java中的使用

目录 第一章、快速了解JSON1.1)JSON是什么1.2)json的语法格式①键值对、字符串、数字、布尔值、数组、对象②嵌套的格式 1.3)为什么使用JSON 第二章、发送和接收JSON格式数据2.1)postman发送JSON格式数据2.2)Java后端接…

【csapp】cachelab

文章目录 Part APart B32 * 3264 * 6461 * 67 实验全程参考大佬的博客CS:APP3e 深入理解计算机系统_3e CacheLab实验 ,感觉大佬在矩阵转置那块介绍的还是有些简略,我自己又做了点动图加以补充理解。膜拜大佬! Part A 先解决解析命令行参数的…

STM32实战之深入理解I²C通信协议

目录 IC的物理层 IC的协议层 IC特点 IC 总线时序图 软件模拟IC时序分享 例程简介 例程分享 STM32的IC外设 IIC(Inter-Integrated Circuit),也称为IC或TWI(Two-Wire Interface),是一种广泛使用的串行…

MyBatis——MyBatis的缓存

MyBatis的缓存 创建工程: 1缓存介绍 为什么使用缓存? 首次访问时,查询数据库,并将数据存储到内存中;再次访问时直接访问缓存,减少IO、硬盘读写次数、提高效率 Mybatis中的一级缓存和二级缓存?…

【SD】通过种子数 差异强度 进行 角色融合【2】

通过 对 2个种子 进行对比 生成 2张图片 风格相符合的图片 best quality,masterpiece,chibi,full body, 我们首先生成1张图 Seed: 726932558 我们再次生成一张图 Seed: 3824894478 随机种子:图一 随机种子:图二 差异强度:0.2 差异强度0.4 差…

31. Ajax

简介 AJAX 是 Asynchronous JavaScript And XML 的简称。直译为,异步的JS和XML。AJAX的实际意义是,不发生页面跳转、异步载入内容并改写页面内容的技术。AJAX也可以简单的理解为通过JS向服务器发送请求。 AJAX这门技术很早就被发明,但是直到…

前端框架前置学习(4) AJAX

同步代码和异步代码 同步代码 浏览器按照我们书写代码的顺序一行一行地执行程序.浏览器会等待代码的解析和工作,在上一行代码完成之后才会执行下一行代码.这被称之为同步程序 逐行执行,需要原地等待结果 异步代码 异步编码技术使得程序可以在执行一个可能长期运行的任务的…

助力打造清洁环境,基于轻量级YOLOv8开发构建公共场景下垃圾堆放垃圾桶溢出检测识别系统

公共社区环境生活垃圾基本上是我们每个人每天几乎都无法避免的一个问题,公共环境下垃圾投放点都会有固定的值班时间,但是考虑到实际扔垃圾的无规律性,往往会出现在无人值守的时段内垃圾堆放垃圾桶溢出等问题,有些容易扩散的垃圾比…

将elementUI,NaiveUI的progress环形进度条设置为渐变色

需求 :进度条要有一个渐变效果。效果图: NaiveUI和elementUI的官方progress组件都是只能设置一种颜色,不符合需求所以改一下。 其实NaiveUI和elementUI设置进度条的实现方式基本一样都是使用svg渲染出两个path,第一个是底色&…

<meta name=“Keywords“ content=““ >、<meta name=“Description“ content=““ > 等用法解释

今天在看网站代码&#xff0c;发现类似<meta name"Keywords" content"" >、<meta name"Description" content"" >这样的写法&#xff0c;不知道具体代表什么意思&#xff0c;于是上网搜了一下&#xff0c;下面是在网上找到…

Python电能质量扰动信号分类(三)基于Transformer的一维信号分类模型

目录 引言 1 数据集制作与加载 1.1 导入数据 1.2 制作数据集 2 Transformer分类模型和超参数选取 2.1 定义Transformer分类模型 2.2 定义模型参数 3 Transformer模型训练与评估 3.1 模型训练 3.2 模型评估 代码、数据如下&#xff1a; 往期精彩内容&#xff1a; 电…

[内功修炼]函数栈帧的创建与销毁

文章目录 1:什么是函数栈帧2:理解函数栈帧能解决什么问题呢3:函数栈帧的创建与销毁的解析3.1:什么是栈3.2:认识相关寄存器与汇编指令相关寄存器相关汇编指令 3.3 解析函数栈帧的创建和销毁3.3.1 预备知识3.3.2 详细解析一:调用main函数,为main函数开辟函数栈帧First:push前push…

RK3588平台开发系列讲解(AI 篇)RKNN-Toolkit2 模型的加载转换

文章目录 一、Caffe 模型加载接口二、TensorFlow 模型加载接口三、TensorFlowLite 模型加载接口四、ONNX 模型加载五、DarkNet 模型加载接口六、PyTorch 模型加载接口沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 RKNN-Toolkit2 目前支持 Caffe、TensorFlow、Tensor…

MySQL报错:1054 - Unknown column ‘xx‘ in ‘field list的解决方法

我在操作MySQL遇到1054报错&#xff0c;报错内容&#xff1a;1054 - Unknown column Cindy in field list&#xff0c;下面演示解决方法&#xff0c;非常简单。 根据箭头指示&#xff0c;Cindy对应的应该是VARCHAR文本数字类型&#xff0c;字符串要用引号&#xff0c;所以解决方…

web架构师编辑器内容-HTML2Canvas 截图的原理

HTML2Canvas 截图的原理 目的&#xff1a;一个canvas元素&#xff0c;上面有绘制一系列的HTML节点 局限&#xff1a;canvas中没法添加具体的Html节点&#xff0c;它只是一张画布 通过canvas.getContext(‘2d’)可以拿到canvas提供的2D渲染上下文&#xff0c;然后在里面绘制形…

使用tesla gpu 加速大模型,ffmpeg,unity 和 UE等二三维应用

我们知道tesla gpu 没有显示器接口&#xff0c;那么在windows中怎么使用加速unity ue这种三维编辑器呢&#xff0c;答案就是改变注册表来加速相应的三维渲染程序. 1 tesla gpu p40 p100 加速 在windows中使用regedit 来改变 核显配置&#xff0c; 让p100 p40 等等显卡通过核显…

【动态规划】11简单多状态 dp 问题_按摩师_C++(easy)

题目链接&#xff1a;leetcode按摩师 目录 题目解析&#xff1a; 算法原理 1.状态表示 2.状态转移方程 3.初始化 4.填表顺序 5.返回值 编写代码 题目解析&#xff1a; 题目让我们求按摩师找到最优的预约集合&#xff08;总预约时间最长&#xff09; 由题可得&#xff…

一体机定制_工控触控一体机安卓主板方案

工控一体机是一种集成化的硬件方案&#xff0c;采用了联发科MT8768八核芯片和12nm制程工艺。该芯片拥有2.0GHz的主频和IMG PowerVR GE8320图形处理GPU&#xff0c;具备强大的视频处理能力&#xff0c;并且兼容大部分的视频格式和解码能力。工控一体机搭载了Android 9.0操作系统…

合并的单元格如何填充连续的序号

希望你以后碰到合并的单元格&#xff0c;不在一个个输入序号&#xff0c;用以下操作帮你输入连续的序号。 一、操作过程如下 1.有一个基准的单元格在同一列&#xff0c;而且这个基准单元格必须得是序号为1的单元格的上面的一个单元格&#xff0c;这样的话后面才能自动递增&am…

单聊和群聊

TCP协议单聊 服务端&#xff1a; import java.awt.BorderLayout; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.Vec…