IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计算机网络-第四章-数据链路层 -> 正文阅读

[网络协议]计算机网络-第四章-数据链路层

数据链路层概述

任务:提供两个相邻的网络节点或主机及其相邻的网络节点之间的可靠通信
数据链路层的信息传送单位:帧(frame)

数据链路层的主要工作

  • 线路规程:解决“现在该谁发送”的问题
  • 差错控制:采用“校验-应答-重发”的模式
  • 流量控制:防止发送端速度超过接收端速度而导致数据丢失和信道拥挤

数据链路=链路+规程

  • 链路:物理线路
  • 规程:控制线路上数据的传输

线路规程

线路规程是监视链路的建立,以及在给定时刻分配一个具体设备进行数据传送的权利

1.询问/应答模式(ENQ/ACK)

  • 适用场合:点对点方式,即两个设备之间存在一条专用链路

  • 工作方式:启动方首先发送一个询问帧(ENQ)询问接受方是否可以接受数据
    1、接收方如果已经准备好接受,回答一个确认帧(ACK)
    2、如果没有准备好接收,回答一个否认帧(NAK)

  • 有三种可能情况:没有应答、回答是否定、回答是肯定
    在这里插入图片描述

2.轮询/选择模式

  • 使用场合:多点连接系统,由使用同一条传输线路的一个主设备和若干个从设备构成

在这里插入图片描述

  1. 工作方式:主设备控制链路,主设备发命令,从设备响应

  2. 轮询:如果主设备希望接收数据,询问从设备是否有数据要发送?如果没有数据要发送,必须回答否定应答帧(NAK),如果有数据则直接用数据帧回答

  3. 选择:如果主设备希望发送数据,用SeL选择帧告知目标从设备准备好接收,从设备用ACK同意接收,用NAK拒绝接收
    在这里插入图片描述

两种终止信息交互的方法

1.从设备的所有数据已发送完毕,以一个**传输结束帧(EOT)结束传输
2.主设备发送
“时间到”**消息

流量控制与差错控制

流量控制是一组过程,这组过程是用来告诉发送方在等待接收方的确认信号之前最多可以传送多少数据

流量控制的两个要点:

  1. 数据流不能使接收方过载
  2. 接收方对数据进行确认

差错控制主要指错误检测和重传方法:

  • 自动重复请求(ARQ):数据帧在传输过程中出现错误,接收方就返回一个否定应答帧(NAK),出错的帧就会被发送方重新传送,这个过程叫做ARQ

数据被重传的情况有三种:

  1. 帧破坏
  2. 帧丢失
  3. 应答帧丢失

实现技术

流量控制和差错控制通常结合在一起实现,通常有两种技术:

1、停止等待协议
2、滑动窗口协议

停止等待协议
  • 停等协议中的流量控制:

发送方每发送一帧后就等待应答,只有收到一个应答ACK后,采访下一个帧,直到发送方发送一个传输结束帧

  • 优点:协议简单
  • 缺点:效率低,线路上只有一帧,费时长

在这里插入图片描述

  • 完成一帧发送所需要的时间
    W T = t I + 2 t P + 2 t P r o c + t S W_T=t_I+2t_P+2t_{Proc}+t_S WT?=tI?+2tP?+2tProc?+tS?

其中 t I t_I tI?是发送数据帧的时间(帧长/数据传输速率)
t S t_S tS?是发送应答帧的时间(应答帧长/数据传输速率)
t P t_P tP?是信号传播延迟(距离/信号传输速度)
t P r o c t_{Proc} tProc?是节点处理数据时间
在这里插入图片描述

  • 停等协议的定量分析
  • 信道利用率:信道被占用的时间和总时间之比
  • 有效数据传输率:单位时间内传输的有效数据位数
    在这里插入图片描述在这里插入图片描述
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-19 12:16:09  更:2021-10-19 12:17:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年7日历 -2024/7/1 11:40:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码