(一)通信模型
I.信道类型
(1)点对点信道:就是使用一对一的点对点通信方式。
(2)广播信道:广播信道上连接多个主机,需要使用专用的共享信道协议来协调主机的数据发送。
详情可以参考:
https://www.cnblogs.com/cone/p/14869605.html
II.内部结构
(二)解决问题
I.封装成帧(frame)
在数据的前后分别加上首部和尾部(包含了许多控制信息),构成了一个帧。
首部和尾部作用之一就是:帧定界(确定帧的界限)。
MTU(Maximum Transfer Unit):最大数据传输单元。
注意:并不是所有的帧都需要帧定界,如MAC帧则就是不需要,它是通过在帧的一端加入前导码。
II.透明传输
数据链路对上层的传输数据没有任何限制,就好像数据链路层不存在一样。
通俗理解就是在数据传输的过程中,数据能够被完整无误的传输(‘‘透明传输’’),如果传输的数据不完整,就不是“透明传输”,因为有阻碍数据完整传输的因素存在。
为了使数据实现透明传输,需要解决传输数据中出现和帧定界相同的信息
面向字节的物理链路,使用字节填充(或字符填充)的方法来实现透明传输。
说明:通过使用转义字符“ESC”来进行转义的
面向比特的物理链路,使用比特填充的方法来实现透明传输
III.差错检测
在比特传输的过程中可能会产生差错,比如0变成了1或1变为了0,称为“比特差错”。
检错方法:
方法一:奇偶校验法
说明:奇校验就是说加上校验位后“1”的总数是奇数个
偶校验就是说加上检验位后“1”的总数是偶数个
如果在接收端检测发现奇数个的“1”变为偶数个“1”或偶数个的“1”变为奇数个“1”,则就可以检查出错误
缺点:会出现“漏检“”(由于突变的比特位总数是偶数位)
方法二:循环冗余校验码(CRC:Cyclic Redundancy Check)
具体详情请看:
https://blog.51cto.com/u_15314328/5119093
可靠传输与不可靠传输
可靠传输:就是数据链路层的发送端发送什么,在接收端就接受什么。
不可靠传输:在传输的过程中出现了差错(传输差错或比特差错)
详情参考:
https://www.zhihu.com/question/39324847
(三)点对点协议PPP
I.内容
(1)一个将IP数据报封装到串行链路的方法。PPP既支持异步链路,也支持面向比特的同步链路。同步:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。 异步:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。
具体区分可以参考:
https://www.csdn.net/tags/OtDacg4sMzA3MDQtYmxvZwO0O0OO0O0O.html
(2)一个用来建立、配置和测试数据链路连接的链路控制协议LCP(Link Control Protocol).
(3)一套网络控制协议NCP(Network Control Protocol),其中每一个协议支持不同的网络层协议。
有关NCP介绍:
http://www.zhaozhishi.com/pc/11/2007-11-17/668.html
PPP协议具体特点可以参考:
https://www.html.cn/qa/other/21314.html
II.帧格式
MAC帧是数据帧的一种。而所谓数据帧,就是数据链路层的协议数据单元,它包括三部分:帧头,数据部分,帧尾。
PPP协议下的字节填充和比特填充请参考:
https://www.csdn.net/tags/MtjaIg1sMTA5OTctYmxvZwO0O0OO0O0O.html