博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
计算机网络原理笔记-停止等待协议
阅读量:5730 次
发布时间:2019-06-18

本文共 1090 字,大约阅读时间需要 3 分钟。

在整个TCP/IP协议簇中,数据链路层的作用是发送和接收IP层数据,它也用来发送其他协议的数据,这些协议往往是IP层的辅助协议,比如ARP协议等。数据链路层有很多不同的种类,最常见的是以太网(Ethernet)和Wi-Fi。我以为,数据链路层就是局域网,网内的节点之间的通信是不需要经过更高层的协议的,比如IP层等。但是由于该层种类比较多比较杂,所以涉及到的协议也是比较多的。

链路也指物理链路,没有协议和软件的含义,而数据链路多了实现通信规程的硬件和软件。

数据链路层的主要功能就是面向连接的协议,如建立和释放连接。主

主要理解停止等待协议

l  停止等待协议用于通信系统中,两个相连的设备相互发送信息时使用,以确保信息不因丢包或包乱序而丢失,是最简单的自动重传请求方法。

l  只有收到序号正确的确认帧 ACKn 后,才更新发送状态变量 V(S)一次,并发送新的。

l  接收端接收到数据帧时,就要将发送序号 N(S) 与本地的接收状态变量 V(R) 相比较。

l  若二者相等就表明是新的数据帧,就收下,并发送确认。否则为重复帧,就必须丢弃。但这时仍须向发送端发送确认帧 ACKn,而接收状态变量 V(R) 和确认序号 n 都不变。

l  连续出现相同发送序号的数据帧,表明发送端进行了超时重传。连续出现相同序号的确认帧,表明接收端收到了重复帧。

l  发送端在发送完数据帧时,必须在其发送缓存中暂时保留这个数据帧的副本。这样才能在出差错时进行重传。只有确认对方已经收到这个时,才可以清除这个副本。

l  实用的CRC 检验器都是用硬件完成的。

l  CRC 检验器能够自动丢弃检测到的出错帧。因此所谓的“丢弃出错帧”,对上层软件或用户来说都是感觉不到的。

l  发送端对出错的数据帧进行重传是自动进行的,因而这种体制常简称为(Automatic Repeat reQuest),直译是,但意思是自动请求重传。

 

 

 

停止等待协议流程

停止等待协议的算法

这里不使用否认帧(实用的协议大都是这样的),而且确认帧带有序号 n。

按照习惯的表示法,ACKn 表示“第 n – 1 号帧已经收到,现在期望接收第 n 号帧”。

ACK1 表示“0 号帧已收到,现在期望接收的下一帧是 1 号帧”;

ACK0 表示“1 号帧已收到,现在期望接收的下一帧是 0 号帧”。

缺点:

数据每次发送都要等待应答帧的到来,效率较低。尤其是利用卫星进行通信的时候,卫星的传播延迟是270毫秒,每发一帧要用540毫秒。

 

 

转载于:https://www.cnblogs.com/ccoonngg/p/8098323.html

你可能感兴趣的文章
PS 如何使用液化工具给人物减肥
查看>>
cvc-complex-type.2.4.c: The matching wildcard...
查看>>
android 读取json数据(遍历JSONObject和JSONArray)
查看>>
pyjamas build AJAX apps in Python (like Google did for Java)
查看>>
<JavaScript语言精粹>-读书笔记(一)
查看>>
NPM教程
查看>>
Java学习笔记(40)——Java集合12之fail-fast
查看>>
Centos 配置IP的方式
查看>>
Go 的吉祥物,萌不萌
查看>>
【iOS】AFN网络请求通过获取cookies保持会话
查看>>
Java 的swing.GroupLayout布局管理器的使用方法和实例
查看>>
Android中Activity和Fragment的生命周期的对比
查看>>
C++Primer_笔记_异常处理
查看>>
分区交换 alter table exchange partition 在线表 历史表交换
查看>>
思科三层交换 HSRP 热备 配置方法
查看>>
zabbix详解:(二)添加被监控机器
查看>>
设计模式单列
查看>>
人像模式的灯光效果?iPhone 8开挂袭来
查看>>
Linux下MongoDB安装与配置
查看>>
DSL配置(PPPOA)
查看>>