首页 > 其他分享 >数据链路层

数据链路层

时间:2024-04-09 13:31:53浏览次数:27  
标签:MAC 局域网 广播 冲突 数据 链路层

数据链路层

文章目录

数据链路层基础概论

数据链路层概念

数据链路层是在物理层和网络层之间的协议,提供相邻节点的可靠数据传输

帧的概念

数据链路层的协议数据单元

在这里插入图片描述

组成

  • 帧头(Header):存放源MAC地址目的MAC地址、类型(针对于不同的网络拓扑结构进行转换)
    MAC地址(Media Access Control Address)直译为媒体访问控制地址,也称为局域网地址(LAN Address),以太网地址(Ethernet Address)或物理地址(Physical Address),它是一个用来确认网络设备位置的地址。在OSI模型中,第三层网络层负责 IP 地址,第二层数据链接层则负责MAC地址。MAC地址用于在网络中唯一标示一个网卡,一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的MAC地址 [来源:维基百科]
  • 数据(Data)
  • 帧尾(Traile):进行校验

以太网数据帧中的MAC和LLC

数据链路层可进一步细分为下层的MAC(对接物理层),和上层LLC(对接网络层)

  • MAC(介质访问控制):数据帧的封装/卸装,帧的寻址和识别,帧的接收与发送,链路的管理,帧的差错控制等。MAC子层的存在屏蔽了不同物理链路种类的差异性
  • LLC(逻辑链路控制):传输可靠性保障和控制,数据包的分段与重组,数据包的顺序传输(对接网络层)

数据链路层的两种传输方式

单播 + 广播

