计算机网络——数据链路层-封装成帧(帧定界、透明传输-字节填充,比特填充、MTU)

目录

介绍

帧定界

PPP帧

以太网帧

透明传输

字节填充(字符填充)

比特填充

比特填充习题

MTU


介绍

所谓封装成帧,就是指数据链路层给上层交付下来的协议数据单元添加帧头和帧尾,使之成为帧。

例如下图所示:

在帧头和帧尾中,包含有重要的控制信息,例如以太网版本2的MAC帧格式:

以及点对点协议PPP的帧格式 :

发送方的数据链路层将上层交付下来的协议数据单元封装成帧后,还要通过物理层将构成帧的各比特转换成电信号,发送到传输媒体 。

帧定界

PPP帧

那么接收方的数据链路层,如何从物理层交付的比特流中提取出一个个的帧呢?

实际上,帧头和帧尾的作用之一就是帧定界。例如这是PPP帧的格式:

在其帧头和帧尾中,各包含有一个长度为1字节的标志字段,其作用就是帧定界 。

假设发送方发送的是PPP帧,那么接收方的数据链路层就可以依据帧定界标志,从物理层交付的比特流中提取出一个个的帧。

需要说明的是,并不是每一种数据链路层协议的帧都包含有帧定界标志,例如在以太网版本2的MAC帧格式中,其帧头和帧尾中,并没有包含帧定界标志。

以太网帧

那么接收方又是如何从物理层交付的比特流中,提取出一个个的以太网帧呢?

实际上,以太网的数据链路层封装好MAC帧后,将其交付给物理层,物理层会在MAC帧前面添加8字节的前导码,然后再将比特流转换成电信号发送。

前导码中的前7个字节为前同步码,作用是使接收方的时钟同步,之后的1字节为帧开始定界符,表明其后面紧跟着的就是MAC帧。 

另外以太网还规定了帧间间隔时间为96比特的发送时间,因此MAC帧并不需要帧结束定界符

需要说明的是,帧间间隔还有其他作用,在后续文章中再进行介绍 。

透明传输

字节填充(字符填充)

接下来介绍透明传输的问题,

透明传输是指,数据链路层对上层交付的传输数据并没有任何限制,就好像数据链路层不存在一样。

我们来举例说明:

这是发送方数据链路层收到其上层交付的协议数据单元,给其添加帧头和帧尾,使其成为帧,为了简单起见,只画出了帧头和帧尾中的帧定界标志。

帧定界标志也就是一个特定数值,如果在上层交付的协议数据单元中恰好也包含了这个特定数值,接收方就不能正确接收该帧了。

如下图所示,接收方在收到第一个帧定界标志时,认为这是帧的开始,这并没有错误;当接收方再次接收到帧定界标志时,会误认为帧结束了,如果数据链路层不采取其他措施来避免接收方对帧是否结束的误判,就不能成为透明传输。

也就是说,数据链路层对上层交付的协议数据单元有限制,其内容不能包含帧定界符。很显然,这样的数据链路层没有什么使用价值。

实际上各种数据链路层协议一定会想办法来解决这个问题。例如在发送帧之前,对帧的数据部分进行扫描,每出现一个帧定界符,就在其前面插入一个转义字符

具体如下:

接收方数据链路层在物理层交付的比特流中提取帧遇到第一个帧定界符时,认为这是帧的开始,当遇到转义字符时,就知道其后面的1字节内容虽然与帧定界符相同,但它是数据而不是定界符。

请大家再来思考一下这种情况:在上层交付给数据链路层的协议数据单元中,既包含了帧定界符,又包含了转义字符,应该怎么处理呢?

方法仍然是在发送帧之前,对帧的数据部分进行扫描,每出现一个帧定界符或转义字符,就在其前面插入一个转义字符。

需要说明的是,转义字符是一种特殊的控制字符,其长度为1个字节,十进制值为27,而并不是E、S以及C这三个字符。

比特填充

我们刚刚介绍的是,面向字节的物理链路使用字节填充(或称字符填充)的方法来实现透明传输。

对于面向比特的电路,应该使用比特填充的方法来实现透明传输。

例如这是某个点对点协议的帧:

为了简单起见,在帧首部和尾部中仅给出了帧定界标志,而未给出其他控制字段。

而帧的数据部分出现了两个帧定界标志,但它们实际上是数据而不是帧定界:

在发送前可以采用0比特填充法对数据部分进行扫描,每五个连续的比特1后面就插入一个比特0。这样就确保了帧定界在整个帧中的唯一性,也就可以实现透明传输 。

接触方的数据链路层从物理层交付的比特流中提取帧时,将帧的数据部分中的每五个连续的比特1后面的那个比特0剔除即可。

比特填充习题

