哈工大计算网络课程数据链路层详解之:数据链路层服务

哈工大计算网络课程数据链路层详解之:数据链路层服务

在介绍完网络层的实现功能和协议之后,接下来我们继续介绍网络层的下一层:数据链路层。 本节首先对数据链路层的功能和所提供的服务进行概述。

如下图示例网络所示,标红色的部分实际上就是一段段的链路。实际上,数据链路层主要的功能就是实现将数据在节点之间的的链路上进行传输。

在这里插入图片描述

因此在数据链路层中,经常会用到以下一些术语:

  • 结点(nodes):主机和路由器

    在数据链路层中,不管是主机还是路由器,都可以把它概括性的称之为一个结点。

  • 链路(links):连接相邻结点的通信信道

    • 有线链路(wired links)
    • 无线链路(wireless links)
    • 局域网(LANs)
  • 链路层封装的数据包/数据分组:帧(frame)

    用来封装网络层的数据报,在链路上进行传输。

数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报。

数据链路层服务

接下来我们来分析,数据链路层能够为高层(网络层)在这一段数据链路的传输上,提供哪些服务。

概括来讲,主要提供的服务主要有以下几种:

  • 组帧(framing)

    • 封装数据报构成数据帧,加首部和尾部。

    • 帧同步

      组帧另一个要实现的功能就是帧同步。作为数据链路层数据帧,在物理层传输时是一系列的比特。那么物理层在接收到一系列的比特流后,如何重新识别出数据帧呢?通常的做法,是在组帧之后,在帧收尾加上一个特殊的帧定界符,可以是一个特殊的字符/字符串。

  • 链路接入(link access)

    • 如果使用的链路是共享介质,则需要解决信道接入(channel access)。所谓共享就是有很多节点都要利用这段链路来传输数据。这个时候要防止不同节点传输数据间的干扰和混淆。
    • 伴随链路接入还有一个很重要的内容是链路寻址。在数据帧首部会有一个"MAC"地址,作为MAC地址其重要意义尤其在于当使用共享链路时,当构造数据帧时,需要这样一个链路层的物理地址来标识一个数据帧的源地址和目的地址。
    • MAC地址IP地址有很大不同,IP地址是网络层地址,MAC地址是链路层地址。
  • 相邻结点间可靠交付(比如借助确认、重传等机制)

    • 在低误码率的有线链路上很少采用(如光纤,某些双绞线等)
    • 无线链路:误码率高,需要可靠交付。
  • 流量控制(flow control)

    • 协调(pacing)相邻的发送结点的发送速率和接收速率。
  • 差错检测(error detection)

    • 作为很多链路层协议,未必会保证可靠传输,但通常都会进行差错检测。
    • 主要是应对信号衰减和噪声引起的差错。
    • 接收端检测到差错:
      • 通知发送端重传或者直接丢弃帧
  • 差错纠正(error correction)

    • 采用特殊的纠错编码,从而在接收端直接纠正比特差错。
  • 全双工和半双工通信控制

    • 全双工:链路两端结点同时双向传输
    • 半双工:链路两端结点交替双向传输

链路层具体实现

作为链路层提供的服务,一方面并不是所有的链路层协议都一定要提供上述提及的所有服务。另外,作为链路层,它的功能在网络中的具体实现,尤其是在主机上的实现,就是网络接口卡来实现的。因此,作为最常见的链路层具体实现,比如以太网网卡、802.11网卡、以太网芯片组等等,这些组件同时实现了链路层和物理层的功能。

因此,作为链路层的数据传输形式如下示例所示:

在这里插入图片描述

主机的网卡把高层(网络层)协议交付的数据报,在本地通过网卡的控制器封装成数据帧,然后通过物理链路把数据帧发送出去。另外一端主机的网卡接收数据帧,经过一系列差错检测等处理确认数据帧,如果没有差错,则把数据帧里封装的高层数据报提取出来,进一步交给上层协议。

  • 发送端:
    • 将数据报封装成帧
    • 增加差错检测比特,实现可靠数据传输和流量控制等
  • 接收端
    • 检测差错,实现可靠数据传输和流量控制等
    • 提取数据报,交付上层协议实体。、

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/15262.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

18.Lucas-Kanade光流及OpenCV中的calcOpticalFlowPyrLK

文章目录 光流法介绍OpenCV中calcOpticalFlowPyrLK函数补充reference 欢迎访问个人网络日志🌹🌹知行空间🌹🌹 光流法介绍 光流描述了像素在图像中的运动,就像彗星☄划过天空中流动图像。同一个像素,随着时…

