数据链路层——计算机网络学习笔记三

news2025/2/28 23:17:45
  • 使用点对点信道的数据链路层

    • 前言:

      • 1.数据链路层的重要性:网络中的主机、路由器都必须实现数据连输层; 2.数据链路层中使用的信道: 点对点信道:这种信道是一对一的通信方式; 广播信道:使用一对多的通信方式

    • 数据链路和帧(解释基本概念)

      • 链路(也称:物理链路):一条无源的点到点的物理线路段,中间没有其他交换节点,是一条通路的一个组成部分

      • 数据链路:数据传输除了要有物理线路,还需要通信协议来控制。把实现这些协议的硬件和软件加到链路上,就构成了数据链路层。现在一般常用网卡(适配器)来实现这些功能,适配器上包括了数据链路层和物理层这两次功能。

      • 所谓帧,就是在数据链路层上传输的数据单元

    • 三个基本问题

      • 如何封装成帧?

        • 所谓“封装成帧”就是在一段数据的前后分别添加首部和尾部。这样做的一个作用就是用来进行帧定界,表示这是一帧的开始和节数,通常把控制字符SOH放在最前面,表示帧的首部开始,EOT放在最后面,表示帧的结束

      • 如何实现透明传输?

        • 所谓“透明”,就是某一实际存在的事物看起来却显示不存在一样。例如:当发生数据是非ASCII码的文件时,数据中的某个字节的二进制可能恰好和SOH,EOT这样的控制字符一样,我们要让它不被识别为帧边界,顺利的通过数据链路层。换句话说:无论什么样的比特组合的数据,都能按照原样没有差错地通过数据链路层,此时数据链路层对这些数据来说就是透明的,而这样的传输就是透明传输

        • 当出现上述问题的解决方法:数据中的“SOH‘或;EOT”前面插入一个转义字符“ESC”,如果转义字符也在数据里,那就在转义字符前面再插入一个转义字符。这就是所谓“字节填充”的方法

      • 如何实现差错控制?

        • 循环冗余检验CRC

          • 计算方法: 1.在数M后面添n个0; 2.得到的数,除以实现选好的除数P(除的方法是进行模二运算,相同为0,相异为0),得到的余数R为n位; 3.将余数作为冗余码拼接在数据M后面一起发出去。

          • 检验:如果接收端得到的数除以P,得到的余数是0,就代表这个帧没有差错;如果≠0,就判定这帧有差错,就丢弃。

        • 帧检验序列FCS:在数据后面添加冗余码的方法称为帧检验序列FCS。CRC是FCS中的一种方法。

  • 点对点协议PPP(Point-to-Point Protocol)

    • PPP协议的应满足的需求

    • 组成

      • 1.将IP数据包封装到串行链路发方法;

      • 2.链路控制协议LCP

      • 3.网络控制协议NCP

    • PPP协议的帧格式

      • F:标志字段; A(不重要) C:控制字段

    • 透明传输问题

      • 异步传输——字符填充法(将某个字节转变为2字节序列)

      • 同步传输——比特填充法(发送端,5个连续的1,就填入一个0,接受段,5个连续的1,就把后面的0删除)

    • PPP协议的工作状态

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

    • 局域网的数据链路层

      • 局域网的特点:网络为一个单位所有,且地理范围和站带你数目均有限

      • 局域网的拓扑结构

      • 由于局限在较小的范围,网络节点较少,局域网使用共享信道的方式进行通信。但是共享信道带也存在着一个问题——若多个设备在共享的广播信道上同时发送数据,则会造成彼此干扰,导致发送失败,后面介绍的以太网技术就是解决这个问题的一种技术。

      • 数据链路层的两个子层:局域网的数据链路层可以拆分成两个子层:逻辑链路控制LLC层(已经不重要了)和媒体接入控制MAC层(与接入到传输媒体的内容有关)

      • 上面我们提到过,计算机与外界局域网的连接是通过适配器来完成的,通过这张图,我们来跟深入的看看计算机是如何通过适配器与局域网进行通信的

    • CSMA/CD协议

      • 问题的由来:最初的以太网是将许多的计算机都连接到一根总线上,以1便于实现广播通信,,但是当多台计算机或多个站点同时发送时,会产生发送碰撞或冲突,导致发送失败,为了避免同时发送产生的碰撞,于是就诞生了CSMA/CD协议

      • CSMA/CD:载波监听多点接入/碰撞检测

        • 载波监听:每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有就暂时不发送数据,以免发送碰撞。

        • 碰撞检测:计算机边发送数据边检测信道上的信号电压的大小,当检测到信道电压的摆动值超过某一个门限值时,就认为总线上至少有两个站同时在发送数据。 之所以除了载波监听,还需要碰撞检测,是因为当信道空闲时,有可能有多个计算机同时发送数据,这是就有可能发送碰撞,所以需要碰撞检测

        • 基本概念

          • 争用期:最先发送数据帧的站,在发送数据帧后至多经过时间2τ(2倍端到端往返时延)就可以知道发送数据是否遭受碰撞。我们把2τ成为争用期。 经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发送碰撞。

          • 最短有效帧长:10Mbit/s以太网,在争用期可以发送512bit,即64字节,这意味这发送数据数若前64字节没有发生冲突,则后续的数据就不会发送冲突。也意味着凡是小于64字节的帧都是由于冲突而异常终止的无效帧。因此规定74字节为最短有效帧长

        • 退避算法:发送碰撞的站在停止发送数据,要推迟一个随机时间才能再次发送数据。时间=2τ*r;r是从集合中随机取出的一个数,

    • 使用集线器的星型拓扑

      • 上述的是传统的总线型以太网,下面讲述的星型以太网 其中特别要注意的一点就是在星型的中心增加了一种可靠性很高的设备——集线器(Hub)。使用集线器的以太网在逻辑上仍然是一个总线网,各工作站之间使用的还是CSMA/CD协议,并共享逻辑上的总线。 这种 10 Mbit/s 速率的无屏蔽双绞线星形网的出现,既降低了成本又提高了可靠性。 具有很高的性价比。从此以太网的拓扑就从总线形变为更加方便的星形网络,而以太网也就在局域网中占据了统治地位。

    • 以太网的信道利用率

      • 这里主要介绍两个参数,同时通过回顾上面的内容探讨,什么对信道的利用率产生了影响。 通过上面的探讨,我们知道了,当多个站在以太网同时工作就会发生碰撞。而一旦发生碰撞,这段时间的信道资源就是被浪费了(因为没有一个站完整地发送了一帧数据)。 假设帧长为L,数据发送速率为C,则帧发送时间为T0=L/C,那么一个帧成功发射的事件就是T=T0+τ。 可以看到,要提高以太网的信道利用率,就需要减小τ和T0之比。

      • 在以太网中定义了参数α=τ/T0,当α趋近于0时,就表示一发生碰撞就可以立即检测出发,并停止发送,因而信道利用率高

      • 信道利用率的最大值

    • 以太网的MAC层

      • MAC层的硬件地址

        • 在局域网中,硬件地址有被称为物理地址,或MAC地址,而所谓的地址,其实就是每一个站的“名字”或者说标识符。在接受数据的时候,我们通过确认目的地址是不是本站的标识符来核对这是否是本站的数据。

        • MAC层有6个字节,48位的地址。通过图可以看到,我们把6个字节分成两部分,前面是IEEE想厂家分配的称为组织唯一标识符,后面3字节是厂家自行指派的。 第一个字节的最低位是I/G为,它用来表示这个地址是单站地址、组地址还是广播地址;当I/G位=0,表示一个单站地址,当I/G=1,表示组地址,用来进行多播(一对多);当所有48位都是1时,为广播地址(一对所有)。 第一字节的倒数第二位是G/L位,G/L=0,是全球管理;G/L=1,是本地管理,用户可任意分配网络上的地址。

      • MAC帧的格式

        • 以太网有两种MAC帧格式,一种是DIX Ethernet V2标准;一种是IEEE的802.3标准。最常用的事以太网V2格式,下面主要介绍V2格式。

        • 可以看到,前面6个字节是目的地址字段,第二个6个自己是源地址字段; 第3个部分,表示类型字段,用来标志上一层使用的是什么协议,以便收到的MAC帧的数据交给上一层协议 第4部分就是数据,数据字段的最小长度=有效帧长64-18字节的首部尾部=46字节。当数据字段的长度小于46字节是,就会在数据字段加上整数字节的填充字段,以保证帧长不小于64字节。

        • 在以太网的传输中,还有帧间最小间隔的概念,帧间最小间隔为9.6us,它的含义是:一个站在检测到总线开始空闲后,还要等待9.6us才能再次发送数据。 这样做事为了使刚刚收到数据帧的站有时间来清理接受缓存,为接受下一帧做好准备。

  • 拓展的以太网

    • 在物理层拓展以太网

      • 之前我们一直在谈及“以太网”这么一个概念,但是一直都没有给出关于它的清楚的解释,下面给出一种关于以太网的介绍: 以太网(Ethernet)是一种常见的局域网(LAN)技术,用于在局域网中传输数据。 它基于共享介质的方式进行数据传输,通常使用双绞线、光纤或无线信道作为物理传输介质。 以太网采用CSMA/CD协议来控制数据的传输,允许多个计算机和设备连接在同一个局域网中,并通过唯一的物理地址(MAC地址)来标识和寻址每个节点。 数据在以太网中以数据帧的形式进行传输,支持不同的速率,包括10 Mbps、100 Mbps、1 Gbps甚至更高的速率。 总之,以太网是一种简单、可靠、成本效益高的局域网技术,被广泛用于各种应用场景,为用户提供了高效、快速、可靠的数据通信服务。

      • 基本概念:

        • 碰撞域:网络中一个站点发出的帧回遇其他站点发出的帧发生碰撞的那部分网络

      • 在物理层拓展以太网有两种方案,一种是使用光纤拓展,还有一种就是使用集线器拓展

        • 优点:原本属于不同碰撞域的以太网的计算机能够进行跨碰撞域的通信,同时扩大了以太网覆盖的地理范围; 缺点:碰撞域增大了,但总的吞吐量并未提高;如果不同碰撞域的数据率不同,就不能用集线器将他们相连。

    • 在数据链路层拓展以太网

      • 这一部分出现的基本概念:

        • 广播域:它指的是这样一部分网络,其中任何一台设备发出的广播通信都能被改部分网络中的其他设备所接受。

        • 网桥:一种网络设备,用于连接两个或多个局域网(LAN),并在它们之间传输数据。 网桥工作在数据链路层,它根据MAC帧的目的地址对收到的帧进行转发和过滤——当网桥收到一个帧时,先检查这个帧的目的MAC地址,然后再确定将该帧转发到哪一个接口或丢弃。

        • 交换机:实质就是一个多接口的网桥,一般都工作在全双工方式,能同时连通多对接口,使多对主机能同时通信。

      • 在数据链路层拓展以太网再起使用网桥,现在多使用交换机,下面主要介绍关于交换机的内容

        • 交换机的特点: 1.接口有存储器,能在输出口繁忙时把到来的帧进行缓存; 2.它是一种即插即用的设备,内部用于转发地址的“帧交换表”是通过自学习算法自动地逐渐地建立起来的; 采用以太网交换机的星型以太网,其每个接口都处于独立的碰撞域,但所有计算机都处于同一个广播域。

        • 优点:用户独享带宽,增加了总容量;具有多种速率的接口,方便接入各种不同情况的用户。

        • 自学习算法: 1.开始时,表是空的; 2.首先A先B发送一帧,改帧从接口1进入交换机,交换机收到改帧后,先查找交换表,没有查到应从哪个接口转发就先把这个帧的源地址A和接口1写入交换表 3.向除接口1以外的所有接口广播这个帧,等待目的地址B向A发送一个帧,然后查找表A,发送给接口1.之后把源地址B和接口3也写入交换表

        • 考虑到有时要在交换机的接口更换主机,或者其他可能需要更改交换表中项目的操作,交换表中每个项目都设有一定的有效时间,过期的项目就自动删除。

    • 虚拟局域网

      • 虚拟局域网的定义:虚拟局域网VLAN是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求,每一个VLAN的帧都有明确的标识符,指明发送这个帧的计算机属于哪一个VLAN。 进一步的理解:VLAN就是用户和网络资源的逻辑组合,可以按照需要将有关资源和设备重新组合,使用户从不同的服务器或数据库中存取所需的资源

      • 划分虚拟局域网的方法(这里不过多的介绍,理解上面的基本的概念和原理就行了,等用到的时候再去学习划分方法会更有效率)

      • 虚拟局域网使用的以太网帧格式:在原来的帧格式中插入4字节的标识符VLAN tag,用来指明该帧属于哪一个虚拟局域网。这样插入VLAN标记的帧成为802.1Q帧

  • 高速以太网

    • 最后这一部分主要就是很浅地,简要地介绍一下下面的各种技术,不用过度深究,真的用到这不分内容再学就行

    • 100BASE-T以太网

    • 吉比特以太网

    • 10吉比特和更快的以太网

    • 使用以太网进行宽带接入

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

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