接下来我们来做一个有关0比特填充的练习题,这是计算机专业考研全国统考计算机网络部分2013年的题37:

题目中所给的高级数据链路控制协议HDLC,采用帧头和帧尾中的标志字段作为帧定界,其值为01111110,HDLC为了实现透明传输,采用0比特填充法。

也就是每5个连续一后面插入一个比特0,因此选项A正确。

MTU

最后还要注意一点,为了提高帧的传输效率,应当使帧的数据部分的长度尽可能大一些

如图所示:

帧的数据部分的长度应远大于帧头和帧尾的长度,这样才能提高帧的传输效率。

因为仅从数据链路层来看,帧的数据部分才是真正要传输的数据,帧头和帧尾是为了实现数据链路层功能而额外添加的。 

当然,考虑到差错控制等多种因素,每一种数据链路层协议都规定了帧的数据部分的长度上限,称为最大传送单元MTUMaximum Transfer Unit)。


END


学习自:湖科大——计算机网络微课堂

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode刷题笔记】102. 二叉树的层序遍历

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 更多算法知识专栏&#xff1a;算法分析&#x1f525; 给大家跳段街舞感谢…

NRF24L01 无线收发模块与 Arduino 的应用

NRF24L01 是一款常用的无线收发模块&#xff0c;与 Arduino 兼容性良好&#xff0c;可以用于实现无线通信和数据传输。本文将介绍如何将 NRF24L01 模块与 Arduino 配合使用&#xff0c;包括硬件的连接和配置&#xff0c;以及相应的代码示例。 一、引言 NRF24L01 是一款基于 2.…

图解「差分」入门(“前缀和“ 到 “差分“ 丝滑过渡)

题目描述 这是 LeetCode 上的 「1094. 拼车」 &#xff0c;难度为 「中等」。 Tag : 「差分」、「前缀和」 车上最初有 capacity 个空座位&#xff0c;车只能向一个方向行驶&#xff08;不允许掉头或改变方向&#xff09;。 给定整数 capacity 和一个数组 trips, 表示第 i 次旅…

HarmonyOs 4 (三) ArkTS语言

目录 一 认识ArkTs语言1.1 ArkTs1.2 基本结构 二 基本语法2.1 声明式UI2.1.1 创建组件2.1.1.1 无参数2.1.1.2 有参数2.1.1.3 组件样式2.1.1.4 组件方法2.1.1.5 组件嵌套 2.1.2 自定义组件2.1.2.1 基本结构2.1.2.2 成员函数/变量2.1.2.3 自定义组件的参数规定2.1.2.4 Build函数2…

最新版dede织梦CMS采集侠工具

在网络时代&#xff0c;拥有一个充实而有吸引力的网站是吸引访客、提高流量的关键。织梦CMS一直以其简单易用、灵活性强而备受欢迎。而如何让网站内容更富有吸引力&#xff0c;如何在激烈的网络竞争中脱颖而出&#xff1f;新版织梦采集侠以及147SEO插件或许是你的得力助手。 新…

创始人于东来:胖东来员工不想上班,请假不允许不批假!

12月2日早晨&#xff0c;一则关于“胖东来员工不想上班请假不允许不批假”的新闻登上了热搜&#xff0c;引起了广泛关注。熟悉胖东来的网友们可能知道&#xff0c;这并不是这家企业第一次成为热搜的焦点。据白鹿视频12月1日报道&#xff0c;11月25日&#xff0c;河南许昌的胖东…

水果软件FL Studio最新21.1.1.3750汉化版

FL Studio水果音乐编曲软件中文版,一款强大的音乐制作软件,可以进行音乐编曲、剪辑、录音、混音。FL Studio21.1.1.3750中文版是数字音频工作站 (DAW) 之一&#xff0c;日新月异。它是一款录音机和编辑器&#xff0c;可让您不惜一切代价制作精美的音乐作品并保存精彩的活动画廊…

Beta冲刺总结随笔

这个作业属于哪个课程软件工程A这个作业要求在哪里beta冲刺事后诸葛亮作业目标Beta冲刺总结随笔团队名称橘色肥猫团队置顶集合随笔链接Beta冲刺笔记-置顶-橘色肥猫-CSDN博客 文章目录 一、Beta冲刺完成情况二、改进计划完成情况2.1 需要改进的团队分工2.2 需要改进的工具流程 三…

vmware虚拟机怎么安装linux-rocky操作系统

vmware虚拟机安装linux-rocky操作系统 rocky下载地址&#xff1a;https://rockylinux.org/zh_CN/download/ 我下载boot版本&#xff0c;安装时候需要联网。 接下来一路下一步&#xff0c;硬盘这里可以选择“将虚拟磁盘存储为单个文件”&#xff0c;然后一直点击到完成就可以。…

