003.HCIA_数据链路层

news2024/11/26 12:16:21

如果数据进行封装时,基于E2或者802.3标准,此时我们称之为是一个以太网帧

1、EthernetII

采用EthernetII协议会在数据基础之上多出18Byte,EthernetII的数据长度是46-1500B

  • FCS(Frame check Sequence)帧校验序列:算法——CRC循环冗余校验(整体信息),FSC用于差错校验。
  • Type:用于标识上层的协议。
  • S.MAC(Source Mac):源mac,发送者的mac信息。
  • D.MAC(Destination Mac):目的mac,接收者的mac信息
  • MAC地址:物理地址(网卡地址)
    • 每个设备出厂时,烧录进网卡芯片中。
    • 在一个以太网中,标识设备在链路上的什么位置。
2、IEEE802.3
  • 采用IEEE802.3协议会在数据基础之上多出21Byte~26Byte(取决于是否使用的是私有协议(SNAP)),IEEE802.3的数据长度是38-1492B
  • 如果对于数据链路层的协议,需要进行额外的控制,或者开发某一类私有化的协议,此时使用 802.3。

  • Length:记录data长度
  • LLC(Logical Link Control)逻辑链路控制:
    • D.SAP 目标服务接入点:标识目标端上层的协议。?
    • S.SAP 源服务接入点:标识源端数据采用的协议。?
    • Control:目前没有被开发出来
  • SNAP(Sub Network Access Point)子网络接入点:
    • 如果采用公有化协议,此字段是不会出现的。只有使用私有化协议,SNAP字段才会被激活。
    • Org Code:机构标识
    • Type:PID,标识厂商的私有化协议是什么。
3、MAC地址

MAC地址由两部分组成:

  • 供应商代码:前24位代表该供应商代码,由IEEE管理和分配。
  • 序列号:剩下的24位序列号由厂商自己分配。

单播:通信形式上,点对点,单对单的通信,类似QQ私聊

  • 数据封装时,E2/802.3的源MAC和目的MAC都是单播MAC,则为单播通信。
  • 单播MAC地址:从高到低第8个bit为0,且一定为0,其他任意。能够配置在设备的网卡上的MAC地址叫做单播MAC地址。

组播:通信形式上,点对多点,单对多的通信,类似QQ群聊

  • 数据封装时,因为组播代表的是一组的集合,面向的一组的通信,此时该地址不能成为数据的源地址,仅可以充当数据的目的地址。(D:组播MAC,S:单播MAC)
  • 组播MAC地址:从高到低第8个bit为1,且一定为1,其他任意。
  • 组播通信的特点:通信前,每个设备要自己进行加组,如果没有加入进该组,则数据即便接受也无法处理,如果此时已经提前加组,则该数据可以进行处理。【IGMP->加组/应用实现自动加组】【互联网组管理协议=组播的】
  • 组播地址的特点:是一个虚拟的MAC地址,不存在于设备的接口上,该MAC地址第8bit一定为1.

广播:在通信形式上,点对所有,单对所有的通信。广而播之/强制的接受处理。

  • 数据封装时,因为广播代表的是所有人集合,面向所有人的通信,此时广播MAC不能作为数据的源地址,仅可以充当数据的目的地址。
  • 广播MAC地址:从高到低第48个bit全部为1,且一定为1。
3、数据发送和接受的动作

发送者的动作:

  • 由发送者填充源目的Mac信息,以及Type字段标识上层协议,以及CRC循环冗余校验,将数值填充至FCS。填充完毕之后,此时借助物理层,转变为二进制比特流,从链路中传递。

情况一:目的mac为单播mac

单播数据抵达接收端接口以后,接收者的动作:

  • 首先看目的mac地址(看是否是自己的mac地址,如果是进行下一步,如果不是丢弃)
  • 将数据也进行CRC检验,比对FCS字段,如果不同则丢弃,如果相同进行下一步。
  • 查看type字段,交由type字段标识的上层协议处理。

