【网络基础】数据链路层实现的三大功能
数据链路层实现的三大功能分别为:
(1) 封装成帧
(2) 透明传输
(3) 差错控制
1、封装成帧
封装成帧就是在一段数据前后分别添加首部和尾部,构成了一个帧。
接收端在收到物理层上交的比特流后,能根据首部跟尾部的标记,从收到的比特流识别帧的开始和结束。
此外,首部跟尾部还包括许多必要的控制信息。在发送帧时,是从帧首部开始发送。各种数据链路层协议都要对帧首尾部格式有明确的规定。每一种协议都限定了帧的数据部分长度上限-----最大传输单元MTU。
附:最大传输单元MTU(笔者腾讯一面亲历)
一个UDP报文能传输的最大数据为多大?
以太网的数据链路层规定了最大传输单元MTU=1500(字节),那么实际上一个IP数据报最长也就是1500 字节,而IP数据报又是由UDP报文或TCP流封装得到的,那么一个UDP报文最大长度为1500-20=1480.20为IP数 据报的首部长度。而在运输层,UDP也有自己的首部(8字节),所以在应用层一个UDP报文能传递的最大数据 为1500-20-8=1472(字节)
2、透明传输
什么是透明传输,为什么需要透明传输?看下图:
解决透明传输的方法:
1、发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(其十六进制编码是 1B)。
2、字节填充或字符填充——接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。
3、如果转义字符也出现数据当中,那么应在转义字符前面插入一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面的一个。
实现方法见下图:
3、差错检测
在传输过程中可能会产生比特差错:1 可能会变成 0 而 0 也可能变成 1。
为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。
CRC循环冗余检测
在数据链路层传送的帧中,广泛使用了循环冗余检验 CRC 的检错技术。
发送端执行的操作:
在发送端,先把数据划分为组。假定每组 k 个比特。
假设待传送的一组数据 M = 101001(现在 k = 6)。我们在 M 的后面再添加供差错检测用的 n 位冗余码一起发送。
冗余码计算实例:
现在 k = 6, M = 101001。
设 n = 3, 除数 P = 1101,(除数P是我们自己约定的,n的取值是 P的位数减1)
被除数是 (2^n)M = 101001000。 (对M从后开始补0,一共补n位)
模 2 运算的结果是:商 Q = 110101,(计算结果见下图)
余数 R = 001。
把余数 R 作为冗余码添加在数据 M 的后面发送出去。发送的数据是:101001001,共 (k + n) 位。
CRC 是一种常用的检错方法,而 FCS 是添加在数据后面的冗余码。
接收端执行的操作:
从发送端接收到数据M:101001001(包含冗余码FCS)
发送端、接收端约定的除数 P = 1101
M%P 运算结果若为0,表示无比特差错
M%P 运算结果不为0,表示比特差错,丢弃该帧
仅用循环冗余检验 CRC 差错检测技术只能做到无差错接受。“无差错接受”是指:“凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近于 1 的概率认为这些帧在传输过程中没有产生差错”。也就是说:“凡是接收端数据链路层接受的帧都没有传输差错”(有差错的帧就丢弃而不接受)。要做到“可靠传输”(即发送什么就收到什么)就必须再加上确认和重传机制。
本文由Cout_Sev 搜集整理并修改
自谢希仁老前辈《计算机网络第5版》
转载请注明出处
谢谢!
【网络基础】数据链路层实现的三大功能相关推荐
- 网络基础(三)物理层功能,Hub的工作原理
物理层作为 OSI七层原理的第一层,它主要是定义了一个 "电气特性". 包含了我们线缆的 "针脚", "电压", "接口" ...
- 网络基础服务器 与SMP、NUMA、MPP 三大体系结构科普
OSI和TCP/IP是很基础但又非常重要的知识,很多知识点都是以它们为基础去串联的,作为底层,掌握得越透彻,理解上层时会越顺畅.今天这篇网络基础科普,就是根据OSI层级去逐一展开的. 01 计算机网络 ...
- 网络基础3【网络层、数据链路层】
目录 一.网络层 1.IP协议 (1)基本概念 (2)协议头格式 2.网段划分 3.特殊的IP地址 4.IP地址的数量限制 5.私有IP地址和公网IP地址 6.路由 二.数据链路层 1.以太网 2.以 ...
- 十种机制保护三大网络基础协议(BGP、NTP和FTP)—Vecloud微云
除了DNS,还有其他网络基础协议也会变成攻击者的武器,该如何保护呢? 涉及基础互联网协议的攻击见诸报端时,人们的视线往往集中在Web上,HTTP或DNS是绝对的主角.但历史告诉我们,其他协议也会被当做 ...
- 从网线到IO模型(网络基础整合)
文章目录 网络基础 1.什么是协议,常见协议 2.网络应用设计模式 BS/CS优缺点 什么是C/S模式 什么是B/S模式 优缺点 3.分层模型(物数网传会表应) 4.以太网帧协议(为什么需要+报文分析 ...
- 软件设计师笔记之网络基础知识
根据以前的考试大纲总结,本章的知识点大概如下 (1)网络体系结构. (2)传输介质,传输技术,传输方法,传输控制. (3)常用网络设备和各类通信设备的特点. (4)LAN(拓扑,存取控制,组网,网间互 ...
- 通信网络基础 ——RIP、OSPF、BGP等协议及模拟实验
通信网络基础 1. 常用设备及参数说明 1.1 路由器 1.2 交换机 1.2.1 主要知识点区别 1.2.2 三层交换机配置 1.3 物理介质 2. 常用命令解释 2.1 路由器常用基本命令 2.2 ...
- 36张图详解网络基础知识
前言 网络协议 我们用手机连接上网的时候,会用到许多网络协议.从手机连接 WiFi 开始,使用的是 802.11 (即 WLAN )协议,通过 WLAN 接入网络:手机自动获取网络配置,使用的是 DH ...
- 软考之路(1)——浅解网络基础知识
对网络这一块的基础知识理解例如以下,以图文并茂的形式展出.便于分析和理解.解析与图例如以下: 物理层: 功能: 提供为建立.维护和拆除物理链路所需的机械.电气.功能和规程的特性: 提供有关在传输介质上 ...
最新文章
- Java黑皮书课后题第8章:*8.26(行排序)用下面的方法实现一个二维数组中的行排序。返回新数组,且原数组保持不变。编写一个测试程序,提示用户输入一个3*3的double型矩阵,显示一个排好的矩阵
- 网速慢?NO可能是路由器的原因?
- 模拟断电oracle数据不一致,Oracle数据库案例整理-Oracle系统运行时故障-断电导致数据文件状态变为RECOVER...
- 2020,“拷问”AI创业与投资
- win10开机登录不需要密码默认账号
- C#实现反双曲余弦函数等
- win10摄像头无法使用黑屏的解决办法
- 英雄无敌6服务器在哪个文件夹,英雄无敌6无法进入游戏解决方法_单机攻略_快吧单机游戏...
- 我是这样手写Spring的,麻雀虽小五脏俱全
- 惠普暗影精灵II代pro进入biso
- 数据结构学习——RBT(红黑树)以及实现Map和Set
- 月亮私房菜——秘制辣椒油!让你辣得够味!辣得过瘾!
- Mysql数据库表结构导出工具介绍
- 使用Node.js搭建web服务器
- 搭建DNF台服之数据库
- 难道是C3p0的问题
- RISC-V:实现ADDI指令
- Intel Xeon E5-4650 VS AMD Opteron 6380
- 什么是栈?什么是队列?栈与队列的特点
- Tornado+Pyecharts+LayUI搭建个人足迹地图服务
热门文章
- Hessian矩阵的几何意义
- a 是指计算机的什么应用,计算机中AtoC是什么应用软件
- 啊哈C——学习3.7一起来找茬
- [分享] 兰迪·波许教授的最后一课[PDF/PPT/AVI]
- pgsql创建用户并赋予权限
- 球形罩铆接机械臂设计(lunwen+开题报告+指导记录+设计图纸+PLC控制程序)
- linux--redis(redis在lnmp中做加速器2)
- C++ 类型定义顺序问题
- 京东网络开放之路——数据中心光互联技术的思考与实践
- 6 生僻字_又双叒叕,火炎焱燚......神曲《生僻字》原唱来了!