在 SQL Server 中备份和恢复数据库的最佳方法

在SQL Server中&#xff0c;创建备份和执行还原操作对于确保数据完整性、灾难恢复和数据库维护至关重要。以下是备份和恢复过程的概述&#xff1a; 方法 1. 使用 SQL Server Management Studio (SSMS) 备份和还原数据库 按照 SSMS 步骤备份 SQL 数据库 打开 SSMS 并连接到您…

Python 如何判断一个数组中的任意元素是否出现在另外一个数组中

需求 数组1&#xff1a;[双十一,工业机器人,智能物流,机器人概念,智慧停车,新能源汽车,智能制造] 数组2 &#xff1a;[专用设备,电力设备,化学制药,智能物流] 代码&#xff1a; def ExistsArray(sArray, dArray):result False;for item in sArray:if item in dArray:result …

CGAL的四叉树、八叉树、正交树

四叉树&#xff08;Quadtree&#xff09;&#xff1a;四叉树是一种用于二维空间分割的数据结构。它将一个二维区域划分为四个象限&#xff0c;每个象限进一步细分为四个小块&#xff0c;以此类推。四叉树可以用于空间索引、图形学、地理信息系统&#xff08;GIS&#xff09;等领…

uniapp uview u-input在app(运行在安卓基座上)上不能动态控制type类型(显隐密码)

开发密码显隐功能时&#xff0c;在浏览器h5上功能是没问题的 <view class"login-item-input"><u-input:type"showPassWord ? password : text"style"background: #ecf0f8"placeholder"请输入密码"border"surround&quo…

MySQL- CRUD-单表查询

一、INSERT 添加 公式 INSERT INTO table_name [(column [, column...])] VALUES (value [, value...]); 示例&#xff1a; CREATE TABLE goods (id INT ,good_name VARCHAR(10),price DOUBLE ); #添加数据 INSERT INTO goods (id,good_name,price ) VALUES (20,华为手机,…

使用autodl服务器,两个3090显卡上运行, Yi-34B-Chat-int4模型,并使用vllm优化加速,显存占用42G,速度23 words/s

1&#xff0c;演示视频地址 https://www.bilibili.com/video/BV1Hu4y1L7BH/ 使用autodl服务器&#xff0c;两个3090显卡上运行&#xff0c; Yi-34B-Chat-int4模型&#xff0c;用vllm优化&#xff0c;增加 --num-gpu 2&#xff0c;速度23 words/s 2&#xff0c;使用3090显卡 和…

(11_29)畅捷通的 Serverless 探索实践之路

作者&#xff1a;计缘 畅捷通介绍 畅捷通是中国领先的小微企业财税及业务云服务提供商&#xff0c;成立于2010年。畅捷通在2021年中国小微企业云财税市场份额排名第一&#xff0c;在产品前瞻性及行业全覆盖方面领跑市场&#xff0c;位居中国小微企业云财税厂商矩阵领军象限前…

算法通关村第十四关-青铜挑战认识堆

大家好我是苏麟 , 今天带大家认识认识堆 . 堆 堆是将一组数据按照完全二叉树的存储顺序&#xff0c;将数据存储在一个一维数组中的结构。 堆有两种结构&#xff0c;一种称为大顶堆&#xff0c;一种称为小顶堆 : 大顶堆 大顶堆的任何一个父节点的值&#xff0c;都大于或等于…

道可云会展元宇宙平台全新升级,打造3D沉浸式展会新模式

随着VR虚拟现实、人工智能、虚拟数字人等元宇宙技术的快速发展&#xff0c;各个行业正试图通过元宇宙技术寻求新的发展突破口&#xff0c;会展行业也不例外。会展作为经贸领域的重要产业形态&#xff0c;越来越多的企业和组织开始寻求通过元宇宙技术为展会赋能&#xff0c;以满…

【MySQL】视图 + 用户管理

视图 前言正式开始视图用户管理user表创建新用户修改用户密码权限管理给用户赋权剥夺权限 前言 本篇所讲的视图和我上一篇事务中所讲的读视图不是一个东西&#xff0c;二者没有任何关系&#xff0c;如果看过我前一篇博客的同学不要搞混了。 其实视图和用户管理本来是想着分开…

集简云语聚AI新增模型测试,支持多模型同时进行交互,快速评估不同模型性能

语聚AI模型测试 在ChatGPT爆火的推动下&#xff0c;由生成式 AI 掀起的全球人工智能新浪潮就此拉开了序幕&#xff0c;人工智能也成为越来越多企业提升业务效率、优化业务流程的首选方案。 然而&#xff0c;面对层出不穷的AI模型&#xff0c;每个模型在完善度、功能性、易用性…