CN108123775A - 传输数据包的方法和设备 - Google Patents

传输数据包的方法和设备 Download PDF

Info

Publication number
CN108123775A
CN108123775A CN201611073991.1A CN201611073991A CN108123775A CN 108123775 A CN108123775 A CN 108123775A CN 201611073991 A CN201611073991 A CN 201611073991A CN 108123775 A CN108123775 A CN 108123775A
Authority
CN
China
Prior art keywords
information unit
separator
length
field
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201611073991.1A
Other languages
English (en)
Other versions
CN108123775B (zh
Inventor
于健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201611073991.1A priority Critical patent/CN108123775B/zh
Priority to EP17877108.5A priority patent/EP3537641B1/en
Priority to PCT/CN2017/108021 priority patent/WO2018099221A1/zh
Publication of CN108123775A publication Critical patent/CN108123775A/zh
Priority to US16/423,191 priority patent/US10904121B2/en
Application granted granted Critical
Publication of CN108123775B publication Critical patent/CN108123775B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0847Transmission error
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0006Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
    • H04L1/0007Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0079Formats for control data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

本申请公开了一种传输数据包的方法、接收设备和发送设备,该方法包括:接收设备接收数据包,该数据包包括至少一对分隔符和信息单元,该分隔符用于分隔相邻的两个信息单元,该分隔符包括循环冗余码字段和信息单元类型字段,在每一对分隔符和信息单元中,信息单元类型字段用于指示信息单元的类型,一种类型的信息单元唯一对应一个信息单元的长度;接收设备根据该循环冗余码字段和该信息单元类型字段,解析该信息单元。本申请提供的传输数据包的方法,采用了更为简洁的分隔符的格式,在完成分隔符作用的前提下,减小了分隔符的开销,节省了资源,提升了传输效率,降低了接收设备的复杂度。

Description

传输数据包的方法和设备
技术领域
本申请涉及通信技术领域,并且更具体地,涉及一种传输数据包的方法和设备。
背景技术
在通信领域中,接入点(Access Point,简称为“AP”)和站点(Station,简称为“STA”)通过媒体接入控制(Medium Access Control,简称为“MAC”)协议数据单元(MACProtocol Data Unit,简称为“MPDU”)或简称MAC帧进行数据、控制信息和管理信息的交互。
在802.11ac标准中,为了提高系统MAC层的效率,引入了聚合媒体接入控制协议数据单元(Aggregate MPDU,简称为“A-MPDU”),即将多个MPDU聚合在一起,通过一个数据分组发出,而不需要发送多个数据分组分别发送,在物理层协议数据单元(Physics ProtocolData Unit,简称为“PPDU”)的数据字段承载A-MPDU,其中A-MPDU中承载着多个A-MPDU子帧,而在每个A-MPDU子帧中,分为MPDU分隔符(delimiter)、MPDU、以及填充部分,通过MPDU分隔符对多个聚合的MPDU进行分隔。
在新的一代唤醒无线电(Wake up Radio)工作组中,其核心思想是接收端设备(如STA)除包含传统802.11收发端的802.11主收发模块(802.11 main radio,简称为“MR”,)外,新增低功耗唤醒接收机(Wake up Receiver,简称为“WUR”)部分。当802.11主收发模块进入深度休眠后,低功耗的WUR苏醒开始工作。通过AP给WUR发送唤醒数据包(Wake UpPacket,简称为“WUP”),WUR唤醒802.11主收发模块,AP再与802.11主收发模块进行通信。这样能够有效降低设备在空闲侦(idle listening)听中的能耗。由于WUP通常较短,其信息比特传输的时间较长,需要用分隔符对信息进行分隔。由于MPDU分隔符较长,开销较大,用于WUP中会导致传输效率低下。
在物联网中,比如传感器相关的一些低速场景及应用中,其数据分组速率较低,数据字段携带的数据通常较少,只有几个字节到几十个字节,使用MPDU分隔符也会导致开销较大,影响传输效率。
发明内容
本申请提供了一种传输数据包的方法和设备,能够在实现分隔符作用的前提下,减小分隔符带来的开销,降低接收设备的复杂度,提高传输效率。
第一方面,提供了一种传输数据包的方法,该方法包括:接收设备接收数据包,该数据包包括至少一对分隔符和信息单元,该分隔符用于分隔相邻的两个信息单元,该分隔符包括循环冗余码字段和信息单元类型字段,在每一对分隔符和信息单元中,信息单元类型字段用于指示信息单元的类型,一种类型的信息单元唯一对应一个信息单元的长度;接收设备根据该循环冗余码字段和该信息单元类型字段,解析该信息单元。
第一方面提供的传输数据包的方法,采用了更为简洁的分隔符的格式,在完成分隔符作用的前提下,减小了分隔符的开销,节省了资源,提升了传输效率,降低了接收设备的复杂度。
在第一方面的一种可能的实现方式中,接收设备根据该循环冗余码字段和该信息单元类型字段,解析该信息单元,包括:确定该数据包中通过循环冗余码字段校验的第一分隔符;根据与该第一分隔符中该信息单元类型字段对应的第一信息单元的类型,确定该第一信息单元的长度;根据该第一信息单元的类型和该第一信息单元的长度,解析该第一信息单元。
在第一方面的一种可能的实现方式中,接收设备根据该循环冗余码字段和该信息单元类型字段,解析该信息单元,包括:确定该数据包中没有通过循环冗余码字段校验的第一分隔符,该第一分隔符的长度为Z比特;通过滑动窗口依次向后提取该数据包中长度为Z比特的内容,确定该数据包中与该第一分隔符相邻并且通过该循环冗余码字段校验的第二分隔符;提取该第一分隔符和该第二分隔符之间的第一信息单元;根据该第一信息单元的长度,确定该第一信息单元的类型,或根据该第一信息单元的长度以及该第一信息单元中用于指示该第一信息单元类型的子类型字段,确定该第一信息单元的类型;根据该第一信息单元的类型和该第一信息单元的长度,解析该第一信息单元。
在第一方面的另一种可能的实现方式中,在接收设备接收的该数据包中,该分隔符还包括长度字段,在每一对分隔符和信息单元中,该长度字段用于指示该信息单元的长度,接收设备根据该循环冗余码字段和该信息单元类型字段,解析该信息单元,包括:接收设备根据该信息单元类型字段和该长度字段中的至少一个,以及该循环冗余码字段,解析该信息单元。该实现方式提供的传输数据包的方法,采用了更为简洁的分隔符的格式,并且在分隔符中加入了用于指示信息单元的长度的长度字段,可以增强分隔符的鲁棒性,减少接收设备复杂度,增强了分隔符的可恢复性,减小了分隔符的开销,提升了传输效率。
在第一方面的一种可能的实现方式中,接收设备根据该信息单元类型字段和该长度字段中的至少一个,以及该循环冗余码字段,解析该信息单元,包括:确定该数据包中通过循环冗余码字段校验的第一分隔符;根据与该第一分隔符中信息单元类型字段对应的信息单元的长度和该第一分隔符中该长度字段指示的信息单元的长度中的任意一个,提取第一信息单元;根据该第一信息单元的长度和该第一分隔符中该信息单元类型字段指示的该第一信息单元的类型,解析该第一信息单元。
在第一方面的一种可能的实现方式中,接收设备根据该信息单元类型字段和该长度字段中的至少一个,以及该循环冗余码字段,解析该信息单元,包括:确定该分隔符中没有通过循环冗余码字段校验的第一分隔符,该第一分隔符的长度为R比特;当与该第一分隔符中该信息单元类型字段对应的信息单元的长度和该第一分隔符中该长度字段指示的信息单元的长度对应时,根据与该第一分隔符中该信息单元类型字段对应的信息单元的长度,或者该第一分隔符中该长度字段指示的信息单元的长度,提取信息单元,并对提取的信息单元做帧校验序列验证;当与该第一分隔符中该信息单元类型字段对应的信息单元的长度和该第一分隔符中该长度字段指示的信息单元的长度不对应时,根据与该第一分隔符中该信息单元类型字段对应的信息单元的长度和该第一分隔符中该长度字段指示的信息单元的长度分别提取信息单元,并对提取的信息单元分别做帧校验序列验证;根据帧校验序列验证结果,解析该信息单元。
在第一方面的一种可能的实现方式中,接收设备根据帧校验序列验证结果,解析该信息单元,包括:确定通过该帧校验序列验证的信息单元;将通过验证的信息单元中的任意一个信息单元确定为第一信息单元,根据该第一信息单元的长度,确定该第一信息单元的类型,或者根据该第一信息单元的长度以及该第一信息单元中用于指示该第一信息单元类型的子类型字段,确定该第一信息单元的类型;根据该第一信息单元的类型和该第一信息单元的长度,解析该第一信息单元。
在第一方面的一种可能的实现方式中,接收设备根据帧校验序列验证结果,解析该信息单元,包括:确定该信息单元都没有通过该帧校验序列验证;通过滑动窗口依次向后提取该数据包中长度为R比特的内容,确定该数据包中与该第一分隔符相邻并且通过该循环冗余码字段校验的第二分隔符;提取该第一分隔符和该第二分隔符中之间的第一信息单元;根据该第一信息单元的长度,确定该第一信息单元的类型,或者根据该第一信息单元的长度以及该第一信息单元中用于指示该第一信息单元类型的子类型字段,确定该第一信息单元的类型;根据该第一信息单元的类型和该第一信息单元的长度,解析该第一信息单元。
第二方面,提供了一种传输数据包的方法,该方法包括:发送设备生成数据包,该数据包包括至少一对分隔符和信息单元,该分隔符用于分隔相邻的两个该信息单元,该分隔符包括循环冗余码字段和信息单元类型字段,在每一对分隔符和信息单元中,信息单元类型字段用于指示信息单元的类型,一种类型的信息单元唯一对应一个信息单元的长度;发送设备发送该数据包。
第二方面提供的传输数据包的方法,采用了更为简洁的分隔符的格式,在完成分隔符作用的前提下,减小了分隔符的开销,节省了资源,提升了传输效率,降低了接收设备的复杂度。
在第二方面的一种可能的实现方式中,在发送设备生成的该数据包中,该分隔符还包括长度字段,在每一对分隔符和信息单元中,该长度字段用于指示该信息单元的长度。
在第二方面的另一种可能的实现方式中,在发送设备生成的该数据包中,当一个信息单元的长度对应着至少两种类型的信息单元时,该信息单元还包括用于指示该信息单元类型的子类型字段。
第三方面,提供了一种传输数据包的方法,该方法包括:接收设备接收数据包,该数据包包括至少一对分隔符和信息单元,该分隔符用于分隔相邻的两个该信息单元,该分隔符只包括循环冗余码字段;接收设备根据该循环冗余码字段,解析该信息单元。
在第三方面的一种可能的实现方式中,接收设备根据该循环冗余码字段,解析该信息单元,包括:确定该分隔符中通过循环冗余码字段校验的连续两个分隔符;解析该连续两个分隔符之间的信息单元的内容。
在第三方面的一种可能的实现方式中,确定该分隔符中通过循环冗余码字段校验的连续两个分隔符,包括:确定该分隔符中通过该循环冗余码字段校验的第一分隔符;通过滑动窗口依次向后提取该数据包中固定长度的内容;确定该数据包中与该第一分隔符相邻并且通过该循环冗余码字段校验的第二分隔符。
第四方面,提供了一种传输数据包的方法,该方法包括:发送设备生成数据包,该数据包包括至少一对分隔符和信息单元,该分隔符用于分隔相邻的两个该信息单元,该分隔符只包括循环冗余码字段;发送设备发送该数据包。
第五方面,提供了一种接收设备,该接收设备包括收发器和处理器,用于实现上述方面中接收设备行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,硬件或软件包括一个或者多个与上述功能相对应的模块。该接收设备还可以包括存储器。
第六方面,提供了一种接收设备,包括收发模块和处理模块,用于支持接收设备执行上述方法中相应的功能。该接收设备还可以包括存储模块。
第七方面,提供了一种发送设备,包括处理器和收发器,用于实现上述方面中发送设备行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,硬件或软件包括一个或者多个与上述功能相对应的模块。该发送设备还可以包括存储器。
第八方面,提供了一种发送设备,包括处理模块和收发模块,用于支持发送设备执行上述方法中相应的功能。该发送设备还可以包括存储模块。
第九方面,提供了一种计算机可读介质,用于存储计算机程序,所述计算机程序包括用于执行上述第一方面或第一方面的任一种可能的实现方式,第三方面或第三方面的任一种可能的实现方式中的方法的指令。
第十方面,提供了一种计算机可读介质,用于存储计算机程序,所述计算机程序包括用于执行上述第二方面或第二方面的任一种可能的实现方式,第四方面或第四方面的任一种可能的实现方式中的方法的指令。
附图说明
图1是WLAN的典型的应用场景示意图。
图2a是现有的数据包的格式的示意图。
图2b是现有的MPDU分隔符的格式的示意图。
图3是本发明一个实施例的传输数据包的方法的示意性流程图。
图4是本发明一个实施例的数据包和分隔符格式的示意图。
图5是本发明另一个实施例的数据包和分隔符格式的示意图。
图6是本发明另一个实施例的传输数据包的方法的示意性流程图。
图7是本发明又一个实施例的数据包和分隔符的格式的示意图。
图8是本发明又一个实施例的数据包和分隔符的格式的示意图。
图9是本发明一个实施例的接收设备的示意性框图。
图10是本发明另一个实施例的接收设备的示意性框图。
图11是本发明一个实施例的接收设备的示意性框图。
图12是本发明另一个实施例的接收设备的示意性框图。
图13是本发明一个实施例的发送设备的示意性框图。
图14是本发明另一个实施例的发送设备的示意性框图。
图15是本发明一个实施例的发送设备的示意性框图。
图16是本发明另一个实施例的发送设备的示意性框图。
具体实施方式
下面将结合附图,对本发明实施例中的技术方案进行描述。
应理解,本发明实施例的传输信息的方法可以应用于各种通信系统,例如:全球移动通讯(Global System of Mobile communication,简称为“GSM”)系统、码分多址(CodeDivision Multiple Access,简称为“CDMA”)系统、宽带码分多址(Wideband CodeDivision Multiple Access,简称为“WCDMA”)系统、通用分组无线业务(General PacketRadio Service,简称为“GPRS”)、长期演进(Long Term Evolution,简称为“LTE”)系统、LTE频分双工(Frequency Division Duplex,简称为“FDD”)系统、无线局域网(Wireless LocalArea Network,简称为“WLAN”)系统、LTE时分双工(Time Division Duplex,简称为“TDD”)、通用移动通信系统(Universal Mobile Telecommunication System,简称为“UMTS”)或全球互联微波接入(Worldwide Interoperability for Microwave Access,简称为“WiMAX”)通信系统等。
本发明实施例仅以WLAN系统为例进行说明,但本发明实施例并不限于此。根据本发明实施例的方法和设备还可以应用于其它通信系统;类似地,本发明实施例也仅以WLAN系统中的AP和STA为例进行说明,但本发明并不限于此,根据本发明实施例的方法和设备还可以应用于其它通信系统中的基站和用户设备。
例如,基站可以是GSM或CDMA中的基站(Base Transceiver Station,简称为“BTS”),也可以是WCDMA中的基站(NodeB,简称为“NB”),还可以是LTE中的演进型基站(Evolved Node B,简称为“ENB或e-NodeB”),本发明实施在此并不限定。
又例如,该用户设备(User Equipment,简称为“UE”)可称之为终端(Terminal)、移动台(Mobile Station,简称为“MS”)或移动终端(Mobile Terminal)等,该用户设备可以经无线接入网(Radio Access Network,简称为“RAN”)与一个或多个核心网进行通信,例如,用户设备可以是移动电话(或称为“蜂窝”电话)或具有移动终端的计算机等,例如,用户设备还可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动设备,它们与无线接入网交换语音和/或数据。
图1示出了本发明实施例的一种应用场景的示意图,如图1所示,本发明实施例对收发两端没有限制,可以是点对点之间的通信,也可以是点对多点或者多点对点之间的通信。本发明实施例的传输数据包的方法可以应用在AP与AP之间,或者STA与STA之间,或者AP与STA之间。即AP可以是接收设备,也可以是发送设备,同样,STA可以是接收设备,也可以是发送设备。例如AP1与STA1之间、AP1与STA2之间、STA1与STA2之间、AP1与AP2之间进行通信时,都可以应用本发明实施的传输数据包的方法。
应理解,本发明实施例仅以图1所示的应用场景为例进行说明,但本发明并不限于此,例如,该系统可以包括更多的AP和STA。
图2a为802.11ac标准中数据包格式的示意图,图2b为802.11ac系统中的MPDU分隔符格式的示意图。如图2a所示,在802.11ac标准中,A-MPDU承载着多个A-MPDU子帧以及结束帧填充(EOF pad),例如A-MPDU子帧1、A-MPDU子帧2、…A-MPDU子帧n等。A-MPDU子帧通常可以为可变长的,结束帧填充通常为0-3个字节。在每个A-MPDU子帧中,分为MPDU分隔符(delimiter)、MPDU以及填充部分。通过MPDU分隔符对多个聚合的MPDU进行分隔。通常,MPDU分隔符长度为4字节,MPDU长度为可变的,填充部分的长度为0-3字节。
如图2b所示,在802.11ac系统中的MPDU分隔符,总共4个字节,MPDU分隔符包括结束帧(End of frame,简称为“EOF”)字段、MPDU长度字段、分隔符签名(DelimiterSignature)字段、循环冗余码(Cyclic Redundancy Code,简称为“CRC”)字段和保留位(Reserved)字段。其中结束帧字段用于指示该MPDU是否是最后一个MPDU,一般为1比特。MPDU长度字段用于指示紧跟的MPDU的字节数,一般为14比特。分隔符签名字段为具有一定特征的序列,一般为8比特,用来帮助接收端搜索分隔符,即使接收端解错了一个分隔符,仍然可以通过搜索下一个分隔符签名来找到下一个MDPU,这样防止放生错误扩散。循环冗余码字段保护整个分隔符的前16比特,用来帮助接收端检测分隔符是否发生错误,一般为8比特。保留位字段一般为1比特。此外,按照4字节的滑动窗口,每4字节来检测CRC是否通过,也可以用于寻找下一个分隔符。通过寻找下一个分隔符,即使某一个分隔符发生错误,接收设备依然可以通过寻找下一个分隔符,然后将下一个分隔符同当前错误的分隔符之间的数据认定为一个MPDU,来读取该MPDU。
目前还存在着其他格式分隔符,例如分隔符包括MPDU长度和CRC,或者MPDU长度和CRC的其他组合。而在物联网中,比如在一些低速的应用场景和应用中,以及在唤醒无线电工作组中,还是利用现有的分隔符来完成对信息的分隔,这样会造成分隔符的开销很大,占用的资源多,使得接收设备较为复杂。
为解决上述问题,本发明实施例提供了一种传输数据包的方法。图3示出了本发明实施例的传输数据包的方法100的示意性流程图。该方法100可以应用于图1中的场景,当然,也可以应用于其他通信场景,例如,可以是某些信令字段中存在分隔符和信息单元的结构,本发明实施例并不对此进行限定。该方法100包括:
S110,发送设备生成数据包,该数据包包括至少一对分隔符和信息单元,分隔符用于分隔相邻的两个信息单元,该分隔符包括循环冗余码字段和信息单元类型字段。在每一对分隔符和信息单元中,信息单元类型字段用于指示信息单元的类型,一种类型的信息单元唯一对应一个信息单元的长度。
S120,发送设备发送该数据包。相应的,接收设备接收该数据包,具体而言,发送设备向接收设备发送该数据包。接收设备接收该发送设备发送的该数据包。
S130,该接收设备根据该循环冗余码和该信息单元类型字段解析该数据包中的信息单元的内容。
因此,本发明实施例的传输数据包的方法采用了更为简洁的分隔符的格式,在完成分隔符作用的前提下,减小了分隔符的开销,节省了资源,提升了传输效率,降低了接收设备的复杂度。
应理解,在本发明实施例中,帧校验序列(Frame Check Sequence,简称为“FCS”)也是一种CRC。因为该CRC是用来检测MAC帧的,所以又被称为FCS。一般用来校验整个MAC帧的叫做FCS,校验信令字段或者分隔符等字段的叫做CRC。因此,在本发明实施例中,帧校验序列和循环冗余码可以互换,即分隔符也可以包括循环帧校验序列字段和信息单元类型字段,本发明实施例在此不做限制。
还应理解,在本发明的实施例中,分隔符除了包括循环冗余码字段和信息单元类型字段,还可以包括结束帧、保留位、站点或者接入点的标识信息等中的任意一个或者多个,本发明实施例在此不做限制。
可选的,图4是本发明一个实施例的数据包和分隔符格式的示意图,该数据包包括一个传统前导码(Legacy Preamble,简称为“L-Preamble”)、一个唤醒前导码(Wake-upPreamble,简称为“W-Preamble”)、多对分隔符和信息单元。应理解,图4只示出了该数据包包括两对分隔符和信息单元,但这不应对分隔符和信息单元的对数产生影响。该数据包还可以包括更多对分隔符和信息单元。L-Preamble用于保证同一般主链路传输的数据的共存(Coexistence)。W-Preamble一般用于接收设备进行唤醒数据包检测,信令信息读取等。该数据包中的分隔符包括循环冗余码字段和信息单元类型字段,对于一对分隔符和信息单元来说,通过校验循环冗余码字段来确定分隔符是否正确。循环冗余码字段保护的是信息单元类型字段,循环冗余码是基于信息单元类型字段中的信息计算而成。接收设备可以通过校验循环冗余码字段确定信息单元类型字段是否正确接收。信息单元可以是一个MAC帧,如数据帧、信标帧或者确认帧等,也可以是物理层的一个字段,本发明实施例在此不做限制。分隔符起到就是分隔多个信息单元的作用。在每一对分隔符和信息单元中,信息单元类型字段用于指示后续的信息单元的类型。并且,一种类型的信息单元唯一对应一个信息单元的长度。也就是说,对于某个特定的信息单元类型字段,可以指示一种特定类型的信息单元,而对于某种类型的信息单元,可以唯一确定一个与该类型的信息单元对应的信息单元的长度。因此,信息单元类型字段不用指示后续信息单元的长度,这样可以明显减小分隔符的开销。
应理解,针对如图4所示的数据包和分隔符的格式,该数据包中的前导码也可以是其他的前导码,也可以有多个前导码。例如,可以是用于物联网站点传输的物联网前导码等,本发明实施例在此不做限制。
可选的,作为一个实施例,若信息单元中不存在指示该信息单元类型的字段,或者当一个长度的信息单元至少对应着两种类型的信息单元时,在这种情况下,在S110中,发送设备生成的数据包中的信息单元的固定位置(例如,信息单元的第一比特到第三比特)还存在着用于指示该信息单元类型的子类型字段,该子类型字段用来确定该信息单元的类型。相应的,接收设备接收包括这种含子类型字段的信息单元。
可选的,作为一个实施例,如图4所示的数据包和分隔符的格式,信息单元类型字段、与信息单元类型字段属于一对的信息单元的类型以及该信息单元的长度之间的一种映射关系可以如表1所示。例如,当信息单元类型字段为0000时。可以根据该映射关系确定该信息单元的类型为唤醒帧,也可以确定该唤醒帧的长度为20字节。表1用4比特的信息单元类型字段可以表示16中不同信息单元的类型和信息单元的长度。
表1映射表
应理解,在本发明的实施例中,仅以图4所示的数据包和分隔符的格式为例进行说明,但本发明实施例并不限于此。
还应理解,在本发明的实施例中,表1仅仅是为了表示他们之间的存在的一种映射关系,他们之间还可以是其他的映射关系。本发明实施例并不限于此
还应理解,针对图4所示的数据包和分隔符的格式,信息单元类型字段的长度和循环冗余码字段的长度也可以为其他比特的长度,信息单元的类型还可以为其他类型,信息单元的长度还可以为其他长度。例如,当数据包包含的信息单元的种类较多时,可以利用8比特或者更多比特的信息单元类型字段来映射信息单元的类型,本发明实施例在此不做限制。
可选的,作为一个实施例,在S130中,该接收设备根据该循环冗余码和该信息单元类型字段解析该数据包中的信息单元的内容,可以包括:
步骤1,确定数据包中通过循环冗余码字段校验的第一分隔符;
步骤2,根据与该第一分隔符中信息单元类型字段对应的第一信息单元的类型,确定该第一信息单元的长度;
步骤3,根据该第一信息单元的类型和该第一信息单元的长度,解析该第一信息单元。
具体而言,该接收设备接收到发送设备发送的数据包后,开始解析数据包中信息单元的内容。由于解析一个信息单元的内容,需要知道这个信息单元的类型和长度。当接收设备接收到一个正确分隔符后,就可以根据该分隔符中的信息单元类型字段,确定信息单元的类型,并根据与该类型的信息单元的对应的信息单元的长度,确定该信息单元的长度,这样,就可以解析该信息单元的内容。
应理解,上述的第一分隔符和第一信息单元表示的是一类分隔符和信息单元,即数据包中,属于同一对的分隔符和信息单元,并且该分隔符的循环冗余码字段通过校验,这样的分隔符称为第一分隔符,这样的信息单元称为第一信息单元,而不应对分隔符和信息单元的个数产生限制。
下面将以图4所示的数据包和分隔符的格式为例进行详细说明本发明实施例的方法S130的各步骤。
如图4所示,当该接收设备接收到数据包时,该接收端设备首先校验分隔符1中的CRC-1是否通过,当分隔符1中CRC-1校验通过时,证明分隔符1是一个正确的分隔符,然后根据分隔符1中的信息单元类型字段1,例如,如表1所示,该信息单元类型字段1为0001,则可以确定信息单元1的类型为一个确认帧,然后根据信息单元1的类型,则可以确定信息单元1的长度。这样,接收设备获知了信息单元1的长度和类型,就可以正确解析信息单元1的内容。然后,接收设备按照同样的方法,继续根据分隔符2中信息单元类型字段2和CRC-2,解析信息单元2的内容。
应理解,上述的分隔符1、信息单元类型字段1以及信息单元1仅仅是为了表明在同一对分隔符和信息单元,而不应该对本发明的实施例产生任何限制。
可选的,作为另一个实施例,在S130中,该接收设备根据该循环冗余码和该信息单元类型字段解析该数据包中的信息单元的内容,可以包括:
步骤1,确定该数据包中没有通过循环冗余码字段校验的第一分隔符,该第一分隔符的长度为Z比特;
步骤2,通过滑动窗口依次向后提取该数据包中长度为Z比特的内容,确定该数据包中与该第一分隔符相邻并且通过循环冗余码字段校验的第二分隔符;
步骤3,提取该第一分隔符和该第二分隔符之间的第一信息单元;
步骤4,根据该第一信息单元的长度,确定该第一信息单元的类型,或者根据该第一信息单元的长度以及该第一信息单元中用于指示该第一信息单元类型的子类型字段,确定该第一信息单元的类型;
步骤5,根据该第一信息单元的类型和该第一信息单元的长度,解析该第一信息单元。
具体而言,该接收设备接收到发送设备发送的数据包后,当数据包中的第一分隔符的循环冗余码校验没有通过时,不能确定这是不是一个正确的分隔符,因此还不能根据第一分隔符中循环冗余码字段和信息单元类型字段来解析与该分隔符为一对的第一信息单元的内容。这种情况下,需要寻找下一个与该第一分隔符相邻并且通过循环冗余码校验的第二分隔符,在本发明实施中,可选的,通过滑动窗口,在第一信息单元之后,依次提取数据包长度为该第一分隔符的长度的内容,直到找到该数据包中与该第一分隔符相邻并且通过循环冗余码校验的第二分隔符。提取该第一分隔符和该第二分隔符之间的信息单元,认为是第一信息单元。由于一种类型的信息单元唯一对应一个信息单元的长度,当一个长度的信息单元也可以唯一确定一种类型的信息单元时,即信息单元的类型和信息单元的长度是一一对应的关系,这样可以根据该第一信息单元的长度反推出该第一信息单元的类型,就可以解析该第一信息单元了。
但是,若信息单元中不存在指示该信息单元的类型的字段时,或者当一个长度的信息单元至少对应着两种类型的信息单元时,在这种情况下,就需要根据信息单元的长度以及信息单元中固定位置存在的用于指示信息单元类型的子类型字段,来确定信息单元的类型,即根据该第一信息单元的长度以及该第一信息单元中固定位置存在的用于指示该第一信息单元类型的子类型字段,来确定该第一信息单元的类型。利用这种方法,便确定了该第一信息单元的类型,然后根据该第一信息单元的类型和改第一信息单元的长度,解析该第一信息单元的内容。若下一个分隔符的循环冗余码也没有通过校验,则按照同样的方法来解析下一个信息单元的内容。
应理解,上述的第一分隔符和第二分隔符表示的是两类分隔符,而不应对分隔符的个数产生限制。
还应理解,利用滑动窗口在该数据包中提取的内容的长度也可以为其他长度,本发明实施例在此不做限制。
下面将以图4所示的数据包和分隔符的格式为例详细说明本发明实施例的方法S130的各步骤。
如图4所示,当该接收设备接收到发送设备发送的数据包时,接收端设备首先校验分隔符1中的CRC-1是否通过,其中,分隔符1的长度为Z比特,当分隔符1中CRC-1校验不通过时,则不能确定分隔符1是否是一个正确的分隔符,因此,就不能根据分隔符1中的信息单元类型字段1和CRC-1来解析信息单元1的内容。这时,接收设备可以利用滑动窗口,在信息单元1之后,依次提取数据包长度为Z比特的内容,直到找到该数据包中与分隔符1相邻并且通过循环冗余码校验的第二分隔符。例如,这里的第二分隔符可以是分隔符2,或者是其他分隔符,然后提取分隔符1和该第二分隔符之间的信息单元,认为是信息单元1。当信息单元的类型和信息单元的长度是一一对应的关系时,就可以根据信息单元1的长度反推出信息单元1的类型,就可以解析该第一信息单元的内容。
但是,若信息单元中不存在指示该信息单元类型的字段,或者当一个长度的信息单元至少对应着两种类型的信息单元时,例如,当表1中的确认帧的长度也是20字节时,就不能根据长度为20字节信息单元1唯一反推出该信息单元1的类型。这时,就需要根据信息单元1的长度以及信息单元1中存在的用于指示信息单元类型的子类型字段。例如,信息单元1中的第一比特位至第三比特为进一步指示该信息单元为控制帧,这样就可以确定信息单元1的类型,然后根据信息单元1的类型和信息单元1的长度,解析信息单元1的内容。若下一个分隔符的循环冗余码也没有通过校验,则按照同样的方法来解析下一个信息单元的内容。
因此,本发明实施例的传输信息的方法,由于分隔符包括循环冗余码字段和信息单元类型字段,使得分隔符的格式更加简洁,可以有效的减少分隔符的开销,节省了资源,提升了系统的效率。
可选的,可以作为一个实施例,在图4所示的分隔符格式的基础上,该分隔符还可以包括长度字段,在每一对分隔符和信息单元中,长度字段用于指示信息单元的长度。相应的,在S130中,该接收设备根据该循环冗余码和该信息单元类型字段解析该数据包中的信息单元的内容,可以包括:接收设备根据该信息单元类型字段和该长度字段中的至少一个,以及该循环冗余码字段,解析所述信息单元。
具体而言,可以作为一个实施例,图5是该数据包和分隔符格式的示意图,该接收设备接收发送设备发送的数据包,该数据包中的分隔符包括信息单元类型字段,长度字段和循环冗余码字段,对于一对分隔符和循环冗余码来说,通过校验循环冗余码来确定分隔符是否正确,循环冗余码字段保护的是信息单元类型字段和长度字段。在每一对分隔符和信息单元中,信息单元类型字段用于指示后续的信息单元的类型,一种类型的信息单元唯一对应一个信息单元的长度。而长度字段也用于指示后续信息单元的长度。
因此,本发明实施例的传输数据包的方法,由于采用了更为简洁的分隔符的格式,并且在分隔符中加入了用于指示信息单元的长度的长度字段,可以增强分隔符的鲁棒性,减少接收设备复杂度,增强了分隔符的可恢复性,减小了分隔符的开销。
可选的,作为一个实施例,如图5所示的数据包和分隔符的格式,信息单元类型字段的长度为4比特,长度字段的长度也为4比特,由于循环冗余码字段保护的是信息单元类型字段和长度字段,因此循环冗余码字段的长度为8比特。
应理解,针对如图5所示的数据包和分隔符的格式,本发明实施例仅以信息单元类型字段的长度为4比特和长度字段为4比特为例进行说明,但本发明实施例并不限于此。例如,当一个数据包包含的信息单元的种类较多时,信息单元类型字段的长度和长度字段的长度也可以为其他比特,例如,信息单元类型字段的长度和长度字段的长度也可以为5比特或者6比特,本发明实施例在此不做限制。
还应理解,在本发明实施例中,信息单元类型字段的长度和长度字段的长度也可以不同,例如,信息单元类型字段的长度可以为5比特,长度字段的长度可以为6比特。循环冗余码字段的长度也可以不是长度字段和信息单元类型字段长度的和,本发明实施例在此不做限制。
还应理解,在本发明实施例中,长度字段与信息单元的长度之间的关系可以与表1中信息单元类型字段与信息单元的长度之间的映射关系一样,也可以为其他的对应关系,只要该长度字段可以指示与该长度字段属于同一对的信息单元的长度即可,本发明实施例在此不做限制。
可选的,作为一个实施例,在S130中,该接收设备根据该信息单元类型字段和该长度字段中的至少一个,以及该循环冗余码字段,解析所述信息单元,包括:
步骤1,确定该数据包中通过循环冗余码字段校验的第一分隔符;
步骤2,根据与该第一分隔符中信息单元类型字段对应的信息单元的长度和该第一分隔符中长度字段指示的信息单元的长度中的任意一个,提取第一信息单元;
步骤3,根据该第一信息单元的长度和该第一分隔符中所述信息单元类型字段指示的该第一信息单元的类型,解析该第一信息单元的内容。
具体而言,该接收设备接收到发送设备发送的数据包后,开始检测数据包中正确的分隔符,当数据包中的分隔符的循环冗余码字段校验通过时,接收设备认为接收到一个正确分隔符,就可以根据该分隔符中的信息单元类型字段,确定信息单元的类型,根据与该类型的信息单元的对应的长度,或者根据该长度字段对应的信息单元的长度,确定该信息单元的长度。知道了该信息单元的长度和该信息单元的类型,就可以解析该信息单元的内容了。
下面将以图5所示的数据包和分隔符的格式为例详细说明本发明实施例的方法S130的各步骤。
当接收设备接收到发送设备发送的数据包时,数据包的格式如图5所示,接收设备首先校验分隔符1中的CRC-1是否通过,当分隔符1中CRC-1校验通过时,证明分隔符1是一个正确的分隔符,然后根据分隔符1中的信息单元类型字段1,例如,如表1所示,该信息单元类型字段1为0001,则可以确定信息单元1的类型为一个确认帧,然后根据信息单元1的类型,或者根据分隔符中长度字段1指示的信息单元的长度,确定信息单元1的长度。这样,接收设备获知了信息单元1的长度和类型,就可以正确解析信息单元1的内容。然后,接收设备按照同样的方法,继续根据分隔符2和CRC-2,解析信息单元2的内容。
应理解,上述的分隔符1、信息单元类型字段1以及信息单元1仅仅是为了表明在同一对分隔符和信息单元,而不应该对本发明的实施例产生任何限制。
可选的,作为另一个实施例,在S130中,该接收设备根据该信息单元类型字段和该长度字段中的至少一个,以及该循环冗余码字段,解析所述信息单元,包括:
步骤1,确定分隔符中没有通过循环冗余码字段校验的第一分隔符;
步骤2,当与该第一分隔符中信息单元类型字段对应的信息单元的长度和该第一分隔符中该长度字段指示的信息单元的长度对应时,
根据与该第一分隔符中该信息单元类型字段对应的信息单元的长度和该第一分隔符中该长度字段指示的信息单元的长度中的任意一个,提取信息单元,并对提取的信息单元做帧校验序列验证;
当与该第一分隔符中该信息单元类型字段对应的信息单元的长度和该第一分隔符中该长度字段指示的信息单元的长度不对应时,
根据与该第一分隔符中信息单元类型字段对应的信息单元的长度和该第一分隔符中该长度字段指示的信息单元的长度分别提取信息单元,并对提取的信息单元分别做帧校验序列验证;
步骤3,根据帧校验序列验证结果,解析该信息单元。
具体而言,接收设备接收到发送设备发送的数据包后,当数据包中的第一分隔符的循环冗余码校验没有通过时,不能确定这是不是一个正确的分隔符,因此还不能根据第一分隔符中循环冗余码字段和信息单元类型字段以及长度字段来解析与该分隔符为一对的第一信息单元的内容。这种情况下,不需要立即启动滑动窗口寻找下一个分隔符,而是确定第一分隔符中信息单元类型字段对应的信息单元的长度和该第一分隔符中该长度字段指示的信息单元的长度是否对应,例如,可以通过检测确定第一分隔符中该信息单元类型字段对应的信息单元的长度和该第一分隔符中该长度字段指示的信息单元的长度是否对应。
当该第一分隔符中信息单元类型字段对应的信息单元的长度和该第一分隔符中该长度字段指示的信息单元的长度对应时,即该第一分隔符中信息单元类型字段对应的信息单元的长度和该第一分隔符中该长度字段指示的信息单元的长度是相等的。此时还不能确定该信息单元是否为一个正确的信息单元,因此,还需要对该信息单元进行帧校验序列验证。由于只知道该信息单元的长度,因此,需要提取该长度的信息单元进行验证。根据验证结果去判断该信息单元是否为一个正确的信息单元。
当该第一分隔符中信息单元类型字段对应的信息单元的长度和该第一分隔符中该长度字段指示的信息单元的长度不对应,即该第一分隔符中信息单元类型字段对应的信息单元的长度和该第一分隔符中该长度字段指示的信息单元的长度不相等,这种情况下,也不能确定该信息单元是否是一个正确的信息单元,还需要对该信息单元进行帧校验序列验证,由于信息单元类型字段对应的信息单元的长度和长度字段指示的信息单元的长度不相等,因此需要对按照这两个字段提取的信息单元分别进行帧校验序列验证,根据验证结果去判断该信息单元是否为一个正确的信息单元。
下面将以图5所示的数据包和分隔符的格式为例详细说明本发明实施例的方法S130的各步骤
当接收设备接收到发送设备发送的数据包时,数据包的格式如图5所示,接收端设备首先校验分隔符1中的CRC-1是否通过,当分隔符1中CRC-1校验没有通过时,证明分隔符1不是一个正确的分隔符,这时,会检测分隔符1中信息单元类型字段1对应的信息单元的长度和分隔符1中的长度字段1指示的信息单元的长度是否相等。当两个长度是相等的情况下,此时还不能确定该长度的信息单元是否为一个正确的信息单元,因此,还需要对该长度的信息单元进行帧校验序列验证。因此,需要提取该长度的信息单元进行验证。根据验证结果去判断该信息单元是否为一个正确的信息单元。当两个长度是不相等的情况下,需要对按照这两个长度提取的信息单元分别进行帧校验序列验证,根据验证结果去判断该信息单元是否为一个正确的信息单元。
可选的,在步骤3中,根据帧校验序列验证结果,解析该信息单元,可以包括:
当帧校验序列验证通过时,将通过验证的信息单元中的任意一个该信息单元确定为第一信息单元;
根据该第一信息单元的长度,确定该第一信息单元的类型,或者根据该第一信息单元的长度以及该第一信息单元中用于指示该第一信息单元类型的子类型字段,确定该第一信息单元的类型;
根据该第一信息单元的类型和该第一信息单元的长度,解析该第一信息单元。
具体而言,当该第一分隔符中信息单元类型字段对应的信息单元的长度和该第一分隔符中该长度字段指示的信息单元的长度对应时,即信息单元的长度只有一个,因此,当根据该长度提取的信息单元的帧校验序列验证通过时,证明该信息单元是一个正确的信息单元,将该信息单元确定为第一信息单元,即与第一分隔符对应的信息单元。当一个长度的信息单元也可以唯一确定一种类型的信息单元时,这样可以根据该第一信息单元的长度反推出该第一信息单元的类型。当信息单元中不包含指示该信息单元类型的字段时,或者当一个长度的信息单元至少对应着两种类型的信息单元时,就要根据该第一信息单元的长度以及该第一信息单元中用于指示该第一信息单元类型的子类型字段,确定该第一信息单元的类型。此时,确定了该第一信息单元的长度和类型,便可以解析该第一信息单元的内容了。
当该第一分隔符中信息单元类型字段对应的信息单元的长度和该第一分隔符中该长度字段指示的信息单元的长度不对应时,即有两个长度的信息单元,因此,需要对按照这两个长度提取的信息单元分别做帧校验序列验证。当其中有一个信息单元的的帧校验序列验证通过时,便可以认为这是个正确的信息单元,或者当两个信息单元的帧校验序列验证都通过时,证明这两个信息单元可能是正确的信息单元,将其中任意一个信息单元确定为第一信息单元,这样,按照信息单元类型字段对应的信息单元的长度和该第一分长度字段指示的信息单元的长度对应时的方法,去解析该第一信息单元的内容。
下面将以图5所示的数据包和分隔符的格式为例详细说明本发明实施例方法S130中的步骤3:根据帧校验序列验证结果,解析该信息单元。
当接收设备检测分隔符1中信息单元类型字段1对应的信息单元的长度和分隔符1中的长度字段1指示的信息单元的长度相等时,并且按照该长度提取的信息单元的帧校验序列验证通过时。就可以确定该信息单元为信单元1,接收设备根根该信息单元1的长度,或者信息单元1中固定位置存在的用于指示信息单元1的类型的子类型字段,确定信息单元1的类型,这样就可以解析信息单元1的内容了。
当接收设备检测分隔符1中信息单元类型字段1对应的信息单元的长度和分隔符1中的长度字段1指示的信息单元的长度不相等时,并且按照该两个长度提取的两个信息单元的帧校验序列验都证通过或者有一个通过时。可以将过验证的信息单元中的任意一个信息单元确定为信息单元1,接收设备根根该信息单元1的长度,或者信息单元1中固定位置存在的用于指示信息单元1的类型的子类型字段,确定信息单元1的类型,这样就可以解析信息单元1的内容了。
可选的,在步骤3中,根据帧校验序列验证结果,解析该信息单元,还可以包括:
当帧校验序列验证都不通过时,通过滑动窗口依次向后提取该数据包中长度为R比特的内容,确定该数据包中与该第一分隔符相邻并且通过该循环冗余码字段校验的第二分隔符,其中,第一分隔符的长度为R比特;
提取该第一分隔符和该第二分隔符中之间的第一信息单元;
根据该第一信息单元的长度,确定该第一信息单元的类型,或根据该第一信息单元的长度以及该第一信息单元中用于指示该第一信息单元类型的子类型字段,确定该第一信息单元的类型;
根据该第一信息单元的类型和该第一信息单元的长度,解析该第一信息单元。
具体而言,当该第一分隔符中信息单元类型字段对应的信息单元的长度和该第一分隔符中该长度字段指示的信息单元的长度相等时,并且根据该长度提取的信息单元的帧校验序列验证不通过时。或者当该第一分隔符中与信息单元类型字段对应的信息单元的长度和该第一分隔符中该长度字段指示的信息单元的长度不相等,并且根据这两个长度提取的信息单元的帧校验序列验证都不通过时,需要启动滑动窗口寻找下一个分隔符,可选的,这里通过滑动窗口向后提取的内容的长度可以为该第一分隔符的长度,即为R比特,应理解,也可以提取其他长度的内容。此时,利用与图4所示的数据包和分隔符格式利用滑动窗口寻找第二分隔符和解析信息单元的内容相似的方法,解析该第一信息单元的内容,为避免重复,这里不再赘述。
因此,本发明实施例的传输数据包的方法,由于采用了更为简洁的分隔符的格式,并且在分隔符中加入了用于指示信息单元的长度的长度字段,接收设备可以通过对比长度字段指示的信息单元的长度和信息类型字段对应的信息单元的长度,或者分别尝试根据信息类型字段或者长度字段来解析信息单元的内容。可以更快速的解析信息单元的内容,在分隔符的循环冗余校验失败的情况下,避免立即启动滑动窗口寻找下一个分隔符,可以增强分隔符的鲁棒性,减少接收设备复杂度,增强了分隔符的可恢复性,减小了分隔符的开销。
本发明的上述各种实施例针对的情况是在每一对分隔符和信息单元中,一种类型的信息单元唯一对应一个信息单元的长度。而针对于一种类型的信息单元不能唯一对应一个信息单元的长度这种情况,可以同样在信息单元中的固定位置引入长度指示,例如,当信息单元类型字段指示为信息单元的类型为数据帧,但是数据帧的长度却不唯一,这时,需要在信息单元中的固定位置(例如数据帧的第一个字节)去进一步指示该数据帧的长度,这样便可以确定该数据帧的长度,就可以解析该数据帧的内容了。或者当接收设备没有正确接收到分隔符,而获知了信息单元的长度,同样,可以设计某种类型的信息单元的长度与其他类型的信息单元的长度不一样,或者,也可以在该长度的信息单元的固定字段进一步指示该信息单元的类型,这样,就可以确定该长度的信息单元的类型,进而解析该信息单元的内容。
本发明实施例还提供了一种传输数据包的方法200,图6示出本发明实施例的传输数据包的方法200的示意性流程图,该方法200包括:
S210,发送设备生成数据包,该数据包包括至少一对分隔符和信息单元,该分隔符用于分隔相邻的两个信息单元,该分隔符只包括循环冗余码字段。
S220,发送设备发送该数据包。相应的,接收设备接收该数据包。具体而言,发送设备向接收设备发送该数据包。接收设备接收发送设备发送的该数据包。
S230,该接收设备根据该循环冗余码字段解析该数据包中的信息单元的内容。
因此,由于本发明实施例的传输信息的方法采用了更为简洁的分隔符的格式,分隔符只包括循环冗余码字段,在完成分隔符作用的前提下,减小了分隔符的开销,节省了资源,提升了传输效率,降低了接收设备的复杂度。
应理解,本发明实施例中,帧校验序列(Frame Check Sequence,简称为“FCS”)也是一种循环冗余码。因为该CRC是用来检测MAC帧的,所以又被称为FCS。一般用来校验整个MAC帧的叫做FCS,校验信令字段或者分隔符等字段的叫做CRC,因此,在本发明实施例中,帧校验序列和循环冗余码可以互换,本发明实施例在此不做限制。
具体的,在本发明的一个实施例中,图7或者图8为该数据包和分隔符的格式示意图,该数据包包括一个传统前导码(Legacy Preamble,简称为“L-Preamble”)、一个唤醒前导码(Wake-up Preamble,简称为“W-Preamble”)、多对分隔符和信息单元。L-Preamble用于保证同一般主链路传输的数据的共存(Coexistence)。W-Preamble一般用于接收设备进行唤醒数据包检测,信令信息读取等。该数据包中的分隔符只包括循环冗余码字段,循环冗余码字段保护的是信息单元的内容,而不是分隔符本身。对于一对分隔符和信息单元来说,通过校验循环冗余码字段来确定分隔符是否正确。信息单元可以是一个MAC帧、如数据帧、信标帧或者确认帧等,也可以是物理层的一个字段,本发明实施例在此不做限制。分隔符起到就是分隔多个信息单元的作用。对于一对分隔符和信息单元来说,如图7所示,分隔符可以在信息单元的前面,或者如图8所示的分隔符也可以在信息单元的后面。
可选的,作为一个实施例,对于图7或者图8所示的数据包和分隔符的格式,循环冗余码字段的长度为4比特。
应理解,对于图7或者图8所示的数据包和分隔符的格式,循环冗余码字段的长度也可以为其他比特的长度。本发明实施例在此不做限制。
还应理解,针对如图7或者图8所示的数据包和分隔符的格式,该数据包中的前导码也可以是其他的前导码,也可以有多个前导码。例如,可以是用于物联网站点传输的物联网前导码等,本发明实施例在此不做限制。
还应理解,在本发明的实施例中,仅以如图7或者图8所示所示的数据包和分隔符的格式为例进行说明,但本发明实施例并不限于此。
可选的,作为一个实施例,在S230中,该接收设备根据该循环冗余码解析该数据包中的信息单元的内容,可以包括:
步骤1,确定该分隔符中通过循环冗余码字段校验的连续两个分隔符;
步骤2,解析该连续两个分隔符之间的信息单元的内容。
具体而言,接收设备接收到发送设备发送的数据包后,开始解析数据包中信息单元的内容。由于信息单元被分隔符一一分隔,因此,需要找到连续的两个分隔符之间的信息单元,才能解析该信息单元的内容。由于分隔符只包括循环冗余码字段,因此需要通过循环冗余码字段校验来找到连续的两个分隔符,才能确定在这两个分隔符之间的信息单元,这样才可以解析这两个分隔符之间的信息单元的内容。
可选的,作为S230中步骤1的一个实施例,接收设备确定该分隔符中通过循环冗余码字段校验的连续两个分隔符,可以包括:
步骤1,确定分隔符中通过循环冗余码字段校验的第一分隔符;
步骤2,通过滑动窗口依次向后提取该数据包中固定长度的内容;
步骤3,确定该数据包中与该第一分隔符相邻并且通过该循环冗余码字段校验的第二分隔符。
具体而言,接收设备接收到数据包后,首先校验分隔符的循环冗余码字段,当分隔符的循环冗余码字段校验通过时,确定该分隔符为第一分隔符,否则,继续校验分隔符的循环冗余码,直到找到通过循环冗余码字段校验的第一分隔符,然后通过滑动窗口,依次向后提取该数据包中固定长度的内容,直到找到该数据包中通过循环冗余码字段校验且与第一分隔符相邻的第二分隔符,这样,确定了第一个分隔符与第二分隔符,便可以解析这两个分隔符之间的信息单元的内容了。
应理解,上述的第一分隔符和第二分隔符表示的是两类类分隔符,而不应对分隔符和信息单元的个数产生限制。第一分隔符为数据包通过循环冗余码字段校验的分隔符,第二分隔符为与第一分隔符相邻,并且通过循环冗余码字段校验的分隔符。第一分隔符与第二分隔符可以是多个分隔符,也可以是一个分隔符。
下面将以图7所示的数据包和分隔符的格式为例详细说明本发明实施例的方法S230。
如图7所示,当接收设备接收到发送设备发送的数据包时,接收设备首先校验分隔符1中的CRC-1是否通过,当分隔符1中CRC-1校验通过时,证明分隔符1是一个正确的分隔符,然后通过滑动窗口从信息单元1之后开始,依次向后提取固定长度的内容,直到找到该数据包中与CRC-1相邻,并且通过循环冗余码字段校验的分隔符,假定为CRC-2,这样,便可以提取CRC-1和CRC-2之间的信息单元1,解析该信息单元1的内容。当分隔符1中CRC-1校验没有通过时,继续寻找循环冗余码字段通过校验的分隔符,确定该分隔符为第一分隔符,然后按照同样的方法去寻找第二分隔符,进而解析这两个分隔符之间的信息单元的内容。按照这样的方法,去解析整个数据包中信息单元的内容,
可选的,假定CRC-1字段的长度为X比特,信息单元1的长度为Y比特,X+Y凑成完整的字节数,因为在无线保真(Wireless Fidelity,简称为“WiFi”)系统中,通常是以字节为单位的,若不满一个字节,通常通过填补对其,因此,如图7所示,当CRC-1为4比特时,信息单元1的长度可以为整数字节+4比特。可选的,当CRC-1为8比特时,信息单元1的长度为完整的字节数。可选的,该固定长度可以为CRC-1和信息单元1的长度之和。
应理解,上述的分隔符1、信息单元类型字段1以及信息单元1仅仅是为了表明在同一对分隔符和信息单元,而不应该对本发明的实施例产生任何限制。
因此,本发明实施例的传输数据包的方法采用了更为简洁的分隔符的格式,分隔符只包括循环冗余码字段,在完成分隔符作用的前提下,减小了分隔符的开销,节省了资源,提升了传输效率,降低了接收设备的复杂度。
应理解,在本发明的各种实施例中,上述各过程的序号的大小和各步骤并不意味执行顺序的先后,各过程的执行顺序应当以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
下面将对本发明实施例的接收设备和发送设备进行详细说明。
图9示出了根据本发明一个实施例的接收设备的300的示意性框图。如图9所示,接收设备300,包括:
收发器310,用于接收数据包,该数据包包括至少一对分隔符和信息单元,该分隔符用于分隔相邻的两个该信息单元,该分隔符包括循环冗余码字段和信息单元类型字段,在每一对分隔符和信息单元中,该信息单元类型字段用于指示该信息单元的类型,一种类型的信息单元唯一对应一个信息单元的长度;
处理器320,用于根据该收发器310接收的该循环冗余码字段和该信息单元类型字段,解析该信息单元。
本发明实施例提供的接收设备,在接收设备接收的数据包中,采用了更为简洁的分隔符的格式,在完成分隔符作用的前提下,减小了分隔符的开销,节省了资源,提升了传输效率,降低了接收设备的复杂度。
可选地,接收设备300中还可以包括存储器330。存储器330可以用于存储处理器320执行的代码等。
接收设备300中的各个组件通过总线系统340耦合在一起,其中总线系统340除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
应注意,本发明上述方法实施例可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digital signal processor,简称为“DSP”)、专用集成电路(application specific integrated circuit,简称为“ASIC”)、现成可编程门阵列(fieldprogrammable gate array,简称为“FPGA”)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可选地,作为一个实施例,该处理器320具体用于:确定该数据包中通过循环冗余码字段校验的第一分隔符;根据与该第一分隔符中信息单元类型字段对应的第一信息单元的类型,确定该第一信息单元的长度;根据该第一信息单元的类型和该第一信息单元的长度,解析该第一信息单元。
可选地,作为一个实施例,该处理器320具体用于:确定该数据包中没有通过循环冗余码字段校验的第一分隔符,该第一分隔符的长度为Z比特;通过滑动窗口依次向后提取该数据包中长度为Z比特的内容,确定该数据包中与该第一分隔符相邻并且通过该循环冗余码字段校验的第二分隔符;提取该第一分隔符和该第二分隔符之间的第一信息单元;根据该第一信息单元的长度,确定该第一信息单元的类型,或根据该第一信息单元的长度以及该第一信息单元中用于指示该第一信息单元类型的子类型字段,确定该第一信息单元的类型;根据该第一信息单元的类型和该第一信息单元的长度,解析该第一信息单元。
可选地,作为一个实施例,在该收发器310接收的所述数据包中,该分隔符还包括长度字段,在每一对分隔符和信息单元中,该长度字段用于指示该信息单元的长度,该处理器320具体用于:根据该收发器310接收该信息单元类型字段和该长度字段中的至少一个,以及该循环冗余码字段,解析所述信息单元。
可选地,作为一个实施例,该处理器320具体用于:确定该数据包中通过循环冗余码字段校验的第一分隔符;根据与该第一分隔符中信息单元类型字段对应的信息单元的长度和该第一分隔符中该长度字段指示的信息单元的长度中的任意一个,提取第一信息单元;根据该第一信息单元的长度和该第一分隔符中该信息单元类型字段指示的该第一信息单元的类型,解析该第一信息单元。
可选地,作为一个实施例,该处理器320具体用于:确定该分隔符中没有通过循环冗余码字段校验的第一分隔符,该第一分隔符的长度为R比特;当与该第一分隔符中该信息单元类型字段对应的信息单元的长度和该第一分隔符中该长度字段指示的信息单元的长度对应时,根据与该第一分隔符中该信息单元类型字段对应的信息单元的长度,或者该第一分隔符中该长度字段指示的信息单元的长度,提取信息单元,并对提取的信息单元做帧校验序列验证;当与该第一分隔符中该信息单元类型字段对应的信息单元的长度和该第一分隔符中该长度字段指示的信息单元的长度不对应时,根据与该第一分隔符中该信息单元类型字段对应的信息单元的长度和该第一分隔符中该长度字段指示的信息单元的长度分别提取信息单元,并对提取的信息单元分别做帧校验序列验证;根据帧校验序列验证结果,解析该信息单元。
可选地,作为一个实施例,该处理器320具体用于:确定通过该帧校验序列验证的信息单元;将通过验证的信息单元中的任意一个信息单元确定为第一信息单元,根据该第一信息单元的长度,确定该第一信息单元的类型,或者根据该第一信息单元的长度以及该第一信息单元中用于指示该第一信息单元类型的子类型字段,确定该第一信息单元的类型;根据该第一信息单元的类型和该第一信息单元的长度,解析该第一信息单元。
可选地,作为一个实施例,该处理器320具体用于:确定该信息单元都没有通过该帧校验序列验证;通过滑动窗口依次向后提取该数据包中长度为R比特的内容,确定该数据包中与该第一分隔符相邻并且通过该循环冗余码字段校验的第二分隔符;提取该第一分隔符和该第二分隔符中之间的第一信息单元;根据该第一信息单元的长度,确定该第一信息单元的类型,或者根据该第一信息单元的长度以及该第一信息单元中用于指示该第一信息单元类型的子类型字段,确定该第一信息单元的类型;根据该第一信息单元的类型和该第一信息单元的长度,解析该第一信息单元。
应注意,本发明实施例中,处理器320可以处理模块由实现。存储器330可以由存储模块实现。如图10所示,接收设备400可以包括收发模块410、处理模块420和存储模块430。
图9所示的接收设备300或图10所示的接收设备400能够实现前述图3至图5的实施例中所实现的各个过程,为避免重复,这里不再赘述。
图11示出了本发明一个实施例的接收设备500的示意性框图。如图11所示,接收设备500,包括:
收发器510,用于接收数据包,该数据包包括至少一对分隔符和信息单元,该分隔符用于分隔相邻的两个该信息单元,该分隔符只包括循环冗余码字段;
处理器520,用于根据该收发器510接收的循环冗余码字段,解析该信息单元。
本发明实施例提供的接收设备,在接收设备接收的数据包中,采用了更为简洁的分隔符的格式,分隔符只包括循环冗余码字段,在完成分隔符作用的前提下,减小了分隔符的开销,节省了资源,提升了传输效率,降低了接收设备的复杂度。
可选地,接收设备500中还可以包括存储器530。存储器530可以用于存储处理器520执行的代码等。
接收设备500中的各个组件通过总线系统540耦合在一起,其中总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
可选地,作为一个实施例,该处理器520具体用于:确定该分隔符中通过循环冗余码字段校验的连续两个分隔符;解析该连续两个分隔符之间的信息单元的内容。
可选地,作为一个实施例,该处理器520具体用于:确定该分隔符中通过该循环冗余码字段校验的第一分隔符;通过滑动窗口依次向后提取该数据包中固定长度的内容;确定该数据包中与该第一分隔符相邻并且通过该循环冗余码字段校验的第二分隔符。
应注意,本发明实施例中,处理器520可以处理模块由实现。存储器530可以由存储模块实现。如图12所示,接收设备600可以包括收发模块610、处理模块620和存储模块630。
图11所示的接收设备500或图12所示的接收设备600能够实现前述图6至图8的实施例中所实现的各个过程,为避免重复,这里不再赘述。
图13示出了本发明一个实施例的发送设备700的示意性框图。如图13所示,发送设备700,包括:
处理器710,用于生成数据包,该数据包包括至少一对分隔符和信息单元,该分隔符用于分隔相邻的两个该信息单元,该分隔符包括循环冗余码字段和信息单元类型字段,在每一对分隔符和信息单元中,该信息单元类型字段用于指示该信息单元的类型,一种类型的信息单元唯一对应一个信息单元的长度;
收发器720,用于发送该处理器710生成的该数据包。
本发明实施例提供的发送设备,在发送设备生成的数据包中,采用了更为简洁的分隔符的格式,在完成分隔符作用的前提下,减小了分隔符的开销,节省了资源,提升了传输效率,降低了接收设备的复杂度。
可选地,发送设备700中还可以包括存储器730。存储器730可以用于存储处理器710执行的代码等。
发送设备700中的各个组件通过总线系统740耦合在一起,其中总线系统740除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
可选地,作为一个实施例,在该处理器710生成的该数据包中,该分隔符还包括长度字段,在每一对分隔符和信息单元中,该长度字段用于指示该信息单元的长度。
可选地,作为一个实施例,在该处理器710生成的该数据包中,当一个信息单元的长度对应着至少两种类型的信息单元时,该信息单元还包括用于指示该信息单元类型的子类型字段。
应注意,本发明实施例中,收发器720可以由收发模块实现。处理器710可以由处理模块实现。存储器730可以由存储模块实现。如图14所示,发送设备800可以包括处理模块810、收发模块820和存储模块830。
图13所示的发送设备700或图14所示的发送设备800能够实现前述图3至图5的实施例中所实现的各个过程,为避免重复,这里不再赘述。
图15示出了本发明一个实施例的发送设备900的示意性框图。如图15所示,发送设备900,包括:
处理器910,用于生成数据包,该数据包包括至少一对分隔符和信息单元,该分隔符用于分隔相邻的两个该信息单元,该分隔符只包括循环冗余码字段;
收发器920,用于发送该处理器910生成的该数据包。
本发明实施例提供的发送设备,在发送设备生成的数据包中,采用了更为简洁的分隔符的格式,分隔符只包括循环冗余码字段,在完成分隔符作用的前提下,减小了分隔符的开销,节省了资源,提升了传输效率,降低了接收设备的复杂度。
可选地,发送设备900中还可以包括存储器930。存储器930可以用于存储处理器910执行的代码等。
发送设备900中的各个组件通过总线系统940耦合在一起,其中总线系统940除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
应注意,本发明实施例中,收发器920可以由收发模块实现。处理器910可以处理模块由实现。存储器930可以由存储模块实现。如图16所示,发送设备1000可以包括处理模块1100、收发模块1200和存储模块1300。
图15所示的发送设备900或图16所示的发送设备1000能够实现前述图6至图8的实施例中所实现的各个过程,为避免重复,这里不再赘述。
本发明实施例提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行上述图3至图5中本发明实施例的传输数据包的方法。该可读介质可以是只读存储器(Read-Only Memory,简称为“ROM”)、或随机存取存储器(Random Access Memory,简称为“RAM),本发明实施例对此不做限制。
本发明实施例还提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行上述图6至图8中本申请实施例的传输数据包的方法。该可读介质可以是ROM或者RAM,本发明实施例对此不做限制。
应理解,本文中术语“和/或”以及“A或B中的至少一种”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明实施例的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本发明实施例的保护范围应以权利要求的保护范围为准。