相关文章

爱普生推出5G基站可用耐高温高稳定性温补晶振

爱普生推出了六款新的温补晶振型号:TG7050CKN,TG7050SKNTG7050CMN,TG7050SMN,TG-5510CA,TG-5511CA。这几款的特点就是耐高温温度可达105℃C高温,而且都是高稳定性温补晶振,而且都是7050尺寸,这个…

python代码实现TF-IDF

1、TF-IDF解释 TF-IDF(Term frequency–inverse document frequency),中文翻译就是词频 - 逆文档频率,是一种用来计算关键词的传统方法。 TF(Term Frequency):TF 的意思就是词频,是…

031.下一个排列Java实现

题意 整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。 例如,arr [1,2,3] ,以下这些都可以视作 arr 的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1] 。 整数数组的 下一个排列 是指其整数的下一个字典序更大的排列。更正式地&#…

上位机图像处理和嵌入式模块部署(树莓派4b使用的注意事项)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 树莓派系列开发板最早的时候,价格还是比较高的。不过由于它生态比较丰富,使用起来比较方便,所以大家都默认了它…

光学镜片镀膜自动上下料工艺解决方案

在当今竞争激烈的制造业市场中,如何提高产品质量和生产效率成为了企业关注的焦点。富唯镀膜上下料设备以其高精度上下料技术,成为了产业升级的得力助手。 产品介绍 实现功能:富唯镀膜上下料设备拥有先进的设计理念和精湛的技术工艺&#xff…

