广告
返回顶部
首页 > 资讯 > 精选 >数据链路层主要有什么功能
  • 193
分享到

数据链路层主要有什么功能

2023-06-20 14:06:47 193人浏览 泡泡鱼
摘要

这篇文章主要讲解了“数据链路层主要有什么功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“数据链路层主要有什么功能”吧!数据链路层的主要功能:1、将数据组合成数据块,封装成帧;2、差错控制;

这篇文章主要讲解了“数据链路层主要有什么功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“数据链路层主要有什么功能”吧!

数据链路层的主要功能:1、将数据组合成数据块,封装成帧;2、差错控制;3、流量控制;4、链路控制;5、Mac寻址;6、区分数据和控制信息;7、透明传输。

教程操作环境:windows10系统、Dell G3电脑。

数据链路层的主要功能

1. 成帧(帧同步)---将数据组合成数据块,封装成帧

为了向网络层提供服务,数据链路层必须使用物理层提供的服务。而物理层是以比特流进行传输的,这种比特流并不保证在数据传输过程中没有错误,接收到的位数量可能少于、等于或者多于发送的位数量。而且它们还可能有不同的值,这时数据链路层为了能实现数据有效的差错控制,就采用了一种”帧”的数据块进行传输。而要采帧格式传输,就必须有相应的帧同步技术,这就是数据链路层的”成帧”(也称为”帧同步”)功能。

采用帧传输方式的好处是:在发现有数据传送错误时,只需将有差错的帧再次传送,而不需要将全部数据的比特流进行重传,这就在传送效率上将大大提高。

采用帧传输方式的好处是带来了两方面的问题:

(1)如何识别帧的开始与结束;

(2)在夹杂着重传的数据帧中,接收方在接收到重传的数据帧时是识别成新的数据帧,还是识别成重传帧呢?这就要靠数据链路层的各种”帧同步”技术来识别了。”帧同步”技术既可使接收方能从并不是完全有序的比特流中准确地区分出每一帧的开始和结束,同时还可识别重传帧。

2. 差错控制

  • 在数据通信过程中可能会因物理链路性能和网络通信环境等因素,难免会出现一些传送错误,但为了确保数据通信的准确,又必须使得这些错误发生的几率尽可能低。这一功能也是在数据链路层实现的,就是它的”差错控制”功能。

  • 在数字或数据通信系统中,通常利用抗干扰编码进行差错控制。一般分为4类:前向纠错(FEC)、反馈检测(ARQ)、混合纠错(HEC)和信息反馈(IRQ)。

  • FEC方式是在信息码序列中,以特定结构加入足够的冗余位–称为”监督元”(或”校验元”)。接收端解码器可以按照双方约定的这种特定的监督规则,自动识别出少量差错,并能予以纠正。FEC最适合于实时的高速数据传输的情况。

  • 在非实时数据传输中,常用ARQ差错控制方式。解码器对接收码组逐一按编码规则检测其错误。如果无误,向发送端反馈”确认”ACK信息;如果有错,则反馈回ANK信息,以表示请求发送端重复发送刚刚发送过的这一信息。ARQ方式的优点在于编码冗余位较少,可以有较强的检错能力,同时编解码简单。由于检错与信道特征关系不大,在非实时通信中具有普遍应用价值。

  • HEC方式是上述两种方式的有机结合,即在纠错能力内,实行自动纠错;而当超出纠错能力的错误位数时,可以通过检测而发现错码,不论错码多少都可以利用ARQ方式进行纠错。

  • IRQ方式是一种全回执式最简单差错控制方式。在该检错方式中,接收端将收到的信码原样转发回发送端,并与原发送信码相比较,若发现错误,则发送端再进行重发。只适于低速非实时数据通信,是一种较原始的做法。

3. 流量控制

在双方的数据通信中,如何控制数据通信的流量同样非常重要。它既可以确保数据通信的有序进行,还可避免通信过程中不会出现因为接收方来不及接收而造成的数据丢失。这就是数据链路层的”流量控制”功能。

数据的发送与接收必须遵循一定的传送速率规则,可以使得接收方能及时地接收发送方发送的数据。并且当接收方来不及接收时,就必须及时控制发送方数据的发送速率,使两方面的速率基本匹配。

4. 链路控制

数据链路层的”链路管理”功能包括数据链路的建立、维持和释放三个主要方面。

