网络协议之以太网协议解析

2023-11-16

Ethernet :以太网协议,用于实现链路层的数据传输和地址封装(MAC),以太网是局域网使用最广泛的协议,由于部署简单,价格低廉,被IEEE委员会标准化。

 

封装原理:

 

以太网的数据帧格式如下图所示:

 

它由6个字节的目的MAC地址,6个字节的源MAC地址,2个字节的类型域(用于标示封装在这个Frame、里面的数据的类型)。接下来是46-1500字节的数据和4字节的帧校验。

 

   前同步码:8字节,前7个0,1交替的字节(10101010)用来同步接收站,一个1010101011字节指出帧的开始位置。报头提供接收器同步和帧界定服务。

 

   目标地址:标识目的通信方的MAC地址,6个字节,单播多播或者广播。单播地址叫个人、物理、硬件或MAC地址,广播地址为全1,  0xFF FF FF FF 。

 

   源地址:标识发送端的MAC地址,6个字节,指出发送节点的单点广播地址。

 

   以太类型:2个字节,用来指出以太网帧内所含的上层协议。即帧格式的协议标识符。对于IP报文来说,该字段值是0x0800。对于ARP信息来说,以太类型字段的值是0x0806。

 

以太类型值(16进制)对应协议 

0x0000 -0x05DC          IEEE 802.3 长度  

0x0101-0x01FF     实验  

0x0600                              XEROX NS IDP  

0x0660-0x0661                DLOG  

0x0800                               网际协议(IP)  

0x0801                             X.75  Internet  

0x0802                             NBS Internet  

0x0803                             ECMA Internet  

0x0804                              Chaosnet  

0x0805                               X.25 Level 3  

0x0806                               地址解析协议(ARP : Address Resolution Protocol) 

0x0808                             帧中继 ARP (Frame Relay ARP) [RFC1701] 

0x6559                             原始帧中继(Raw Frame Relay) [RFC1701] 

0x8035                               动态 DARP (DRARP:Dynamic RARP)反向地址解析协议(RARP:Reverse Address Resolution Protocol) 

0x8037                               Novell Netware IPX  

0x809B                              EtherTalk  

0x80D5                              IBM SNA Services over Ethernet  

0x80F3                      AppleTalk 地址解析协议(AARP:AppleTalk Address Resolution Protocol) 

0x8100                             以太网自动保护开关(EAPS:Ethernet Automatic Protection Switching) 

0x8137                             因特网包交换(IPX:Internet Packet Exchange) 

0x814C                             简单网络管理协议(SNMP:Simple Network Management Protocol) 

0x86DD                              网际协议v6(IPv6,Internet Protocol version 6) 

0x8809                             OAM 

0x880B                              点对点协议(PPP:Point-to-Point Protocol) 

0x880C                             通用交换管理协议(GSMP:General Switch Management Protocol) 

0x8847                      多协议标签交换(单播) MPLS:Multi-Protocol Label Switching <unicast>) 

0x8848                      多协议标签交换(组播)(MPLS, Multi-Protocol Label Switching <multicast>) 

0x8863                      以太网上的 PPP(发现阶段)(PPPoE:PPP Over Ethernet <Discovery Stage>) 

0x8864    以太网上的 PPP(PPP 会话阶段) (PPPoE,PPP Over Ethernet<PPP Session Stage>) 

0x88BB                      轻量级访问点协议(LWAPP:Light Weight Access Point Protocol)  0x88CC  链接层发现协议(LLDP:Link Layer Discovery Protocol) 

0x8E88                             局域网上的 EAP(EAPOL:EAP over LAN) 

0x9000                             配置测试协议(Loopback) 

0x9100                             VLAN 标签协议标识符(VLAN Tag Protocol Identifier) 

0x9200                               VLAN 标签协议标识符(VLAN Tag Protocol Identifier)  

0xFFFF                              保留

 

帧检验序列:4个字节。验证比特完整性。

以太网协议中的数据:指的是包含上层各种协议头在内和真正实际数据的总和

相关知识点解析:

1.MAC地址

①所有设备的MAC地址都是全球唯一的;

②MAC地址是16进制表示的,长度为48bit,采用冒号分16进制表示;

