zoukankan      html  css  js  c++  java
  • 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字段。

     

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

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

     

     

  • 相关阅读:
    洛谷P2402 奶牛隐藏
    BZOJ2150: 部落战争
    HDU 6405 Make ZYB Happy(广义SAM)
    CodeForces
    2019CCPC秦皇岛 E题 Escape(网络流)
    2019CCPC秦皇岛D题 Decimal
    2019CCPC秦皇岛I题 Invoker(DP)
    2019CCPC秦皇岛 F Forest Program
    2019CCPC秦皇岛 J MUV LUV EXTRA(KMP)
    2019CCPC秦皇岛 K MUV LUV UNLIMITED(博弈)
  • 原文地址:https://www.cnblogs.com/demonxian3/p/6260762.html
Copyright © 2011-2022 走看看