计算机网络-概述
计算机网络-物理层
计算机网络-数据链路层
计算机网络-网络层
计算机网络-传输层
计算机网络-应用层
教材:计算机网络第8版
章节:第三章数据链路层
内容:b站王道考研-计算机网络-数据链路层
问题:对数据传输容错
目标:容错
传输中的差错由噪声引起
差错
链路层为网络层提供服务
无确认无连接:通信质量好,有线传输链路
有确认无连接:通信质量差的无线传输链路
有确认面向连接服务:通信质量差的无线传输链路
检错编码
奇偶校验码:n-1位信息元+1位校验码
1100101
11010011
结尾加1,可以采用奇校验
11001010
结尾加0,可以采用偶校验
循环冗余码CRC:在某种关系附加上一定的冗余位
数据是
1101 0110 11
生成多项式是
10011
,等价于 x 4 + x + 1 x^4+x+1 x4+x+1进行补位加
4
个0
1101 0110 11
–>1101 0110 11 0000
进行模2除法,得余数
1110
最终发送数据为
1101 0110 11 1110
纠错编码-海明码
物理层编码针对单个比特,解决传输过程中比特的同步问题,如曼彻斯特编码
链路层编码针对一组比特,通过冗余码的技术实现一组二进制比特串再传输过程中是否出现了差错
较高的发送速度和较低的接收能力的不匹配,会造成传输错误
链路层的流量控制是点到点:接收方收不下就不进行回复确认
流量控制方法:
停止等待协议[发送窗口大小=1,接收窗口大小=1]
滑动窗口协议
可靠传输:发送端和接收端相同
流量控制:控制发送速率,接收方有足够的缓冲空间来接收每个帧
滑动窗口可以进行流量控制(不确认就不会发)、可靠传输(发送方自动重传,超时后没有收到确认帧,就会重传)
除了比特差错,底层信道还会出现丢包问题(物理链路故障、设备故障、病毒攻击、路由信息错误等导致的数据包丢失)
前提
应用情况
无差错情况:每发送1bit就停止并等待
有差错情况:
数据帧丢失或监测到帧出错
超时计时器:每发送一个帧就启动一个计时器,计时器设置:比往返传播时延RTT更长一些,超时进行重传
发送完要对发送的帧进行备份,保留它的副本
数据帧和确认帧必须编号
ACK确认帧丢失
确认帧丢失后,超过计时时间,发送端进行重传,接收端再次发送确认帧
ACK确认帧迟到
超时重传,对重复收到的丢掉后进行确认帧重新发送
收到了之前的确认帧,即迟到的不做处理,进行丢弃
优点:实现简单
缺点:信道利用率低 U = T D R T T + T A U=\frac{T_D}{RTT+T_A} U=RTT+TATD
信道利用率:发送方在一个发送周期内,有效地发送数据所需要的时间占整个发送周期的比率
信道利用率= ( L / C ) / T (L/C)/T (L/C)/T
L:T内发送L比特数据
C:发送发数据传输率
T:发送周期–>开始发送数据到收到第一个确认帧为止
信道吞吐率=信道利用率*发送发的发送速率
为了增加信道利用率,使用流水线技术
- 必须增加序号范围
- 发送方需要缓存多个分组
发送窗口:发送方维持一组连续的允许发送的帧的序号
接收窗口:接收方维持一组连续的允许发送的帧的序号
序号可复用,窗口收到一个确认帧就向前滑动一位,为提高效率,可以累积发送确认帧(收到1,2,3帧,可以只回复确认帧3)
发送方必须响应三件事
上层的调用
上层发送数据时,发送方检查发送窗口:
收到确认帧ACK
对收到的n号帧确认采用累积确认的方式,表明接收方已经收到n号帧和它之前的全部帧
超时事件
出现丢失和时延过长时,发送端会重传已发送但未被确认的帧
接收方要做的事
滑动窗口长度:采用n个bit帧编号,窗口尺寸 W T 应满足 : 1 < = W T < = 2 n − 1 W_T应满足:1\lt=W_T<=2^n-1 WT应满足:1<=WT<=2n−1;若发送窗口尺寸过大会使接收方无法区别新帧和旧帧
优点:提高信道利用率
缺点:一个帧出错,会把原来正确传输的数据进行重传,传递效率低
考研重点内容:
- 累计确认(偶尔捎带确认)
- 接收方只按序接收帧,否则全部丢弃
- 确认序号最大、按序到达的帧
- 发送窗口大小最大 2 n − 1 2^n-1 2n−1,最小为1
解决GBN由于累积重传带来的传输效率低的问题
设置单个确认,同时加大接收窗口,设置接收缓存,缓存乱序到达的帧
发送方必须响应的三件事
上层调用
上层发送数据时,发送方检查发送窗口:
收到ACK
超时事件
发生后只重传一个帧
接收方要做的事
滑动窗口长度[发送窗口最好==接收窗口]: W T m a x = W R m a x = 2 ( n − 1 ) W_{Tmax}=W_{Rmax}=2^{(n-1)} WTmax=WRmax=2(n−1)
重点总结:
- 对数据帧逐一确认,收到一个确认一个
- 只重传出错帧
- 接收方有缓存机制
- 发送窗口==接收窗口 W T m a x = W R m a x = 2 ( n − 1 ) W_{Tmax}=W_{Rmax}=2^{(n-1)} WTmax=WRmax=2(n−1)
数据传输链路:
介质访问控制MAC:采取一定措施,使得两对节点之间通信不会发生互相干扰的情况
信道划分访问控制将使用介质的每个设备与来自同一信道上的其他设备的通信隔离,把时域和频域资源合理分配给网络上的设备
动态分配信道:也叫动态媒体接入控制/多点接入,信道并非在用户通信时固定分配给用户
轮询访问MAC/轮流协议/轮转访问MAC协议:既不产生冲突,又要发送时占全部带宽
多路复用技术:把多个信号组合在一条物理信道上进行传输,使多个计算机或终端设备共享信道资源,提高信道利用率
分用器:把一条广播信道逻辑上分成几条用于节点之间通信的互不干扰的子信道,就是把广播信道转变为点对点信道
一旦分配到一定频带后,在通信过程中自始至终都占用这个频带,频分复用所有用户在同样时间占用不同的带宽资源。
优点:充分利用传输介质带宽,系统效率高,实现比较容易。
将时间划分为一段段等长的时分复用帧
每个时分复用的用户在每个TDM帧中占用固定序号的时隙,所有用户轮流占用资源。(TDM帧在物理层传送中比特流所划分的帧,标志一个周期)
改进的时分复用–统计时分复用STDM
解决等待时间,提高信道利用率
集中器:将低速用户的数据收集起来,通过高速线路统一发送到主机上
光的频分多路复用,由于波长不同,在光纤中的各路信号互不干扰,所以用合波器将多个波合在一个信道上,最后再用波长分解复用器将各路波长分解出来
码分多址:一个比特分为多个码片/芯片,每一个站点被指定为一个唯一的m位芯片序列,发送比特1时发送芯片序列(通常0为-1),若发生比特0就发送比特1的反码
芯片序列设置规则:
所用用户可随机发送消息,发送消息时占全部带宽
问题:用户发送消息时由于不协调会产生冲突
纯ALOHA协议:不监听信道,不按时间发送,随即重发
时隙ALOHA协议:把时间分成若干个时间片,所有用户在时间片开始时同步接入信道,若发生冲突则必须等到下一个时间片开始,控制发送的随意性
- 纯ALOHA协议比时隙ALOHA协议吞吐量更低,效率更低
- 纯ALOHA协议想发就发,时隙ALOHA只有在时间片开始时才能发
载波监听多路访问协议CSMA(carrier sense multiple access)
CS载波监听:每一个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据(检测电压的摆动值)
MA多路访问:多点接入,许多计算机以多点接入的方式连接在一根总线上
CSMA:在发送帧之前,监听信道
1-坚持CSMA:信道空闲则直接传输,不必等待;信道忙则一直监听,直至空闲马上传输;如有冲突则等待随机长的时间再进行监听
优点:媒体利用率高
缺点:若有两个或以上的站点发送数据,则冲突不可避免
非坚持CSMA:信道空闲则直接传输,不必等待;信道忙则等待随机时间后再监听
优点:采用随机重发延迟减少冲突发生的可能性
缺点:媒体利用率降低,都在等待延迟中
p-坚持CSMA:信道空闲时以概率p直接传输,不必等待;概率1-p等待到下一个时间槽再传输;信道忙则持续监听直到信道空闲再以p概率发送;冲突则等到下一个时间槽开始再监听重复上述过程
优点:既能像非坚持减少冲突,也能像1-坚持减少媒体空闲时间
缺点:发生冲突之后要坚持把数据帧发完,造成浪费
三种CSMA对比:
1-坚持CSMA | 非坚持CSMA | p-坚持CSMA | |
---|---|---|---|
信道空闲 | 马上发 | 马上发 | p概率发;1-p概率下一次发 |
信道忙 | 继续监听 | 随机时间后再监听 | 持续监听直至空闲再p概率发 |
CD碰撞检测:适配器边发送数据边检测信道上信号电压的变化,判断发送数据时其他站点是否也发送数据–边发送边监听,半双工网络
传输时延对载波监听的影响:传播时延会造成监听失误,导致数据碰撞,造成冲突。单程端到端传播时延: τ \tau τ
主机B经过 τ − δ \tau-\delta τ−δ的时间检测到碰撞
主机A经过 2 τ − δ 2\tau-\delta 2τ−δ时间检测到碰撞
2 τ 2\tau 2τ–>最迟是两倍的端到端传输时延能知道是否发送碰撞
-->总线端到端往返传播时延
-->争用期/冲突窗口/碰撞窗口
重传时机:截断二进制指数规避算法
连续多次发生冲突则表明可能有较多的站参与争用信道,此算法可使重传需要推迟时间随重传次数增加而增大,减小发生碰撞的概率,有利于整个系统的稳定
最短帧长问题:由于发送的帧过短,导致在监测出碰撞之前就已经完成了发送,因此无法停止发送—>帧的传输时延至少两倍于信号在总线中的传播时延
帧的传输时延= 帧长 b i t 数据传输速率 ≥ 2 τ \frac{帧长bit}{数据传输速率} \ge 2\tau 数据传输速率帧长bit≥2τ
最小帧长=总线传播时延*数据传输速率*2= 2 τ ∗ 数据传输速率 2\tau*数据传输速率 2τ∗数据传输速率
以太网规定最短帧长为64B,凡是长度小于64B的都是由于冲突而异常终止的无效帧
CA避免碰撞:常用于无线局域网(CD无法在无线局域网全面检测碰撞;隐蔽站问题–当A和C都检测不到信号就会认为信道空闲,同时向B发送信号导致碰撞–C和A互为隐蔽站)
工作原理:
- 预约信道
- 使用ACK确认帧
- RTS/CTS帧
CSMA/CD与CSMA/CA
相同点:都基于CSMA思路,在接入信道前都要监听,空闲时才进行接入
不同点:
主节点轮流邀请从属结点发送数据,只有被邀请的主机才可以发送数据
存在问题:轮询开销;等待延迟;单点故障(主节点宕机)
TCU转发器:转发所有经过的帧,为输入输出数据提供接口
令牌:具有特殊格式的MAC控制帧,不含任何信息;控制信道的使用,确保同一时刻只有一个节点独占信道
每个节点都可以在一定时间内获得发送数据的权利,并不是无限制地持有令牌
存在问题:令牌开销;等待延迟;单点故障(宕机造成令牌环破坏)
应用于令牌环网(物理星型拓扑,逻辑环形拓扑),常用于负载较重,通信量较大的网络中
局域网:LAN,在某一区域内由多台计算机互联成的计算机组,应用广播信道
特点:
主要要素:网络拓扑、传输介质和介质访问控制方法
IEEE 802将数据链路层划分为逻辑链路曾LLC子层和介质访问控制MAC子层
以太网由Xerox公司创建并由Xerox、Intel和DEC联合开发的基带总线局域网规范,当今现有局域网最通用的通信协议。以太网使用CSMA/CD技术
在局域网技术中占统治地位:
标准:
DIX Ethernet V2:第一个局域网产品(以太网)规约
IEEE 802.3:IEEE 802委员会中802.3小组制定的第一个IEEE以太网标准(帧格式的不同)—以太网 == 802.3局域网
以太网提供无连接、不可靠服务:
以太网拓扑:逻辑上总线型,物理上星型,使用CSMA/CD协议
10BASE-T以太网:传送基带信号的双绞线以太网,采用无屏蔽双绞线UTP,传输速率10Mb/s
适配器:计算机与外界局域网的连接通过通信适配器完成。
MAC地址:局域网中的硬件地址或物理地址,每个适配器有一个全球唯一的48位二进制地址,前24代表厂家,后24位厂家指定。常用6个十六进制数表示
以太网MAC帧:最常用MAC帧为以太网V2格式,如下图(插入8B的前导码)
与IEEE 802.3的区别:
- 第三字段是长度/类型、
- 当长度/类型字段值小于0x0600时,数据字段必须装入LLC层
高速以太网:
IEEE 802.11时无线局域网的通用标准
有固定基础设施无线局域网:
无固定基础设施无线局域网的自组织网络:
广域网:WAN,跨界很大的物理范围,覆盖范围十几公里到几千公里不等。通信子网主要使用分组交换技术,其可以利用公用分组交换网、卫星通信网和无线分组交换网,将分布在不同地区的局域网或计算机系统互联起来,达到资源共享的目的
点对点协议PPP:只支持全双工线路
要求:
无需满足:
组成部分:
PPP状态图:
PPP帧格式: