计算机网络——数据链路层-数据链路层概述(介绍、三个重要问题、使用广播信道的数据链路层、其他问题)

目录

介绍

三个重要问题

封装成帧 

差错检测

可靠传输

使用广播信道的数据链路层

其他问题


介绍

本篇对数据链路层进行概述,我们首先来看看数据链路层在网络体系结构中的地位:

主机H1给主机H2发送数据,中间要经过三个路由器和电话网、局域网以及广域网等多种网络。

从五层协议原理体系结构的角度来看,主机应具有体系结构中的各个层次,而路由器只需具有体系结构中的下面三层。

各设备通过物理层下面的传输媒体进行互连,当主机H1向H2发送数据时,数据的流动如上图所示。主机H1将待发送的数据逐层封装后,通过物理层将构成数据包的各比特转换为电信号发送到传输媒体;数据包进入路由器后,由下往上逐层解封到网络层,路由器根据数据包的目的网络地址自身转发表确定数据包的转发端口,然后从网络层向下逐层封装数据包;并通过物理层将数据包发送到传输媒体,数据包最终到达主机H2时,还要由下往上逐层解封,最终解封出主机H1所发送的数据。

当我们专门研究数据链路层的问题时,在大多数情况下,我们可以只关心数据链路层,而不考虑网络体系结构的其他各层。换句话说,我们可以想象:数据包只在数据链路层从左向右沿水平方向传送。

从数据链路层来看,主机H1到H2的通信可以看成是在四段不同的链路上的通信组成的。

所谓链路,就是从一个节点到相邻节点的一段物理线路,中间没有任何其他的交换节点要在链路上传输数据;

仅有链路还不够,还需要一些通信协议来控制这些数据的传输,若把实现这些协议的硬件和软件
加到链路上,就构成了数据链路

在数据链路层上传输的数据包,又称为,也就是说,数据链路层以帧为单位传输和处理数据。

三个重要问题

接下来介绍数据链路层的三个重要问题,它们是封装成帧、差错检测和可靠传输。

封装成帧 

首先来看封装成帧,如下图所示,两台主机通过一段链路互连。两台主机都会对所发送或接收的数据包进行5个层次的封装或解封。

其中,数据链路层给网络层协议数据单元添加一个数据链路层协议首部,简称为帧头,还要给其添加一个帧尾

我们将数据链路层给网络层交付的协议数据单元添加帧头和帧尾的操作,称为封装成帧 

添加帧头和帧尾的目的,都是为了在链路上以帧为单元来传送数据;也就是为了实现数据链路层本身的功能。

例如这是以太网版本2的MAC帧格式:

差错检测

再来看差错检测,发送方将封装好的帧,通过物理层发送到传输媒体;帧在传输过程中遭遇干扰后
可能会出现误码,也就是比特0可能变成了比特1,反之亦然。

那么,接收方主机如何判断帧在传输过程中是否出现了误码呢?

这可以通过检错码来发现,发送方在发送帧之前,基于待发送的数据和检错算法,计算出检错码,并将其封装在帧尾。

例如以太网版本2的Mac帧的帧尾,就是4字节的帧检验序列FCS字段,要写入该字段的内容就是我们所说的检错码。

接收方主机收到帧后,通过检错码和检错算法就可以判断出帧在传输过程中是否出现了误码。

可靠传输

再来看可靠传输,接收方主机收到有误码的帧后,是不会接受该帧的,会将其丢弃。

如果数据链路层向其上层提供的是不可靠服务,那么丢弃就丢弃了,不会再有更多措施;

如果数据链路层向其上层提供的是可靠服务,那么就还需要其他措施来确保接收方主机还可以重新收到被丢弃的这个帧的正确副本。

换句话说,尽管误码是不能完全避免的,但若能实现发送方发送什么,接收方最终都能收到什么,就称为可靠传输

封装成帧、差错检测和可靠传输是数据链路层中最基本最重要的问题,我们在后面的文章中还会详细介绍。

需要说明的是,我们在介绍这三个问题的时候,使用的是点对点信道的数据链路层来举例的;对于使用广播信号的数据链路层,除了包含这三个问题外,还有一些其他需要解决的问题。

使用广播信道的数据链路层

如下图所示,主机A、B、C、D、E通过一根总线进行互连,主机A要给主机C发送帧;
代表帧的信号会通过总线传输到总线上的其他各主机,那么主机BDE如何知道所收到的帧不是发送给他们的,而主机C又如何知道所收到的帧恰恰是发送给自己的呢?

