[计算机网络基础]数据链路层(第一部分)

一:数据链路层的组帧:

组帧:网络层的IP数据报向下传送至数据链路层,成为数据链路层的数据单元,给数据单元加上首部和尾部,就组成数据链路层的一个帧。如图所示:

其中规定数据链路层帧的数据单元所能传送的最大数据长度(Max Transfer Unit),j加首部和尾部的最重要的作用就是帧定界。

特别的当帧的数据部分完全是由ASCII码编码形成的文本文件时,帧的首部和尾部可以使用特殊的帧界定符。即:

在ASCII码中规定SOH(start of headline)为标题首部,在数据链路层规定为帧的首部,EOT (end of transmission)为传输结束,在数据链路层规定为帧的尾部,其中SOH的十六进制为01,EOT的十六进制为04。当帧的数据部分不是完全由ASCII码编码的文本文件时我们则不可以使用这种方法来规定首部和尾部。

二:数据链路层的组帧上的透明传输:

由上面如果我们传送的帧数据部分完全是由ASCII码编码的文本文件时,使用SOT和EOT作为帧的首部和尾部是非常适合接收端识别每一个帧,和每一个帧里面包含的数据部分。当时当我们帧的数据部分不在完全是由ASCII码编码的文本文件时,数据部分传送的是图片和二进制计算机程序时,我们很难保证每一帧的数据部分没有和SOT和EOT一样的十六进制编码,如果数据部分出项十六进制的04,接收端在收到数据时,会错误的判断改帧一结束。

这种情况不是我们希望看见的。所以我们引入了一些方法来,最大程度上支持数据链路层的透明传输特性。

方法一:字符填充法

字符填充法和我们再写代码时的转义字符一样。比如再上图中,帧的数据部分爷出现了SOH,我们在其前加一个转义字符ESC。 数据链路层的发送发在发送帧时,会查看帧的数据部分,如出现SOH和EOT就在其前面加一个转义字符ESC,接收方在收到帧时,查看帧中的数据部分,如果“看见”ESC和SOH或EOT在一起,就删除EOT.如果发送方的帧的数据存在ESC,那么我们可以在ESC前面在加一个ESC(这是我臆造的想法,不同的协议再做透明传输控制时都会根据实际情况做的很灵活,比如共享以太网根本就不存在帧的首部和尾部,他通过每发送一个帧后都等待一段时间才发送下一个帧。而PPP协议的帧虽然也是用字符填充的方法,但和这里讲的思路一致,但做得很灵活)

方法二:零比特填充法

零比特填充法,它使用一个特殊的比特模式,如帧首和帧尾为01111100,在数据部分,每出现5个1,就在其后加一个0,接受方做其逆操作。

方法三:字符计数法

字符计数法,在帧首使用一个计数字段,记录帧的数据部分有多少的字符。

方法四:违规编码法

在物理层比特编码通常采用违规编码。例如,曼彻斯特编码将数据比特“1”编码为“高-低”电平,数据比特“0”编码为“低-高”电平,而“高-高”,“低-低”电平在编码中是违规的,可以依次检查接收到的帧的正确性。

三:数据链路层的差错检验

数据在通信信道中传输不可能是理想的,如在传输过程中,1可能变成0,0变成1。这种错误我们称为比特差错。下面所有的差错检验都是针对比特差错的。

在理解数据链路层的差错检验技术的原理,需要一些前置知识。

前置知识:

方法一:奇偶校验码。(只能检错

原理:它是由n-1位信息元和1位校验元组成,可以表示成为(n,n-1)。如果是奇校验码,在附加上一个校验元以后,码长为n的码字中“1”的个数为奇数个;如果是偶校验码,在附加上一个校验元以后,码长为n的码字中“1”的个数为偶数个。

方法二:循环冗余校验码 (只能检错)

原理:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码也叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式G(x)。根据G(x)可以生成K位信息的校验码,而G(x)叫做这个CRC码的生成多项式。 校验码的具体生成过程为:假设发送信息用信息多项式C(X)表示,将C(x)左移R位,则可表示成C(x)*x的R次方,这样C(x)的右边就会空出R位,这就是校验码的位置。通过C(x)*2的R次方除以生成多项式G(x)得到的余数就是校验码。

方法三:海明码校验(CRC)(检错和纠错

时间: 2024-10-08 21:42:09

[计算机网络基础]数据链路层(第一部分)的相关文章

计算机网络基础---数据链路层

数据链路层知识梳理 在数据链路层传输的数据单位为:帧 链路和数据链路 链路:一条点到点的物理线路. 数据链路:除了物理线路外,还必须有通信协议来控制这些数据的传输. 若把实现这些协议的硬件和软件加到链路上,就构成了数据链路.(用网卡来实现这些协议的硬件和软件) 数据发送的模型 数据链路层主要使用的通道: 广播讯道: 一对多通信,一个节点发送的数据能够被广播信道上所有的节点接收到. 所有的节点都在同一个广播信道上发送数据,因此需要有专门的控制方法进行协调,避免发生冲突(冲突也叫碰撞). 主要有两种

[Network] 计算机网络基础知识总结

[Network] 计算机网络基础知识总结 阅读目录 1. 网络层次划分 2. OSI七层网络模型 3. IP地址 4. 子网掩码及网络划分 5. ARP/RARP协议 6. 路由选择协议 7. TCP/IP协议 8. UDP协议 9. DNS协议 10. NAT协议 11. DHCP协议 12. HTTP协议 13. 一个举例 计算机网络学习的核心内容就是网络协议的学习.网络协议是为计算机网络中进行数据交换而建立的规则.标准或者说是约定的集合.因为不同用户的数据终端可能采取的字符集是不同的,两

转帖--计算机网络基础知识大总汇 https://www.jianshu.com/p/674fb7ec1e2c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

计算机网络基础知识大总汇 龙猫小爷 关注 2016.09.14 23:01* 字数 12761 阅读 30639评论 35喜欢 720 一.什么是TCP/IP 网络和协议 1.     TCP/IP是一类协议系统,它是一套支持网络通信的协议集合.网络是计算机或类似计算机的设备之间通过常用的传输介质进行通信的集合. 2.     网络协议就是一套通用规则,用来帮助定义复杂数据传输的过程.数据传输从一台计算机上的应用程序开始,通过计算机网络硬件,经过传输介质到正确目的地,然后上传到目的地计算机网络硬

计算机网络基础教程---强烈推荐!来自锐捷官方网站

一.计算机网络基础教程 说明:每个教程的时间大约为6分钟,以问题为导向,以项目为驱动.1.第一章 IPV4地址介绍 http://www.ruijie.com.cn/fw/zxpx/4092.第二章 TCP/IP协议簇介绍 http://www.ruijie.com.cn/fw/zxpx/4103.第三章 ARP协议工作原理 http://www.ruijie.com.cn/fw/zxpx/4114.第四章 二层交换机工作原理 http://www.ruijie.com.cn/fw/zxpx/4

《计算机网络基础》考试大纲

一.参考书目: <计算机网络技术与应用(第2版)>,段标.张玲主编,电子工业出版社,出版时间:2011年12月. 二.考试形式:闭卷,考试时间90分钟 三.考试内容和要求 (一)考试要求 1.计算机网络理论知识 掌握计算机网络的定义.计算机网络的组成.功能与应用 掌握计算机网络的分类.常见的网络拓扑结构及特点 掌握模拟信号及数字信号的特点,单工.半双工.全双工通信方式的原理,数据交换技术的基本原理及特点 掌握基本传输媒体的类型与特点 掌握网络体系结构的概念,网络协议的概念及构成要素 掌握OSI

计算机网络基础学习笔记——理论

历史:第一代:50年代:(多台)终端(terminal)-->计算机(host) 缺点:1.主机负荷重,效率低.  2.终端速率低,线路利用低,费用高. 60年代:通信控制处理机CCP(communication control processer)或FET(front end processor)    集中器.第二代:60年代末:计算机--计算机   1969年,美国国防部国防高级研究计划署(简称ARPA Advanced Research Project Agency)试验.   1972

计算机网络基础与TCP/IP

计算机网络基础知识复习汇总:计算机网络基础知识复习 HTTP协议的解析:剖析 HTTP 协议 一个系列的解析文章: TCP/IP详解学习笔记(1)-- 概述 TCP/IP详解学习笔记(2)-- 数据链路层 TCP/IP详解学习笔记(3)-- IP:网际协议 TCP/IP详解学习笔记(4)-- ARP 和 RARP TCP/IP详解学习笔记(5)-- ICMP:internet 控制报文协议 TCP/IP详解学习笔记(6)-- IP选路 TCP/IP详解学习笔记(7)-- 初识运输层 TCP/IP

计算机网络基础——OSI七层网络模型

计算机网络基础——OSI七层网络模型 OSI的是什么: 开放式系统互联通信参考模型(英语:Open System Interconnection Reference Model,缩写为 OSI),简称为OSI模型(OSI model),一种概念模型,由国际标准化组织提出,一个试图使各种计算机在世界范围内互连为网络的标准框架.定义于ISO/IEC 7498-1. OSI模型分为七层,建立七层模型的主要目的是为兼容不同的网络,通过将服务.接口.协议三个概念进行区分,使得不同系统不同的网络能实现可靠通

linux基础知识第一节

用户接口: 是一种独特的应用程序,能够为用户提供启动其它应用程序的的机制 cli:命令提示符,用户输入要执行的命令即可, shell: 外壳 sh ,csh ,ksh ,   bash, zsh , tcsh gui: 通过点击操作来启动应用程序 gnome,  mainframe  大型机 多用户操作系统    多终端   终端:设备,显示器,鼠标,键盘 虚拟终端 表示:/dev/tty# ctrl-alt-f(1-6) 物理终端(控制终端)console 串行终端 伪终端 /dev/pts#