前端小技巧:如何自定义网页的右键菜单(如何禁用网页的右键菜单)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 右键菜单设置 📒📝 自定义右键菜单实现步骤📝 示例代码📝 涉及的JavaScript语法和参数📝 禁用特定区域的右键菜单⚓️ 相关链接 ⚓️📖 介绍 📖 在网页设计中,一个直观且个性化的右键菜单可以显著提升用户的交互…

【机器学习数据可视化-04】Pyecharts数据可视化宝典

一、引言 在大数据和信息爆炸的时代,数据可视化成为了信息传递和展示的关键手段。通过直观的图表和图形,我们能够更好地理解数据,挖掘其背后的信息。Pyecharts,作为一款基于Python的数据可视化库,凭借其丰富的图表类型…

【回溯 字典树(前缀树)】212. 单词搜索 II

本文涉及知识点 回溯 字典树(前缀树) LeetCode212. 单词搜索 II 给定一个 m x n 二维字符网格 board 和一个单词(字符串)列表 words, 返回所有二维网格上的单词 。 单词必须按照字母顺序,通过 相邻的单元…

代码随想录——二叉树的层序遍历(Leetcode102)二叉树层序遍历的模板

题目链接 层序遍历(队列) 层序遍历一个二叉树。就是从左到右一层一层的去遍历二叉树。这种遍历的方式和我们之前讲过的都不太一样。 需要借用一个辅助数据结构即队列来实现,队列先进先出,符合一层一层遍历的逻辑,而用…