相信大家能够想到地址,或者说编址的问题;也就是将帧的目的地址添加在帧中一起传输 。

例如这是以太网版本2的MAC帧格式:

除了编址问题外,再来看下面这个问题:

当总线上多台主机同时使用总线来传输时,传输信号就会产生碰撞。

这是采用广播信道的共享式局域网不可避免的。
以太网采用的协调方法是使用一种特殊的协议CSMA/CD,也就是载波监听多点接入/碰撞检测

其他问题

随着技术的发展,交换技术的成熟和成本的降低,具有更高性能的使用点对点链路和链路层交换机的交换式局域网在有线(局域网)领域已完全取代了共享式局域网。 

那么,网络中的交换机又是如何转发帧的呢?

另外,由于无线信道的广播天性,无线局域网仍然使用的是共享信道技术。

例如 802.11局域网采用的媒体接入控制协议是CSMA/CA,也就是载波监听多点接入碰撞避免,它的工作原理又是怎样的呢?

上述这些内容,都是数据链路层中比较重要的问题,我们将在后面的文章中逐个进行介绍。


END


学习自:湖科大——计算机网络微课堂

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Xshell连接VMware虚拟机中的CentOS

Xshell连接VMware虚拟机中的CentOShttps://www.cnblogs.com/niuben/p/13157291.html 步骤: 1. 检查Linux虚拟机的网络连接模式,确保它是NAT模式。(由于只在本机进行连接,所以没有选择桥接模式。当然,桥接模式的配置会…

Ubuntu 22.03 LTS 安装deepin-terminal 实现 终端 分屏

deepin-terminal 安装 源里面自带了这个软件,可以直接装 sudo apt install deepin-terminal 启动 按下Win键,输入deep即可快速检索出图标,点击启动 效果 分屏 CtrlShiftH 水平分割 CtrlShiftJ 垂直分割 最多分割成四个小窗口&#xff0…

33 - MySQL调优之索引:索引的失效与优化

不知道你是否跟我有过同样的经历,那就是作为一个开发工程师,经常被 DBA 叫过去“批评”,而最常见的就是申请创建新的索引或发现慢 SQL 日志了。 记得之前有一次迭代一个业务模块的开发,涉及到了一个新的查询业务,需要…

考试周刊杂志考试周刊杂志社考试周刊编辑部2023年第46期目录

教育教学研究 丰富作业形式 拓展课堂教学——“双减”下初中英语优化作业设计探析 王慧; 1-5 博学慎思明辨 撬动思维杠杆——论“思辨性阅读与表达”学习任务群范式构建 丁亚琴; 6-10《考试周刊》投稿邮箱:cn7kantougao163.com(注明投稿“《考试周刊》”) 崔…

Leetcode—35.搜索插入位置【简单】

2023每日刷题&#xff08;四十&#xff09; Leetcode—35.搜索插入位置 实现代码 int lower_bound(int* arr, int numsSize, int tar) {int left 0, right numsSize;int mid;// 左闭右开[left, right)while(left < right) {mid left (right - left) / 2;if(arr[mid] &…

企业网络中的身份安全

随着近年来数字化转型的快速发展&#xff0c;企业使用的数字身份数量急剧增长。身份不再仅仅局限于用户。它们现在扩展到设备、应用程序、机器人、第三方供应商和组织中员工以外的其他实体。即使在用户之间&#xff0c;也存在不同类型的身份&#xff0c;例如属于IT管理员、远程…

vue3+ts 指令拖拽案例

<template><div class"box" v-move><div class"header"></div><div>内容</div></div> </template><script setup lang"ts"> import { ref, Directive, DirectiveBinding } from "vu…

【EasyExcel】导出excel并支持自定义设置数据行背景颜色等

需求背景&#xff1a; 根据查询条件将列表数据导出&#xff0c;并筛选出满足某个条件的数据&#xff0c;将满足条件的数据的背景颜色设置成黄色。 &#xff08;本文例子如&#xff1a;name出现的次数大于等于2&#xff0c;将相关数据背景颜色都设置为黄色&#xff09; …

智慧工厂人员定位系统源码,融合位置物联网、GIS可视化等技术,实现对人员、物资精确定位管理

智慧工厂人员定位系统源码&#xff0c;UWB高精度定位系统源码 随着中国经济发展进入新常态&#xff0c;在资源和环境约束不断强化的背景下&#xff0c;创新驱动传统制造向智能制造转型升级&#xff0c;越发成为企业生存发展的关键。智能工厂作为实现智能制造的重要载体&#xf…

[操作系统]京东一面~进程相关汇总

1 进程、线程、协程的概念 进程&#xff1a; 静态程序的运行状态就叫进程。是资源分配的基本单位。 线程&#xff1a; 是进程的一个执行单元&#xff0c;是进程内的调度实体。是CPU调度的独立单位。线程也被称为轻量级进程。 协程&#xff1a; 是一种比线程更加轻量级的存在。…

多线程04 死锁,线程可见性

前言 前面我们讲到了简单的线程安全问题以及简单的解决策略 其根本原因是cpu底层对线程的抢占式调度策略,随机调度 其他还有一些场景的问题如下 1.多个线程同时修改一个变量问题 2.执行的操作指令本身不是原子的 比如自增操作就分为三步,加载,自增,保存 3.内存可见性问题 4.指令…

cesium不同版本对3dtiles的渲染效果不同,固定光照的优化方案

cesium不同版本对3dtiles的渲染效果不同&#xff0c;固定光照的优化方案&#xff0c;避免map.fixedLight true,导致的光照效果太强&#xff0c;模型太亮的问题。 问题来源&#xff1a; 1.Cesium1.47版本加载tileset.json文件跟Mars3d最新版加载文件存在差异效果 Cesium1.47…

小航助学题库蓝桥杯题库stem选拔赛(22年3月)(含题库教师学生账号)

需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统&#xff08;含题库答题软件账号&#xff09;_程序猿下山的博客-CSDN博客 需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统&#xff08;含题库答题软件账号&#xff09;_程序猿下山的博客-CSD…

ESP32-Web-Server编程-建立第一个网页

ESP32-Web-Server编程-建立第一个网页 HTTP 简述 可能你每天都要刷几个短视频&#xff0c;打开几个网页来娱乐一番。当你打开一个网络上的视频或者图片时&#xff0c;其实际发生了下面的流程&#xff1a; 其中客户端就是你的浏览器啦&#xff0c;服务器就是远程一个存放视频或…

openGauss学习笔记-133 openGauss 数据库运维-例行维护-日维护检查项

文章目录 openGauss学习笔记-133 openGauss 数据库运维-例行维护-日维护检查项133.1 检查openGauss状态133.2 检查锁信息133.3 统计事件数据133.4 对象检查133.5 SQL报告检查133.6 备份133.7 基本信息检查 openGauss学习笔记-133 openGauss 数据库运维-例行维护-日维护检查项 …

系列二十二、各种注解

一、Import # 用法 1&#xff09;Import(User.class)&#xff1a;如果导入的是配置类&#xff0c;将会按照配置类正常解析&#xff0c;如果是个普通类就会解析成bean 2&#xff09;Import&#xff08;实现了ImportSelector接口的类.class&#xff09;&#xff1a;可以一次性注册…

Linux 栈回溯

目录 前言一、什么是栈回溯&#xff1f;二、栈回溯的实现原理三、参考阅读 前言 日常工作中&#xff0c;我们在开发软件程序时&#xff0c;经常会遇到程序奔溃的问题&#xff0c;导致程序奔溃的原因有很多&#xff0c;我们一般都是定位到相关代码&#xff0c;再去查询具体原因。…

FinOps和DevOps的未来会怎样?

FinOps&#xff08;或财务运营&#xff09;是一种文化实践&#xff0c;它将财务责任引入云的可变支出模型。这是一种将系统、最佳实践和文化相结合的战略方法&#xff0c;可提高组织了解云成本并做出明智决策的能力。 本质上&#xff0c;FinOps 是一个管理云运营费用&#xff…

C++:OJ练习(每日练习系列)

编程题&#xff1a; 题一&#xff1a;把字符串转换成整数 把字符串转换成整数_牛客题霸_牛客网 示例1 输入&#xff1a; "2147483647" 返回值&#xff1a; 2147483647思路一&#xff1a; 第一步&#xff1a;it从str的第一个字符开始遍历&#xff0c;定义一个最后输…

使用 ChatGPT 创建 Makefile 构建系统:从 Docker 开始

使用 Docker 搭配 ChatGPT 创建 Makefile 构建系统 Makefile 构建系统是嵌入式软件团队实现其开发流程现代化的基础。构建系统不仅允许开发人员选择各种构建目标&#xff0c;还可以将这些构建集成到持续集成/持续部署 (CI/CD) 流程中。使用诸如 ChatGPT 这样的人工智能 (AI) 工…