情况二:目的mac为组播mac

组播数据抵达接收端接口以后,接收者的动作:

  • 首先看目的mac地址,查看自己本地是否加组。如果加组进行下一步,如果没有加组则丢弃
  • 将数据也进行CRC检验,比对FCS字段,如果不同则丢弃,如果相同进行下一步。
  • 查看type字段,交由type字段标识的上层协议处理。

情况三:目的mac为广播mac

广播数据抵达接收端接口以后,接收者的动作:

  • 首先看目的mac地址如果是广播,则直接进行下一步。
  • 将数据也进行CRC检验,比对FCS字段,如果不同则丢弃,如果相同进行下一步。
  • 查看type字段,交由type字段标识的上层协议处理。

分组转发:数据切割为大小一致的长度此时传递时网络中每一个数据的长度大致相同,提升数据的转发效率。

MTU:最大传输单元存在每条链路中的概念如果报文的MTU值过大,而链路能够承载的MTU值过小,则可能导致数据丢弃。

当上层承载不同的协议时,E2的标识取值熟记的如下:规定好的。

  • ARP = 0x0806
  • IPv4 = 0x0800
  • IPv6 = 0x86DD

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

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

相关文章

core dump(介绍,status中的core dump标志,应用--调试),ulimit命令

目录 core dump(核心转储) 引入 介绍 core dump标志 引入 介绍 应用 -- gdb调试 注意点 ulimit命令 -a -c 示例 -- core file大小问题 core dump(核心转储) 引入 我们可以看到,不同的signal对应不同的编号和action:其中action主要分为term和coreterm就是终止的意…

LLMs实际上在假对齐!

深度学习自然语言处理 原创作者:cola 对大型语言模型(LLM)中安全问题的意识日益增强,引发了人们对当前研究工作中的安全性评估的极大兴趣。本研究调查了与llm评估有关的一个有趣问题,即多重选择问题和开放式问题之间的性能差异。我们发现LLM对…

RTMP服务器搭建

1、流媒体 基本概念 流媒体(Streaming media),也叫做:流式媒体。 是指将一连串的多媒体数据压缩后,经过互联网分段发送数据,在互联网上即时传输影音以供观赏的一种技术与过程此技术使得数据包可以像流水…

Kubernetes Dashboard部署ImagePullBackOff问题处理

通常,出现ImagePullBackOff问题是由于Kubernetes集群无法拉取所需的镜像导致的。解决这个问题的方法通常包括以下步骤: 1. 检查Pod的描述信息: kubectl describe pod/[pod名称] --namespacekubernetes-dashboard 查看Events部分是否有关于…

如何制作优秀的二维码电子产品说明书?干货来了!

想象一下,如果同时出现以下场景,您会怎么解决? 用户在使用产品过程中可能遇到问题、疑问或需要进一步的指导,但纸质说明书丢失 产品更新、升级和新功能的发布,纸质产品说明书无法快速更新 公司推出的产品可能具有…

【uniapp】 video视频层级、遮挡其他弹窗或顶部导航 使用nvue覆盖

