欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > 计算机网络 第三章:数据链路层(关于争用期的超详细内容)

计算机网络 第三章:数据链路层(关于争用期的超详细内容)

2024/11/30 2:30:46 来源:https://blog.csdn.net/M3151549808/article/details/143839030  浏览:    关键词:计算机网络 第三章:数据链路层(关于争用期的超详细内容)

数据链路层要干的是:解决在一组网络上(一段链路上)传输的问题。

(在第一章我们讨论过数据是如何经过五层传输的,但在本章我们只考虑数据链路层之间传输数据的问题,所以就先想象成是两个链路层之间在直接传输数据) 

一、链路与数据链路

1.1 链路

链路就是:一段物理线路,中间没有其他交换结点。 

1.2 数据链路 

与链路不同, 链路只是一条单纯的物理线路,但是数据链路层目的是解决传输问题,怎么可能只是一条单纯的线路,还需要规定水平方向两个对等实体(两个数据链路层之间)的通信规则,也就是协议。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。

所以数据链路层=链路+实现协议的软硬件 

 数据链路层协议有很多,但是他们都有三个共同的问题。我们来共同学习。

二、数据链路层协议

 2.1 协议的共同问题

 2.1.1 封装成帧

封装成帧就是把每个数据打包,这样就知道发过来的数据从哪里开始,到哪里结束了。

封装成帧:在帧的数据开始和结尾添加首部和尾部,进行帧定界。(也有不需要帧定界的,有固定的时间间隔也可以)

 可以看出一个完整的帧由三部分组成,帧头,帧尾和IP数据报。因此IP数据报部分肯定是占比越大,传输效率越高。但是,每种数据链路层协议都规定了数据部分的长度上限——最大传送单元MTU。

那么是什么在充当帧头帧尾呢?一般都是一些控制字符 ,那万一你规定的控制字符,在数据报中也包含怎么办呢?这与透明传输有关。

 2.1.2 透明传输

透明传输:本层对上层交付的数据无任何限制,你给我啥我发啥,啥也不改动。 

如果你从键盘输入的话不用考虑以上问题,文本文件不可能在数据报中出现SOH,EOT这种帧定界控制字符。 但如果是一些二进制代码的程序就有可能出现,因为⬇️。数据链路层提前碰到EOT以为数据传输结束,丢弃了后面的部分。

一个程序编译还会由汇编器会进行汇编,那么根据我们学过的汇编知识,我们可以知道,汇编中就是用SOH代表开始,EOT代表程序结束。

 这就像我们在C语言中,n是一个字符,但也能做到换行,那么程序是怎么区分两者的呢,那就是转义字符。"\n",前面加了个斜杠就代表换行了,数据链路层也是这么做的,如果数据中出现了SOH,EOT就在前面加个转义字符“ESC”。那么转义字符如果如果也出现在程序中(ESC),那么就在转义字符前面再加一个转义字符。

 数据链路层不可能无论对错的就知道发,发过去才知道是错的,那如果这样数据传输效率就大大降低了 ,因此,它还需要进行差错检测。

2.1.3 差错检测

0变成1,1变成0 这是传输过程中出现的比特差错,除了比特错误还有帧丢失,帧重复,帧失序问题,这三个属于传输差错 。 

数据链路层进行差错检测,检查的只是比特错误。使用的CRC循环冗余校验,在之前讲过 目录中的十一:循环冗余校验icon-default.png?t=O83Ahttps://blog.csdn.net/M3151549808/article/details/135992764?app_version=6.2.9&code=app_1562916241&csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22135992764%22%2C%22source%22%3A%22M3151549808%22%7D&uLinkId=usr1mkqgl919blen&utm_source=app

 我们通常认为经过差错检测后“凡是接收端数据链路层的帧均无差错”

 以前为了通信链路质量不好吧,因此要求数据链路层提供可靠服务,所以对于质量差的无线传输链路,数据链路层协议使用确认重传机制。

但如果是通信质量良好的有线传输链路,本层不用提供可靠服务,如果出了差错要改正,就交给上层协议来完成(例如运输层的TCP协议)

数据链路层信道主要有两种:点对点信道,广播式信道   

2.2 点对点信道-PPP协议 

上面讲过,以前通信线路质量差,所以采用提供可靠服务的协议HDLC高级数据链路控制(High Level Data Link Control) ,但现在用这个用的少了,使用最广泛的点对点数据链路层协议是不提供可靠服务的PPP点对点协议(Point-to-Point Protocle)。

ISP从互联网管理机构申请到了一些IP地址,给用户使用。PPP协议就是用户与ISP之间的数据链路层协议。

