• Frame报文


    链路层帧常用的帧格式有两种:Ethernet II   与   IEEE802.3

    Ethernet II 格式多用于终端设备的通信

    IEEE802.3  格式多用于网络设备的通信

    如何区分这两种报文:

    Lenth/Type >= 1536(0x0600)   则为Ethernet_II

    Lenth/Type <=1500(0x05DC)    则为IEEE802.3

    Type字段表示协议类型:如0x0800(IP)  0x0806(ARP) 0x8100(VLAN)

    Length字段表示数据data的长度:最小是46 (0x002E)最大是1500(0x05DC)

    如果Type/Length的值超过了0X0600,那么他一定是EthernetII的帧 ,否则为IEEE802.3的帧

    下面是帧的格式

    先来看看以太网2的帧格式:

    这是一个ARP广播包,主要看帧那块(红色花圈地方)

    可以看搭配目的mac地址和源mac地址

    以及类型Type :0x8100属于VLAN

    剩下的便是Data 和 检验以及填充了

    802.3帧与以太网2真的区别主要在于多了一个LLC字段

    LLC (Logical Link Control)逻辑链路控制字段,和EthernetII的Type字段功能类似,表示封装的数据协议类型。

    数据协议类型分为两种:

    SAP  (通用协议)如ARP  STP等

    SNAP(私有协议)如思科的CDP VTP等

    光说无用,抓几个包看看就明白了

    这个包是802.3的帧,帧的大小是60个字节

    在LLC这个字段当中:有DSAP  SSAP  Control filed

    DSAP 表示目的服务访问点,值是0X42表示STP协议的服务

    SSAP 表示源服务访问点,值是0x42也是STP协议的服务

    Control field字段可以先不用管,他的值一般都为0x03

    因为该包属于通用协议,而不是私有协议,所以SNAP字段的内容就不存在了。下面抓个思科的CDP协议的数据包看看:

    抓个包比较大有400个字节,封装的是cisco的CDP协议,仍是802.3帧

    在LLC字段当中略有不同:DSAP SSAP CONTROL  OrgCode  PID

    DSAP 目的服务访问点值是0xaa表示私有协议

    SSAP 源服务访问点值是0xaa表示私有协议

    Control 字段依然是0x03

    Orgcode  产商代码:如cisco的是0x00000c

    PID   协议ID:CDP协议

    所以私有协议当中才会使用到帧格式当中的SNAP字段。

     

    帧中还有一个前导码和帧首定界符

    其主要用于同步时钟以及标识帧的开始位置,没必要深究

     

     

  • 相关阅读:
    IBatisNet之获取和操作SQL语句
    IIS7站点/虚拟目录中访问共享文件夹(转)
    asp.net 4.0 IIS7.0/7.5环境提供了自动预热功能(程序池自动重启)
    仅此一文让你明白ASP.NET MVC原理
    博客、论坛集
    软件开发工具
    delete表1条件是另一个表中的数据,多表连接删除(转)
    Quartz.Net架构入门—开源的作业调度框架
    C# URL 中文编码与解码
    HDU4619--Warm up 2
  • 原文地址:https://www.cnblogs.com/demonxian3/p/6260762.html
Copyright © 2020-2023  润新知