【C/C++】C/C++ 校园失物招领系统设计与实现(源码+报告)【独一无二】

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…

【雷音系·雷修】倪琴古琴,倪诗韵亲签古琴

雷音系列雷修:“修”字取意善、美好的,更有“使之完美”之意。精品桐木或普通杉木制,栗壳色,纯鹿角霜生漆工艺。方形龙池凤沼。红木配件,龙池上方有“倪诗韵”亲笔签名,凤沼下方位置处有“雷•修”等级葫芦…

【C++】STL — map和set的使用详细介绍

前言 本章将继续学习STL中的两个很重要的容器map和set,其底层实现是封装了一个红黑树,我们通过本节来学习和深入了解一下这两大容器。。。 序列式容器: string 、Vector、List 、dequeue 关联式容器:MAP 、SET、nordered_map、uno…

NOR FLASH介绍

参考 http://t.csdnimg.cn/gHcrG 一、NOR FLASH简介 XIP技术:https://blog.csdn.net/ffdia/article/details/87437872?fromshareblogdetail NOR Flash 和 NAND Flash 的特点和应用举例: NOR Flash: 特点: 支持随机访问,可以直接…

Make3D数据集相关介绍

一、参考资料 Make3d数据集使用方法 二、相关介绍 1. 简介 Make3D 数据集的每帧图像的深度值均由激光雷达进行采集,相较于 Kinect 相机采集的深度信息,该测距仪可以得到室外图像更加精确的深度信息,而且测距范围更大,与普通的…