③MAC地址前半部分被称为“OUI代码”厂商唯一标志符,用于唯一标志一个企业/公司,例如思科、TP-LINK、华为;后半部分厂商自行分配,B8:bc:1b表示华为OUI代码,极路由Hiwifi的OUI代码为d4:ee:07

 

2.有效负载:由一个上层协议的协议数据单元PDU构成。可以发送的最大有效负载是1500字节。由于以太网的冲突检测特性,有效负载至少是46个字节。如果上层协议数据单元长度少于46个字节,必须增补到46个字节。如下抓包中的padding字段就是数据小于46个字节,填充的0

 

3. 以太网协议仅仅是链路层/局域网通信中的一种标准,还有其他链路层协议,令牌网、总线网、FDDI等,以太网帧结构按IEEE划分还包括IEEE802.3和IEEE802.2标准,细分如下:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

网络协议之以太网协议解析 的相关文章

  • 简单的tcpdump抓包使用总结:抓取指定ip、指定网卡、指定端口的包

    1 今天由于需要抓包研究网络问题 所以研究了一下抓取指定ip 指定网卡 指定端口的包并且输入到文件中 2 tcpdump与Wireshark介绍 在网络问题的调试中 tcpdump应该说是一个必不可少的工具 和大部分linux下优秀工具一样
  • ES使用小结

    ES使用总结 1 查询es全部索 2 根据es索引查询文档 3 查看指定索引mapping文件 4 默认查询总数10000条 5 删除指定索引文档 6 删除所有数据包括索引 7 設置窗口值 8 logstash简单配置 Logstash配置
  • 高德地图Amap常用功能总结

    设置缩放比例 1 设置缩放比例的api是 aMap moveCamera CameraUpdateFactory zoomTo 18 如果你直接设置是没用的 因为此时地图还没加载成功 所以要监听地图加载成功的事件 aMap setOnMap

