3.2、封装成帧

news2024/11/14 13:40:55

3.2、封装成帧

3.2.1、封装成帧

  • 数据链路层给上层交付的协议数据单元添加帧头帧尾使之成为

在帧头和帧尾中包含有重要的控制信息

image-20221124002950161

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

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

image-20221124003714517

帧头和帧尾的作用之一就是 帧 定 界 \color{red}帧定界

例如:image-20221124003916929

  • 标志段其作用就是帧定界

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

image-20221124004409070

例如,以太网版本 2MAC 帧格式

image-20221123233653082

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

  • 实际上,以太网的数据链路层封装好 MAC 帧后,将其交付给物理层。

  • 物理层会在 MAC 帧前面添加 8 8 8 字节的前导码,然后再将比特流转换成电信号发送

    image-20221124005039495

  • 前导码中的前 7 7 7 各字节为前同步码

    • 其作用是使接收方的时钟同步
  • 前导码之后的 1 1 1 字节为帧开始定界符

    • 表明其后面紧跟着的就是 MAC 帧。

另外,以太网还规定了帧间间隔时间为 96 96 96 比特时间。

  • 因此,MAC 帧并不需要帧结束定界符

image-20221124005329727

3.2.2、透明传输

透明传输

  • 是指 数 据 链 路 层 对 上 层 交 付 的 传 输 数 据 没 有 任 何 限 制 \color{red}数据链路层对上层交付的传输数据没有任何限制 ,就好像数据链路层不存在一样。

例如:这是发送方数据链路层收到其上层交付的协议数据单元,给其添加帧头和帧尾使其成为帧。

帧定界标志也就是一个特定数值

  • 若在上层交付的协议数据单元中,敲好也包含了这个特定数值,接收方还能正确接收该帧么?

    image-20221124011302999

    • 否定的
  • 接收方在收到第一个帧定界标志时,认为这是帧的开始,这并没有错误。

  • 当接收方在收到第二个帧定界标志时,会误认为帧结束了。

若数据链路层不采取其他措施来避免接收方对帧是否结束的误判,就不能成为透明传输

  • 数据链路层对上层交付的协议数据单元有限制,其内容不能包含帧定界符

很显然,这样的数据链路层没有什么使用价值。


实际上,各种数据链路层协议,一定会想办法来解决这个何题。

例如:

  • 在发送帧之前,对帧的数据部分进行扫描,每出现一个帧定界符,就会在其前面添加一个转移字符

image-20221124011842697

  • 接收方数据链路层在物理层交付的比特流中提取帧,遇到第一个帧定界符,认为这是帧的开始
  • 当遇到转移字符时就知道,其后面的 1 1 1字节内容虽然与帧定界符相同,但他是数据不是定界符。
  • 剔除转移字符后将其后面的内容作为数据继续提取,对于这个转义字符也是同理。
  • 当再次提取到帧定界符时,表明这是帧的结束。

若在上层交付给数据链路层的协议数据单元中,既包含了帧定界符,又包含了转移字符,该如何处理?

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

    image-20221124012400714


刚刚说明的是面向字节的物理链路。

面向字节的物理链路使用字节填充(或称字符填充)的方法实现透明传输。

面向比特的物理链路使用比特填充的方法实现透明传输

例如:某个点对点协议的帧。这里仅处理帧定界标志,未给出其他控制字段。而帧的数据部分,出现了两个帧定界标志,而实际上是数据。

image-20221124013444052

  • 在发送时候,可以采用零比特填充法,每 5 5 5连续的比特 1 1 1 后面就插入 1 1 1 个比特 0 0 0。这样就确保了帧定界在整个帧中的唯一性。也就可以实现透明传输

    image-20221124013705798

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

3.2.3、真题

image-20221124014016297

解析:

  • 高级数据链路控制协议 HDLC 采用帧头和帧尾中的标志字段作为帧定界符,其值为 01111110 01111110 01111110;

  • HDLC 为了实现“透明传输”,采用 “零比特填充法” (每 5 5 5 个连续 1 1 1 后面插入一个比特 0 0 0 );

    image-20221124014229017

答案 A

3.2.4、注意

为了提高帧的传输效率,应当使 帧 的 数 据 部 分 的 长 度 尽 可 能 大 些 \color{red}帧的数据部分的长度尽可能大些

image-20221124014329064

  • 仅从数据链路层来看,帧的数据部分才是真正要传输的数据。

  • 帧头帧尾是为了实现数据链路层功能而额外添加的。

考虑到差错控制等多种因素,每一种数据链路层协议都规定了帧的数据部分的长度上限

  • 即最大传送单元 MTU(Maximum Transfer Unit)。

image-20221124015112474

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

dreamweaver作业静态HTML网页设计——摩尔庄园7页HTML+CSS+JS DW大学生网页作业制作设计 Dreamweaver简单网页

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置,有div的样式格局,这个实例比较全面,有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 ⚽精彩专栏推荐&#x1…

15_移动端项目或者前后端分离项目接口规范

15_移动端项目或者前后端分离项目接口规范写在前面的话,主要是谈谈接口 随着前后端的分离,后端工程师不需要编写页面,甚至不需要编写JavaScript代码,只需要提供接口给前端工程师即可,可是就是仅仅一个接口&#xff0c…

mybatis-plus自带的乐观锁

文章目录1.场景1.1.模拟冲突2.添加乐观锁2.1数据库添加字段2.2配置文件中增加乐观锁拦截器2.3类的属性上添加注解2.4再次运行测试文件3.优化流程mysbatis-plus乐观锁原理:mysbatis-plus进行修改操作时,会将数据库中version字段的值拿出来和上一个查询时的…