(动画详解)LeetCode面试题 02.04.分割链表

💖💖💖欢迎来到我的博客,我是anmory💖💖💖 又和大家见面了 欢迎来到动画详解LeetCode系列 用通俗易懂的动画的动画使leetcode算法题可视化 先来自我推荐一波 个人网站欢迎访问以及捐款 推荐阅读…

SOA构架介绍

1.SOA定义 SOA面向服务的架构是一种计算机环境设计、开发、部署和管理离散模型的方法,SOA中所有的功能都被定义成立独立的服务,所有的服务通过总线(ESB)或者流程管理连接。这种松耦合的结构使得服务器在交互的过程中无需考虑双方内部细节&am…

【云原生】 Kubernetes核心概念

目录 引言 一、部署方式回溯 (一)传统部署时代 (二)虚拟化部署时代 (三)容器部署时代 二、Kubernetes基本介绍 (一)为什么使用k8s (二)主要功能 &am…

数据库出现死锁的解决方法参考

死锁引起的原因一般是多个用户并发访问数据库导致的问题,或是因为某个进程挂死以后资源未释放导致的。通过onstat –p可查看deadlks项大于0即表示历史总计死锁次数。对于被锁的表进行操作的时候会出现-143 ISAM error: deadlock detected的错误。当其他会话访问此表…

FANUC机器人基本保养概述

对于工业机器人来说,定期保养机器人可以延长机器人的使用寿命。对于FANUC机器人来说,FANUC机器人的常规保养周期可以分为日常、三个月、六个月、一年、两年、三年。以下是FANUC机器人的基本保养周期概览: 在实际生产应用中,可以参…

【ROS2】节点

文章目录 ROS2 节点示例:创建并运行成功一个节点1. 创建功能包2. 编写源文件、CMakeLists.txt、package.xml3. 编译功能包4. 设置环境变量5. 运行节点6. 查看节点 参考链接 ROS2 节点 机器人的每一项功能,都被称为是一个节点。 每个节点都是一个独立的…