精华内容
下载资源
问答
  • 帧结构
    千次阅读
    2021-05-09 23:57:34

    欢迎关注我的公众号是【CodeAllen】,关注回复【1024】获取资源
    程序员技术交流①群:736386324 ,程序员技术交流②群:371394777    

    以太网链路传输的数据包称做以太帧,或者以太网数据帧。在以太网中,网络访问层的软件必须把数据转换成能够通过网络适配器硬件进行传输的格式。

    以太帧的工作机制

    当以太网软件从网络层接收到数据报之后,需要完成如下操作:

    1) 根据需要把网际层的数据分解为较小的块,以符合以太网帧数据段的要求。

    以太网帧的整体大小必须在 64~1518 字节之间(不包含前导码)。有些系统支持更大的帧,最大可以支持 9000 字节。有些系统支持更大的帧,最大可以支持 9000 字节。

    2) 把数据块打包成帧。每一帧都包含数据及其他信息,这些信息是以太网网络适配器处理帧所需要的。

    3) 把数据帧传递给对应于 OSI 模型物理层的底层组件,后者把帧转换为比特流,并且通过传输介质发送出去。

    4) 以太网上的其他网络适配器接收到这个帧,检查其中的目的地址。如果目的地址与网络适配器的地址相匹配,适配器软件就会处理接收到的帧,把数据传递给协议栈中较高的层。

    以太帧的结构

    以太帧起始部分由前同步码和帧开始定界符组成,后面紧跟着一个以太网报头,以 MAC 地址说明目的地址和源地址。以太帧的中部是该帧负载的包含其他协议报头的数据包,如 IP 协议。

    以太帧由一个 32 位冗余校验码结尾,用于检验数据传输是否出现损坏。以太帧结构如图所示。

    以太帧结构(格式)


    上图中每个字段的含义如下表所示:

    字段含义
    前同步码用来使接收端的适配器在接收 MAC 帧时能够迅速调整时钟频率,使它和发送端的频率相同。前同步码为 7 个字节,1 和 0 交替。
    帧开始定界符帧的起始符,为 1 个字节。前 6 位 1 和 0 交替,最后的两个连续的 1 表示告诉接收端适配器:“帧信息要来了,准备接收”。
    目的地址接收帧的网络适配器的物理地址(MAC 地址),为 6 个字节(48 比特)。作用是当网卡接收到一个数据帧时,首先会检查该帧的目的地址,是否与当前适配器的物理地址相同,如果相同,就会进一步处理;如果不同,则直接丢弃。
    源地址发送帧的网络适配器的物理地址(MAC 地址),为 6 个字节(48 比特)。
    类型上层协议的类型。由于上层协议众多,所以在处理数据的时候必须设置该字段,标识数据交付哪个协议处理。例如,字段为 0x0800 时,表示将数据交付给 IP 协议。
    数据也称为效载荷,表示交付给上层的数据。以太网帧数据长度最小为 46 字节,最大为 1500 字节。如果不足 46 字节时,会填充到最小长度。最大值也叫最大传输单元(MTU)。

    在 Linux 中,使用 ifconfig 命令可以查看该值,通常为 1500。
    帧检验序列 FCS检测该帧是否出现差错,占 4 个字节(32 比特)。发送方计算帧的循环冗余码校验(CRC)值,把这个值写到帧里。接收方计算机重新计算 CRC,与 FCS 字段的值进行比较。如果两个值不相同,则表示传输过程中发生了数据丢失或改变。这时,就需要重新传输这一帧。

    构建以太帧

    通过上面的学习了解了以太帧的结构。用户可以根据需要设置以太帧的字段值,从而构建以太帧。netwox 工具中编号为 32 的模块提供了以太帧构建功能。

    【示例】构建以太网数据帧。

    1) 查看以太网数据帧,执行命令如下:

    root@daxueba:~# netwox 32

    输出信息如下:

    Ethernet________________________________________________________.
    | 00:0C:29:CA:E4:66->00:08:09:0A:0B:0C type:0x0000           |
    |____________________________________________________________   |

    上述输出信息中的 00:0C:29:CA:E4:66 为源 MAC 地址,是当前主机的 MAC 地址;00:08:09:0A:0B:0C 为目标 MAC 地址,0x0000 为以太网类型。

    2) 构建以太帧,设置源 MAC 地址为 00:0c:29:c4:8a:de,目标 MAC 地址为 01:02:03:04:05:06,执行命令如下:

    root@daxueba:~# netwox 32 -a 00:0c:29:c4:8a:de -b 01:02:03:04:05:06

    输出信息如下:

    Ethernet________________________________________________________.
    | 00:0C:29:C4:8A:DE->01:02:03:04:05:06 type:0x0000              |
    |_____________________________________________________________    |


    3) 为了验证构建的以太帧,通过 Wireshark 工具进行抓包。在链路层中可以看到伪造的源 MAC 地址和目标 MAC 地址,信息如下:

    Ethernet II, Src: Vmware_c4:8a:de (00:0c:29:c4:8a:de), Dst:

    Woonsang_04:05:06(01:02:03:04:05:06)


    4) 为了不被其他主机发现,在构造数据包时,可以指定假的源MAC地址。但是,每构造一次只能发送一个数据包。如果需要发送多个数据包,就需要构造多次。

    为了方便,可以使用 macchanger 工具临时修改 MAC 地址,这样就不需要每次构造假的源 MAC 地址了。例如,将当前主机的 MAC 地址修改为 00:0c:29:aa:e0:28,执行命令如下:

    Current MAC:         00:0c:29:ca:e4:66 (VMware, Inc.)
    Permanent MAC:    00:0c:29:ca:e4:66 (VMware, Inc.)
    New MAC:              00:0c:29:aa:e0:28 (VMware, Inc.)

    以上输出信息表示当前主机原来的 MAC 地址为 00:0c:29:ca:e4:66,修改后的 MAC 地址为 00:0c:29:aa:e0:28。

    5) 再次使用 netwox 工具进行发包,默认使用修改后的 MAC 地址作为源 MAC 地址,如下:

    root@daxueba:~# netwox 32

    输出信息如下:

    Ethernet_________________________________________________
    | 00:0C:29:AA:E0:28->00:08:09:0A:0B:0C type:0x0000    |
    |_______________________________________________________    |

    以太帧洪水攻击

    交换机为了方便数据传输,通常会存储每个端口所对应的 MAC 地址,形成一张表。当交换机收到计算机发来的以太帧时,就会查看帧中的源 MAC 地址,并查找存储的表:

    • 如果表中存在该 MAC 地址,就直接转发数据;
    • 如果没有,则将该 MAC 地址存入该表中。


    当其他计算机向这个 MAC 地址发送数据时,可以快速决定向哪个端口发送数据。由于该表不可能是无穷大的,所以当达到一定数量时,将不会储存其他新的 MAC 地址。再有新的主机发来数据帧时,部分交换机将不再查找对应的端口,而是以广播的形式转发给所有的端口。这样,就使其他主机可以接收到该数据帧了。

    netwox 工具提供编号为 75 的模块,用来实现以太帧洪水攻击功能。它可以伪造大量的以太网数据包,填满交换机的存储表,使交换机失去正确的转发功能。

    实施以太帧洪水攻击,执行命令如下:

    root@daxueba:~# netwox 75

    执行命令后没有任何输出信息,但是会发送大量的以太网数据包。

    使用 Wireshark 工具进行抓包,如图所示。图中捕获的数据包为以太帧洪水攻击产生的数据包。
     


    本文为转载,仅供学习,转载请联系原作者
    http://c.biancheng.net/tcp_ip/

    更多相关内容
  • 802.11 MAC帧结构/帧格式

    千次阅读 2020-11-16 01:41:29
    802.11帧格式 上图是802.11帧的通用格式,具体不同类型的帧会有不同的变体,802.11帧一共有三种类型: 控制帧:用于竞争期间的握手通信和正向确认、结束非竞争期等; 管理帧:主要用于STA与AP之间协商、关系的控制...

    802.11帧格式

    在这里插入图片描述
    上图是802.11帧的通用格式,具体不同类型的帧会有不同的变体,802.11帧一共有三种类型:

    1. 控制帧:用于竞争期间握手通信和正向确认结束非竞争期等;
    2. 管理帧:主要用于STA与AP之间协商、关系的控制,如探测请求、认证、关联、同步等;
    3. 数据帧:用于在竞争期和非竞争期传输数据。

    Frame Control帧控制字段(2Byte)

    1. Protocol(2bit)位:协议版本由2bit构成,用以显示该帧所使用的MAC版本,目前是0;
    2. type(2bit)与subtype(4bit)位:类型与子类型位用来指定所使用的帧类型;

    1. type为00时为管理帧;
    2. type为01时为控制帧;
    3. type为10时为数据帧。
    4. subtype为三大类型下的细分。

    在这里插入图片描述
    常用的管理帧:

    1. Beacon(信标帧,AP周期性发送;STA被动扫描)
    2. Probe request、Probe response (STA发起、AP响应;STA主动扫描)
    3. Authentication、Deauthentication(STA发起、AP响应;链路认证(不同于接入认证))
    4. Association Request、Association Response、Disassociation(STA发起、AP响应;建立关联)
    5. ReassociationRequest、ReassociationResponse
    6. ATIM(Announcement Traffic Indication Message,通知传输指示消息)WLAN中的IBSS网络中没有接入点,因此无法依赖接入点来缓存帧。IBSS中的STA1如果有要传送给处于休眠状态的接收者STA2的缓存帧,就会在传递期间送出ATIM帧来通知对方有信息待传。

    常用的控制帧

    1. RTS
    2. CTS(RTS/CTS一般用于解决隐藏节点问题、还有当要传送的数据帧叫较大时,会先用RTS/CTS帧,防止冲突产生时造成较大的资源浪费。)
    3. ACK
      在这里插入图片描述
      常用的数据帧

    Ø第一组用来承载数据

    1. SimpleData
    2. Data+ CF-Ack
    3. Data+ CF-Poll
    4. Data+ CF-Ack+ CF-Poll
      Ø第二组不承载数据
    5. NullFunction
    6. CF-Ack
    7. CF-Poll
    8. CF-Ack +CF-Poll

    3. to DS与from DS(各1bit)数据帧(Data Frame)具有方向,这个方向用DS(分布式系统)字段来标识,以区分不同类型帧中关于地址的解析方式;其它的类型Frame例如Control Frame或者管理帧中,这个字段是全零。这个字段用两位表示,这两个位的含义分别表示“To Ds”和“From Ds”,大致含义如下:

    1. To DS:表示Station->AP,一般也叫Upload;
    2. From DS表示AP->Station,一般也叫Download

    这里,我们可以大致将DS看做AP,To/From是从AP的角度来考虑的。
    在这里插入图片描述
    4. Morefragments bit(1bit):这个功能类似与IP的更多片位。如果上层的封包经过MAC分段的处理,最后一个分段除外,其他片段均将此位置1

    5. Retrybit:重传帧位。任何重传的帧会将此bit置位1,以协助接收端剔除重复的帧

    6. Powermanagement bit:802.11网卡为了提高电池的使用时间,通常可以关闭网卡以节省电力。此位用来指定传送端在完成目前的基本帧交换之后是否进入省电模式,1代表工作站即将进入省电模式,而0则代表工作站一直保持清醒状态。基站发出去的帧该位必为0

    Duration/ID位(2Byte)

    Duration字段全称是Duration/ID字段,在协议中有三种用法:
    在这里插入图片描述

    1. Duration(NAV):用作NAV设置,其包含15位,所以大小是从0到2^15-1=32767(右边为高位)。当第15bit被设定为0时,duration/ID位会用来设定NAV,数值代表目前所进行的传输预计使用介质多少微秒
    2. CFP帧–免竞争期间所传送的帧第14bit为0,第15bit为1,其他位为0。因此此时duration/ID位为32768,这个值被解读为NAV。它让没有收到Beacon信标帧的STA知道这段时间是免竞争期间,以便将NAV更新为适当的数值,避免干扰到免竞争传输;
    3. PS-poll帧(Power Save省电-轮询):当14位和15为被设置为1的时候,此时Duration/ID就被认为是AID字段。这种用法一般出现在PS-Poll帧中。移动工作站STA可以关闭天线以达到省电的目的。休眠的工作站必须定期醒来。确保不至于丢失任何帧,从休眠状态醒来的工作站STA必须发送一个PS-poll帧,以便从基站取得以前暂存的帧。此外,醒来的工作站STA会在PS-poll帧中加入连接识别码(association ID,简称AID),以显示其所隶属的BSS,AID值介于1-2007(251 * 8 - 1 = 2007)之间,理论上的最大连接数

    Address(6Byte)

    1. 如果传送给实际介质的第一个 bit 为 0,该地址位代表单一工作站(单点传播[unicast]);
    2. 如果第一个 bit 为 1,该地址代表一组实际工作站,称为组播(多点传播[multicast])地址;
    3. 如果所有 bit 均为 1,该帧即属广播(broadcast)

    Address有如下五种类型:

    1. BSSID, 基本服务集标识符
    2. DA, 目的地址
    3. SA, 源地址
    4. RA, 接收端地址
    5. TA, 发送端地址

    一个 802.11 帧最多可以包含四个地址位。 这些位地址位均经过编号, 因为随着帧类型不同,这些位的作用也有所差异,由帧类型决定使用哪几个地址字段, 通常有三个, SA、DA和BSSID(常见的管理帧和数据帧都是用这三个)。具体方式如下:(当然具体的还是详细去看各个帧的具体结构)

    在这里插入图片描述
    例如,最典型的一个例子就是在WDS模式下,数据帧会有4个地址,RA,TA表示接收端和发送端,这两个地址用于无线传输途中来表示此跳的发送者和接受者;DA、SA是我们熟知的目的地址和源地址(和以太网中的一样)。
    在这里插入图片描述

    在这里插入图片描述区分RA/DA & TA/SA
    STA1–>AP1–>AP2–>STA2。
    STA1:源地址SA;STA2:目的地址DA;
    STA1–>AP1:STA1是发送端TA,AP1是接收端RA。

    1. Address 1 代表帧接收端的地址RA。 在某些情况下,接收端即为目的地,但不然如此。目的地是指负责处理帧中网络层封包的工作站。 而接收端则是负责将无线电解码为802.11 帧的工作站。如果Address 1 被设为广播或组播地址,则必须同时检查BSSID(基本服务组合识别码)。工作站只会应答来自同一个基本服务组合(basic service set,简称BSS)的广播或组播信息;至于来自其他不同BSS 者则加以忽略。
    2. Address 2 是发送端的地址TA,用来发送应答信息。在某些情况下,发送端即为源地址,但不然如此。源地址是指产生帧中网络层协议封包的工作站;而发送端则是负责将帧发送至无线链路。
    3. Address 3 位则是供基站与传输系统过滤之用,不过该位的用法,取决于所使用的网络类型。
    4. Address 4 一般不使用,只有在WDS(无线分布系统)中才会使用。

    Sequence Control顺序控制字段(2Byte)

    顺序控制位Sequence control由 4 个 bit 的 fragment number(片段编号)位以及 12 个 bit 的 sequence number(顺序编号)位所组成。
    在这里插入图片描述

    1. Sequence Number是每个帧的编号,计算方式是已传帧的计数器取4096 的模(modulo),数值范围是0-4095(2^12 = 4096),以1为步长递增。当帧被分段时,同一帧中不同分段的Sequence Number相同;
    2. Fragment Number是被分段的帧用于标识分段位置顺序的编号,数值范围是0—15,以 1为步长递增。fragment number(片段编号)在上层封包被切割处理时使用,第一个片段的编号为0。其后每个片段依序累加1,方便帧进行重组。所有帧片段都会具有相同的顺序编号,如果是重传帧,则顺序编号不会有任何改变。

    Frame Body(帧主体 0-2312Byte)

    Frame Body 称为数据位,负责在工作站之间传输上层数据(payload)。
    802.11帧最多可以传输2312个bit组的上层数据。
    在这里插入图片描述

    FCS(4Byte)

    1. 发送端对全部MAC包头和Frame Body内容进行CRC计算,计算结果即为FCS (Frame Check Sequence)值,接收端进行同样的计算。结果一致时,则接收端向发送端返回ACK;否则,丢弃帧。
    2. 在802.11网络上,通过完整性检验的帧还需接收端送出应答。例如,接收无误的数据帧必须得到正面应答,否则就必须重传
    3. 对于未能通过FCS检验的帧,802.11并未提供负面应答机制;在重传之前,工作站就必须等候应答超时。

    参考文章

    1. https://zhuanlan.zhihu.com/p/261369609
    2. https://blog.csdn.net/weixin_42353331/article/details/86527421
    3. https://blog.csdn.net/robertsong2004/article/details/42805803?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param
    4. https://www.cnblogs.com/diligenceday/p/7070821.html#_label0
    5. https://www.cnblogs.com/hunaiquan/p/5566534.html

    更新 2020/12/9

    统一MAC帧格式(采自IEEE Std 2016)
    在这里插入图片描述
    标准果然是标准呀!0 or 6,0 or 2…代表不同类型的MAC帧中,这些字段可能存在,也可能不存在。

    Qos Control字段(0 or 2)

    QoS Control字段是一个16位字段(2Byte),用于标识该帧属于TC还是TS,以及关于此帧的其他QoS相关,A-MSDU相关和Mesh相关的信息 (这些信息随帧类型,子类型、发送此帧的STA的类型的变化而变化)。

    Subtype subfield内的QoS subfield等于1的所有数据帧中都存在QoS控制字段

    NOTE1Qos Control字段只可能存在于数据帧中,目前还没遇到例外,如果理解有误,请留言交流。

    NOTE2–在数据帧中,Subtype subfield的最高有效位(MSB,most significant bit)被定义为QoS subfield,因此它占 1 Bit。如下图:
    在这里插入图片描述

    缩略语解释:
    TC:traffic category ,
    TS:

    展开全文
  • 实验03分析数据链路层帧结构 1. 掌握使用Wireshark分析俘获的踪迹文件的基本技能; 2. 深刻理解Ethernet帧结构。 3. 深刻理解IEEE 802.11帧结构。(可选) 4. 掌握帧结构中每一字段的值和它的含义。
  • Ethernet的帧格式

    2016-01-04 11:08:48
    1980 DEC,Intel,Xerox制订了...1983 迫不及待的Novell基于IEEE的802.3的原始版开发了专用的Ethernet帧格式 1985 IEEE推出IEEE 802.3规范 后来为解决EthernetII与802.3帧格式的兼容问题推出折衷的Ethernet SNAP格式
  • 为了实现快速稳定的同步,国标DTMB采用了分级帧结构,它具有周期性,并且与自然时间保持同步。数据帧结构的基本单元为信号帧,信号帧由帧头和帧体两部分组成。超帧定义为一组信号帧。分帧定义为一组超帧。帧结构的...
  • 支持两种不同的无线帧结构,即Type1和Type2帧结构,帧长均为10ms。前者适用于FDD、TDD两种工作模式,后者仅适用于TDD。  Type1帧由20个0.5ms长的时隙构成,两个相邻的时隙组成一个子帧。在TDD模式下,上下行链路分...
  • 图解5G NR帧结构

    2018-12-29 15:09:13
    该文档详细介绍了5G NR帧结构,对正在学习5G技术的通信人有一定的积极作用
  • 一、实验名称 分析数据链路层帧结构 二、实验目的: 1. 掌握使用Wireshark分析俘获的踪迹文件的基本技能; 2. 深刻理解Ethernet帧结构。 3. 深刻理解IEEE 802.11帧结构。(可选) 4. 掌握帧结构中每一字段的值和它的...
  • LoRa PHY帧格式详细介绍

    千次阅读 2021-12-25 15:52:54
    1. LoRa PHY帧格式 2. Preamble部分 2.1可变Preamble部分 2.2 Sync Word部分 2.3 SFD部分 3. Header部分 3.1 Payload数据包长度 3.2 CR因子选择 3.3 PHY中CRC存在控制 3.4 Header数据校验 4. LoRa空口...

    目录

    1. LoRa PHY帧格式

    2. Preamble部分

    2.1 可变Preamble部分

    2.2 Sync Word部分

    2.3 SFD部分

    3. Header部分

    3.1 Payload数据包长度

    3.2 CR因子选择

    3.3 PHY中CRC存在控制

    3.4 Header数据校验

    4. LoRa空口数据包传输时间

    参考文献:


    1. LoRa PHY帧格式

            LoRa物理层的数据包格式,如图 1所示,主要包括前导(Preamble),数据包头(Header),有效载荷(Payload)和循环冗余校验(CRC)四部分组成。

    图 1 LoRa PHY 帧格式

            整个物理层的数据包,根据LoRa调制设定的扩频因子(SF)完成CSS调制。Preamble部分不需要编码而直接采用CSS的调制,而往后的数据都会经过Hamming编码,以提高纠错能力,其中Header部分固定采用CR=4/8的编码格式,Payload和CRC的编码格式由Header中的CR参数确定。

            从图 1中可以看出,数据包的Header和CRC是用虚线表示,这两部分的数据,可以通过寄存器设置进行删除,以节约PHY数据包长度,进而节约无线信号传输时间和所需要的能量。

            PHY帧格式中的Payload部分,有上层协议进行细化,例如LoRaWAN协议会对此部分内容进行详细说明,本报告不进一步说明。而PHY帧格式中的CRC部分为可选内容,通过Header中的CRC存在标志位进行使能,使能后占16bit,否则没有该数据。

            因此LoRa PHY帧格式主要对其Preamble和可选的Header部分内容进行详细说明。


    2. Preamble部分

    2.1 可变Preamble部分

            LoRa PHY数据包的前导主要包括三部分组成:可变前导(variable preamble),帧同步字(Sync Word)和帧起始分隔符(SFD:Start Frame Delimiter)三部分组成,如图 2所示。

     图 2 LoRa PHY Preamble详细格式

            可变前导部分由4至65535个长度的up-chirp符号组成,每个标准的up-chirp符号的频率,如图 4所示,主要提供信号检测、接收机增益设置、频率和采样时间同步等功能,如图 3前三个符号所示。可变前导的数据长度由芯片的寄存器设置。例如芯片SX1278可以通过地址为0x20和0x21的RegPreamble寄存器进行具体长度设置,如图 5所示;SX1268则在LoRa调制器下通过Opcode = 0x8C的SetPacketParams中的PacketParam1 & PacketParam2进行设置,如图 6所示。

     图 3 LoRa PHY前导Chirp波形

    图 4 基带中标准up-chirp信号

     图 5 SX1278系里手册中前导长度设置

    图 6 SX1268系里手册中前导长度设置

    2.2 Sync Word部分

            可变长度前导后,是两个符号宽度的帧同步字(Sync word),可以用来快速识别不同的Lora网络。LoRa芯片会直接丢弃帧同步字内容与预设值不一致的数据包。SX1268芯片中通过地址为0x0740 和0x0741的寄存器设置Sync Word,如图 7所示,其中该芯片设定Sync Word=0x3444为公共网络(Public Network)数据包,而Sync Word=0x1424为私有网络(Private Network)数据包。

    图 7 SX1268系里芯片中Sync Word设置

            而LoRaWAN中规范Sync word=0x34,该数值由SX1278等芯片中地址为0x39的RegSyncWord中的保留设置值,如图 8所示。用户也可以通过修改该寄存器中的内容,修改数据包中的Sync Word。

    图 8 SX1278系里芯片中Sync Word设置

            对比LoRa两代核心芯片后可以发现,新一代以SX1268代表的芯片,可以通过寄存器直接设置物理层包格式中占两个符号宽度的Sync word值。但是前一代以SX1278为代表的芯片,通过寄存器只能设置一个符号值,因此如何由该一个符号设置值,扩展成两个符号宽度的PHY波形中的Sync Word值,是一个待确定的问题。

            由于LoRa底层标准未公开,目前对此部分数据映射,目前没有明确的结论。如果假设SX1278等中Sync Word设置为x:

    1. [2]中提到对应PHY中的两个符号,分别为
    2. [3]中提到对应PHY中的两个符号,分别为
    3. [4]中提到将 的高四bit和低四bit分别映射到两个符号,映射关系如图 9所示。

    图 9 [4]中Figure 2.8提到的Sync Word映射关系

            上述针对SX1278系列芯片中的Sync Word映射关系,还有待后续实验验证。

     2.3 SFD部分

             LoRa规范中PHY数据包中的SFD部分规范比较明确,为占2.25个符号宽度的标准down-chirp信号,如图 3所示,而其中的标准down-chirp信号,如图 10所示。

     图 10 基带中标准down-chirp信号


    3. Header部分

            LoRa PHY数据包分别有两种Header模式:Explicit Header mode和Implicit Header mode,区别在于Explicit模式会在PHY的数据包中包含Header的内容,而Implicit模式的PHY数据包不包含Header的内容。显然Implicit模式将进一步减少无线信号传递的内容,以进一步达到节约传输时间、减少数据包冲突、降低模块运行功耗等目的。此时,通信双方需要预先将Payload数据长度、CR因子,是否存在Payload CRC字段提前进行设置,才能完成通信。

            SX1278系列芯片中Header的两种模式由地址为0x1D的RegModemConfig1寄存器bit0进行配置,如图 11所示;SX1268系列芯片中Header的两种模式通过Opcode = 0x8C的SetPacketParams中的PacketParam3进行设置,如图 12所示。

    图 11 SX1278系列芯片中Header模式选择

    图 12 SX1268系列芯片中Header模式选择

            由于LoRa标准并未公开此部分数据结构,因此根据已有的逆向分析显示[5],[6],如图 13所示。Header包括的内容有:payload数据包长度,CR编码方式,payload后是否包含CRC数据,以及header的内容的CRC,共占2.5Byte长度,也就是20个Bit。需要注意的是,Header部分固定采用CR=4/8的编码方式。

    图 13 LoRa物理层数据包中Header详细格式

     3.1 Payload数据包长度

             Header中的第一个Byte用于表示整个数据包中,后续Payload内容的长度,占了8个bit,因此一包LoRa数据中,后续payload内容最大为255Byte。

            SX1278系列芯片中payload数据包长度由地址为0x22的RegPayloadLength寄存器设置,如图 14所示。SX1268系列芯片中的payload数据包长度由Opcode = 0x8C的SetPacketParams中的PacketParam4进行设置,如图 15所示。

    图14 SX1278系列芯片中Payload数据包长度设置

    图 15 SX1268系列芯片中Payload数据包长度设置

    3.2 CR因子选择

            LoRa标准中定义了四种编码方式,分别将4个bit原始数据,经过编码后变化至5,6,7,8四种长度数据。这四种编码方式的选择,相应的定义在了LoRa Header中数据包长度接下来半个Byte(4个bit)中的三个bit,如图 13所示。

            SX1278系列芯片中CR因子由地址为0x1D的RegModemConfig1寄存器bit3-bit1进行配置,如图 11所示。SX1268系列芯片中的CR因子由Opcode = 0x8B的SetModulationParams中的ModParam3进行设置,如图 16所示。

    图 16 SX1268系列芯片中CR因子设置

    3.3 PHY中CRC存在控制

            LoRa 物理层数据包的CRC是可以选择传输或者不传输的,如图 1所示。该机制的控制,定义在了LoRa Header中数据包长度接下来半个Byte(4个bit)中的其中一个bit,如图 13中Has CRC部分。如果数据包中存在CRC,那么还需要额外再传输2个Byte内容,即16bit原始数据。

            SX1278系列芯片中CRC存在设置由地址为0x1C的RegHopChannel寄存器bit6进行配置,如图 17所示。SX1268系列芯片中的CRC存在设置由Opcode  = 0x8C的SetPacketParams中的ModParam5进行设置,如图 18所示。

    图 17 SX1278系列芯片中CRC存在设置

    图 18 SX1268系列芯片中CRC存在设置

    3.4 Header数据校验

            LoRa Header数据中的最后一个Byte内容为Header数据字段的CRC校验,即前面所述的数据包长度,CR因子和payload后CRC内容是否存在这12bit内容的CRC校验,占最后一个Byte宽度,如图 13中Header Checksum部分所示。


    4. LoRa空口数据包传输时间

            LoRa按照Symbol为单位进行无线传输,而每个symbol的传输时间,有LoRa调制的BW和SF因子有关,详细可以参考:

    LoRa PHY CSS调制分析及Matlab实现_weixin_43270276的博客-CSDN博客_css调制

            因此需要计算确定Payload内容长度后,对应的symbol符号数量,就可以得到具体的空口数据包传输时间。

            LoRa PHY数据帧中,前导部分的长度比较容易确定,主要是因为该部分数据在定义和描述的时候,直接是以symbol作为单位的。此部分数据占的符号数可以表示为:

    其中 对应2.1 可变preamble部分,由相应寄存器直接设定长度,中间的2个symbol长度为sync word部分内容符号数,最后的2.25个symbol为SFD部分内容符号数。

            LoRa PHY传输时,除了前导部分对应的符号 之外,后续至少还要传送8个symbol,同时该规范了后续必须传输的8个Symbol必须采用CR=4,即实现4/8编码,且该8个符号采用SF-2进行CSS符号映射,即Low Data Rate Optimization的方式进行CSS调制。因此,我们可以得到,该8个符号最多能够传输的原始bit数为:

            除了前导是以symbol为单位,LoRa PHY帧结构中其他内容,都是以Byte为单位。经过Header部分的分析,我们可以知道该部分实际占用的数据长度取决于是否使用Header部分,在显性模式(explicit)下,该数据长度为2.5Byte,即20个bit,而在隐性模式(implicit)下,该数据长度为0。因此可以表示为:

            如果LoRa PHY帧结构是否包含CRC,取决于Header中的Has CRC标志位,如果存在,那么此部分占用2个Byte,即16个bit,否则为0。因此可以表示为:

             而数据包中Payload部分数据长度,由Header中的Length决定。此部分数据占用bit数可以表示为:

    其中: 由芯片寄存器设置,体现于Header的Length部分。

            因此,整个芯片传输实际承载的bit数可以表示为:

            上述数据,部分是需要通过前导后的8个强制的symbol传输,因此实际需要再次编码,CSS调制的bit数为:

            显然,在某些极端情况下, 直接计算会小于0,例如 , , ,  ,此时直接计算, 。此种情况代表8个强制的Symbol,编码传输完8个bit的payload数据后,还有剩余的bit,此时LoRa芯片会将多余Symbol补充冗余数据后直接传输。因此,实际需要后续编码传输的原始bit数据为: 

            也就是当 长度超过0时,才需要用到8个强制symbol以外的符号进行传输。

            此部分数据的编码情况,由系统的CR因子决定,也就是将剩余需要额外编码的bit数,每4个bit编码至4+CR个bit。因此,经过编码之后的bit数变为:

             经过编码后的bit,再经过处理后,最终需要根据设定的SF因子,组成symbol。如果没有打开Low Data Rate Optimization功能,那么每SF个bit组成一个Symbol进行CSS调制;如果打开Low Data Rate Optimization功能,那么每SF-2个bit组成一个Symbol进行CSS调制。

            因此,额外需要占用的symbol为:

    其中:

            显然,上式不能被 完全整除,代表额外需要编码的bit数不可能正好是 的整数倍。此时,LoRa芯片将补充为整数个symbol,即对刚刚的结果进行向上取整,因此,最终额外需要占用的符号数可以表示为:

            最终,LoRa数据包空口所占用的符号数为:

    其中的固定数8代表前导后固定需要发送的8个symbol。将其他参数代入后可以得到:

    上述结果与手册中介绍的一致。最终,空口传输所需要的时间可以表示为:

    其中

    ​​​​​​​


    参考文献:

    [1]LoRaWAN 1.0.3, [Online] “https://lora-alliance.org/wp-content/uploads/2020/11/lorawan_regional_parameters_v1.0.3reva_0.pdf”

    [2] O. Seller and N. Sornin, “Low power long range transmitter,”, Eur. Patent 2 763 321, Feb. 5, 2013

    [3] C. Bernier, F. Dehmas and N. Deparis, "Low Complexity LoRa Frame Synchronization for Ultra-Low Power Software-Defined Radios," in IEEE Transactions on Communications, vol. 68, no. 5, pp. 3140-3152, May 2020

    [4] Eigner, H., Interference analysis of LoRaWAN systems, 2021. [Online]. Available: https://repositum.tuwien.at/handle/20.500.12708/16683

    [5] P. Robyns, P. Quax, W. Lamotte, and W. Thenaers, “A multi-channel software decoder for the LoRa modulation scheme,” in Int. Conf. on Internet of Things, Big Data and Security (IoTBDS), Mar. 2018.

    [6] J. Tapparel, “Complete reverse engineering of LoRa PHY,”https://tcl.epfl.ch/resources-and-sw/lora-phy/, Tech. Rep., 2019.

    展开全文
  • 80211帧格式--管理帧、数据帧、控制帧 因为无线数据链路所带来的挑战,MAC被迫采用了许多特殊的功能,其中包括使用四个地址位。并非每个帧都会用到所有的地址位,这些地址位的值,也会因为MAC帧种类的不同而有所...

    80211帧格式--管理帧、数据帧、控制帧

    因为无线数据链路所带来的挑战,MAC被迫采用了许多特殊的功能,其中包括使用四个地址位。并非每个帧都会用到所有的地址位,这些地址位的值,也会因为MAC帧种类的不同而有所差异。为了解决标题中所提到的问题,我们先来看一般的80211 MAC帧格式。

    我们可以看出802.11 MAC帧并未包含以太网帧的某些典型功能,其中最显著的是type/length位以及 preamble(同步信号) 。Preamble属于物理层, 而封装细节(如type与length) 则出现在802.11 帧所携带的标头(header)中。另外我们可以看到,通常一般的80211 MAC 帧的最大长度为2346字节。下面分别来看一下802.11 MAC 帧的不同部分所代表的不同含义。

    Frame Control

    所有帧的开头均是长度两个字节的Frame Control(帧控制)位,Frame Control的组成如图所示。

    Protocol位

    • 协议版本位由两个bit构成,用以显示该帧所使用的MAC版本。目前,802.11 MAC只有 一个版本;它的协议编号为0。未来IEEE如果推出不同于原始规格的MAC版本,才会出现其 他版本的编号。到目前为止,802.11改版尚不需用到新的协议编号,所以一般该位默认都是0。

    Type 与 Subtype位

    • 类型与子类型位用来指定所使用的帧类型。为了抵抗噪声与提升可靠性,802.11 MAC内 建了一些管理功能,如RTS/CTS与ACK。 下表显示了type与subtype位跟帧类型的对应关系。

    • Type位含有两个bit,不同的值代表了不同的帧类型,即当前帧是属于数据帧、管理帧还是控制帧。

    Type 值

    帧类型

    00

    管理帧

    01

    控制帧

    10

    数据帧

    11

    保留

    TO DS 与 From DSbit

    这两个bit用来指示帧的目的地是否为传输系统。在基础网络里,每个帧都会设定其中一个 DS bit。下表为不同的设定值的含义。

    More fragments bit

    此bit的功能类似IP的More fragmentsbit。若较上层的封包经过MAC分段处理,除最后一个片段外,其他片段均会将此bit设定为1。以此来判定帧是否传输完成,然后再将这些帧片段重新组合成原来的帧。大型的数据帧以及某些管理帧可能需要加以分段;除此之外的其他帧则会将此bit设定为0。实际上,大多数数据帧均会以最大的以太网长度进行传送,不过帧分段并不常用。

    Retry bit

    有时候可能需要重传帧。任何重传的帧会将此bit设定为1,以协助接收端剔除重复的帧。

    Power management bit

    802.11网卡通常以PC Card的型式出现,主要用于以电池供电的膝上型或手持式电脑。为了提高电池的使用时间,通常可以关闭网卡以节省电力。此bit用来指出传送端在完成目前的基本帧交换之后是否进入省电模式。1代表工作站即将进入省电模式,而0则代表工作站会一直保持在清醒状态。基站必须行使一系列重要的管理功能,所以不允许进入省电模式,因此基站所传送的帧中,此bit必然为0。

    More data bit

    为了服务处于省电模式的工作站,基站会将这些由“传输系统”接收而来的帧加以暂存。 基站如果设定此bit,即代表至少有一个帧待传给休眠中的工作站。

    Protected Frame bit

    相对于有线网络,无线传输本质上就比较容易遭受拦截。如果帧受到链路层安全协议的保护,此bit会被设定为1,而且该帧会略有不同。之前,Protected Frame bit被称为WEP bit。

    Orderbit

    帧与帧片段可依序传送,不过发送端与接收端的MAC必须付出额外的代价。一旦进行“严格依序”传送,此bit被设定为1。

    Duration/ID 位

    Duration/ID位紧跟在frame control位之后。此位有许多功能,一般有一下三种可能的形式。

    1. Duration:设定NAV

    当第15个bit被设定为0时,Duration/ID位就会被用来设定NAV。此数值代表目前所进行的传输预计使用介质多少微秒。工作站必须监视所收到的任何帧头,并据以更新NAV。任何超出预计使用介质时间的数值均会更新NAV,同时阻止其他工作站访问介质。

    1. 免竞争期间所传送的帧

    在免竞争期间(contention-free period,简称CFP),第14个bit为0而第15个bit为1。 其他所有bit均为0,因此duration/ID位的值为32768。这个数值被解读为NAV。它让没有收到Beacon(信标)帧的任何工作站,得以公告免竞争期间,以便将NAV更新为适当的数值,避免干扰到免竞争传输。

    1. PS-Poll帧

    在PS-Poll(省电模式-轮询)帧中,第14与第15个bit会被同时设定为1。移动式工作站可以关闭天线以达到省电目的。休眠中的工作站必须定期醒来。为确保不致丢失任何帧,从休眠状态醒来的工作站必须送出一个PS-Poll帧,以便从基站取得之前暂存的任何帧。此外,醒来的工作站会在PS-Poll帧中加入连接识别码(association ID,简称AID),以显示其所隶属的 BSS。AID包含在PS-Poll帧中,其值介于1-2,007。而介于2,008-16,383的值目前保留并未使用。

    Address 位

    一个802.11帧最多可以包含四个地址位。这些位地址位均经过编号,因为随着帧类型不同,这些位的作用也有所差异。一般来讲,Address 1代表接收端,Address 2代表传送端,Address 3位被接收端拿来过虑地址。举例而言,在基础网络里,第三个地址位会被接收端用来判定该帧是否属于其所连接网络。具体来讲,address有一下四个用途:

    • 目的地址:和以太网一样,目的地址(Destination address)是长度48个bit的IEEE MAC识别码,代表最后的接收端,亦即负责将帧交付上层协议处理的工作站。

    • 源地址 :此为长度48个bit的IEEE MAC识别码,代表传输的来源。每个帧只能来自单一工作站,因此Individual/Group bit必然为0,代表来源地址(Source address)为单一工作站。

    • 接收端地址 :此为长度48个bit的IEEE MAC识别码,代表负责处理该帧的无线工作站。如果是无线工作站,接收端地址即为目的地址。如果帧的目的地址是与基站相连的以太网结点,接收端即为基站的无线界面,而目的地址可能是连接到以太网的一部路由器。

    • 传送端地址:此为长度48个bit的IEEE MAC识别码,代表将帧传送至无线介质的无线界面。传送端地址通常只用于无线桥接。

    Seq-ctl

    此位的长度为16个bit,用来重组帧片段以及丢弃重复帧。它由4个bit的fragment number(片段编号)位以及12个bit的sequence number(顺序编号)位所组成。控制帧未使用顺序编号,因此并无sequence control位 。

    当上层帧交付MAC传送时,会被赋予一个sequence number(顺序编号)。此位的作用,相当于已传帧的计数器取4096的模(modulo)。此计数器由0起算,MAC每处理一个上层封包就会累加1。如果上层封包被切割处理,所有帧片段都会具有相同的顺序编号。 如果时重传帧,则顺序编号不会有任何改变。帧片段之间的差异在于fragment number(片段编号)。第一个片段的编号为0。其后每个片段依序累加1。重传的片段会保有原来的sequence number协助重组。具备QoS延伸功能的工作站对sequence control位的解读稍有不同,因为这类工作站必须同时维护多组传送队列。

    Frame Body

    帧主体(Frame Boby)亦称为数据位,负责在工作站间传送上层数据(payload)。在最初制定的规格中,802.11帧最多可以传送2304个bit组的上层数据。(实际上必须能够容纳更多的数据,以便将安全性与QoS相关标头纳入)802.2 LLC标头具有8个bit组,最多可以传送 2296个bit组的网络协议数据。防止分段必须在协议层加以处理。在IP网络中,Path MTU Discovery(路径最大传输单位查询;RFC1191)将可避免大于1500个bit组的帧传递。 802.11与其他链路层技术不同之处,表现在两个比较显著的方面。首先,在802.11帧中并 无任何上层协议的标记可供区别。上层协议是以额外标头type位加以标记,同时将其作为802.11所承载数据的开始。其次,802.11通常不会将帧填补至最小长度。802.11所使用的帧并不大,随着芯片与电子技术的进展,目前已经没有填补的必要。

    FCS(帧校验序列)

    和以太网一样,802.11帧也是以帧检验序列(frame check sequence,简称FCS)作为结束。FCS通常被视为循环冗余码(cyclic redundancy check,简称CRC),因为底层的数学运算 相同。FCS让工作站得以检查所收到的帧的完整性。FCS的计算范围涵盖MAC标头里所有位以及帧主体。虽然802.3与802.11计算FCS的方法相同,不过802.11所使用的MAC标头与 802.3的不同,因此基站必须重新计算FCS。当帧送至无线界面时,会先计算FCS,然后再由RF或IR链路传送出去。接收端随后会为所收到的帧计算FCS,然后与记录在帧中的FCS做比较。如果两者相符,该帧极有可能在传输过程中并未受损。在以太网上,如果帧的FCS有误,则随即予以丢弃,否则就会传送给上层协议处理。在802.11网络上,通过完整性检验的帧还需接收端送出应答。例如,接收无误的数据帧必须得到正面应答,否则就必须重传。对于未能通过FCS检验的帧,802.11并未提供负面应答机制;在重传之前,工作站就必须等候应答超时。

    802.11对上层协议的封装

    和所有其他的802链路层一样,802.11可以传输各种不同的网络层协议。和以太网不同的是,802.11是以802.2的逻辑链路控制封装来携带上层协议。图3-13显示了如何以802.2LLC 封装来携带IP封包。如该图所示,802.1H与RFC 1042所使用的『MAC标头』长度为12个 bit组,其内容为以太网上的『源MAC地址』与『目的MAC地址』,或者前面所提到的长标头 (long 802.11MAC header)。

    传输时,用来封装LLC数据的方式有两种。其中一种是RFC 1042所描述的方式,另外一种则是802.1H所规范的方式。两种标准各自有其别名。RFC 1042有时候被称为IETF封装,而802.1H有时候则被称为隧道式封装(tunnel encapsulation)。这两种方式极为相似。

    RFC 1042与802.1H均衍生自802.2的子网络访问协议(sub-network access protocol,简称SNAP)。MAC地址会被复制到封装帧(encapsulation frame)的开头,然后插入SNAP 标头。SNAP标头一开始是目的服务访问点(destination service access point,简称DSAP)与源服务访问点(source service access point,简称SSAP)。然后是一个控制位。和高阶数据链路控制(high-level data link control,简称HDLC)及其衍生协议一样,此控制位会被设定为0x03,代表未编号信息(unnumbered information,简称UI),对应到IP datagram所谓的尽力传送(best-effert delivery)范畴。SNAP所置入的最后一个位是组织代码(organizationally unique identifier,简称OUI)。起初,IEEE希望用一个bit组的服务访问点(service access point)来 涵盖网络协议编号,不过后来证明这种看法过于乐观。因此,SNAP只得从原来的以太网帧复制一份类型代码(type code)。802.11H与RFC 1042之间的唯一差异,在于其使用的OUI。

    有些产品可以让使用者在两种封装标准间进行切换,虽然这种功能并不常见。以Microsoft 操作系统而言,AppleTalk与IPX协议组预设使用802.1H,其他协议则使用RFC 1042。目前大部分基站均依循Microsoft的做法,不再提供封装方式的切换选项。事实上,由于Microsoft 所采用的封装方式得到广泛的支持,因此Wi-Fi联盟的认证测试计划亦将它包含在内。

    参考:《802.11 无线权威指南》

    展开全文
  • UART的帧格式详细资料讲解
  • 在介绍Modbus RTU数据帧格式之前,首先让我们先了解一下Modbus的通讯模式。 Modbus通讯模式 Modbus协议是典型的主-从通讯结构,链路中只能有一台主设备,可以有多台从设备。主设备向从设备发送请求指令,从设备对...
  • HDLC帧格式

    千次阅读 2020-06-18 14:36:41
    DLMS通信链路帧基本采用HDLC帧格式,HDLC除几个特殊域,其他域均为16进制数据,这章我主要分享什么是HDLC帧格式 如图一则为基本的HDLC帧格式: 图一 接下来的每个帧的解释我将按照一次标准报文应答进行解释HDLC...
  • 以太网帧结构

    2022-05-16 14:49:28
    以太网帧结构 以太网根据IEEE 802.3标准来管理和控制数据帧 以太网使用两种标准帧格式 一 DIX v2 格式,即ethernet Ⅱ帧格式 包中含有一个type字段,type字段大于等于1536,十六进制0x0600 二 IEEE 802.3格式 type...
  • 概述 本文章主要讲下蓝牙RFCOMM协议(bluetooth rfcomm)的帧格式,包括Address,Control,Length Indicator,Information,FCS等 一. 声明 本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下: 第一篇:...
  • 湘潭大学网络协议TCP/IP实验一, 以太网链路层帧格式分析实验报告,仅供参考
  • IEEE802.11系列标准定义了WLAN无线网络数据帧的帧结构,和基本的物理层、MAC层通信标准。与802.3定义的以太网数据帧格式及通信方式不同,802.11定义的WLAN无线局域网由于通信介质和通信质量的问题,不能直接采用802....
  • 802.1x认证过程及EAPOL帧格式详细叙述了802.1x认证的过程,通过抓取网络上的报来分析EAPOL帧的格式,相比较枯燥的文字更能直观的理解,有助于对802.1x和EAPOL的学习
  • LTE帧结构

    千次阅读 2021-09-23 10:53:13
    LTE的帧结构与LTE的双工模式密切相关,分为: (1)FDD帧结构: 无线帧结构1 (2) TDD帧结构:无线帧结构2 LTE-FDD 上行:10ms内的每个1s子帧都传递上行数据。 下行:10ms内的每个1s子帧都传递下行数据。(即相邻两...
  • 【计算机网络学习笔记07】以太网帧结构、HDLC协议 一、以太网帧结构 1.1 两种帧格式 1)Ethernet_II帧格式 2)IEEE802.3帧格式 1.2 帧的3种发送方式 1)单播: 帧从单一的源端发送到单一的目的端。 在冲突域中,...
  • Frame Control中有Protocol, Type, Subtype,Order等。Protocol用作兼容性,Order用来表示是否支持QoS。 Duration/ID指明包持续的时间。用来NAV的设定。 Address用来寻址。 ...Sequence Control包含Sequence Number等...
  • 以太网帧格式、IP数据报格式、TCP段格式+UDP段格式 详解
  • 车载以太网帧结构

    2021-03-09 14:33:59
    常见有两种帧格式,第一种是上世纪80年代初提出的DIX v2格式,即Ethernet II帧格式。Ethernet II后来被IEEE802标准接纳,并写进了IEEE802.3x-1997的3.2.6节。 第二种是1983年提出的IEEE802.3格
  • LTE两种帧结构

    千次阅读 2020-12-01 14:54:48
    LTE支持两种双工模式:TDD和FDD,于是LTE定义了两种帧结构:TDD帧结构和FDD帧结构。LTE标准制定之初就充分考虑了TDD和FDD双工方式在实现中的异同,增大两者共同点、减少两者差异点。两种帧结构设计的差别,会导致...
  • GSM无线帧格式 2. WCDMA无线帧格式 3. LTE无线帧格式 4. NR系统无线帧格式 最近学习通信原理,从通信原理到无线通信原理,从2G的GSM系统到5G的NR系统,准备做一个系列文档整理2G到5G系统的演进。每一代通信的特点...
  • 讲述5G NewRadio的帧结构构成,帧结构的Option,速率影响因素等,UE峰值速率及小区吞吐量
  • 初识Ethernet II帧格式

    千次阅读 2021-09-27 20:45:56
    常见的有三种帧格式:Ethernet II 帧是最常见的帧类型,并通常直接被 IP 协议使用;非标准 IEEE 802.3 帧变种;IEEE 802.3帧(后跟逻辑链路控制(LLC) 帧)。本文仅谈对Ethernet II 帧的初步认知。 Ethernet II ...
  • 文章目录1 SOME/IP 消息的布局 传送门 ==>> AutoSAR实战系列300讲「糖果...这一篇我们研究一下SOME/IP 消息报文的帧格式是什么?我们要按照这个格式才能让发送和接收的双方心领神会,知道对方说了什么? 先看代
  • 1 Classic CAN标准帧结构 1.1 SOF 1.2 Arbitration field仲裁段 1.3 Control field控制段 1.4 Data field数据段 1.5 CRC field 1.6 ACK field 1.7 EOF 2 Classic CAN扩展帧结构 2.1 与Classic CAN标准...
  • 5G培训课件-帧结构和物理资源v1.01.pdf5G培训课件-帧结构和物理资源v1.01.pdf5G培训课件-帧结构和物理资源v1.01.pdf5G培训课件-帧结构和物理资源v1.01.pdf5G培训课件-帧结构和物理资源v1.01.pdf

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 368,814
精华内容 147,525
关键字:

帧结构

友情链接: FlingGallery.zip