数据链路层的三个基本问题

  1. 封装成帧

    在一段数据的前后分别添加首部和尾部,这样就构成了一个帧,接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束(PPP

  2. 透明传输

    不管所传数据是什么样的比特组合,都应当能够在链路上传送

  3. 差错检测

    收到正确的帧就要向发送端发送确认,发送端在一定的期限内若没有收到对方的确认,就认为出现了差错,因而就进行重传,直到收到对方的确认为止(奇数校验、偶数校验、CRC)

局域网中的设备

  • 集线器(在物理层工作):集线器(Hub)意为“中心”,主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上(共享带宽
  • 交换机(在数据链路层工作):交换机(Switch)意为“开关”,是一种用于电(光)信号转发的网络设备,它可以为接入交换机的任意两个网络节点提供独享的电信号通路独享带宽),最常见的交换机是以太网交换机
  • 网桥(桥接器)(在数据链路层工作):相当于有两个端口的交换机(交换机可以有更多的端口)

数据链路层的通信协议

冲突域和广播域

  • 冲突域:连接在同一导线上的所有工作站的集合,或者说是同一物理网段上所有节点的集合或以太网上竞争同一带宽的节点集合
  • 广播域接收同样广播消息的节点的集合

区别

  1. 广播域可以跨网段,而冲突域只是发生的同一个网段的。以太网中,冲突域是由hub组织的。一个hub就是一个冲突域。交换机的每个端口都是一个冲突域。网段,又叫潜在冲突域
  2. 冲突域在同一个冲突域中的每一个节点都能收到所有被发送的帧。广播域在网络中能接收任一设备发出的广播帧的所有设备的集合
  3. 冲突域是基于第一层(物理层),而广播域是机于第二层(数据链路层)
  4. 广播域就是说,如果站点发出一个广播信号后能接收到这个信号的范围,通常来说一个局域网就是一个广播域(用路由器连接的除外)。冲突域是一个站点向另一个站点发出信号,除目的站点外,有多少站点能收到这个信号,这些站点就构成一个冲突域
  5. HUB 所有端口都在同一个广播域,冲突域内
    Swith所有端口都在同一个广播域内,而每一个端口就是一个冲突域

虚拟局域网VLAN

  • 概念:VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。VLAN内的主机间可以直接通信,而VLAN间不能直接通信,从而将广播报文限制在一个VLAN内。

  • 优点

    • 划分广播域 — 减少垃圾数据,灵活构建工作组
    • 增强局域网的安全性
    • 提高健壮性
    • 提高带宽利用率
  • 划分VLAN的方式

    • 基于端口
      1. Access:只允许通过一个VLAN
      2. Trunk:允许通过多个VLAN
    • 基于子网
    • 基于MAC地址
    • 基于协议
    • 基于匹配策略

CSMA/CD

CSMA/CD即载波侦听多路访问/冲突检测,是广播型信道中采用一种随机访问技术的竞争型访问方法,具有多目标地址的特点。总线型网络传输数据

三大要点

  1. 多点接入
  2. 载波监听
  3. 碰撞检测

PPP

点对点通信是一对一信道,因此不会发生碰撞,比较简单,采用PPP协议;其中PPP协议就是用户计算机和ISP(互联网服务提供商)进行通信时使用的数据链路层的协议

PPP 最初设计是为两个对等节点之间的IP流量传输提供一种封装协议

CRC

循环冗余校验

是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和充整性

重点

  1. 数据链路层的作用:为相邻节点提供可靠数据传输
  2. 帧的概念:数据链路层的单位
  3. 帧的组成:帧头 + 数据 + 帧尾
  4. MAC 和 LLC 协议
  5. 传输方式:单播和广播
  6. 数据链路层的过程:封装成帧 → 透明传输 → 差错检测
  7. 冲突域和广播域
  8. VLAN — 虚拟局域网(作用、优点和划分方式(基于端口))
  9. CSMA/CD:针对广播型信道的防冲突的方式(三大要点)
  10. PPP:封装数据成帧
    帧 → 透明传输 → 差错检测
  11. 冲突域和广播域
  12. VLAN — 虚拟局域网(作用、优点和划分方式(基于端口))
  13. CSMA/CD:针对广播型信道的防冲突的方式(三大要点)
  14. PPP:封装数据成帧
  15. CRC

标签:MAC,局域网,广播,冲突,数据,链路层
From: https://blog.csdn.net/m0_74209563/article/details/137548042

相关文章

  • 开源无代码 / 低代码平台 NocoBase 0.21:图表及工作流支持多数据源
    NocoBase是一个极易扩展的开源无代码开发平台。完全掌控,无限扩展,助力你的开发团队快速响应变化,显著降低成本,不必投入几年时间和数百万资金研发,只需要花几分钟部署NocoBase。NocoBase中文官网官方文档在线Demo预告新特性图表支持多数据源更多内容查看[数据可视化]......
  • 数据结构----栈和队列详细操作完整代码(C语言)
    栈和队列是两种常用的,重要的数据结构栈和队列是限定插入和删除只能在表的“端点”进行的线性表栈和队列是线性表的子集(是插入和删除位置受限的线性表)栈定义:只能在表的一端(栈顶)进行插入和删除运算的线性表逻辑结构:与线性表相同,仍为一对一关系存储结构:用顺序栈或链栈存......
  • 数据结构--二叉树
    1.树的概念树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。如果将他的图画出来的话很像一棵树。1.1名词概念根结点:没有父结点(前驱节点)的结点;如上方A就是根结点父结点或双亲结点:如果这个结点下方还有结点(孩子节点)那么称这个结点为下方结点......
  • mysql百万数据深分页问题
    首先,你得明白,深分页其实就是跳过很多行去取后面的数据,这就像是翻一本很厚的书,直接跳到最后一页那样费劲。所以,我们要想办法避免这种“翻书”的行为。一个常用的方法是,不要直接用OFFSET去跳那么多行,而是记住上一页最后一条数据的ID或者时间戳。然后,下一次查询的时候,就从那个ID......
  • 数据采集技术综合项目实战(协程式网络爬虫+数据预处理+数据可视化)附带详细步骤说明,干货
    数据采集部分:目标网址:https://item.jd.com/100066896338.html#none爬虫思路分析:1.确定采集目标:爬取“苹果15”的评论包括好评、差评、中评以及不同的评论对应的用户名、设备颜色、设备内存大小、版本号、评论发布时间等字段,共3000条以上的评论数目,如下图所示:2.查看评论来......
  • 时序数据的可视化(1)
    一、 项目目标:理解时序数据的特点和类别,掌握时序数据可视化的方法以及基本图形的绘图方法二、学生知识和能力要求(1)掌握时序数据的特点及可视化要求。(2)掌握折线图的绘制方法。三、工具与设备1、操作系统:Windows112、软件:anaconda、jupyternotebook四、实施步骤与......
  • Ac.F633数据分析项目
    Ac.F633-Python编程最终个人项目Ac.F633-用于数据分析的Python编程ManhPham最终单项工程2024年3月20日中午/下午12点至2024年4月10日中午/中午12点(英国时间)本作业包含一个100分的问题,占这门课的总分。您需要向Moodle提交一个SINGLE.zip文件夹,其中包含一个JupyterNotebook.ipynb......
  • 开发Element-UI的Table 组件列显示隐藏,列表数据勾选批量导出/全量导出,显示导出进度并
    #用法<TabColDisplay:total="total"api-url="hgp/order"api-name="hgpLocalList":s-param="listQuery":select-ids="selIds"title="快速......
  • 冒泡排序的基本实现【数据结构与算法—TypeScript 实现】
    笔记整理自coderwhy『TypeScript高阶数据结构与算法』课程概念本质:相邻元素两两比较并交换位置,使整个序列按照特定的顺序排列特性复杂度分析时间复杂度:最好情况:O(n)最坏情况:O(n^2)平均情况:O(n^2)空间复杂度:O(1),原地排序使用场景因为时间复杂度为O(n^2)适......
  • 优先队列的基本实现【数据结构与算法—TypeScript 实现】
    笔记整理自coderwhy『TypeScript高阶数据结构与算法』课程特性效率比普通队列高每个出队元素拥有最高优先级可以用数组、链表等数据结构实现,但是堆结构是最常用的实现方式设计实现方式:基于堆结构实现,堆结构底层基于数组实现属性:heap:存放队列元素方法:enq......