【计算机网络篇】数据链路层(2)封装成帧和透明传输

文章目录

  • 🥚封装成帧和透明传输
    • 🎈封装成帧
    • 🎈透明传输
      • 🗒️面向字节的物理链路使用字节填充的方法实现透明传输。
      • 🗒️面向比特的物理链路使用比特填充的方法实现透明传输。
    • 🛸练习

在这里插入图片描述

🥚封装成帧和透明传输

🎈封装成帧

是指数据链路层给上层交付下来的协议数据单元PDU添加一个首部和一个尾部,使之成为帧在这里插入图片描述
帧的首部和尾部包含一些重要的控制信息,如下图

以太网的V2的MAC帧在这里插入图片描述
首部包含:目的地址,源地址,类型这3个字段
尾部包含:帧检查序列FCS字段,

点对点协议PPP的帧格式在这里插入图片描述
首部包含:标志,地址,控制,协议4个字段
尾部包含:帧检验序列FCS,标志2个字段

数据链路层将封装好的帧向下交付给物理层,物理层将其看作是比特流,并转换成相应的电信号发送给接收方。


为了提高数据链路层传输帧的效率,应当使帧的数据荷载的长度尽可能地大于数据链路层首部和尾部的长度
考虑到对缓存空间的需求以及差错控制等诸多因素,每一种数据链路层协议都规定了帧的数据载荷的长度上限,即最大传送单元(Maximum Transfer Unit,MTU)。例如,以太网的MTU为1500个字节在这里插入图片描述

🎈透明传输

是指数据链路层对上层交付下来的协议数据单元PDU没有任何限制,就好像数据链路层不存在一样

🗒️面向字节的物理链路使用字节填充的方法实现透明传输。

如下图
发送方的网络层交付给数据链路层的网络层协议数据单元,数据链路层为其添加一个首部和一个尾部使之封装成帧 ,为了简单起见,我们只画出了帧首部和尾部中的帧定界符,使用flag表示。
在这里插入图片描述

帧定界符是一个特殊数值。那么,如果在上层交付给数据链路层的协议数据单元中恰好也包含了这个特殊数值,接收方还能从接收到的比特流中正确提取出该帧吗,答案是不能
在这里插入图片描述
如下图,接收方在收到第一个帧定界符的时候,认为这是帧的开始
在这里插入图片描述
当接收方再次收到帧定界符时,会误认为帧结束了在这里插入图片描述
如果数据链路层不采取措施解决该问题,就不能称之为透明传输。因为数据链路层会对上层交付的协议数据单元有限制,其内容不能包含帧定界符,很显然,这样子的数据链路层没有什么应用价值。如果能够采取措施,使得数据链路层对上层交付的协议数据单元的内容没有任何限制,就好像数据链路层不存在一样,就称其为透明传输


实际上,各种数据链路层协议一定会想办法来实现透明传输

