计算机网络(4.1)——数据链路层的功能概述、封装成帧和透明传输
基本概念
结点:主机、路由器
链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路。
数据链路:网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路。
帧:链路层的协议数据单元,封装网络层数据报。
功能:数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻节点传输数据报。
数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条 无差错的链路。
也是就数据链路层是对网络层提供服务,为了防止物理层传输错误而多的一层屏障。
功能一:为网络层提供服务。无确认无连接服务,有确认无连接服务,有确认面向连接服务。有连接一 定 有确认!
功能二:链路管理,即连接的建立、维持、释放(用于面向连接的服务)。
功能三:组帧。
功能四:流量控制。
功能五:差错控制(帧错/位错)。
封装成帧和透明传输
封装成帧就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。
首部和尾部包含许多的控制信息,他们的一一个重要作用:帧定界(确定帧的界限)。
一帧多大呢?MTU就是帧的数据部分的最大长度,也就是IP数据报的最大长度。
帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止。
组帧的四种方法: 1.字符计数法,2.字符(节)填充法,3.零比特填充法,4.违规编码法。
会根据不同的协议有不同的长度。
透明传输
透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输的东西。
数据链路层对于数据来说像是透明的。为了使传输的数据不会被认为是帧头部或者帧尾部,就需要以下措施来保证数据传输的透明性。
当所传数据中的比特组合恰巧与某一一个控制信息完全一样时,就必须采取适当的措施,使收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。
字符计数法
帧首部使用一个数字来代表长度,来表明帧内字符数。缺点就是,如果帧首部的字符出错,之后的帧都会出错。很少用。
字符填充法
当传送的帧是由文本文件组成时(文本文件的字符都是从键盘上输入的,都是ASCIl码) 。不管从键盘上输入什么字符都可以放在帧里传过去,即透明传输。
当传送的帧是由非ASCII码的文本文件组成时(二进制代码的程序或图像等)。就要采用字符填充方法实现透明传输。
总之,就是利用传输信息中不可能出现的信息来当作首部和尾部。如果还是很出现了一样的,如上图,就可以用转义字符来表示这不是首部和尾部,如下图。
零比特填充法
违规编码法
差错控制
当数据信号从发送端发送到物理线路时,由于物理线路存在噪声,因此数据信号经过物理线路的噪声,到达接收端时,已经是数据+噪声的叠加。这就是差错的来源。
全局性1. 由于线路本身电气特性所产生的随机噪声(热噪声),是信道固有的,随机存在的。
解决办法:提高信噪比来减少或避免干扰。(对传感器下手)
局部性2.外界特定的短暂原因所造成的冲击噪声,是产生差错的主要原因。
解决办法:通常利用编码技术来解决。
无确认无连接的错误交给传输层。
链路层有差错检测是防止传输错误的帧,代价大。
物理层主要是对单个比特进行编码,数据链路层是对传输的一组比特进行编码。
冗余编码
奇偶校验码
只能检查出奇数个比特错误,检错能力为50%。一个、三个、五个错误可以检查出来,但是要是两个位发生变化,0变1,1变0,检查不出来。
CRC循环冗余码
CRC只能保证不出现比特差错,但是不能保证不出现帧差错,所以他也不是可靠的传输。
就是把被除数和除数相加 在除以除数,看是否余数为0.
在数据链路层仅仅使用循环冗余检验CRC差错检测技术,只能做到对帧的无差错接收,即“凡是接收端数据链路层接受的帧,我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错”。接收端丢弃的帧虽然曾收到了,但是最终还是因为有差错被丢弃。“凡是接收端数据链路层接收的帧均无差错”。
“可靠传输”:数据链路层发送端发送什么,接收端就收到什么。
链路层使用CRC检验,能够实现无比特差错的传输,但这还不是可靠传输。因为还是有丢弃的帧。
纠错编码——海明码
这个在计组也有涉猎。但是过程有点复杂,可以参考https://www.cnblogs.com/godoforange/p/12003676.html
计算机网络(4.1)——数据链路层的功能概述、封装成帧和透明传输相关推荐
- 【计算机网络复习 数据链路层】3.2 封装成帧和透明传输
封装成帧和透明传输 一.封装成帧 二.透明传输 一.封装成帧 封装成帧就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧.接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比 ...
- 计算机网络之数据链路层功能概述、封装成帧、透明传输以及差错控制(检验编码)【408_1】
一.数据链路层功能概述 (一)数据链路层基本概念 结点:主机.路由器 链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线.光纤和微波.分为有线链路.无线链路. 数据链路:网络中两个结点之间 ...
- 数据链路层功能概述、封装成帧与透明传输
你一定要做自己,做自己喜欢的事,然后把自己交给命运 文章目录 本章启航思维导图 数据链路层 数据链路层基本概念 数据链路层功能概述 封装成帧 透明传输 组帧的四种方法 字符计数法 字符填充法 零比特填 ...
- 计算机网络5-详述链路层:封装成帧、透明传输、差错控制、链路层协议(SR GBN ALOHA CSMA PPP HDLC)、滑动窗口
一.链路层概述 1.基本功能概述 数据链路层主要负责通过一条链路从一个结点向另一个物理链路直接相连的相邻节点传送数据报 即,将其上层网络层交付给其的数据报,安全无差错地传给相邻结点 2.相关术语 节点 ...
- 数据链路层三个基本问题(封装成帧 、透明传输和差错检测 )
文章目录 使用点对点信道的数据链路层 1.1 数据链路和帧 1.2 三个基本问题 1. 封装成帧 2. 透明传输 3. 差错检测 循环冗余检验CRC 帧检验序列 FCS 接收端对收到的每一帧进行 CR ...
- 数据链路层——封装成帧、透明传输、差错检测、最大传输单元MTU、以太网协议
OSI模型中的数据链路层与物理层,在TCP/IP协议中同属于网络接口层. 数据链路层为物理连接之间提供了可靠的数据传输.数据链路层主要解决3个问题:封装成帧.透明传输.差错检测. 封装成帧 " ...
- 数据链路层:封装成帧、透明传输、差错检测
从整个互联网来看,局域网仍属于数据链路层的范围. 链路 VS 数据链路 链路:从一个结点到相邻结点的一段物理链路. 数据链路:物理线路+实现通信协议的硬件和软件.(早期通信协议也称通信规程) 另一种分 ...
- 3.2 封装成帧和透明传输
3.2 封装成帧和透明传输
- 计算机网络——数据链路层之封装成帧和透明传输
参考链接 CSKAOYAN.COM 封装成帧 封装成帧就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧.接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开 ...
最新文章
- java sqlite3查询慢_java连接数据库进行查询优化跑不通谁能帮我调下通
- 【Linux】/dev/null 21 详解
- css中clear的作用是什么?
- asp.net 在线 mp3,wma, avi
- 点这里,关注计算机视觉技术最前沿~
- yii2 beta版 执行流程
- java 页面 传送参数,Struts2的action接收JSP页面传输的参数
- mysql双主+keepalived【转】
- 代码健壮性的获得 —— 借助编译器及语言的语法特性
- 实战案例:探索星巴克的世界分布
- 移动硬盘不显示盘符修复方法
- termux python turtle_如何在termux上安装Python的turtle库?
- 北京圣思园_Java SE Lesson 11
- 使用阿里云播放器禁止快进
- 电脑重装系统蓝屏详细解决方法分享
- java html5 cms,企业内部cms业务管理系统html5简洁的模板
- 思途cms php文件说明,思途旅游CMS系统二次开发说明文档(v5.0).pdf
- 绘画板绘-小白画线不稳怎么办?
- vim自定义设置-配置文件
- 编码与解码(encode、decode)
热门文章
- 计算机各配置性能如何区分,怎么测试电脑性能?判断电脑性能主要看什么?
- jmeter伪造ip进行压测(伪造大量ip,测试负载均衡)
- dango shell 操作crud
- C++入门经典(第三版 Ivor Horton著)第二章习题答案
- Java NIO Selector , SelectionKey , SocketChannel , ServerSocketChannel
- html5第一人,5点证詹皇仍完压杜少坐稳第一人 死神万年老二或无翻身之日
- 智慧医院新系统架构设计与建设
- OMPL库教程翻译/OMPL学习
- 5G NTN进展简述
- 简信CRM:企业需要定制CRM系统的三大理由