计算机网络第三章 数据链路层(中)

简介: 计算机网络第三章 数据链路层

停等协议性能分析


优点:简单


缺点:信道利用率太低

1670949638821.jpg

信道利用率


发送方在一个发送周期内,有效地发送数据所需要的时间占整个发送周期的比率。

1670949649327.jpg

1670949658862.jpg

后退N帧协议GBN

1670949666893.jpg


滑动窗口

1670949674410.jpg


发送方必须响应的三件事


1.上层的调用

上层要发送数据时,发送方先检查发送窗口是否己满,如果未满,则产生一个帧并将其发送;如果窗口已满,发送方只需将数据返回给上层,暗示上层窗口己满。上层等一会再发送。(实际实现中,发送方可以缓存这些数据,窗口不满时再发送帧)。


2.收到了一个ACK

GBN协议中,对n号帧的确认采用累积确认的方式,标明接收方己经收到n号帧和它之前的全部帧。


3.超时事件

协议的名字为后退N帧/回退N帧,来源于出现丢失和时延过长帧时发送方的行为。就像在停等协议中一样,

定时器将再次用于恢复数据帧或确认帧的丢失。如果出现超时,发送方重传所有己发送但未被确认的帧。

1670949681124.jpg


接收方要做的事


如果正确收到n号帧,并且按序,那么接收方为n帧发送一个ACK,并将该帧中的数据部分交付给上层。


其余情况都丢弃帧,并为最近按序接收的帧重新发送ACK。接收方无需缓存任何失序帧,只需要维护一个信息:expectedseqnum(下一个按序接收的帧序号)。


运行中的GBN

1670949690378.jpg

滑动窗口长度


若采用n个比特对帧编号,那么发送窗口的尺寸Wt应满足:1 < Wt < 2n-1。因为发送窗口尺寸过大,就会使得接收方无法区别新帧和旧帧。

1670949699067.jpg

ps:为什么滑动窗口长度要满足这个公式,如下图蓝字

1670949713056.jpg


总结


累积确认(偶尔捎带确认)

接收方只按顺序接收帧,不按序无情丢弃

确认序列号最大的、按序到达的帧

发送窗口最大为2^n ^ -1,接收窗口大小为1

性能分析


优点:因连续发送数据帧而提高了信道利用率。


缺点:在重传时必须把原来己经正确传送的数据帧重传,是传送效率降低。


优化:选择重传协议


1670949722878.jpg

选择重传协议SR

重传协议中的滑动窗口

1670949732535.jpg


发送方必须响应的三件事


上层的调用

从上层收到数据后,SR发送方检查下一个可用于该帧的序号,如果序号位于发送窗口内,则发送数据帧;否则就像GBN一样,要么将数据缓存,要么返回给上层之后再传输。


收到了一个ACK


如果收到ACK,加入该帧序号在窗口内,则SR发送方将那个被确认的帧标记为己接收。如果该帧序号是窗口的下界(最左边第一个窗口对应的序号),则窗口向前移动到具有最小序号的未确认帧处。如果窗口移动了并且有序号在窗口内的未发送帧,则发送这些帧。

1670949741172.jpg

1670949748471.jpg


超时事件


每个帧都有自己的定时器,一个超时事件发生后只重传一个帧。


接收方要做的事


