视频内容学习自B站:湖科大教书匠-计算机网络微课堂。
可以自己去搜着学习,你们关注我关注的我心慌。。。。。。这里只是我自己学习的笔记,如果对你们有帮助的话我还是很开心的。
------------------------------------------------------------------------------------------------------------------------------------------------------------//切入正题
下图是数据传输时的路径:
注意观察图片:
1.主机有五层结构,路由器只有三层结构。
2.顺着红色虚线箭头传播的,便是数据传输的途径,前面的笔记中有详细介绍。
现在研究数据链路层,只关心数据链路层就行
就看成数据包只在数据链路层从左向右延水平方向传输 。
由上图可见,可以看成数=数据包是沿着四小段路径传播的。出现了,链路和数据链路这两个关键词。
1.链路(Link)就是从一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换点。
2.数据链路(Data Link)是指把实现通信协议的硬件和软件加到链路上,就构成了数据链路。
3.数据链路层是以帧为单位传输和处理数据的。
数据链路三个重要问题:封装成帧/差错检验/可靠传输(使用的是点对点信道的数据链路层来举例的---
封装成帧:
过程介绍;
1.两台主机通过一段链路相互连接,两台主机都会对所发送或接受的数据包,进行五个层次的封装或者解封。
2.发送方将待发送的数据通过应用层封装成为应用层协议数据单元,然后交付给运输层。
3.运输层为其添加运输层协议首部,使之成为运输层协议数据单元,然后交付给网络层。
4,网络层为其添加网络层协议首部,使之成为网络层协议数据单元,然后交付给数据链路层。
5.数据链路层给网络层协议数据单元,添加一个数据链路层协议首部,简称为帧头;再加上一个帧尾。(我们将数据链路层给网络层交付的协议数据单元,添加帧头和帧尾的操作,称为封装成帧。添加帧头和帧尾的目的都是为了在链路上以帧为单元来传送数据,也就是为了实现数据链路层本身的功能)
差错检测
1.发送方将封装好的帧通过物理层发送到传输媒体。
2.帧在传输过程中遭遇干扰后可能会出现误码,比特0变成了比特1,反之亦然。
3.发送方在发送帧之前,基于待发送的数据和检错算法计算出检错码,并将其封装在帧尾。
4.接收方主机收到帧之后,通过检错码和检错算法,就可以判断出帧在传输过程中是否出现了误码。
可靠传输:尽管误码是不能完全避免的,但若能实现发送方发送什么,接收方接受什么,就成为可靠传输。
接收方主机收到有误码的帧之后,是不会接受该帧的,将其丢弃。如果数据链路层向其上层提供的是不可靠服务,那么丢弃就丢弃了,不会再有其他措施。如果数据链路层向其上层提供的是可靠服务,就还需要其他措施来确保接收方主机,还可以重新受到被丢弃的这个帧的正确副本。
-------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------
对于使用广播信号的数据链路层,还有除了上面三个之外问题还有别的问题需要解决。
问题一。
有一个问题,主机A发送信号给C。C是怎么知道信号是发送给自己的,B,D,E又是怎么知道不是发给自己的那?
答:采用编址,来解决这个问题。
问题二。
当总线上多台主机同时使用总线来传输帧时,传输信号就会发生碰撞。
解决方案:以太网使用一种特殊的协议CSMA/AD,也就是载波监听多点接入/碰撞检测。
下图是本部分的重要内容。在后面的笔记中会出现。