后退N帧协议(GBN)
停止-等待协议的弊端
发送方大部分时间都在等待接收方的回复。。。信道利用率很低
一个改善方法:流水线技术
后退N帧协议中的滑动窗口
对于发送方来说,窗口内后面的“2,3,4,5,6”可以直接发送也可以选择暂时不发送
GBN发送方必须响应的三件事
1.上层的调用
上层要发送数据时,发送方先检查发送窗口是否已满,如果未满,则产生一个帧并将其发送;如果窗口已满,发送方只需将数据返回给上层,暗示上层窗口已满。上层等一会再发送。(实际实现中,发送方可以忽略这些数据,窗口不满时再发送帧)
2.收到了一个ACK
GBN协议中,对n号帧的确认采用累计确认的方式,标明接收方已经收到n号帧和它之前的全部帧
3.超时事件
协议的名字为后退N帧/回退N帧,来源于出现丢失和时延过长帧时发送方的行为。就像在停等协议中一样,定时器将再次用于恢复数据帧或确认帧的丢失。如果出现超时,发送方重传所有以发送但未被确认的帧。
GBN接收方必须要做的事
1.如果正确收到n号帧,并且按序,那么接收方为n帧发送一个ACK,并将该帧中的数据部分交付给上层。
2.其余情况都丢弃帧,并为最近按序接收的帧重新发送ACK。接收方无需缓存任何失序帧,只需要维护一个信息:expectedseqnum(下一个按序接收的帧序号)
滑动窗口可以无限长嘛?
若采用n个比特对帧编号,那么发送窗口的尺寸Wt应满足:1<=Wt<=2^n-1.因为发送窗口尺寸过大,就会使得接收方无法区别新帧和旧帧。
GBN协议重点总结
- 累计确认(偶尔捎带确认)
- 接收方之按顺序接收帧,不按序无情丢弃
- 确认序列号最大得、按序到达得帧
- 发送窗口最大为2^n-1.接收窗口大小为1
GBN协议性能分析
- 因连续发送数据帧而提高了信道利用率
- 在重传时必须把原来已经正确传送得数据帧重传,传送效率较低
选择重传协议(SR)
为了解决后退N帧协议中原来已经正确发送得数据帧也要重传得问题。
解决办法:设置单个确认,同时加大加收窗口,设置接收缓存,缓存乱村到达得帧。
选择重传协议中的滑动窗口
SR发送方必须响应的三件事
1.上层调用:
从上层收到数据后,SR发送方检查下一个可用于该帧的序号,如果序号位于发送窗口内,则发送数据帧;否则就像GBN一样,要么将数据缓存,要么返回给上层之后再传输。
2.收到了一个ACK
如果收到ACK,加入该帧号在窗口内,则SR发送方将那个被确认的帧标记为已接受。如果该帧序号是窗口的下界(最左边第一个窗口对应的序号),则窗口向前移动到具有最小序号的未确认帧处。如果窗口移动了并且有序号在窗口内的未发送帧,则发送这些帧。
3.超时事件
每个帧都有自己的定时器,一个超时事件发生后只重传一个帧。
SR接收方要做的事
窗口内的帧来者不拒:SR接收方将确认一个正确接收的帧而不管其是否按序。失序的帧将被缓存,并返回给发送方一个该帧的确认帧(收谁确认谁),直到所有帧(即序号更小的帧)皆被收到为止,这时才可以将一批帧按序交付给上层,然后向前移动滑动窗口。
如果收到了窗口序号外(小于窗口下届)的帧,就返回一个ACK。其他情况,就忽略该帧。
窗口长度可以无限嘛?
还是接收端无法区分新帧旧帧的问题
发送窗口最好等于接收窗口(大了会溢出,小了没意义)
Wtmax=Wrmax=2^(n-1) 注意:和GBN是不同的
SR协议重点总结
1.对数据帧逐一确认,收一个确认一个
2.只重传出错帧
3.接收方有缓存
4.
传输数据使用得两种链路
点对点链路
两个相邻节点通过一个链路相连,没有第三者。
应用:PPP协议,常用于广域网
广播式链路
所有主机共享通信介质。
应用:早期得总线以太网、无线局域网,常用于局域网。
典型拓扑结构:总线型、星型(逻辑总线型)
像下面对讲机这个例子,如果AB同时说话就会有冲突,导致双方都无法说话;链路层就要解决这种冲突问题
介质访问控制
介质访问控制得内容就是,采取一定得措施,使得两对节点之间得通信不会发生相互干扰得情况。
信道划分介质访问控制(静态)
信道划分介质访问控制:将使用介质得每个设备与来自同一个信道上得其他设备的信道隔离开,把时域和频域资源合理地分配给网络上的设备。
1.频分多路复用FDM
2.1时分多路复用TDM
当A.B.C主机都休息时,D仍要每等待3个时间片才能发数据,这样信道利用率就很低,所以有下面的改进方法
2.2 改进的时分复用---统计时分复用STDM
3.波分多路复用WDM
波分多路服用就是光的频分多路复用,在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,所以各路光信号互不干扰,最后再用波长分解复用器将各路波长分解处理啊。
4.码分多路复用CDM
码分多址(CDMA)是码分复用的一种方式
1个比特分为多个码元/芯片(chip),每一个站点被指定一个唯一的m位的芯片序列。
发送1时站点发送芯片序列,发送0时发送芯片序列反码(通常把0写成-1)
如何不打架:多个站点同时发送数据得时候,要求各个站点芯片序列相互正交
如何合并:各路数据在信道中被线性相加
如何分离:合并得数据和源站规格化内积
动态分配信道
动态媒体介入控制/多点接入
特点:信道并非在用户通信时固定分配给用户。
轮询访问介质访问控制:令牌传递协议
1.轮询访问
2.令牌传递协议
随机访问介质访问控制
所有用户可随机发送信息。发送信息时占用全部带宽。
1.1纯ALOHA协议(不听就说)
纯ALOHA协议思想:不监听信道,不按时间槽发送,随机重发。想法就发
纯ALOHA协议太随意了,导致发送成功率很低
1.2时隙ALOHA协议(不听就说)
时隙ALOHA协议的思想:把时间分成若干个相同的时间片,所有用户在时间片开始时刻同步接入网络信道,若发生冲突,则必须等到下一个时间片开始时刻再发送。
控制想发就发得随意性
ALOHA协议总结
- 纯ALOHA比时隙ALOHA吞吐量更低
- 纯ALOHA想发就发,时隙ALOHA只有在时间片段开始时才能发
2.CSMA协议(先听再说)
载波监听多路访问协议CSMA(carrier sense multiple access)
CS:载波监听/侦听,每一个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据
MA:多点接入,表示许多计算机以多点接入得方式连接在一根总线上。
协议思想:发送帧之前,监听信道
1-坚持CSMA
非坚持CSMA
p-坚持CSMA
三种CSMA对比
3.载波监听多点接入/碰撞检测CSMA/CD(先听再说,边听边说)
CS:载波监听/侦听,每一个站在发送数据之前以及发送数据时都要检测一下总线上是否有其他计算机在发送数据。
MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。总线型网络
CD:碰撞检测(冲突检测),“边发送边监听”,适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己发送数据时其他站是否也在发送数据。 半双工网络
传播时延对载波监听的影响
4.载波监听多点接入/碰撞避免CSMA/CA(carrier sense multiple with collosion acoidance)