讲到ISP顺便回忆一下服务器

服务器是一种在网络环境中提供计算能力的计算机设备,通常用于为其他设备提供服务。‌ 服务器通过网络为其他计算机(如个人电脑、智能手机、ATM机等)提供计算或应用服务,具有高速的CPU运算能力、长时间可靠运行能力、强大的I/O数据吞吐能力以及高扩展性。‌

PPPoE是在以太网上运行的PPP协议。 

2.3  广播信道-CSMA/CD协议

2.3.1 什么是以太网 

  以太网是一种计算机局域网技术。IEEE组织IEEE 802.3标准制定了以太网的技术标准,它规定了包括物理层的连线电子信号介质访问层协议的内容。以太网是目前应用最普遍的局域网技术,取代了其他局域网技术如令牌环

 最初的以太网是将很多计算机连接到一根总线上, 广播信道很麻烦,所有设备只有一根总线可以用,你用我就不能用,我发到一半发现有人给我发,那咋整?肯定有个人发的被扔了,要么是他的,要么是我的,因为总线只能一个人用。

  咱先别急,回忆一下广播式网络:⬇️

 

2.3.2 计算机是怎么连接到局域网 

计算机与外界连接是通过适配器,适配器就是主机箱里的一个网络接口板,也叫网络接口卡,简称“”网卡“

具体硬件怎么实现的自己看⬇️
什么是网卡

其功能包含了数据链路层与物理层两个层次的功能

 2.3.3 CSMA/CD协议

1. 什么是CSMA/CD 

 CSMA/CD协议(Carrier Send Mutiple access/Collision Detection):载波监听多址接入/碰撞检测

这个协议就是为了解决上面的问题: 所有设备只有一根总线可以用,你用我就不能用,我发到一半发现有人给我发,那咋整?

站点通过载波监听解决这个问题

载波监听:边发送边监听。在发送前、中都不停检测信道。 

碰撞检测:边发送边检测信道上信号电压的变化情况。一旦发现总线上发生了碰撞就停止发送,过会儿再发。 

它俩区别就是碰撞检测是:已经检测出来其他站点在发送,那我就先不发了。也就是用来处理几个一起发情况 。

那为啥载波监听了还会有碰撞检测呢?按理来说,监听了没事儿应该就没事儿啊。

就像在家族群打电话,你听见没人讲话你就赶紧讲,结果另一个人也跟你想的一样,同时跟你一起讲,你觉得没人讲话的时候就是载波监听,你讲了他也开始讲就是发生了冲突。

2.  发生了碰撞-争用期

下图包含了全部的已知信息,怎么求出❓处

1.他们用的是同一根总线,所以无论是A发到D,还是D发到A他们的传输速度是一样的,那么!!D从发送信号后到碰撞的时间=A发送的信号发生碰撞后到D的时间,所以❓处就是中点

(如果是在想不明白就可以这么想:你去学校的路上,碰到了老师正要去你家,而且你俩移动的速度一致,那不就是:你从家到你和老师相遇点的用时=老师从相遇点到你家的时间)🤓

接下来怎么算新的❓处

2.⬇️两个蓝色的线段之间用时已知(题目给了D得知碰撞的时间,D得知碰撞的时间也就是A发送的信号到达D的时间,又知道A0时刻发送),就能求出D发送之后 到A的时刻:那么那么绿色线段用时多久?:一样的

3.为啥一样1里已经解释过了,所以A是啥时候知道碰撞了的:

如果无限缩小A、D发送的间隔,让他们同时发,那么就得到了A最多需要2tao得知了碰撞。 

3.得知了碰撞后 

现在假设有三个站

C发了个特别短的信号到B,发完他就不管了,但是A后面发的才到B,这两个帧就有个是错的,会被扔了,但是他俩自己都觉得没扔,就不会重传,导致:

C:发完了休息

A:发完了我也休息

B自言自语:A/B 你的我扔了,再给我发一个(不可靠协议!!!)

C和A:无人打扰,美美休息中

那咋整?⬇️

4. 退避算法 

退避算法规定了争用期为2tao,具体为51.2 us,对于10BaseT的以太网,在争用期可以发送512比特,也就是512bit/8=64B.

最短帧长:64字节,如果没有64个字节,必须填充一些字节进去,避免上述情况 ,以太网还规定了帧间最小间隔9.6us,让接收站点有时间清理前面的缓存。

三、信道利用率

 根据上面,我们知道了传播时延是tao,假设发送帧需要T0

要提高利用率就是减少tao(在路上的时间),增大T0(真正用来把帧给对方的时间)

所以就是要减小比值:tao/T0

信道利用率:T0/(T0+tao)

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com