zoukankan      html  css  js  c++  java
  • 数据帧协议分析

    一、基本概念

    以太网中发送的分组成为帧,以太网帧包含七个字段:前同步码、SFD、DA、SA、数据单元长度/类型、上层数据以及CRC以太网不提供任何机制来确认收到的数据帧。

     

    二、帧格式

      

      前同步码:

    802.3帧第一个字段包含的是7个字节交替出现的0和1,作用是提醒接受系统有数据帧到来,并且使输入定时同步,前同步码属于物理层添加

      SFD(帧首定界符):

    为数据帧开始信号占用1字节通常为(10101011),用于提醒接收站进行最后一次同步最后的两个比特是11,用于提醒接收方,接下来就是目标地址,SFD数据物理层添加 

      DA(目标地址):

    接收该分组的目标站MAC地址占用6字节  

      SA(原地址):

    分组发送方的MAC地址占用6字节

      长度或类型:

    用于定义数据帧的长度或类型信息,最初以太网将此字段定义于类型信息,表示使用该MAC(媒体访问控制)帧的上层协议,IEEE标准将此字段定义于长度,表示数据字段中包含的字节数目。

    数据:

    包含被上层协议封装的数据,最小长度46字节,最大长度1500字节,

    CRC:

    差错校验信息

     

    三、EntherNet_II 数据帧格式 

    定义: 长度或类型值大于等于1536(0x0600), 以太网数据帧长度在64-1518字节之间。

     

    常用类型对照表

    表示值 类型
    0x0800  IPv4
    0x0806 ARP
    0x8864 PPPoE
    0x8100 802.1Q
    0x86DD IPv6

    四、802.3 协议帧格式

    定义:长度或类型值小于等于1500(0x05DC)

    五、单播、组播、广播

     

    5.1 单播

     主机与主机一对一之间的通信

    5.2 组播

         主机向组内发送数据,该组内所有主机都可以收到消息  

      

    5.3 广播

     主机向广播域内发送数据,该广播域内所有主机都可以收到消息

      

  • 相关阅读:
    python与常用模块pandas,numpy,matplotlib等库学习笔记-2019.02.07更新
    C++异常处理相关用法及底层机制
    C++ regex库常用函数及实例
    leetcode-2-两数相加(链表)
    leetcode-1-两数之和(三种方法)
    中序遍历(递归+迭代)
    C++实现四则运算器(带括号)
    C++实现四则运算器(无括号)
    Visual Studio2019 基于WSL的Linux C++开发
    Visual Studio 2019 基于Linux平台的C++开发
  • 原文地址:https://www.cnblogs.com/onlycat/p/11148696.html
Copyright © 2011-2022 走看看