TCP/IP之以太网帧格式

TCP/IP之以太网帧格式常用以太网帧格式目前分为 3 种 nbsp nbsp nbsp 1 ethernet II 即 DIX2 0 当前以太网的事实标准 大多数 TCP IP 都用这种格式 nbsp nbsp nbsp nbsp nbsp nbsp nbsp 字段

===================================================================================================================

常用以太网帧格式目前分为3种:
    1. ethernet-II 即DIX2.0,当前以太网的事实标准,大多数TCP/IP都用这种格式
        字段                    字段长度(字节)
        —————————————
        前导码(preamble)      8
        目的MAC                 6
        源MAC                   6
        协议类型                2
        数据/填充(注[1])      46~1500
        帧校验序列(FCS)       4

    2. IEEE-802.3 + 802.2-LLC 目前交换机之间的BPDU(桥协议数据单元)包使用这种格式
        字段                    字段长度(字节)
        —————————————
        前导码(preamble)      7
        帧起始符(SFD)         1
        目的MAC                 6
        源MAC                   6
        数据长度                2
        LLC头(注[2])          3
        数据/填充(注[1])      46~1500
        帧校验序列(FCS)       4

    3. IEEE-802.3 + 802.2-SNAP 目前802.1q等采用这种格式
        字段                    字段长度(字节)
        —————————————
        前导码(preamble)      7
        帧起始符(SFD)         1
        目的MAC                 6
        源MAC                   6
        数据长度                2
        扩展的LLC头(注[3])    8
        数据/填充(注[1])      46~1500
        帧校验序列(FCS)       4

    注[1]: 如果数据长度小于46字节,则要求填充
    注[2]: LLC头由DSAP、SSAP、Control字段组成,DSAP和SSAP两个服务访问点各占1各字节,但其中只有6bit用于标识上层协议
    注[3]: 扩展的LLC头就是在原来的LLC头基础上新添加了一个2字节的协议类型域(必须同时将DSAP和SSAP的值置为0xAAAA),从而可以标识更多的上层协议
           另外还添加了一个3字节的OUI字段用于代表不同的组织
    为了保持兼容,IEEE没有分配0x0600(十进制1536)以下的数为协议类型代码,由于数据字段的最大值为1500字节,
    所以很容易从源地址之后的2个字节来判断是那种类型的帧:
        如果值超过0x0600则为类型字段,意味着是DIX帧;
        如果值小于0x0600则为长度字段,意味着是IEEE帧
    最后在1997年,IEEE-802.3经过IEEE802.3X标准的补充,支持这个字段作为类型字段和长度字段两种解释,确立了”两者都是IEEE 802.3格式”的定论。
    自此,所有以太网帧都可以统称为802.3帧.

几种常用的协议类型:
    IPv4:       0x0800
    ARP:        0x0806
    PPPoE:      0x8864
    802.1q tag: 0x8100
    IPv6:       0x86DD
    802.1x:     0x888E
===================================================================================================================
        
ARP协议帧格式:
    字段                字段长度(字节)    含义
    ———————————————————–
    硬件类型            2                   以太网固定0x0001
    协议类型            2                   和DIX类型字段相同
    硬件地址长度        1                   硬件地址一般就是MAC,所以长度固定为6
    协议长度            1                   协议一般就是IP,所以长度固定为4
    操作码              2                   用来表示这个ARP报文的类型:arp请求-1 arp响应-2 rarp请求-3 rarp响应-4
    源MAC               6                   源mac地址
    源IP                4                   源ip地址
    目的MAC             6                   目的mac地址
    目的IP              4                   目的ip地址
====================================================================================================================

IEEE 802.1q协议帧格式:
    字段                    字段长度            含义
    ———————————————————-
    前导码(preamble)      7                   同802.3
    帧起始符(SFD)         1                   同802.3
    目的MAC                 6                   同802.3
    源MAC                   6                   同802.3
    802.1q标签  -tpid       2                   tag protocol id, 固定值0x8100
                -tci        2                   tag control info, 又可以细分为priority(3bit)、 cfi(1bit)、vid(12bit)
    数据长度/协议类型       2                   同802.3
    数据/填充               42~1500             同802.3
    帧校验序列(FCS)       4                   同802.3

IEEE 802.1q协议帧和标准以太网帧区别:
    802.1q协议帧属于802.3标准以太网帧的扩展,在标准以太网帧的源MAC和type/len之间插入了4字节的标签头字段,因此,
    802.1q最大帧长由以太网帧标准的1518字节增加到1522字节。

























































































版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232834.html原文链接:https://javaforall.net

(0)
上一篇 2025年9月7日 上午10:01
下一篇 2025年9月7日 上午10:22


相关推荐

  • 大三Java后端暑期实习面经总结——Java基础篇

    大三Java后端暑期实习面经总结——Java基础篇博主现在大三在读 从三月开始找暑期实习 总结下了很多面试真题 希望能帮助正在找工作的大家 相关参考都会标注原文链接 尊重原创

    2025年8月9日
    5
  • java文件上传到指定的路径_java sftp上传文件

    java文件上传到指定的路径_java sftp上传文件在java中获得文件的路径在我们做上传文件操作时是不可避免的。web上运行1:this.getClass().getClassLoader().getResource(“/”).getPath();this.getClass().getClassLoader().getResource(“”).getPath();得到的是ClassPath的绝对URI路径。如:/D:/jboss-4.2….

    2025年9月2日
    13
  • IntelliJ IDEA 激活码Key is invaild 的一种处理方法

    IntelliJ IDEA 激活码Key is invaild 的一种处理方法通常 Jetbrains 系列产品的注册码激活办法 lanyu 大佬已明确给出 http idea lanyus com 但是 有时候输入了 N 次生成的注册码仍然提示 Keyisinvaild 因为在之前的某个时间用 JetbrainsCra 文件打过布丁 再次输入新的 key 会提示 Keyisinvaild mac 版的 idea 激活 Keyisinvaild 的解决办

    2026年3月27日
    2
  • request对象[通俗易懂]

    request对象[通俗易懂]request对象request对象封装了由客户端生成的HTTP请求的所有细节,主要包括HTTP头信息、系统信息、请求方式和请求参数等。通过request对象提供的相应方法可以处理客户端浏览器提交的

    2022年7月2日
    35
  • matlab求解高阶常微分方程_状态依赖时滞微分方程的动力学研究

    matlab求解高阶常微分方程_状态依赖时滞微分方程的动力学研究**前言:**大学期间只学习过《常微分方程》,没想到有些学校竟然还学《时滞微分方程》,于是找到一本由内藤敏机(日本)等著,马万彪等译的《时滞微分方程——泛函数微分方程引论》(有需要的可以私聊,CSDN貌似上传不了书籍,说侵权emmm),看着头秃,不过受到不少启发,尤其是对Logistic方程的改进,真真是长见识了。没找到有人用欧拉法解一阶时滞微分方程的,于是一不做二不休便用MATLAB实现了一下下…

    2022年10月1日
    7
  • 博弈论(Game Theory)入门学习笔记(持续更新)

    博弈论(Game Theory)入门学习笔记(持续更新)博弈论(GameTheory)入门学习笔记课程介绍1-1Taste-Backoff1-2Self-InterestedAgentsandUtilityTheory1-3Define1-4Examples1-5NashEquilibriumIntro1-6StrategicReasoning课程介绍博弈论,又称对策论,是使用严谨的数学模型研究冲突对抗条件下最优决策问题的理论,是研究竞争的逻辑和规律的数学分支。1-1Taste-Backoff以一个经典案例引出博弈论

    2022年10月15日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号