当网络中的两个节点要进行通信时,数据的发送方必须确知接收方是否已处在准备接收的状态。为此通信双方必须先要交换一些必要的信息,以建立一条基本的数据链路。在传输数据时要维持数据链路,而在通信完毕时要释放数据链路。

5. MAC寻址

这是数据链路层中的MAC子层主要功能。这里所说的”寻址”与下一章将要介绍的”IP地址寻址”是完全不一样的,因为此处所寻找的地址是计算机网卡的MAC地址,也称”物理地址”、”硬件地址”,而不是IP地址。

在以太网中,采用媒体访问控制(Media Access Control, MAC)地址进行寻址,MAC地址被烧入每个以太网网卡中。这在多点连接的情况下非常必需,因为在这种多点连接的网络通信中,必须保证每一帧都能准确地送到正确的地址,接收方也应当知道发送方是哪一个站。

6. 区分数据和控制信息

由于数据和控制信息都是在同一信道中传输,在许多情况下,数据和控制信息处于同一帧中,因此一定要有相应的措施使接收方能够将它们区分开来,以便向上传送仅是真正需要的数据信息。

7. 透明传输

这里所说的”透明传输”是指可以让无论是哪种比特组合的数据,都可以在数据链路上进行有效传输。这就需要在所传数据中的比特组合恰巧与某一个控制信息完全一样时,能采取相应的技术措施,使接收方不会将这样的数据误认为是某种控制信息。只有这样,才能保证数据链路层的传输是透明的。

注:在以上七大链路层功能中,主要的还是前面的五项,后面两项功能是在前五项功能中附带实现的,无需另外的技术,所以在此仅介绍前面五项功能。

链路层向网络层提供的服务

数据链路层的设计目标就是为网络层提供各种需要的服务。实际的服务随系统的不同而不同,但是一般情况下,数据链路层会向网络层提供以下三种类型的服务:

1. 无确认的无连接服务

“无确认的无连接服务”是指源计算机向目标计算机发送独立的帧,目标计算机并不对这些帧进行确认。这种服务,事先无需建立逻辑连接,事后也不用解释逻辑连接。正因如此,如果由于线路上的原因造成某一帧的数据丢失,则数据链路层并不会检测到这样的丢失帧,也不会恢复这些帧。出现这种情况的后果是可想而知的,当然在错误率很低,或者对数据的完整性要求不高的情况下(如话音数据),这样的服务还是非常有用的,因为这样简单的错误可以交给OSI上面的各层来恢复。如大多数局域网在数据链路层所采用的服务也是无确认的无连接服务。

2. 有确认的无连接服务

为了解决以上“无确认的无连接服务”的不足,提高数据传输的可靠性,引入了“有确认的无连接服务”。在这种连接服务中,源主机数据链路层必须对每个发送的数据帧进行编号,目的主机数据链路层也必须对每个接收的数据帧进行确认。如果源主机数据链路层在规定的时间内未接收到所发送的数据帧的确认,那么它需要重发该帧。 这样发送方知道每一帧是否正确地到达对方。这类服务主要用于不可靠信道,如无线通信系统。它与下面将要介绍的“有确认的面向连接服务”的不同之处在于它不需要在帧传输之前建立数据链路,也不要在在帧传输结束后释放数据链路。

3. 有确认的面向连接服务

大多数数据链路层都采用向网络层提供面向连接确认服务。利用这种服务,源计算机和目标计算机在传输数据之前需要先建立一个连接,该连接上发送的每一帧也都被编号,数据链路层保证每一帧都会被接收到。而且它还保证每一帧只被按正常顺序接收一次。这也正是面向连接服务与前面介绍的“有确认无连接服务”的区别,在无连接有确认的服务中,在没有检测到确认时,系统会认为对方没收到,于是会重发数据,而由于是无连接的,所以这样的数据可能会复发多次,对方也可能接收多次,造成数据错误。这种服务类型存在3个阶段,即:数据链路建立、数据传输、数据链路释放阶段。每个被传输的帧都被编号,以确保帧传输的内容与顺序的正确性。大多数广域网的通信子网的数据链路层采用面向连接确认服务。

以太网采用无连接的工作方式,读发送的数据帧不进行编号,也不要求对方发回确认。目的站收到有差错的帧就把他丢弃,不采取其他行为。