uniapp 顶部导航和弹窗被video遮挡解决办法 第一步:配置 subNVues {"path": "pages/index/index","style": {"navigationBarTitleText": "uni-app","navigationStyle": "custom","app-…

微信抽奖活动怎么做

微信抽奖活动:打破传统,创新互动,带给你超乎想象的惊喜体验! 随着互联网的飞速发展,人们越来越热衷于参与各种线上活动。而微信,作为中国最大的社交平台之一,自然成为了各种活动的聚集地。今天…

本地MQTT协议消息服务远程连接教程介绍

Mosquitto是一个开源的消息代理,它实现了MQTT协议版本3.1和3.1.1。它可以在不同的平台上运行,包括Windows、Linux、macOS等。mosquitto可以用于物联网、传感器、移动应用程序等场景,提供了一种轻量级的、可靠的、基于发布/订阅模式的消息传递…

数据仓库-数仓架构

1 数据仓库建设方法论 1.1 项目背景 数据仓库将建设成为融通全公司数据资产,提供便捷数据分析和数据服务,支持全公司数字化经营与创新。 1.2 数据仓库概述 数据仓库是一个面向主题的、集成的、相对稳定的、反映有历史变化的数据集合,用于…

芸鹰蓬飞:抖店服务分怎么快速升分?

在这个平台上,抖店服务分数的高低直接关系到商家在抖音平台上的曝光和信任度。那么,如何快速提升抖店服务分,成为了广大商家亟需解决的问题。本文将从多个角度,深入探讨提升抖店服务分的有效方法。 一、了解抖店服务分的评估标准 …

高阶数据结构---树状数组

文章目录 楼兰图腾一个简单的整数问题 一个简单的整数问题2谜一样的牛 一、楼兰图腾OJ链接 二、一个简单的整数问题OJ链接 三、一个简单的整数问题2OJ链接 四、谜一样的牛OJ链接

盘点十大免费低/无代码开发软件,数字化转型看这里

在数字化日益普及的当下,低代码开发技术逐渐受到大众的追捧。这种技术让缺乏编程经验的大众也能轻松创建应用程序和网站。通过直观的图形界面和拖拽功能,用户可以无需编写任何代码,轻松实现自己的开发需求。本文将为您介绍十大免费的低代码开…

AI视频检索丨历史视频标签化,助力重要事件高效溯源

随着科技的不断发展,安全监控已成为我们生活中不可或缺的一部分。当发生盗窃、人员走失、安全事故等重要事件时,常常需要通过查看视频回放了解事情经过,为解决问题提供证据或指明查找方向。但是,人工查看视频回放往往费时费力&…

【嵌入式开发学习】__扒一扒单片机串口IAP原理

一、什么是IAP? IAP 是 In Application Programming 的首字母缩写,IAP是用户自己的程序在运行过程中对 User Flash 的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级。 在重新编程过程…

深入Android S(12.0) 探索 Android Framework 之 SystemServer 进程启动详解

深入学习 Android Framework 第三:深入Android S(12.0) 探索 Android Framework 之 SystemServer 进程启动详解 文章目录 深入学习 Android Framework前言一、Android 系统的启动流程1. 流程图2. 启动流程概述 二、源码详解1. 时序图2. 源代码1、ZygoteInit # main…

草图大师SketchUp Pro 2023

SketchUp Pro 2023 for Mac(草图大师)是一款三维建模软件,由Trimble Inc.开发。它可以用于创建、修改和分享3D模型,包括建筑、家具、景观等。 SketchUp Pro 2023 for Mac提供了简单易学的用户界面和强大的工具集,使用…

数据库表数据类型datetime 和 timestamp区别,以及优缺点

datetime和timestamp都是用于表示日期和时间的数据类型,但它们在存储和使用上有一些区别。 数据范围:datetime数据类型的有效范围是从1000年到9999年,精度为秒。timestamp数据类型的有效范围是从1970年到2038年,精度为秒。存储空…

element-china-area-data插件vue3做省市区的下拉选择,用3个独立的el-select实现

第1版,选择下拉没有优化 第2版,选择下拉时,做了优化

<蓝桥杯软件赛>零基础备赛20周--第6周--数组和队列

报名明年4月蓝桥杯软件赛的同学们,如果你是大一零基础,目前懵懂中,不知该怎么办,可以看看本博客系列:备赛20周合集 20周的完整安排请点击:20周计划 每周发1个博客,共20周(读者可以按…

SystemVerilog学习 (10)——线程控制

一、概述 在实际硬件中,时序逻辑通过时钟沿来激活,组合逻辑的输出则随着输人的变化而变化。所有这些并发的活动在Verilog 的寄存器传输级上是通过initial和 always块语句、实例化和连续赋值语句来模拟的。为了模拟和检验这些语句块,测试平台使用许多并发执行的线程。在测试平台…