美文网首页
数据链路层提供的服务

数据链路层提供的服务

作者: 逗儿比的日常 | 来源:发表于2021-02-02 15:26 被阅读0次

无确认无连接服务

可靠性差,由上层完成差错控制,适合于误码率低,实时性要求高的场合,如大部分有
线局域网
发送方给接收方发一个数据时不需要接收方对数据的接收做应答的,也就是说数据时否到达,是否正确到达接收方,发送方是不知道的。只要发送的数据的最后一位发送出去就人为这个过程已经结束

有确认无连接服务

进行简单的差错控制,适用于不可靠的信道(但可靠性比无确认无连接服务要好),如
无线网
接收方会对接收的数据给发送方一个应答。但是在发送方没有收到应答之前数据的发送过程无法结束。发送完还不算结束,需要得到接收方的应答这个过程才结束

面向连接确认服务

在发送前需要建立连接,保证了帧的正确按序传输,适用于可靠性要求较高的场合,如大多数广域网

应答方式

正向应答:只对正确的信息应答
负向应答:只对错误的信息应答
双向应答:既对正确的信息应答,也对错误的信息应答

应答方式.png

❉数据链路层取的计时时间为最远的两个节点端对端的传输时延的两倍多一点

使用负向应答一个很典型的例子是邮件系统,当发邮件但是邮件服务器不能为你完成邮件的分发的时候(比如邮件地址写错了,对方的邮箱满了),它会非你发一封邮件,告诉你这封邮件它是没有办法递交的,这个邮件就是负向应答

在数据链路层最常用的应答方式是正向应答
• 为什么不能用负向应答?
发送方超时没有收到应答它认为数据是正确到达,但是实际情况不一定是这样的。如果数据丢失了,或者应答帧丢失了,都会导致发送方超时,都会导致发送方以为接收方已经正确收到数据。正确到达是一个主流,出错和丢失是一个小概率事件。如果使用负向应答的话,协议的效率会大大的降低
• 为什么不用双向应答?
需要在每一个帧的序号处标识出到底是正向应答还是负相应答,信道的利用率会受到影响。发送方和接收方的处理流程也会变复杂

↑图中(3)发生接收方应答丢失或出错的情况下,发送方计时器超时会再发一遍,这时接收方就会受到两个相同的帧,但是协议要求每一层在给上一层提供的数据要正确,不能重复,这时接收方都会记录着一个信息(所期望的序号)。比如0接收完下一个应该是1,但是很可能下一个到的是0(重复),或者是2(可能1的帧丢失,下一个帧即后续帧先到了),是2时如果有足够的缓存的话会把它缓存起来,期望的帧到了处理完之后再处理这个后续帧,这样避免后续帧的重复发送

这个序号应该怎样编?

协议控制信息越短越好,格式最好是固定的,这样能简化协议的设计,实现起来更容易
为了避免发送的帧过多,处理信息过大,一般会使用循环序号。在一个序号再一次被使用的时候要求原来相同序号的那个帧已经被处理完,不能让相同序号的两个帧同时存在。但是使用循环序号就不能以和自己的期望序号相比的大小来区分是重复帧还是后续帧了

如果只要是后续帧就存储起来容易产生死锁现象(共享资源竞争使用,如果分配不当就会死锁)。假如接收方只有4个缓冲区,发送方发送了序号为1的帧,但这个数据出错了,2,3,4,5,到达了,这时候不能把后续到达的这几个帧都存起来,2,3,4可以存,但是5也存的话必然造成死锁。因为数据必须按序给高层提交,1不到,2,3,4,5是不能提交的,不提交的话它们所占的缓冲区不可能释放,1到达的时候因为没有缓冲区,没有地方放1,就只能把1丢弃,就出现死锁了。要解决这个问题,请看【流量控制】篇

相关文章

  • 数据链路层提供的服务

    无确认无连接服务 可靠性差,由上层完成差错控制,适合于误码率低,实时性要求高的场合,如大部分有线局域网发送方给接收...

  • 数据链路层

    数据链路层 ​ 数据链路层是OSI参考模型中的第二层,介乎于物理层和网络层之间。数据链路层在物理层提供的服务的...

  • [计算机网络]Ch.3 数据链路层

    数据链路层 1.DLL层设计问题 1.1 DLL层·功能 数据链路层使用物理层提供的服务在通信信道上发送和接收比特...

  • 数据链路层功能——封装成帧&&差错控制

    本文内容 从本节开始介绍数据链路层的内容,数据链路层属于计算机网络的低层,需要对其上层网络层提供服务。本文主要介绍...

  • 链路层(一)

    目录 5.1 链路层概述 5.1.1 链路层提供的服务 5.1.2 链路层在何处实现 5.2 差错检测和纠正方法 ...

  • 计算机网络知识点(三)

    Chapter3 数据链路层 数据链路层解决下一步怎么走的问题向网络层提供一个定义良好的服务接口处理传输错误从网络...

  • 《计算机网络-自顶向下方法》第五章-链路层:链路、接入网和局域网

    任一链路层的基本服务都是将数据报通过单一通信链路从一个结点移动到相邻结点,但所提供的服务细节能够随着链路层协议的不...

  • 数据链路层

    数据链路层负责通过一条链路从一个节点向另一个物理链路直接相连的相邻节点传送数据报。 链路层提供的服务包括组帧、链路...

  • 数据链路层(一):概述

    基本概念 数据链路层是OSI参考模型中的第二层,介乎于物理层和网络层之间。数据链路层在物理层提供的服务的基础上向网...

  • 计算机网络原理梳理丨链路层

    目录 数据链路层服务 差错控制 多路访问控制协议 局域网 点对点链路协议 数据链路层服务 链路:通信链路连接的相邻...

网友评论

      本文标题:数据链路层提供的服务

      本文链接:https://www.haomeiwen.com/subject/vdunoktx.html