【三】部署zabbix-proxy代理服务器和高可用,以及监控windows系统和java应用

zabbix代理服务器和高可用 1.部署zabbix代理服务器1.1 代理端zabbix-proxy配置1.2 客户端zabbix-agent配置1.3 zabbix-proxy总结 2. 部署Zabbix高可用集群2.1 主节点zabbix-server配置2.2 备节点zabbix-server配置2.3 客户端zabbix_agent配置2.4 Zabbix高可用集群总结 3.Zabbix…

【uniapp开发小程序】实现读取手机剪切板第一条,识别并以姓名/手机号/收货地址格式输出

效果图&#xff1a; 完整代码&#xff1a; <template><view class""><text>测试</text><view click"pasteContent()" class"content">点击此处可快速识别 您的收货信息</view></view> </templat…

WAIC2023记录

汤晓鸥 学生与工作&#xff1a; 微软布局大模型方向

Linux高频常用指令汇总

目录 认识 Linux 目录结构 绝对路径&#xff1a;以根目录开头的, 称为绝对路径 相对路径&#xff1a;不是根目录开头的,称为相对路径 ls pwd cd mkdir touch cat echo rm cp mv vim编辑器 1、进入文件 2、进行编辑模式 3、保存退出 重要的几个热键[Tab],[ct…

如何利用Spine制作简单的2D骨骼动画

在2D游戏中&#xff0c;我们经常看到各种各样的角色动画。动画能给游戏带来生机和灵气。创作一段美妙的动画&#xff0c;不仅需要强大的软件工具&#xff0c;更需要一套完善的工作流程。 Spine就是一款针对游戏开发的2D骨骼动画编辑工具。Spine 可以提供更高效和简洁 的工作流…

【电子学会】2023年05月图形化四级 -- 还原轨迹

还原轨迹 1. 准备工作 &#xff08;1&#xff09;删除小猫&#xff1b; &#xff08;2&#xff09;从角色库添加“Butterfly 1”角色&#xff1b; &#xff08;3&#xff09;保留白色背景。 2. 功能实现 &#xff08;1&#xff09;点击绿旗&#xff0c;清除舞台&#xff…

【Kafka】Kafka的Broker概述

【Kafka】Kafka的Broker概述 文章目录 【Kafka】Kafka的Broker概述1. Broker的工作流程1.1 Zookeeper存储的Kafka信息1.2 Broker 总体工作流程1.3 Broker重要参数 2. 节点服役和退役2.1 服役新节点2.2 退役旧节点 3. Kafka副本3.1 副本信息3.2 Leader选举流程3.3 Leader 和 Fol…

2023全新UI 哈希玛特HashMart全开源盲盒系统源码下载

ashMart&#xff08;哈希玛特&#xff09;是首款开源的面向生产的高性能、易开发的盲盒系统。它包含&#xff1a;首页看板、商品管理、订单管理、盲盒管理、系统管理、会员管理、权限管理、记录管理&#xff0c;并且拥有完善的搭建使用手册和接口文档。是帮助您快速落地盲盒商城…

基础IO及文件系统

一、系统接口介绍 1. open()命令 模式下&#xff1a;ctrlv进入visual block模式&#xff0c;然后选择J、K&#xff0c;然后输入大写i&#xff0c;然后输入//&#xff0c;最后按ESC&#xff0c;即可完成批量注释&#xff0c;按u取消。ctrl v 进入块选择模式&#xff0c;选中你要…

安装ps显示找不到MSVCP140.dll,三个修复方法可解决

在安装photoshop软件的时候&#xff0c;电脑报错“安装ps显示找不到MSVCP140.dll&#xff0c;无法继续执行此代码”&#xff0c;这个是由于Windows系统中的MSVCP140.dll文件丢失或者损坏&#xff0c;MSVCP140.dll是一种动态链接库文件&#xff0c;它是由Microsoft Visual C的编…

阿里云轻量服务器和ecs区别(最新更新)

阿里云服务器ECS和轻量应用服务器有什么区别&#xff1f;云服务器ECS是明星级云服务器&#xff0c;轻量应用服务器可以理解为简化版的云服务器ECS&#xff0c;轻量适用于单机应用&#xff0c;云服务器ECS适用于集群类高可用高容灾应用&#xff0c;阿里云百科来详细说下阿里云轻…