例如:在把帧交付给物理层之前,对帧的数据载荷进行扫描,每出现一个帧定界符,就在其前面插入一个转义字符。(转义字符是一种特殊的控制字符,其长度是一个字节,十进制为27,而并不是E,S,C这3个字符在这里插入图片描述
接收方的数据链路层在物理层交付的比特流中提取帧,遇到第一个帧定界符的时候,认为这是帧的开始,当遇到转移字符时就知道了其后面的1个字节的内容,虽然与帧定界符相同,但是它是数据而不是帧定界符。
在这里插入图片描述
移除转移字符后,将其后面的内容作为数据继续提取
在这里插入图片描述
在这里插入图片描述
当再次提前到帧定界符的时候,表明这是帧的结束在这里插入图片描述


还有一种情况,就是在上层交付给数据链路层的协议数据单元中,既包含了帧定界符,又包含了转义字符
这种情况应该如何处理呢
在这里插入图片描述

方法仍然是:在把帧交给物理层之前,对帧的数据载荷进行扫描,每出现一个帧定界符或转义字符,就在其前面插入一个转义字符
在这里插入图片描述

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

我们来举例说明,如下图
设某个数据链路层协议采用8个比特构成的特定位串0111 1110作为帧定界符
在这里插入图片描述

这是发送方的数据链路层封装成的一个帧,然而,在该帧的数据载荷部分,恰好包含有作为帧定界符的特定位串,发送方的数据链路层在将该帧交付给物理层进行发送之前,会扫描帧的时间载荷。只要出现5个连续的比特1,就在其后添加一个比特0
经过这种比特0填充后的数据载荷,就可以确保其不会包含帧定界符。
在这里插入图片描述

接收方的数据链路层在把数据载荷向上交给网络层之前,对数据载荷进行扫描,没当发现5个连续的比特1时,就把其后面的比特0删除,这样子就可以还原出原始的数据载荷

如下图,发送方给接收方连续发送了2个帧,每个帧的首部和尾部都有标志字段,我们称为帧定界符。接收方的数据链路层根据帧定界符,就能从一连串的比特流中,识别出一个个的帧

注意:上面介绍的字符填充法和比特填充法只是实现透明传输的一般原理性方法,各种数据链路层协议,都有其实现透明传输的具体方法,其中,有的是基于字符填充法或比特填充法,而有点没有使用这2种方法

🛸练习

在这里插入图片描述

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

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

相关文章

Linux systemd详解

1、概念 1.1 systemd systemd 是一个用于管理 Linux 系统启动过程和系统服务的系统和服务管理器。它被设计为取代传统的 System V init 系统,提供了更快的启动时间、并行启动服务、更好的日志记录和更强大的管理功能。 1.2 unit Unit 是 systemd 中所有配置文件…

基于ssm校园美食交流系统论文

目 录 摘 要 1 前 言 3 第1章 概述 4 1.1 研究背景 4 1.2 研究目的 4 1.3 研究内容 4 第二章 开发技术介绍 5 2.1Java技术 6 2.2 Mysql数据库 6 2.3 B/S结构 7 2.4 SSM框架 8 第三章 系统分析 9 3.1 可行性分析 9 3.1.1 技术可行性 9 3.1.2 经济可行性 10 3.1.3 操作可行性 10…

字符函数与字符串函数

目录 一.字符分类函数 二.字符转化函数 三.strlen函数 函数的介绍 strlen函数的模拟实现 1.计算器法 2.递归 三.指针-指针的方式 四.strcpy函数 函数介绍 strcmp的模拟实现 五.strcat函数 函数介绍 strcat的模拟实现 六.strcmp函数 函数介绍 返回值 strcm…

Mysql学习--深入探究索引和事务的重点要点与考点

꒰˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN …

自动驾驶---Motion Planning之轨迹Path优化

1 背景 在之前的几篇文章中,不管是通过构建SL图《自动驾驶---Motion Planning之Path Boundary》,ST图《自动驾驶---Motion Planning之Speed Boundary》,又或者是构建SLT图《自动驾驶---Motion Planning之构建SLT Driving Corridor》,最终我们都是为了得到boundary的信息。 …

OpenCV实战:智能人脸识别打卡系统

1、介绍 目前,很多公司对员工的考勤同时通过打卡机或者钉钉之类的打卡软件,传统的员工打卡方式有很多,例如点名、签字、刷卡、指纹等等 然而随机机器视觉、计算机视觉的不断发展,算力的不断提升,人工智能对人脸检测的…

如何用联合(共用体)union验证系统大小端

一:思路 由联合体的特点,可知上图,char c 和 int i 共用四个字节,假设是小端,则由左到右是低地址到高地址,四个字节的内容如图所示01 00 00 00 代码展示: 如果第一个字节是1,则证明…

<Linux> 线程池

目录 前言: 一、线程池概念 (一)池化技术 (二)优点 (三)应用场景 二、线程池的实现 (一)线程池_V1(朴素版) (二)线…

Nginx发布之后可以使用IP访问,不能使用localhost访问, Nginx发布之后可以使用localhost访问,不能使用IP访问,

如标题所说 Nginx发布之后可以使用IP访问,不能使用localhost访问, Nginx发布之后可以使用localhost访问,不能使用IP访问, 修改配置文件也没有用 清除浏览器缓存数据

配置DHCPV6

组网需求 如果大量的企业用户IPv6地址都是手动配置,那么网络管理员工作量大,而且可管理性很差。管理员希望实现公司用户IPv6地址和网络配置参数的自动获取,便于统一管理,实现IPv6的层次布局。 图1 DHCPv6服务器组网图 配置思路 …

自动化改变金融科技文档生命周期

金融科技公司可能处于软件开发的最前沿,但即使是最先进的系统也必须能够支持金融服务领域采用的一系列文档密集型程序。因此,绝大多数金融科技企业都使用数字文档管理解决方案,无论是内部构建的还是由第三方供应商开发的。金融科技公司可以通…

UI自动化测试面试题小结

列举web自动化中常见的元素定位方式? id:根据id来获取元素,返回单个元素,id值一般是唯一的; name:根据元素的name属性定位; tagName:根据元素的标签名定位; className…

深入理解XML技术(看这一篇就够了)

目录: XMLXML的功能XML基本语法XML组成部分约束DTD约束Schema约束 Jsoup解析器DOMSAXXML常见解析器DOM4JJsoupXPath解析 XML 概念 XML(Extensible Markup Language):可扩展标记语言 可扩展:标签都是自定义的。 发展历…

[ C++ ] STL---仿函数与priority_queue

目录 仿函数 示例一: 示例二 : 常见的仿函数 priority_queue简介 priority_queue的常用接口 priority_queue的模拟实现 基础接口 push() 堆的向上调整算法 堆的插入 pop() 堆的向下调整算法 堆的删除 priority_queue最终实现 仿函数 仿函数&#xff…

MusicHiFi: Fast High-Fidelity Stereo Vocoding

MusicHiFi: Fast High-Fidelity Stereo Vocoding 相关链接:arxiv github 关键字:音乐生成、高保真立体声、立体声编解码器、生成对抗网络、频带扩展 摘要 MusicHiFi是一种高效的高保真立体声编解码器,它通过将低分辨率的mel频谱图转换为音频…

【Vue】Vue集成Element-UI框架

🙋‍ 一日之际在于晨 ⭐本期内容:Vue集成Element-UI框架 🏆系列专栏:从0开始的Vue之旅 文章目录 Element-UI简介安装Element-UInpm安装CDN安装 引入Element-UI测试是否引入成功总结 Element-UI简介 Element-UI官网:点…

极大提高工作效率的 Linux 命令

作为一名软件开发人员,掌握 Linux 命令是必不可少的技能。即使你使用 Windows 或 macOS,你总会遇到需要使用 Linux 命令的场合。例如,大多数 Docker 镜像都基于 Linux 系统。要进行 DevOps 工作,你需要熟悉Linux,至少要…

vue-quill-editor和vue-ueditor-wrap富文本编辑器应用

目录 一、vue-quill-editor 1.1、界面展示 1.2、代码介绍 1.2.1、安装 1.2.2、配置 1.2.3、代码应用 1.2.4、提取内容 二、vue-ueditor-wrap 2.1、界面展示 2.2、代码介绍 2.2.1、安装 2.2.2、配置 2.2.3、代码应用 一、vue-quill-editor 1.1、界面展示 文本输出…

Vue响应式原理全解析

前言 大家好,我是程序员蒿里行。浅浅记录一下面试中的高频问题,请你谈一下Vue响应式原理。 必备前置知识,​​Vue2​​官方文档中​​深入响应式原理​​​及​​Vue3​​官方文档中​​深入响应式系统​​。 什么是响应式 响应式本质是当…

liunx CentOS7 搭建lnmp环境 php nginx mysql

安装一些刚需软件:不懂请自行查询 安装一些需要的软件命令 yum install wget vim net-tools bash* lrzsz tree nmapnc lsof telnet -y 刷新命令 source /usr/share/bash-completion/bash_completion echo source /usr/share/bash-completion/bash_completion &…