来者不拒(窗口内的帧):SR接收方将确认一个正确接收的帧而不管其是否按序。失序的帧将被缓存,并返回给发送方一个该帧的确认帧【收谁确认谁】,直到所有帧(即序号更小的帧皆被收到为止,这时才可以将一批帧按序交付给上层,然后向前移动滑动窗口。


如果收到了窗口序号外(小于窗口下界)的帧,就返回一个ACK。其他情况就忽略该帧。

1670949755459.jpg


运行中的SR

1670949763456.jpg



滑动窗口长度(窗口大小上限)


发送窗口最好等于接收窗口(大了会溢出、小了没意义)


公式:WTmax = WRmax = 2(2n-1)

1670949770931.jpg


总结


对数据帧逐一确认,收一个确认一个


只重传出错帧


接收方有缓存


WTmax = WRmax = 2(2n-1)


2.链路层的两种信道


2.1 介质访问控制


2.1.1 传输数据使用的两种链路


点对点链路


两个相邻节点通过一个链路相连,没有第三者。


应用:PPP协议,常用于广域网。

1670949780000.jpg


广播式链路


所有主机共享通信介质。


应用:早期的总线以太网、无线局域网,常用于局域网。


典型拓扑结构:总线型、星型(逻辑总线型)

1670949797125.jpg


2.1.2 介质访问控制


介质访问控制的内容就是,采取一定的措施,使得两对节点之间的通信不会发生相互干扰的情况。

1670949808066.jpg

协议对比


信道划分介质访问控制协议

基于多路复用技术划分资源

网络负载重:共享信道效率高,且公平

网络负载轻:共享信道效率低

随机访问MAC协议

用户根据意愿随机发送信息,发送信息时可独占信道带宽

网络负载重:产生冲突开销

网络负载轻:共享信道效率高,单个结点可利用信道全部带宽

轮询访问MAC协议/轮流协议/轮转访问MAC协议

既要不产生冲突,又要发送时占全部带宽

静态划分信道

信道划分介质访问控制


将使用介质的每个设备与来自同一信道上的其他设备通信隔离开,把时域与频域资源合理地分配给网路上的设备。

1670949817237.jpg


多路复用技术


把多个信号组合在一条物理信道上进行传输,使得多个计算机或终端设备共享信道资源,提高信道利用率。

1670949828378.jpg


把一条广播信道,逻辑上分成几条用于两个节点之间通信的互不干扰的子信道,实际就是把广播信道转变为点对点信道。


控制方式


频分多路复用FDM


时分多路复用TDM


波分多路复用WDM


码分多路复用CDM


频分多路复用FDM

用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。频分复用的所有用户在同样的时间占用不同的带宽(频率带宽)资源。

1670949850971.jpg

优点:充分利用传输介质带宽,系统效率较高;由于技术比较成熟,实现也比较容易。



时分多路复用TDM

1670949859247.jpg

将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙,所有用户轮流占用信 道。



区别:


频分复用:相当于操作系统中的“并行”


时分复用:相当于操作系统中的“并发”


改进的时分复用:统计时分复用STDM


1670949885104.jpg

每一个STDM帧中的时隙数小于连接在集中器上的用户数。各用户有了数据就随时发往集中器的输入缓存,然后集中器按顺序依次扫描输入缓存,把缓存中的输入数据放入STDM帧中,一个STDM帧满了就发出。STDM帧不是固定分配时隙,而是按需动态分配时隙。


波分多路复用WDM


波分多路复用就是光的频分多路复用,在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)

不同,所以各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来。

1670949893760.jpg


码分多路复用CDM


码分多址(CDMA) 是码分复用的一种方式。


1个比特分为多个码片/芯片(chip),每一个站点被指定一个唯一的m位的芯片序列。


发送1时站点发送芯片序列,发送0时发送芯片序列反码(通常把0写成-1)。


如何不打架:多个站点同时发送数据的时候,要求各个站点芯片序列相互正交。


如何合并:各路数据在信道中被线性相加。


动态分配信道

动态媒体接入控制/多点接入


特点:信道并非在用户通信时固定分配给用户。


分类:


随机访问介质访问控制

轮询访问介质访问控制

随机访问介质访问控制


所有用户可随机发送信息。发送信息时占全部带宽。主要有以下四种协议。

1670949903740.jpg


ALOHA协议


命名来源

1670949916099.jpg

分类:纯ALOHA协议、时隙ALOHA协议

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务&nbsp;ACK 容器服务&nbsp;Kubernetes&nbsp;版(简称&nbsp;ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情:&nbsp;https://www.aliyun.com/product/kubernetes
相关文章
|
2月前
|
算法 网络虚拟化 数据安全/隐私保护
计算机网络——数据链路层(三)
计算机网络——数据链路层(三)
68 0
计算机网络——数据链路层(三)
|
3月前
|
存储 缓存 算法
【计算机网络】数据链路层
【计算机网络】数据链路层
98 0
【计算机网络】数据链路层
|
14天前
|
存储 网络协议 Linux
|
1月前
|
网络协议 网络虚拟化 网络架构
计算机网络:数据链路层(VLAN)
计算机网络:数据链路层(VLAN)
|
1月前
计算机网络:数据链路层(广域网、PPP协议、HDLC协议)
计算机网络:数据链路层(广域网、PPP协议、HDLC协议)
|
1月前
|
缓存 算法 数据安全/隐私保护
计算机网络:数据链路层(介质访问控制)
计算机网络:数据链路层(介质访问控制)
367 0
|
1月前
|
存储 网络架构
计算机网络:数据链路层(网桥)
计算机网络:数据链路层(网桥)
|
1月前
|
传感器 C++
计算机网络:数据链路层之差错控制、奇偶校验码、CRC循环冗余码、海明码
计算机网络:数据链路层之差错控制、奇偶校验码、CRC循环冗余码、海明码
|
2月前
|
存储 缓存 网络协议
|
3月前
|
网络协议 数据安全/隐私保护 Windows
【计算机网络】数据链路层——以太网
【计算机网络】数据链路层——以太网