随机推荐

  • MATLAB中均值、方差、均方差的计算方法

    1 均值 数学定义 Matlab函数 mean gt gt X 1 2 3 gt gt mean X 2 如果X是一个矩阵 则其均值是一个向量组 mean X 1 为列向量的均值 mean X 2 为行向量的均值 gt gt X 1 2 3
  • sql查询按两个字段查询重复记录

    1 sql查询按两个字段查询重复记录 代码如下 示例 select from 表名 a where a 字段1 in select 字段1 from 表名 group by 字段1 字段2 having count gt 1 and a 字
  • STM32通过ESP8266利用机智云平台实现手机远程操作

    STM32通过ESP8266利用机智云平台实现手机远程操作 将STM32作为主控芯片 ESP8266作为外设 利用串口传递信息 通过机智云平台实现STM32与手机之间的数据传输 之所以选择机智云平台 是因为机智云平台相关配套的软件工具非常齐
  • 【每日一题】Leetcode 刷题 二叉树-树的遍历 介绍

    二叉树 树的遍历 前序遍历 根 左 右 中序遍历 左 根 右 后序遍历 左 右 根 代码实现 前序遍历 中序遍历 后序遍历 完整代码 前序遍历 根 左 右 遍历顺序分别为 F B A D C E G I H 中序遍历 左 根 右 中序遍历顺
  • 常见的 HTML<meta> 标签的 name 属性及其作用

    HTML中的 标签可以通过 name 属性提供元数据 这些元数据可以用于指定有关文档的信息 以及控制浏览器和搜索引擎的行为 name 属性通常与其他属性一起使用 如 content charset http equiv 等 以提供更具体的元
  • 2022国赛34:路由器之间ISIS协议配置

    大赛试题内容 5 RT1以太链路 RT2以太链路之间运行ISIS协议 进程10 分别实现loopback3 之间ipv4互通和ipv6互通 RT1 RT2的NET分别为10 0000 0000 0001 00 10 0000 0000 00
  • web基础学习(十)CSS3之 @keyframes 、animation

    css3新增属性 keyframes 关键帧 可以帮助开发者不必依赖JavaScript 只使用css代码完成动画制作 那么如何使用 keyframes呢 这里有两个重要知识点 1 keyframes 定义关键帧 语法 keyframes
  • 低功耗技术——流水线设计(加法器和乘法器)

    文章目录 前言 一 流水线 1 16bit加法器 2 无符号4bit乘法器 3 编写一个4bit乘法器模块 并例化该乘法器求解c 12 a 5 b 二 降低FPGA功耗 1 静态功耗 2 动态功耗 前言 2023 3 31 今天学习降低功耗
  • Python——shutil模块

    os模块不仅提供了新建文件 删除文件 查看文件属性的操作功能 还提供了对文件路径的操作功能 但是 对于移动 复制 打包 压缩 解压文件及文件夹等操作 os模块没有提供相关的函数 此时需要用到shutil模块 shutil模块是对os模块中文
  • 秋招-数据结构-链表篇

    秋招 数据结构 链表篇 介绍 链表是一种物理存储单元上非连续 非顺序的存储结构 数据元素的逻辑顺序是通过链表中的指针链接次序实现的 链表由一系列结点 链表中每一个元素称为结点 组成 结点可以在运行时动态生成 每个结点包括两个部分 一个是存储
  • Java 与 区块链技术_java区块链技术有哪些主要的特点和应用

    java区块链技术有哪些主要的特点是什么 人们对于区块链技术比较熟悉 但是却并不知道它到底有哪一些概念 java区块链技术有哪些人有接触过呢 有很多人都会觉得区块链技术就好像是我们最初所认识的互联网一样 要想有效解决陌生人之间的信任问题 首
  • Android零基础—环境搭建

    转载原文 http blog csdn net tangjie134 article details 79481581 1 Android Studio 3 0和SDK获取 方式1 进入 Android Developers官方网站下载 方
  • 在Linux命令行终端中写python代码的简单操作

    Linux终端中的操作均是使用命令行来进行的 因此 对于小白来说 熟记几个基本的命令行和使用方法能够较快的在Linux命令行环境中将python用起来 打开命令行窗口 打开命令行窗口的快捷键如下 Ctrl Alt t 关闭名命令行窗口 关闭
  • 华为消费者算法岗一面二面

    不吹不黑 u1s1 华为是我面的几家公司里面一面二面相对简单的 没怎么问基础知识 对项目的探讨会更多一点 所以其实也看个人 如果有的小伙伴对项目不是很熟 对基础知识比较熟可能会觉得有点难 一面 逐个介绍简历里的项目 然后自己挑一个进行详细介
  • 在外包公司熬了 3 年终于进了字节,竭尽全力....

    其实两年前校招的时候就往字节投了一次简历 结果很明显凉了 随后这个理想就被暂时放下了 但是这个种子一直埋在心里这两年除了工作以外 也会坚持写博客 也因此结识了很多优秀的小伙伴 从他们身上学到了特别多东西 把这次面试分享出来 也是希望可以帮助
  • C语言:函数指针和指针函数学习

    一 指针函数 定义 指针函数就是返回值类型是指针的函数 后面说的是本身是什么 前面说的是返回值类型是什么 声明方法 类型标识符 函数名 参数列表 int fun int x int y int fun int x int y int fun
  • 使用C++来创建界面

    上节讲到 Qt 支持两种创建界面的方式 一种是使用C 代码 Qt 自诞生以来就支持 另一种是使用 QML 可以创建个性化的界面 Qt 提供了多种工程类型 选择不同的工程类型将导致使用不同的方式来创建界面 本节先讲解C 的使用 首次打开Qt
  • netty 无阻塞队列 MpscArrayQueue,一个字就是快

    netty提供了高效的线程安全的队列 MpscArrayQueue 一个字快 至于快的原因可以去查看相关的文章 内存的伪共享先关的内容 import static java lang Thread sleep import io netty
  • nutz ajax ie8,Nutz.Json 在Mvc中的用法

    Mvc中使用Json 第一种 输出用 Ok json locked password salt 第二种 输入用的 AdaptBy type JsonAdaptor class Ok中的json 首先 必须再再再强调一次 如果返回值是Stri
  • 网络协议之以太网协议解析

    Ethernet 以太网协议 用于实现链路层的数据传输和地址封装 MAC 以太网是局域网使用最广泛的协议 由于部署简单 价格低廉 被IEEE委员会标准化 封装原理 以太网的数据帧格式如下图所示 它由6个字节的目的MAC地址 6个字节的源MA