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

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

    • 前言:

      • 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.mzph.cn/diannao/10616.shtml

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

相关文章

硬盘架构原理及其算法RAID工作原理写惩罚

一、硬盘的架构以及寻址原理 硬盘工作原理: 硬盘寻址原理:逻辑顺序磁道、盘片、扇区(顺序CHS) 二、机械硬盘算法 读取算法 寻道算法 个人与企业适合的算法和寻道 个人使用的机械硬盘适合的寻道算法和读取算法是&#xff1a…

WPS表格:使用vlookup函数解决乱序数据对应问题

我们常常会遇到两个表格的内容相同,但是顺序不一致的情况。并且这种顺序无关于简单的排序,而是一种业务性很强的复杂排序规则。下面我举个例子,使用VLOOKUP复制数据。 假设太阳系行星举办了一次卖萌比赛,由太阳妈妈决定谁是最萌的…

ElasticSearch 8.X 源码导入idea并配置环境启动调试(mac环境)

主要是用于自己记录配置流程 环境 IntelliJ IDEA 2024.1.1 (Community Edition) jdk17(可以安装jenv管理) macos 14.4.1 gradle 8.5 资源准备 先在官网下载elasticsearch源码(GitHub - elastic/elasticsearch: Free and Open, Distrib…

GeoServer安装以及部署

GeoServer介绍 GeoServer是一个开源的服务器软件,用于共享和编辑地理空间数据。它支持多种地理空间数据格式,并且可以发布为多种服务格式,如Web Feature Service (WFS)、Web Map Service (WMS)、Web Coverage Service (WCS),以及…

SeetaFace6人脸特征提取与对比C++代码实现Demo

SeetaFace6包含人脸识别的基本能力:人脸检测、关键点定位、人脸识别,同时增加了活体检测、质量评估、年龄性别估计,并且顺应实际应用需求,开放口罩检测以及口罩佩戴场景下的人脸识别模型。 官网地址:https://github.co…

pyqt颜色变换动画效果

pyqt颜色变换动画效果 QPropertyAnimation介绍颜色变换效果代码 QPropertyAnimation介绍 QPropertyAnimation 是 PyQt中的一个类,它用于对 Qt 对象的属性进行动画处理。通过使用 QPropertyAnimation,你可以平滑地改变一个对象的属性值,例如窗…

Python-VBA函数之旅-str函数

目录 一、str函数的常见应用场景 二、str函数使用注意事项 三、如何用好str函数? 1、str函数: 1-1、Python: 1-2、VBA: 2、推荐阅读: 个人主页: https://myelsa1024.blog.csdn.net/ 一、str函数的常…

iphone进入恢复模式怎么退出?分享2种退出办法!

iPhone手机莫名其妙的进入到了恢复模式,或者是某些原因需要手机进入恢复模式,但是之后我们不知道如何退出恢复模式怎么办? 通常iPhone进入恢复模式的常见原因主要是软件问题、系统升级失败、误操作问题等导致。那iphone进入恢复模式怎么退出&…

异常检测的学习和实战

1.应用: 1.在工业上的应用 当检测设备是否处于异常工作状态时,可以由上图分析得到:那些零散的点对应的数据是异常数据。因为设备大多数时候都是处于正常工作状态的,所以数据点应该比较密集地集中在一个范围内,而那些明…

【数据结构练习题】Map与Set——1.只出过一次的数字2.复制带随机指针的链表3.宝石与石头4.坏键盘打字

♥♥♥♥♥个人主页♥♥♥♥♥ ♥♥♥♥♥数据结构练习题总结专栏♥♥♥♥♥ ♥♥♥♥♥【数据结构练习题】堆——top-k问题♥♥♥♥♥ 文章目录 1.只出过一次的数字1.1问题描述1.2思路分析1.3绘图分析1.4代码实现2.复制带随机指针的链表2.1问题描述2.2思路分析2.3绘图分析2.4代…

远程点击没反应

目录 todesk远程登录后点击没反应 解决方法: 方法1 快捷键: 方法2 界面点击Ctrl Alt Delete todesk,向日葵远程登录后点击没反应 todesk远程登录后点击没反应 解决方法: 方法1 快捷键: Ctrl Alt Delete 方法…

《解锁数字化劳动合同签约:构建高效的电子合同签约平台》

随着数字化转型的推进,传统的纸质劳动合同签约方式已经无法满足现代企业对于效率和便捷性的需求。电子劳动合同签约平台应运而生,为企业和员工提供了一种更加高效、便捷的合同签署方式。本文将介绍电子劳动合同签约平台的业务架构,探讨其如何…

ORA-28575: unable to open RPC connection to external procedure agent

环境: Oracle 11.2.0.4x64 RAC AIX6.1版本SDE for aix oracle11g版本10.0 x64 sde配置情况如下: 检查oracle和grid用户下的$ORACLE_HOME/hs/admin/extproc.ora文件均包含有如下: SET EXTPROC_DLLSANY 两个节点sde下的user_libraries都正常…

如何利用ChatGPT辅助下处理:ENVI、GEE、Python等遥感数据

遥感技术主要通过卫星和飞机从远处观察和测量我们的环境,是理解和监测地球物理、化学和生物系统的基石。ChatGPT是由OpenAI开发的最先进的语言模型,在理解和生成人类语言方面表现出了非凡的能力。本课程重点介绍ChatGPT在遥感中的应用,人工智…

CentOS 8.5 安装配置 squid 6.9 代理服务器 Windows10 系统设置http代理 详细教程

1 下载地址: 官网下载 2 通过xftp等方式上传到服务器 #查看环境 [rootlocalhost ~]# cat /etc/redhat-release CentOS Stream release 8 [rootlocalhost ~]# uname -a Linux localhost.localdomain 4.18.0-552.el8.x86_64 #1 SMP Sun Apr 7 19:39:51 UTC 2024 x86_64 x86_6…

自动驾驶中的神经辐射场:综述

24年4月清华大学论文“Neural Radiance Field in Autonomous Driving: A Survey”。 神经辐射场(NeRF)由于其固有的优势,特别是其隐式表示和新视图合成能力,引起了学术界和工业界的广泛关注。 随着深度学习的快速发展&#xff0c…

YOLOv8项目使用说明

1. 下载群公告中的百度云连接,得到一个压缩文件 2. 解压并使用相关软件(如pycharm、VSCode等)打开 3. 选择一个合适的模型yaml文件,及数据集yaml文件进行训练 4. 配置并填入数据集yaml文件 5. 运行即可

JAVA 标准接口返回与i18n国际化配置

不喜欢废话直接上代码 标准通用返回 package com.luojie.common;import com.luojie.common.inter.ResponseCommon; import lombok.Data;Data public class ResponseCommonImpl implements ResponseCommon {int code;String msg;Object entity; }package com.luojie.common;im…

[muduo网络库]——muduo库三大核心组件之EventLoop类(剖析muduo网络库核心部分、设计思想)

接着上一节[muduo网络库]——muduo库三大核心组件之 Poller/EpollPoller类(剖析muduo网络库核心部分、设计思想),我们来剖析muduo库中最后一类核心组件,EventLoop类。 先回顾一下三大核心组件之间的关系。 接着我们进入正题。 Ev…

SpringBoot内置插件的使用(jackson和lombok)

文章目录 引言I lombok(自动为属性生成构造器)II jacksonsee also引言 idea2021.2.2 已经捆绑安装jackson和lombok插件 I lombok(自动为属性生成构造器) Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。 https://p…