Claims (22)

1.一种传输数据包的方法,其特征在于,包括:
接收数据包,所述数据包包括至少一对分隔符和信息单元,所述分隔符用于分隔相邻的两个所述信息单元,所述分隔符包括循环冗余码字段和信息单元类型字段,在每一对分隔符和信息单元中,所述信息单元类型字段用于指示所述信息单元的类型,一种类型的信息单元唯一对应一个信息单元的长度;
根据所述循环冗余码字段和所述信息单元类型字段,解析所述信息单元。
2.根据权利要求1所述的方法,其特征在于,所述根据所述循环冗余码字段和所述信息单元类型字段,解析所述信息单元,包括:
确定所述数据包中通过循环冗余码字段校验的第一分隔符;
根据与所述第一分隔符中所述信息单元类型字段对应的第一信息单元的类型,确定所述第一信息单元的长度;
根据所述第一信息单元的类型和所述第一信息单元的长度,解析所述第一信息单元。
3.根据权利要求1所述的方法,其特征在于,所述根据所述循环冗余码字段和所述信息单元类型字段,解析所述信息单元,包括:
确定所述数据包中没有通过循环冗余码字段校验的第一分隔符,所述第一分隔符的长度为Z比特;
通过滑动窗口依次向后提取所述数据包中长度为Z比特的内容,确定所述数据包中与所述第一分隔符相邻并且通过所述循环冗余码字段校验的第二分隔符;
提取所述第一分隔符和所述第二分隔符之间的第一信息单元;
根据所述第一信息单元的长度,确定所述第一信息单元的类型,或根据所述第一信息单元的长度以及所述第一信息单元中用于指示所述第一信息单元类型的子类型字段,确定所述第一信息单元的类型;
根据所述第一信息单元的类型和所述第一信息单元的长度,解析所述第一信息单元。
4.根据权利要求1所述的方法,其特征在于,所述分隔符还包括长度字段,在每一对分隔符和信息单元中,所述长度字段用于指示所述信息单元的长度,所述根据所述循环冗余码字段和所述信息单元类型字段,解析所述信息单元,包括:
根据所述信息单元类型字段和所述长度字段中的至少一个,以及所述循环冗余码字段,解析所述信息单元。
5.根据权利要求4所述的方法,其特征在于,所述根据所述信息单元类型字段和所述长度字段中的至少一个,以及所述循环冗余码字段,解析所述信息单元,包括:
确定所述数据包中通过循环冗余码字段校验的第一分隔符;
根据与所述第一分隔符中所述信息单元类型字段对应的信息单元的长度和所述第一分隔符中所述长度字段指示的信息单元的长度中的任意一个,提取第一信息单元;
根据所述第一信息单元的长度和所述第一分隔符中所述信息单元类型字段指示的所述第一信息单元的类型,解析所述第一信息单元。
6.根据权利要求4所述的方法,其特征在于,所述根据所述信息单元类型字段和所述长度字段中的至少一个,以及所述循环冗余码字段,解析所述信息单元,包括:
确定所述分隔符中没有通过循环冗余码字段校验的第一分隔符,所述第一分隔符的长度为R比特;
当与所述第一分隔符中所述信息单元类型字段对应的信息单元的长度和所述第一分隔符中所述长度字段指示的信息单元的长度对应时,根据与所述第一分隔符中所述信息单元类型字段对应的信息单元的长度,或者所述第一分隔符中所述长度字段指示的信息单元的长度,提取信息单元,并对提取的信息单元做帧校验序列验证;
当与所述第一分隔符中所述信息单元类型字段对应的信息单元的长度和所述第一分隔符中所述长度字段指示的信息单元的长度不对应时,根据与所述第一分隔符中所述信息单元类型字段对应的信息单元的长度和所述第一分隔符中所述长度字段指示的信息单元的长度分别提取信息单元,并对提取的信息单元分别做帧校验序列验证;
根据帧校验序列验证结果,解析所述信息单元。
7.根据权利要求6所述的方法,其特征在于,所述根据帧校验序列验证结果,解析所述信息单元,包括:
确定通过所述帧校验序列验证的信息单元;
将通过验证的信息单元中的任意一个所述信息单元确定为第一信息单元,根据所述第一信息单元的长度,确定所述第一信息单元的类型,或根据所述第一信息单元的长度以及所述第一信息单元中用于指示所述第一信息单元类型的子类型字段,确定所述第一信息单元的类型;
根据所述第一信息单元的类型和所述第一信息单元的长度,解析所述第一信息单元。
8.根据权利要求6所述的方法,其特征在于,所述根据帧校验序列验证结果,解析所述信息单元,包括:
确定所述信息单元都没有通过所述帧校验序列验证;
通过滑动窗口依次向后提取所述数据包中长度为R比特的内容,确定所述数据包中与所述第一分隔符相邻并且通过所述循环冗余码字段校验的第二分隔符;
提取所述第一分隔符和所述第二分隔符中之间的第一信息单元;
根据所述第一信息单元的长度,确定所述第一信息单元的类型,或根据所述第一信息单元的长度以及所述第一信息单元中用于指示所述第一信息单元类型的子类型字段,确定所述第一信息单元的类型;
根据所述第一信息单元的类型和所述第一信息单元的长度,解析所述第一信息单元。
9.一种传输数据包的方法,其特征在于,包括:
生成数据包,所述数据包包括至少一对分隔符和信息单元,所述分隔符用于分隔相邻的两个所述信息单元,所述分隔符包括循环冗余码字段和信息单元类型字段,在每一对分隔符和信息单元中,所述信息单元类型字段用于指示所述信息单元的类型,一种类型的信息单元唯一对应一个信息单元的长度;
发送所述数据包。
10.根据权利要求9所述的方法,其特征在于,所述分隔符还包括长度字段,在每一对分隔符和信息单元中,所述长度字段用于指示所述信息单元的长度。
11.根据权利要求9或10所述的方法,其特征在于,当一个信息单元的长度对应着至少两种类型的信息单元时,所述信息单元还包括用于指示所述信息单元类型的子类型字段。
12.一种接收设备,其特征在于,包括
收发器,用于接收数据包,所述数据包包括至少一对分隔符和信息单元,所述分隔符用于分隔相邻的两个所述信息单元,所述分隔符包括循环冗余码字段和信息单元类型字段,在每一对分隔符和信息单元中,所述信息单元类型字段用于指示所述信息单元的类型,一种类型的信息单元唯一对应一个信息单元的长度;
处理器,用于根据所述收发器接收的所述循环冗余码字段和所述信息单元类型字段,解析所述信息单元。
13.根据权利要求12所述的接收设备,其特征在于,所述处理器具体用于:
确定所述数据包中通过循环冗余码字段校验的第一分隔符;
根据与所述第一分隔符中所述信息单元类型字段对应的第一信息单元的类型,确定所述第一信息单元的长度;
根据所述第一信息单元的类型和所述第一信息单元的长度,解析所述第一信息单元。
14.根据权利要求12所述的接收设备,其特征在于,所述处理器具体用于:
确定所述数据包中没有通过循环冗余码字段校验的第一分隔符,所述第一分隔符的长度为Z比特;
通过滑动窗口依次向后提取所述数据包中长度为Z比特的内容,确定所述数据包中与所述第一分隔符相邻并且通过所述循环冗余码字段校验的第二分隔符;
提取所述第一分隔符和所述第二分隔符之间的第一信息单元;
根据所述第一信息单元的长度,确定所述第一信息单元的类型,或根据所述第一信息单元的长度以及所述第一信息单元中用于指示所述第一信息单元类型的子类型字段,确定所述第一信息单元的类型;
根据所述第一信息单元的类型和所述第一信息单元的长度,解析所述第一信息单元。
15.根据权利要求12所述的接收设备,其特征在于,在所述收发器接收的所述数据包中,所述分隔符还包括长度字段,在每一对分隔符和信息单元中,所述长度字段用于指示所述信息单元的长度,所述处理器具体用于:
根据所述收发器接收的所述信息单元类型字段和所述长度字段中的至少一个,以及所述循环冗余码字段,解析所述信息单元。
16.根据权利要求15所述的接收设备,其特征在于,所述处理器具体用于:
确定所述数据包中通过循环冗余码字段校验的第一分隔符;
根据与所述第一分隔符中所述信息单元类型字段对应的信息单元的长度和所述第一分隔符中所述长度字段指示的信息单元的长度中的任意一个,提取第一信息单元;
根据所述第一信息单元的长度和所述第一分隔符中所述信息单元类型字段指示的所述第一信息单元的类型,解析所述第一信息单元。
17.根据权利要求15所述的接收设备,其特征在于,所述处理器具体用于:
确定所述分隔符中没有通过循环冗余码字段校验的第一分隔符,所述第一分隔符的长度为R比特;
当与所述第一分隔符中所述信息单元类型字段对应的信息单元的长度和所述第一分隔符中所述长度字段指示的信息单元的长度对应时,根据与所述第一分隔符中所述信息单元类型字段对应的信息单元的长度,或者所述第一分隔符中所述长度字段指示的信息单元的长度,提取信息单元,并对提取的信息单元做帧校验序列验证;
当与所述第一分隔符中所述信息单元类型字段对应的信息单元的长度和所述第一分隔符中所述长度字段指示的信息单元的长度不对应时,根据与所述第一分隔符中所述信息单元类型字段对应的信息单元的长度和所述第一分隔符中所述长度字段指示的信息单元的长度分别提取信息单元,并对提取的信息单元分别做帧校验序列验证;
根据帧校验序列验证结果,解析所述信息单元。
18.根据权利要求17所述的接收设备,其特征在于,所述处理器具体用于:
确定通过所述帧校验序列验证的信息单元;
将通过验证的信息单元中的任意一个所述信息单元确定为第一信息单元,根据所述第一信息单元的长度,确定所述第一信息单元的类型,或根据所述第一信息单元的长度以及所述第一信息单元中用于指示所述第一信息单元类型的子类型字段,确定所述第一信息单元的类型;
根据所述第一信息单元的类型和所述第一信息单元的长度,解析所述第一信息单元。
19.根据权利要求17所述的接收设备,其特征在于,所述处理器具体用于:
确定所述信息单元都没有通过所述帧校验序列验证;
通过滑动窗口依次向后提取所述数据包中长度为R比特的内容,确定所述数据包中与所述第一分隔符相邻并且通过所述循环冗余码字段校验的第二分隔符;
提取所述第一分隔符和所述第二分隔符中之间的第一信息单元;
根据所述第一信息单元的长度,确定所述第一信息单元的类型,或者根据所述第一信息单元的长度以及所述第一信息单元中用于指示所述第一信息单元类型的子类型字段,确定所述第一信息单元的类型;
根据所述第一信息单元的类型和所述第一信息单元的长度,解析所述第一信息单元。
20.一种发送设备,其特征在于,包括:
处理器,用于生成数据包,所述数据包包括至少一对分隔符和信息单元,所述分隔符用于分隔相邻的两个所述信息单元,所述分隔符包括循环冗余码字段和信息单元类型字段,在每一对分隔符和信息单元中,所述信息单元类型字段用于指示所述信息单元的类型,一种类型的信息单元唯一对应一个信息单元的长度;
收发器,用于发送所述处理器生成的所述数据包。
21.根据权利要求20所述的发送设备,其特征在于,在所述处理器生成的所述数据包中,所述分隔符还包括长度字段,在每一对分隔符和信息单元中,所述长度字段用于指示所述信息单元的长度。
22.根据权利要求20或21所述的发送设备,其特征在于,在所述处理器生成的所述数据包中,当一个信息单元的长度对应着至少两种类型的信息单元时,所述信息单元还包括用于指示所述信息单元类型的子类型字段。
CN201611073991.1A 2016-11-29 2016-11-29 传输数据包的方法和设备 Active CN108123775B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201611073991.1A CN108123775B (zh) 2016-11-29 2016-11-29 传输数据包的方法和设备
EP17877108.5A EP3537641B1 (en) 2016-11-29 2017-10-27 Method and device for transmitting data packet
PCT/CN2017/108021 WO2018099221A1 (zh) 2016-11-29 2017-10-27 传输数据包的方法和设备
US16/423,191 US10904121B2 (en) 2016-11-29 2019-05-28 Data packet transmission method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611073991.1A CN108123775B (zh) 2016-11-29 2016-11-29 传输数据包的方法和设备