大一学生WEB前端静态网页——旅游网页设计与实现-张家口 6页

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材,DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 游景点介绍 | 旅游风景区 | 家乡介绍 | 等网站的设计与制作| HTML期末大学生网页设计作业 HTML:结构 CSS:样式 在操作方面上运…

【电力负荷预测】模拟退火算法结合狮群算法优化Elman神经网络电力负荷预测【含Matlab源码 1454期】

⛄一、模拟退火算法简介 1 引言 模拟退火算法(Simulated Annealing,SA)的思想最早由Metropolis等人于1953年提出:Kirkpatrick于1983年第一次使用模拟退火算法求解组合最优化问题[1] 。模拟退火算法是一种基于MonteCarlo迭代求解策略的随机寻优算法&…

图文详解Linux基础经典教程(09)——部署项目至CentOS

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 概述 在之前的操作里,我们在CentOS中安装了JDK、Tomcat、MySQL。接下来,我们需要将JavaWeb项目部署至CentOS。 项目开发 请在IDEA中开发JavaWeb项…

SpringBoot SpringBoot 开发实用篇 6 监控 6.3 actuator

SpringBoot 【黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)】 SpringBoot 开发实用篇 文章目录SpringBootSpringBoot 开发实用篇6 监控6.3 actuator6.3.1 actuator6.3.2 监控原理6.3.3 小结6 监控 …

Win10下安装CARLA

在仿真环境中要使用lidar进行测试,目前prescan和matlab的lidar扫描方式无法设置,而CARLA中lidar是机械扫描形式,符合需求故选择该软件,只是测试不想重装系统,便在win10下进行安装测试。 1. 安装前需要安装的软件 1. …

小白必看 最核心的5大TikTok视频营销策略(附赠工具)

数据显示,TikTok的用户月人均使用时长达到了每月23.6小时,超过了YouTube的23.2小时。TikTok的用户支出在2022年第一季度达到了8.4亿美元,迄今为止其用户支出总额已超过46亿美元。可见,Tiktok是目前发展相对较好的的短视频社交媒体…

网页JS自动化脚本(一)安装油猴或暴力猴等脚本管理器并新建脚本

在我们的工作生活当中使用网页的机会越来越高,很多时候要进行重复的操作,所以进行一些JS脚本就成了可选项首先我们要在网页浏览器中安装上脚本管理器,这里示范的是安装暴力猴,是一个开源的免费的小软件,是在github上的一款软件,下载下来之后名称为Violentmonkey_2.13.0_chrome.…

Node与浏览器平台下的Event loop

Event loop 浏览器中的Event loop 浏览器平台下一共有两个任务队列,一个是宏任务一个是微任务。 从上至下执行所有的同步代码执行过程中将遇到的宏任务与微任务添加至相应的队列同步代码执行完毕后,执行满足条件的微任务回调微任务队列执行完毕后执行…

C# 加解密之AES

从这一篇开始呢,写一下常用的一些加解密方式。一般我们来说呢,对于加密,我们分为可逆和不可逆。可逆加密又可分为对称加密(AES、DES等)和非对称加密(RSA),还有就是一些编码加密等&am…

适用于C/C++开发人员的HOOPS

1.编译和运行时信息 1.1编制和执行 编译和运行基于C的应用程序需要以下步骤: 编译: 所有3DGS应用: hoops.lib 使用HOOPS/MVO的应用: hoops_mvo.lib 使用HOOPS/Stream的应用: hoops_stream.lib 执行:确保以下本地DLL位于应用程序的目录或…

学生个人单页面网页作业 学生网页设计成品 静态HTML网页单页制作 dreamweaver网页设计与制作代码 web前端期末大作业

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置,有div的样式格局,这个实例比较全面,有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 文章目录一、网页介绍一…

MCE | 癌症诊断和靶向治疗的“遍地开花”

据研究报道,很多癌细胞分泌的外泌体 (Exosome) 比正常细胞分泌的多 10 倍以上。外泌体参与了癌症的发生、进展、转移和耐药性,并通过转运蛋白和核酸,建立与肿瘤微环境的联系。例如,外泌体可导致免疫逃逸,癌细胞的免疫逃…

java 云MAS业务平台_中国移动

云MAS业务平台_中国移动http://mas.10086.cn/login 首页可下载不同协议的接口对接文档,这里以https为例 接口报文数据结构 连接地址:https://:/sms/submit 请求方式:post 数据类型:json(base64加密) A:请求报文内容(一对一或多对一模式*注1): 名称类型说明ecNameSt…

企业年会直播来个虚拟舞台场景如何?

阿酷TONY / 2022-11-21 / 长沙 绿幕抠像 虚拟场景(三维场景)实时渲染,降低直播成本,带来线下活动所没有的沉浸式视听体验,来吧,来一场精彩纷呈的虚拟年会直播吧。 目录 1. 绿幕虚拟直播间 2. 虚拟场景(…

html实现爱情浪漫表白甜蜜时刻(附源码)

文章目录1.设计来源1.1 主界面1.2 相识界面1.3 相知界面1.4 相爱界面2.效果和源码2.1 动态效果2.2 源代码源码下载作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/128006618 html实现爱情浪漫表白甜蜜时刻(附源码) html爱…

web前端课程设计——重庆旅游7页 HTML+CSS+JavaScript

👨‍🎓静态网站的编写主要是用 HTML DⅣV CSSJS等来完成页面的排版设计👩‍🎓,一般的网页作业需要融入以下知识点:div布局、浮动定位、高级css、表格、表单及验证、js轮播图、音频视频Fash的应用、uli、下拉…

数据结构 | 栈和队列

… 📘📖📃本文已收录至:数据结构 | C语言 更多知识尽在此专栏中!文章目录📘前言📘正文📖栈📃结构📃初始化📃销毁📃入栈、出栈📃查看栈…