文章目录
1概述
无确认:宿主不需要回复“我已收到你的消息”给宿源
无连接:单方向的
2 封装成帧 透明传输
数据链路层 是实现无差错传输的关键,有一定智力,去使用底下物理层进行正确传输。
组装成帧是发送方的事情
帧同步是接收方的事情
不同的数据链路层协议有不一样的MTU长度限制
数据链路层不关心数据是啥,只要稳定发送数据这个过程。
透明传输在组帧上的应用,组帧的方法:
字符计数法容易出错,错了一个后面都错。
字符填充法构想是弄一个固定字符的帧头和帧尾,让接受方能够知道开始结束,需要解决的问题是,如果在数据内部含有一个帧尾,接受方会错以为结束了。
解决方法:在原始数据中遇到特殊的就在前面加“转义字符”:
3 差错控制
3.1 检错编码 奇偶校验 CRC冗余码 只能检测错误,错误的码就丢弃
之前OSI的观点,差错的由来是这些
链路层这里的编码是针对一组比特的,数字通信原理里的东西。
奇偶校验码,规定奇校验或者偶校验,接收方看数据里是否是奇数个1或者偶数个1,检错能力弱。
比如奇校验中10变成01,接受方还是认为没错。
CRC循环冗余码,生成多项式是多少阶就加多少个0,然后除法,然后异或运算,最终得到FCS。
最终发送的数据就是原数据+FCS.
见错编码只能做到检测出错误,错误的码就丢弃,但对于数据传输来说,我们需要的是可靠传输,所以CRC不完美。
3.1 纠错编码 海明码
怎么求P1 P2 P3 P4?
P1校验所有第0位为1的数据,必须满足P1⊕D1⊕D2⊕D4⊕D5=0,其他已知,算出P1即可。
P2校验所有第1位为1的数据,道理相同了。
接受方接收到的数据第五位如果出错。
计算出
P1⊕D1⊕D2⊕D4⊕D5=1
P2⊕D1⊕D3⊕D4⊕D6=0
P3⊕D2⊕D3⊕D4=1
P4⊕D5⊕D6=0
得到组合值0101,也就是5,说明第五位发生错误,改正第五位为反码即可。
4 流量控制 可靠传输机制
4.1 停止等待协议
有别的书籍链路层管差错控制,传输层才管可靠传输。
4.2 选择重传协议 SR
GBN一旦前面帧出错,后面的也跟着重新发送,浪费资源。
滑动窗口里的一些情况:
发送方完成窗口里最左边帧发送后就滑动窗口
接收方也是这样。
滑动窗口一样长,等于2^(n-1)
4.3 后退N帧协议 GBN
发送方滑动窗口长度不是1,接收方的是1.
帧0 1 2 3,编号,那么长度最大就是3,不然接受方分不清。
5
5.1 信道划分 介质访问控制
最高8000b/s,TDM就只能更小,STDM可以最大取8000b/s
只是针对光的
正交码
5.2 ALOHA协议
想发就发,没收到就再发一次。
5.3 CSMA协议
5.4 CSMA/CD协议
监听失误,结果别人的信号在路上,会有冲突。
2t时间都没检测到碰撞,那肯定就没发生碰撞。
为了避免碰撞,有个算法
帧太短则会出问题,本来检测到碰撞就停止发送,可帧太短就会检测到碰撞之前已经发送完毕。
CSMA/CD应用于半双工总线型网络。
5.5 CSMA/CA协议
不同介质传播就有不一样的协议适应,CD协议适用于以太有线网络,需要检测碰撞。
CA协议适用于无线网络,不需要检测碰撞,但需要避免碰撞。
先预约,然后发送数据。
5.6 轮询访问介质访问控制
三种介质访问协议
只有随即访问MAC协议会发生冲突。
单点故障是指主结点坏了
6
6.1 局域网基本概念和体系结构
WIFI是WLAN的一种应用,WLAN可以达到几千米的覆盖范围
6.2 以太网
以太网发送数据用的曼特斯特编码,所以不需要结尾帧
6.3 无线局域网
6.4 广域网 PPP协议 HDLC协议
局域网只是有物理层和链路层。需要强调速度。
广域网有物理层、链路层、网络层。只强调资源共享,速度没办法。
广域网常用的链路层协议
PPP协议是面向字节的协议
PPP用得更多,因为一般链路层不要求可靠性了,要求速度,可靠性由上层协议去搞。
7 链路层设备
主机和集线器距离不超过100m,不然数据失真。