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

  • 使用点对点信道的数据链路层

    • 前言:

      • 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吉比特和更快的以太网

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

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

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

相关文章

VMware虚拟机故障:“显示指定的文件不是虚拟磁盘“,处理办法

一、故障现象 由于虚拟机宕机,强制重新启动虚拟机后显示错误,没有办法启动虚拟机。 虚拟机有快照,执行快照还原,结果也不行,反复操作,在虚拟机文件目录出现很多莫名文件 二、故障原因 根据故障提示&#…

StarRocks 【新一代MPP数据库】

1、StarRocks 1.1、StarRocks 简介 StarRocks 是新一代极速全场景 MPP (Massively Parallel Processing,MPP数据库是一种基于大规模并行处理技术的数据库系统,旨在高效处理大量数据。) 数据库。StarRocks 的愿景是能够让用户的数据分析变得更加简单和敏…

【Cesium】Cesium核心类、坐标系与着色器简介

核心类: Viewer: Viewer 是 Cesium 中最基本的视图容器,用于显示地球、地图、三维场景等。它提供了创建和管理场景的功能,可以配置视图的各种属性和行为。 Scene: Scene 是 Cesium 中的核心类之一,代表了一个三维场景&#xff0c…

py黑帽子学习笔记_环境准备

1 下载os装os 下载一个kali虚机镜像然后用虚机管理软件创虚机,装完如下图,我用的版本是2024.1的版本kali-linux-2024.1-installer-amd64,可以从镜像站下载,官网下的慢还断网Index of /kali-images/kali-2024.1/ | 清华大学开源软…

序列到序列模型在语言识别Speech Applications中的应用 Transformer应用于TTS Transformer应用于ASR 端到端RNN

序列到序列模型在语言识别Speech Applications中的应用 A Comparative Study on Transformer vs RNN in Speech Applications 序列到序列(Seq2Seq)模型在语音识别(Speech Applications)中有重要的应用。虽然Seq2Seq模型最初是为了解决自然语言处理中的序列生成问题而设计的…

力扣例题(用栈实现队列)

目录 链接. - 力扣(LeetCode) 描述 思路 push pop peek empty 代码 链接. - 力扣(LeetCode) 描述 思路 push 例如我们将10个元素放入栈中,假设最左边为栈顶,最右侧为栈底 则为10,9,8,7,6,5,4,3,…

windows使用Docker-Desktop部署lobe-chat

文章目录 window安装docker-desktop下载和启动lobe-chatAI大语言模型的选择lobe-chat设置大模型连接 window安装docker-desktop docker-desktop下载地址 正常安装应用,然后启动应用,注意启动docker引擎 打开右上角的设置,进入Docker Engine设…

ZFS 文件系统结构及 ZFS 文件系统数据恢复

ZFS是一种革命性的文件系统,它遵循完全不同的文件系统管理方法,同时提供目前其他文件系统无法提供的新功能和优势。ZFS 可靠、可扩展且易于管理。 它放弃了卷的概念,从而摆脱了传统的文件系统原则。另外,ZFS 提供更复杂的存储池&…

torch_geometric安装(CPU版本)

①打开官方安装网址:https://pytorch-geometric.readthedocs.io/en/2.3.0/install/installation.html ②对根据Pytorch选择相应版本。此前一直用CUDA不成功,这次使用CPU版本(因为不用对应cuda,pytorchcudageometric三者对应起来很…

线下线上陪玩APP小程序H5搭建设计-源码交付,支持二开!

一、电竞陪玩系统APP的概念 电竞陪玩系统APP是一种专门为电子竞技玩家提供服务的平台。通过这个平台,玩家可以找到专业的电竞陪玩者,他们可以帮助玩家提升游戏技能,提供游戏策略建议,甚至陪伴玩家一起进行游戏。这种服务不仅可以提…

医疗图像处理2023年CVPR:Label-Free Liver Tumor Segmentation-无标签肝肿瘤分割

目录 一、摘要 二、介绍 三、相关工作 四、网络框架 1.位置选择 2.纹理处理 3.形状生成 4.后处理 5.参数设计 五、实验 1.数据集: 2.评价指标: 3.实现: 4.结果: 六、结论 一、摘要 通过在CT扫描中使用合成肿瘤&am…

分布式存储故障导致数据库无法启动故障处理---惜分飞

国内xx医院使用了国外医疗行业龙头的pacs系统,由于是一个历史库,存放在分布式存储中,由于存储同时多个节点故障,导致数据库多个文件异常,数据库无法启动,三方维护人员尝试通通过rman归档进行应用日志,结果发现日志有损坏报ORA-00354 ORA-00353,无法记录恢复,希望我们给予支持 M…

队列的相关操作:用队列实现栈

1.思路解析 由于C语言封装度不是很高,不像C可以直接用现成的,所以我们要自己做一个“轮子”,即自己实现一个队列,这里直接放出代码,详解可以移步到我的另一篇关于队列的博客,点我移步,原题来源于…

Mp3tag for Mac:音乐标签,轻松管理

还在为杂乱无章的音乐文件而烦恼吗?Mp3tag for Mac,让您的音乐库焕然一新!它支持多种音频格式,批量编辑标签,让音乐管理变得简单高效。同时,自动获取在线数据库的音乐元数据,确保您的音乐库始终…

并发-判断线程对象是否处于活动状态 - isAlive

t.isAlive() 测试线程t是否处于活动状态,只要线程启动并且没有终止,方法返回值就是truestart()之前,线程不处于活动状态,之后就处于活动状态示例:运行结果:但是事情并没有这么简单,先来看一下以…

面试经典算法系列之数组/字符串5 -- 反转字符串中的单词

面试经典算法题37-反转字符串中的单词 LeetCode.151 公众号:阿Q技术站 问题描述 给你一个字符串 s ,请你反转字符串中 单词 的顺序。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 返回 单词 顺序颠倒且 单词…

【JavaEE 初阶(五)】文件操作和IO

❣博主主页: 33的博客❣ ▶️文章专栏分类:JavaEE◀️ 🚚我的代码仓库: 33的代码仓库🚚 🫵🫵🫵关注我带你了解更多文件操作 目录 1.前言2.认识文件3.文件操作3.1File 属性3.2构造方法3.3File类方法 4.文件内容操作4.1R…

栈和队列的相互实现

1. 两个队列实现栈. - 力扣(LeetCode) 队列的特点是先进先出,而栈的特点是后进先出(先进后出),也就是说重点在于利用两个队列来改变“出”的顺序。 假设我们在进行入栈操作的时候将数据依次入到一个队列中…

国产操作系统下Chrome的命令行使用 _ 统信 _ 麒麟

原文链接:国产操作系统下Chrome的命令行使用 | 统信 | 麒麟 Hello,大家好啊!今天我们来聊聊如何在国产操作系统上使用命令行操作Google Chrome。无论是进行自动化测试、网页截图还是网页数据抓取,使用命令行操作Google Chrome都能…

LVS的三种工作模式---(DR/TUN/NAT)

目录 一、NAT模式(LVS-NAT) 二、IP隧道模式(LVS-TUN) 三、DR模型--直接路由模式(LVS-DR) LVS/DR模式ARP抑制 原因: LVS的DR工作模式及配置: LVS的NAT工作模式及配置&#xff1…