Publications (2)

Publication Number Publication Date
CN108123775A true CN108123775A (zh) 2018-06-05
CN108123775B CN108123775B (zh) 2020-09-29

Family

ID=62225865

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611073991.1A Active CN108123775B (zh) 2016-11-29 2016-11-29 传输数据包的方法和设备

Country Status (4)

Country Link
US (1) US10904121B2 (zh)
EP (1) EP3537641B1 (zh)
CN (1) CN108123775B (zh)
WO (1) WO2018099221A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109413450A (zh) * 2018-09-30 2019-03-01 武汉斗鱼网络科技有限公司 一种弹幕数据的完整性校验方法、装置、终端及存储介质
CN111641662A (zh) * 2020-07-01 2020-09-08 中国银行股份有限公司 报文格式检验方法及装置
CN111673737A (zh) * 2020-05-13 2020-09-18 北京理工大学 一种机器人信息发送方法、接收方法、设备及存储介质
CN111698067A (zh) * 2019-03-15 2020-09-22 华为技术有限公司 数据传输方法及装置
CN115694563A (zh) * 2021-07-30 2023-02-03 国基电子(上海)有限公司 基于蓝牙的传输方法、发送装置、传输系统及存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825751B (zh) * 2019-11-13 2023-10-03 上海图莱智能科技有限公司 一种自定义数据格式的方法及数据转换系统
KR20240009977A (ko) * 2021-06-22 2024-01-23 주식회사 윌러스표준기술연구소 공유 txop을 사용하는 무선 통신 방법 및 이를 사용하는무선 통신 단말
CN113746848B (zh) * 2021-09-07 2023-04-18 烽火通信科技股份有限公司 一种并行可编程组包器和方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1706163A (zh) * 2002-10-17 2005-12-07 艾比奎蒂数字公司 格式化用于数字音频广播发送和接收的信号的方法和设备
CN102090001A (zh) * 2008-10-30 2011-06-08 华为技术有限公司 基于以太网的光网络终端管理和控制接口
CN102595494A (zh) * 2012-02-07 2012-07-18 北京新岸线无线技术有限公司 一种数据传输方法和装置
US20160043946A1 (en) * 2014-08-06 2016-02-11 Qualcomm Incorporated Systems and methods for aggregating multi-user media access control protocol data unit frames in a wireless network
US20160065466A1 (en) * 2014-08-28 2016-03-03 Qualcomm Incorporated Systems and methods for signaling multi-destination aggregated multi-user media access control protocol data units in a wireless network
CN105432114A (zh) * 2013-07-30 2016-03-23 高通股份有限公司 用于在无线网络中传达多目的地话务的系统和方法
CN106161410A (zh) * 2015-04-24 2016-11-23 华为技术有限公司 数据处理方法、装置及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7609724B1 (en) * 2005-04-29 2009-10-27 Qualcomm Incorporated Enhanced frame aggregation in a wireless network system
CN102595495A (zh) * 2012-02-07 2012-07-18 北京新岸线无线技术有限公司 一种数据发送、接收方法和装置
US9923822B2 (en) * 2013-08-28 2018-03-20 Qualcomm Incorporated Methods and apparatus for multiple user uplink
US9602635B2 (en) * 2014-10-27 2017-03-21 Intel IP Corporation Wireless device, method, and computer readable media for compressed media access control header
WO2016077490A1 (en) * 2014-11-11 2016-05-19 Marvell World Trade Ltd. Acknowledgment for multiple user communication in a wlan
JP6728700B2 (ja) * 2016-01-15 2020-07-22 富士通株式会社 通信システム、通信プログラム、通信方法、および、通信装置
EP3484229B1 (en) * 2016-07-06 2022-05-11 Wilus Institute of Standards and Technology Inc. Wireless communication terminal using trigger information
US11917540B2 (en) * 2018-08-03 2024-02-27 Apple Inc. Target wake time scheme for multicast communication
US11770731B2 (en) * 2018-10-29 2023-09-26 Apple Inc. Target wake time traffic differentiation and service period extension

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1706163A (zh) * 2002-10-17 2005-12-07 艾比奎蒂数字公司 格式化用于数字音频广播发送和接收的信号的方法和设备
CN102090001A (zh) * 2008-10-30 2011-06-08 华为技术有限公司 基于以太网的光网络终端管理和控制接口
CN102595494A (zh) * 2012-02-07 2012-07-18 北京新岸线无线技术有限公司 一种数据传输方法和装置
WO2013117029A1 (zh) * 2012-02-07 2013-08-15 北京新岸线移动多媒体技术有限公司 一种数据传输方法和装置
CN105432114A (zh) * 2013-07-30 2016-03-23 高通股份有限公司 用于在无线网络中传达多目的地话务的系统和方法
US20160043946A1 (en) * 2014-08-06 2016-02-11 Qualcomm Incorporated Systems and methods for aggregating multi-user media access control protocol data unit frames in a wireless network
US20160065466A1 (en) * 2014-08-28 2016-03-03 Qualcomm Incorporated Systems and methods for signaling multi-destination aggregated multi-user media access control protocol data units in a wireless network
CN106161410A (zh) * 2015-04-24 2016-11-23 华为技术有限公司 数据处理方法、装置及系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109413450A (zh) * 2018-09-30 2019-03-01 武汉斗鱼网络科技有限公司 一种弹幕数据的完整性校验方法、装置、终端及存储介质
CN111698067A (zh) * 2019-03-15 2020-09-22 华为技术有限公司 数据传输方法及装置
CN111698067B (zh) * 2019-03-15 2023-03-10 华为技术有限公司 数据传输方法及装置
CN111673737A (zh) * 2020-05-13 2020-09-18 北京理工大学 一种机器人信息发送方法、接收方法、设备及存储介质
CN111641662A (zh) * 2020-07-01 2020-09-08 中国银行股份有限公司 报文格式检验方法及装置
CN111641662B (zh) * 2020-07-01 2023-05-12 中国银行股份有限公司 报文格式检验方法及装置
CN115694563A (zh) * 2021-07-30 2023-02-03 国基电子(上海)有限公司 基于蓝牙的传输方法、发送装置、传输系统及存储介质

