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

 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

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

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

微信使用证书退款时候报”请求被中止: 未能创建 SSL/TLS 安全通道

解决方法:IIS-》应用程序池-》高级设置-》进程模块-》加载用户配置文件,设置为True就可以了。

冒泡排序(C语言)

void BubbleSort(int arr[], int len) {int i, j, temp;for (i 0; i < len; i){for (j len - 1; j > i; j--){if (arr[j] > arr[j 1]){temp arr[j];arr[j] arr[j 1];arr[j 1] temp;}}} } 优化&#xff1a; 设置标志位flag&#xff0c;如果发生了交换flag设置…

VD6283TX环境光传感器(1)----获取光强和色温

VD6283TX环境光传感器.1--获取光强和色温 概述视频教学样品申请完整代码下载主要特点硬件准备技术规格系统框图生成STM32CUBEMX串口配置IIC配置X-CUBE-ALS演示结果光强测试表 概述 为了充分利用VD6283TX传感器的特性和功能&#xff0c;本章节重点介绍了如何捕获光强度和相关色…

SQL server 数据库面试题及答案(实操2)

使用你的名字创建一个数据库 创建表&#xff1a; 数据库中有三张表&#xff0c;分别为student,course,SC&#xff08;即学生表&#xff0c;课程表&#xff0c;选课表&#xff09; 问题&#xff1a; --1.分别查询学生表和学生修课表中的全部数据。--2.查询成绩在70到80分之间…

Stable Diffusion模型原理

AI 图像生成引人注目&#xff0c;它能够根据文字描述生成精美图像&#xff0c;这极大地改变了人们的图像创作方式。Stable Diffusion 作为一款高性能模型&#xff0c;它生成的图像质量更高、运行速度更快、消耗的资源以及内存占用更小&#xff0c;是 AI 图像生成领域的里程碑。…

泛微OA xmlrpcServlet接口任意文件读取漏洞(CNVD-2022-43245)

CNVD-2022-43245 泛微e-cology XmlRpcServlet接口处存在任意文件读取漏洞&#xff0c;攻击者可利用漏洞获取敏感信息。 1.漏洞级别 中危 2.影响范围 e-office < 9.5 202201133.漏洞搜索 fofa 搜索 app"泛微-OA&#xff08;e-cology&#xff09;"4.漏洞复现 …

Android 手机对于Arduino蓝牙控制解决方案

1、Android系统概述 ​ Android 系统是 Google 公司基于 Linux 内核开发的移动端操作系统,适用于智能手机智能手表平板电脑等设备&#xff0c;最新的版本为 7.1。Android系统具有免费开源的优势,任何企业与个人都可以查阅公开的 API 文档&#xff0c;并在自己开发的应用中通过调…

【Element】el-select下拉框实现选中图标并回显图标

一、背景 需求&#xff1a;在下拉框中选择图标&#xff0c;并同时显示图标和文字&#xff0c;以便用户可以直观地选择所需的图标。 二、功能实现 <template><div><el-table ref"table" :data"featureCustom2List" height"200"…

实验室安全教育考试管理系统v3.0功能介绍

瑞熙贝通实验室安全练习和在线考试系统&#xff0c;采取线上培训学习与安全考试相结合的教学形式&#xff0c;在学生进入开放实验室之前通过系统对实验的安全与规范有一个系统的认识与学习。通过线上考试系统&#xff0c;为评价学生的实验室安全学习效果提供了快速有效的实验平…

树莓派安装mediapipe方法

MediaPipe 解决方案可跨多个平台使用。 每个解决方案都包含一个或多个模型&#xff0c;您也可以为某些解决方案自定义模型。 以下列表显示了每个受支持平台可用的解决方案以及您是否可以使用 Model Maker 来自定义模型&#xff1a; 在树莓派上安装mediapipe后, python可以支持…

【http】缓存协议

✨ 专栏介绍 在当今互联网时代&#xff0c;计算机网络已经成为了人们生活和工作中不可或缺的一部分。而要实现计算机之间的通信和数据传输&#xff0c;就需要依靠各种网络协议来进行规范和约束。无论是浏览网页、发送电子邮件还是进行在线交流&#xff0c;都离不开各种各样的网…

工具系列:TensorFlow决策森林_(9)自动超参数调整

文章目录 介绍超参数调整算法使用TF Decision Forests进行超参数调整设置在没有自动超参数调整的情况下训练模型使用自动化超参数调整和手动定义超参数训练模型使用自动化超参数调整和自动定义超参数的模型训练&#xff08;推荐方法&#xff09;使用Keras Tuner训练模型 *(替代…

jmeter-set up先登录获取token,再测试

一、何为setup 一种特殊类型的线程组&#xff0c;可用于执行预测试操作&#xff1b;简单来讲就是执行测试线程组前&#xff0c;先执行setup 作用 例如前面&#xff0c;我们说到的&#xff0c;压测之前只用JMeter调用业务接口造数或者通过JDBC操作数据库造数&#xff0c;可以放…

搬运机器人RFID传感器CNS-RFID-01|1S的RS485(MODBUS|HS协议)通讯连接方法

搬运机器人RFID传感器CNS-RFID-01|1S支持RS485通信&#xff0c;可支持RS485&#xff08;MODBUS RTU&#xff09;协议、RS485-HS协议&#xff0c;广泛应用于物流仓储&#xff0c;立库 AGV|无人叉车|搬送机器人等领域&#xff0c;常用定位、驻车等&#xff0c;本篇重点介绍CNS-RF…

IPC之十:使用共享文件进行进程间通信的实例

IPC 是 Linux 编程中一个重要的概念&#xff0c;IPC 有多种方式&#xff0c;常用的 IPC 方式有管道、消息队列、共享内存等&#xff0c;但其实使用广大程序员都熟悉的文件也是可以完成 IPC 的&#xff0c;本文介绍如何使用共享文件实现进程间通信&#xff0c;本文给出了具体的实…

在线文稿演示应用PPTist

PPTist 是一个基于 Vue3.x TypeScript 的在线演示文稿&#xff08;幻灯片&#xff09;应用&#xff0c;还原了大部分 Office PowerPoint 常用功能&#xff0c;支持文字、图片、形状、线条、图表、表格、视频、音频、公式等几种最常用的元素类型&#xff0c;每一种元素都拥有高…

【bug】uniapp一键登录,自定义协议条款是否支持内部路由?

uniapp一键登录的自定义协议条款&#xff0c;不支持内部路由跳转 在uniapp文档上搜一键登录 加二维码之后可以提问

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

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

Flink电商实时数仓(六)

交易域支付成功事务事实表 从topic_db业务数据中筛选支付成功的数据从dwd_trade_order_detail主题中读取订单事实数据、LookUp字典表关联三张表形成支付成功宽表写入 Kafka 支付成功主题 执行步骤 设置ttl&#xff0c;通过Interval join实现左右流的状态管理获取下单明细数据…

支付宝、学习强国小程序input、textarea数据双向绑定

前言 和 vue 的绑定有些区别&#xff0c;需要注意。直接 value"{{inputValue}}" 是无法双向绑定的。 正确思路 文档说的比较详细&#xff0c;不过没有组合使用的案例&#xff0c;需要自行理解。这里正确的方法是先用 value 绑定数据&#xff0c;再使用 onInput 事件…