其他知识点

  • 局域网的优点:具有广播功能,从一个站点可以很方便的访问全网;便于系统的扩展和逐渐演变;提高了系统的可靠性、可用性和生存性。

  • 以太网采用的协议是具有冲突检测的载波监听多点接入CMSA/CD。协议的要点是:发送前先监听,便发送边监听,一旦发现总线上出现了碰撞,就立即停止发送。然后按照退避算法等待一段随机时间后再次发送。因此,每一个站在自己发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。以太网上各站点都平等的争用以太网信道。

感谢各位的阅读,以上就是“数据链路层主要有什么功能”的内容了,经过本文的学习后,相信大家对数据链路层主要有什么功能这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 数据链路层主要有什么功能

本文链接: https://www.lsjlt.com/news/297642.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 数据链路层主要有什么功能
    这篇文章主要讲解了“数据链路层主要有什么功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“数据链路层主要有什么功能”吧!数据链路层的主要功能:1、将数据组合成数据块,封装成帧;2、差错控制;...
    99+
    2023-06-20
  • node js主要功能有什么
    这篇文章给大家分享的是有关node js主要功能有什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。node js主要功能是编写像Web服务器一样的网络应用,并且由于Node.j...
    99+
    2022-10-19
  • 数据库管理系统有哪些主要功能
    数据库管理系统(DBMS)的主要功能包括:1. 数据定义语言(DDL):提供创建、修改和删除数据库、表、视图、索引等数据库对象的语句...
    99+
    2023-10-09
    数据库
  • Javascript主要有什么数据类型
    这篇文章给大家分享的是有关Javascript主要有什么数据类型的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Javascript主要有六种数据类型,分别是:1、undefined数据类型;2、Null数据类型;...
    99+
    2023-06-15
  • 弹性云服务器使用什么做数据存储设备的主要功能
    数据库存储:弹性云服务器可以作为数据库服务器来存储数据。可以使用关系型数据库(如MySQL、SQL Server等),也可以使用独立的数据库(如MongoDB、Cassandra等)。 镜像存储:弹性云服务器可以通过镜像技术将数据备份到多...
    99+
    2023-10-27
    主要功能 弹性 数据存储
  • 实用的数据科学Python库有什么功能
    本篇内容介绍了“实用的数据科学Python库有什么功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 获取数据获取数据是解决数据科学问题...
    99+
    2023-06-16
  • 云服务器的主要性能参数有哪些特点和作用是什么
    云服务器的主要性能参数包括: CPU:云服务器通常使用Intel 至强E5系列处理器或AMD Phenom X5 5500+或更高规格处理器。 内存:云服务器通常使用16GB或32GB的内存,以便更大的内存可用于存储更大的数据。 磁盘存...
    99+
    2023-10-27
    性能参数 作用 服务器
  • 云服务器的主要性能参数有哪些内容和特点是什么?
    云服务器的主要性能参数包括: CPU:云服务器通常使用Intel 至强E5系列处理器或AMD Phenom X5 5500+或更高规格处理器。这些处理器的性能越强,可以承载的数据量和处理任务就越多,性能就越高。 内存:云服务器通常使用内...
    99+
    2023-10-27
    性能参数 服务器 内容
  • 云服务器包括数据库吗为什么没有数据传输功能
    云服务器是一种虚拟服务器,通常用于在互联网上提供云计算服务。虽然没有数据传输功能,但云服务器可以通过以下方式实现数据传输功能: 网络连接:云服务器可以通过互联网连接到其他服务器来提供数据传输服务。这种连接方式不需要使用专用的传输协议,但...
    99+
    2023-10-27
    数据传输 功能 服务器
  • 云服务器包括数据库吗为什么没有数据管理功能
    云服务器提供了数据库功能,这通常是由于云计算平台提供了更高效的数据存储和访问技术。 通常情况下,云服务器平台会集成多个数据库引擎,并且这些数据库引擎通常具有数据存储和管理的功能,例如数据备份、数据还原、数据迁移等等。这些功能的实现,可以让...
    99+
    2023-10-27
    数据管理 功能 服务器
  • Apeaksoft Android Toolkit Mac安卓数据恢复软件有什么功能
    这篇文章主要介绍了Apeaksoft Android Toolkit Mac安卓数据恢复软件有什么功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Apeaksoft And...
    99+
    2023-06-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作