Also Published As

Publication number Publication date
EP3537641B1 (en) 2021-04-14
WO2018099221A1 (zh) 2018-06-07
EP3537641A4 (en) 2019-11-27
CN108123775B (zh) 2020-09-29
US10904121B2 (en) 2021-01-26
US20190280953A1 (en) 2019-09-12
EP3537641A1 (en) 2019-09-11

Similar Documents

Publication Publication Date Title
CN108123775A (zh) 传输数据包的方法和设备
CN104380780B (zh) 传输方法和通信设备
US10396921B2 (en) Multi-lane synchronization method, synchronization apparatus and system, and computer storage medium
CN104335534B (zh) 数据发送方法、接收方法及设备
CN107872290A (zh) 一种标识ue的方法、网络侧设备、ue及系统
KR102241066B1 (ko) 랜덤 액세스 전송 방법, 수신 방법 및 장치, 송신단 및 수신단
CN104579541B (zh) 一种无线通信系统媒体接入层协议数据单元的构造方法
CN103703829B (zh) 一种数据传输方法和装置
RU2010135523A (ru) Способ и устройство для идентификации канала в системе беспроводной связи
CN103039104B (zh) 盲检测方法及装置
CN103188042B (zh) 一种ip数据包的匹配方法和匹配加速器
WO2020063910A1 (zh) 控制信道检测方法、装置及设备
CN102186193A (zh) 误检测判决方法及装置
CN106851816A (zh) 同步方法、装置及系统
CN105264985B (zh) 传输信息的方法、用户设备和基站
CN109150484A (zh) 一种控制信息传输方法、相关装置及计算机存储介质
CN104541536B (zh) 检测设备对设备信号的方法、用户设备和基站
CN111680467A (zh) 一种用于5g终端模拟器pdcch盲检测的fpga设计方法
CN104853447B (zh) 一种数据信息处理方法和装置
CN108306706A (zh) 一种数据接收、发送方法和接收、发送设备
CN110381050A (zh) 数据包的多协议转化校验方法和装置
CN109729573A (zh) 一种传输下行控制信息的方法及装置
US9843655B1 (en) Method and apparatus for packet data unit processing
CN110035489A (zh) 一种功率余量上报处理方法、终端及网络侧设备
CN117335930B (zh) 多小区盲检方法、装置及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant