数据链路层协议_数据链路层 基本数据链路协议
目录
数据帧的传输协议
认识了数据链路层,解决数据帧的组帧方式和差错控制后,现在我们来看看数据帧是如何来传输的,即学习数据帧的传输协议。
数据帧的传输协议主要用来解决数据帧收发双方如何协同进行数据帧的传输,基本的协议有:停止-等待协议,选择重传ARQ协议,后退N帧GBN协议;高级的协议有:滑动窗口协议,PPP协议
本节介绍基本的传输协议,下一节介绍高级的传输协议
理想传输协议
但实际中不存在这种信道,一部分数据帧可能在传输过程中出错或者遗失,接收方无法接收正确的数据帧;接收方处理帧的速度不及发送方,则帧可能丢失
停止-等待协议
接收方每收到一帧,都向发送方返回一个应答帧
发送方每发送一帧,都等待来自接收方的应答帧,之后才发送下一帧
相对理想传输协议增加了流量控制和确认帧
应用条件:理想信道,对非理想信道存在诸多问题,比如帧丢失,那么发送与接收双方可能会无限等待下去
选择重传ARQ协议
ARQ(Automatic Repeat reQuest)
相对停止等待协议多了超时重传的功能,避免了确认帧丢失导致无限等待的缺点
缺点:传输链路存在时延,而ARQ协议在同一时刻仅有一个帧在链路上传输(数据帧或确认帧),其对信道的利用率较低
后退N帧GBN协议
GBN(Go Back N)
发送方发送多个连续的数据帧
接收方按顺序接收数据帧,每收到一帧,应答一个确认帧
发送方如果接收到的确认帧为当前发送的倒退第N个,放弃当前的发送,后退N帧后继续连续发送多个帧
GBN协议相对ARQ协议多了连续发送的功能,解决了信道利用率低的问题
但是也存在问题:比如,可能GNB协议会连续一直发送下去(想想为什么),由此有了高级数据链路协议的滑动窗口协议,见下一节。滑动窗口协议就是相对GBN协议,多了收发双方的数据帧序号处理范围。
数据链路层协议_数据链路层 基本数据链路协议相关推荐
- dhcp是哪一层的协议_常用的网络协议有哪些,分别是什么含义
ARP(Address Resolution Protocol)地址解析协议 它是用于映射计算机的物理地址和临时指定的网络地址.启动时它选择一个协议(网络层)地址,并检查这个地址是否已经有别的计算机使 ...
- 上下位机通讯协议_嵌入式中自定义协议的一些典型例子
关于自定义协议,对于会的人很简单,对于不会的人就摸不着头脑.下面分享一些关于自定义协议的笔记. 什么是协议? 协议这个概念我觉得挺杂的.就像嵌入式的概念一样,说法不一,比如大家常常争论FPGA是不是嵌 ...
- tcp ip协议_网络通信-TCP/IP协议族简述
导读:计算机与网络设备要相互通信需要遵守同样的规则.例如,如何找到通信目标.该使用哪种语言通信.怎么结束通信等规则.不同的硬件.操作系统之间的通信都需要遵循同一种规则,这种规则也称为是协议.下面本文主 ...
- wifi协议_图解 802.11wifi协议
微信公众号:卢同学 关注可了解更多.若有问题或建议,请与本人联系或者公众号留言;如果你觉得此文对你有帮助,欢迎赞赏 目录 凡事若能综观形势,通常有助于细节的进一步探究 从OSI七层模型来看,802规范 ...
- java modbus通讯协议_物联通讯协议一(Modbus)
1.Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气 Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表.Modbus已经成为工业领域通 ...
- rtsp协议_如何在RTSP协议视频智能平台EasyNVR未登录的情况下调用通道直播的接口?...
原标题:如何在RTSP协议视频智能平台EasyNVR未登录的情况下调用通道直播的接口? TSINGSEE青犀视频云边端架构全线都提供了丰富的API接口,用户可以自由调用进行二次开发.在本文之前,我们博 ...
- vrrp协议_虚拟路由冗余协议VRRP原理介绍
一.概述: 1.1. 产生背景 随着Internet的发展,人们对网络可靠性的要求越来越高.特别是对于终端用户来说,能够实时与网络其他部分保持联系是非常重要的.一般来说,主机通过设置默认网关来与外部网 ...
- 热水bot协议_如何设计Bot协议
热水bot协议 by Alex Bunardzic 由Alex Bunardzic 如何设计Bot协议 (How to Design a Bot Protocol) One of the bigges ...
- ptp精准时间协议_网络时钟同步协议– NTP, PTP – 默默的点滴
这篇文章介绍一下两个时钟同步的网络协议:NTP和PTP. 这里不涉及协议的原理和具体实现(想了解的可自行Google),重点是如何搭建起这两个服务. 1. NTP及PTP简介 NTP(Network ...
最新文章
- 孔雀翎----《Programming C# 》中文版 第4版
- Android进阶知识:绘制流程(上)
- 一步步编写操作系统 60 cpu的IO特权级2 什么是驱动程序
- 软件工程讲义 3 两人合作(2) 要会做汉堡包
- php的开始和结束标记建议使用的是,php的开始和结束标记建议使用的是?
- C++的掐拷贝、深拷贝【面向对象程序设计细节】
- Merkle Patricia Tree (MPT) 以太坊merkle技术分析
- Microsoft Word 段前距设置和页眉设置
- DXUT框架剖析(13)
- Robocode教程4——Robocode的游戏物理
- Kafka 如何保证消息全局有序
- android四大组件之Activity以及常见的view处理
- 【blog】用emoji-java解决Emoji存储MySQL乱码问题
- 计算机应用基础课件教学大赛,全国“XX杯”说课大赛计算机应用基础类优秀作品:设置IP地址教学课件.ppt...
- lede做无线打印服务器吗,OpenWrt/PandoraBox/LEDE做打印服务器连接HP1020问题汇总
- matlab中进行多行注释
- 设置后台事务的执行人
- html5 canvas 虚线,HTML5 canvas画带箭头的虚线
- scala 定义空list_scala-03-list操作
- Lab: Exploiting XSS to perform CSRF:利用XSS执行CSRF