计算机网络第三部分--数据链路层
其他章节笔记
计算机网络概述第一部分
计算机网络第二部分–物理层
计算机网络第三部分–数据链路层
计算机网络第四部分–网络层
计算机网络第五部分–传输层
计算机网络第六部分–应用层
1.基本概念
2.封装成帧与透明传输
封装成帧就是加头加尾,相当于数据打包。
透明传输就是为了防止特殊数据无法正常传输的情况的发生,比如说封装成帧的过程中出现数据的某些标记符与开始/结束标记符恰巧重复等等情况
2.1透明传输法
2.1.1字符计数法
就是在帧的受不做计数,看看数据是否错误
缺点:如果在某一个帧内,标记位后面饿的某个字节数据丢失,那么会影响后面的帧
比如3 1 1和4 2 2 2,如果前面的帧丢失变成3 1 那么后面的4就会被补到前面变成3 1 4 导致错误
2.1.2字符填充法
就是加头加尾分别标记开始结束,和零比特填充法(见下)对比,开始和结束对应的字符不一样,但是有可能出现数据内某段比特流数据正好与标记字段重复,从而导致误判断的情况。
解决方法:添加转义字符
2.1.3零比特填充法
2.1.4违规编码法
因为曼彻斯特编码不适用高-高,低-低来表示,所以如果使用高-高,低-低来表示帧起始和终止就不会与数据冲突
3.差错控制
3.1差错是什么,从哪来的
数据链路层的差错检测的是比特的错误
3.2为什么要在数据链路层进行差错控制?
因为错误可以尽早发现,不会让一个错误的数据包发送了很长的时间到达最终目的地之后才被发现,从而导致网络资源的浪费
3.3检错编编码(奇偶校验码,循环冗余码CRC)
3.3.1奇偶校验码
缺点:只能检测出1,3,5,7…等等奇位数错误,检测成功率为50%
3.3.2循环冗余码CRC
就是用传输数据初一生成的多项式得到冗余码
实际例子
注释:
1.阶数就是最高位是哪位,然后位数-1,如10011就是5-1=4,1011就是4-1=3.
2.异或运算就是相同得0,不同得1,比如100和101做异或结果就是001
3.除数和最后的余数添加到要发送的数据后面,称为帧检验序列FCS
接收方收到数据后进行检测
需要注意的地方
3.4纠错编码(海明码,共四步)
第一步:确认校验码位数r
**第二步 确定校验码和数据的位置
注释:
1.为什么是10位数据位?因为4位校验码+6位信息位=10位
2.校验码放到2的几次方的位置,其他位置按顺序放已知的信息位
第三步 求出校验码的值
注释
1.先是通过二进制位确定有几位。本题中因为最大为10的二进制位是1010,所以是4位,将其标注
2.然后从p1开始看,看p1的二进制位的数值和所有信息位的对应的数值是否相同,然后找出来这些位
这里有些难理解,这里以p1为例辅助理解,这里找出来的就是P1,D1,D2,D4,D5
然后计算异或值,比如这里的D1=1,D2=0,D4=1,D5=0,就是p1要同时和0,1,0,1进行异或之后得到0,为了标识我加粗原始计算数据
举例:0和1异或得1,1和0异或得0,那么p1和0异或得0,那p1就是0了
3.其他同理,按顺序计算出P2,P3,P4然后填入表格
第四部 检错并纠错
就是个上面一样,将所有校验码进行运算,得出结果的值就是错误的位
4数据链路层的流量控制和可靠传输
4.1流量控制与可靠传输
流量控制是为了让传输过程中的发送速度和接受速度匹配,减少传输出错与资源浪费
可靠传输是发送端发送什么,接收端就接受什么
4.1.1停止等待协议(stop-and-wait)
停止等待协议的无差错情况
注释:因为一次就一个,所以用0和1标记ack就行
停止等待协议的有差错情况
数据帧丢失或检测到帧出错
ACK丢失
ACK迟到
停止等待协议的特点
1.简单
2.信道利用率低。大部分数据都在路上,发送方闲置很长时间,浪费资源
信道利用率
4.1.2后退N帧协议(GBN)
因为停止等待协议太浪费时间了,随意尝试采用GBN,发送连续的多个数据帧,以增加信道利用率
注释:累计确认就是指收到一个确认帧,那么它和它之前的所有的帧都默认已收到,反之,如果某个确认帧没收到,那么它和它之后的所有帧都默认丢失(即是收到了也丢弃),进行重传
下图是一个实例
注释:此图发送2帧时丢失,所以接受方接受到后面的帧也是直接丢弃并且发送最晚收到的有效帧1的ACK,直至2帧的超市重传机制被触发进行重传并得到ACK之后接收方才会接受2帧以及后面的帧
发送窗口不能无限大,与使用的编号的比特数有关
很简单,就是1比特编号0和1,同理2比特编号0-3,如果用1比特编号却要4个窗口长度,那么窗口内的数据编号都编不过来,直接乱套了
GBN额优缺点也显而易见,优点是提高了信道利用率,缺点是因为重传机制的原因导致已经收到的数据却要强行丢弃而造成浪费
4.1.3选择重传协议(SR)
为了解决GBN的缺点,我们打算尝试只传错误的帧,这样的话就不用浪费资源把已经收到的帧在重传一次了。
和GBN相比,两者都有窗口了,和GBN的区别其实就是做了一个数据缓存,已经收到的帧就不用扔了,等待之前因为意外丢失的帧收到的时候确认即可,但是只能缓存窗口尺寸的包含的帧(PS:缓存咋可能无限大)
SR运行过程
注释:2帧丢失仍然在发送,但是2帧丢失之后只是缓存,直至最后2帧收到后一次性确认2-5帧
同样的,因为编号的问题,发从的窗口不能无线大
发送窗口最后和接受窗口大小相同这样利用率比较高
5.介质访问控制技术
就是让节点之间的通信不会进行相互干扰
5.1信道划分介质访问控制
虽然使用一条共享信道,但是通过多路复用技术组合进行传输,提高了信道的利用率
5.1.1频分多路复用FDM
5.1.2时分多路复用TDM
TDM的缺点就是利用率低,所以又衍生除了STDM
5.1.3统计时分复用STDM
STDM的原则是先到先走,满了就发,相对遇TDM提高了利用率
5.1.4码分多路复用CDM
CDM只是做一下来记录,暂时还用不到,有需要请自行查找资料
5.2随机访问介质访问控制
所有用户都可以谁家发送信息,发送时可以占用全部带宽,理论上个人使用时比静态非配信道的速度更快
5.2.1ALOHA协议
纯ALOHA协议缺点:太随性,导致效率低
时隙ALOHA协议
相对遇纯ALOHA协议就是固定了发送的时间(只能在一个时间片的开始),提高了效率
5.2.2CSMA协议
名称 | 描述 | 优点 | 缺点 |
---|---|---|---|
1-坚持CSMA | 发送信息时监听信道,一空闲下来就立即传输,信道忙也一直监听,如果发生冲突就等待随机时长之后再监听 | 立即发送,利用率高 | 如果多台设备同时监听,那么会发生冲突 |
非坚持CSMA | 发送信息时监听信道,如果空闲就立即传输,信道忙就随机等待一段时间之后再监听 | 冲突发生的几率减少 | 因为需要等待,所以利用率不高 |
p-坚持CSMA | 发送信息时监听信道,空闲时以概率p进行传输,概率1-p不传输。信道忙就随机等待一段时间后监听 | 冲突减少的同时效率也比较高 | 及时发生冲突也要坚持发送数据,资源被浪费 |
5.2.3CSMA/CD协议
概述就是因为链路实际有长有短,发送数据需要时间,这个时间内可能就被其他节点当成空闲导致碰撞
知道自己发生碰撞的最长时间是2T(两倍的传播时延),就是一去一回
图示传播时延对载波监听的影响
如何确定碰撞后的重传时机?
有次我们想到最小帧长的问题,因为入股帧太短,帧都发送了才检测到碰撞导致停止,导致无法停止碰撞
5.2.4CSMA/CA协议
CSMA/CA协议概述
CSMA/CA协议工作原理
5.2.5CSMA/CD和CSMA/CA的区别
5.3轮询访问介质访问控制
主要包括两大类,一个是轮询协议,另一个是令牌传递协议
5.3.1轮询协议
就是选出一个代表,让它控制所有的传输
注释:轮询开销的在随着服务的节点越多,需要用于查询是是否发送数据的节点也越多,会造成一定开销,等待延迟就是因为这是轮流“邀请”,所以难免谋个节点需要发送需求,但是主节点还在遥远的需要的有需求的节点那边,导致需求得不到立即响应
单点故障很好理解,就代表挂掉了
5.3.2令牌传递协议
注释:在节点之间没有首发数据的需求时,令牌在节点之间循环
发送数据的流程
1.当一个节点需要时就可以获得这个令牌。然后修改这个令牌的状态(空闲->占用)
2.再将令牌与数据帧结合,让其在节点构成的环之间流动
3.不是目的的的节点收到令牌也不接受,直接略过,目标节点收到信息并复制一份到本地(传输完成),因为是个闭环,所以发送节点最后得到令牌
4.最后,发送令牌的节点对令牌的内容进行检查,如果发现数出错还要重新发一遍
问题基本和轮询协议相同
6.局域网
6.1局域网的概念
概括:范围大小,速度快,延迟低,节点平衡
6.1.1局域网的网络拓扑结构
常用的是总线型拓扑
6.1.2局域网的传播介质
局域网 | 常用介质 |
---|---|
有线局域网 | 双绞线,同轴电缆,光纤 |
无线局域网 | 电磁波 |
6.1.3局域网介质访问方法
6.2局域网的分类
6.3IEEE802标准
6.3.1IEEE802标准的局域网参考模型
6.4以太网
6.4.1以太网概念
6.4.1以太网的发展
6.4.3适配器和MAC地址
6.4.4以太网MAC帧
注释:
1.这里的mac层指的是数据链路层
2.之前说过的数据链路层将上一层ip数据包加头加尾
头指的是目标地址(6字节),原地址(6字节),类型(2字节)
尾指的是FCS(帧检验序列),(4字节)
3.前导码不是MAC帧的一部分,目的是时钟同步
6.4.5 10BASE-T以太网
6.4.6高速以太网
6.5无线局域网
6.5.1两种无线局域网
7.广域网
7.1广域网的概述
概括一下,一个字“大”
7.2PPP协议(Point-to-Point protocol)
PPP协议是目前使用最广泛的数据链路层协议,拨号基本上都是PPP协议
PPP协议仅支持全双工链路
7.2.1PPP协议需要满足的要求
7.2.2PPP协议不需要满足的要求
7.2.3PPP协议组成成分以及功能
7.2.4PPP协议的帧格式
7.3HDLC协议(High-Level Data Link Control)
7.3.1HDLC协议概述
7.3.2HDLC的三种站
7.3.3 HDLC的帧格式
7.4 PPP协议和HDLC协议对比
为什么HDLC协议更可靠,但是我们使用PPP协议呢?
因为现在网络要求高,数据链路层本来就是不可靠的尽力传输,产错控制这些复杂的交给了TCP等
8. 链路层设备
8.1集线器(Hub)
可以扩展以太网,但是集线器会无脑将一个设备的所有信息转发到集线器所连接的所有设备,故会将所连接的所有设备变成一个大的冲突域,同时只能有两台设备尽心通信,且设备越多,冲突越多。由此诞生了网桥。
8.2网桥(Bridge)
使用网桥时,由于网桥会根据mac地址进行过滤,所有不会形成冲突域
8.2.1两种网桥
1.透明网桥:
通过自学习来构建转发表。每一个通过网桥的数据包都会被记录下网桥收到数据时源地址和数据对应的地址,通过许许多多的数据包的构造的缓存,网桥就知道那个数据包在那个接口,以后如果要传数据包就知道往那个接口发送数据包了
2.原路由网桥:
在发送时,直接将最佳路径放到帧首部。那么网桥如何获得最佳路径?通过广播方式向目标地址广播,此时可能会经过不同路由产生不同的路径,目标地址收到后再将每一条路径都发一个响应帧给网桥,网桥经过对比就知道那个接口最快了。
8.3交换机
网桥接口越来越来越多,网桥就变成了交换机
8.4冲突域和广播域
9.本章总结思维导图
本章常用中英文对照
End system 端系统
Modem 调制解调器(俗称:猫)
Base station 基站
Communicationlink 通信链路
Physical media 物理介质
Coaxial cable 同轴电缆
Fiber optics光纤
Radio spectrum 射频频谱
Transmission rate 传输速率
Packets (数据)包,或分组
Routers 路由器
Path 路径
ISP(Internet Service Provider) 网络服务提供商
FDM (Frequency -Division Multiplexing)频分多路复用
TDM(Time-Division Multiplexing )时分多路复用
Statistical Multiplexing 统计复用
Store-and-forward 存储转发
Queuing delays 排队延迟
Transmission delay 传输延迟 或发送延迟
Propagation delay 传播延迟
Through put 吞吐量
Internet backbone 骨干网
Delay 延迟或时延
Loss 丢包
Message 消息或报文
Segment (报文)段
Datagram 数据报
Feames 帧
参考资料
2019 王道考研 计算机网络.