CN110048914A - 一种用于slip协议的丢包检测方法 - Google Patents
一种用于slip协议的丢包检测方法 Download PDFInfo
- Publication number
- CN110048914A CN110048914A CN201910378323.7A CN201910378323A CN110048914A CN 110048914 A CN110048914 A CN 110048914A CN 201910378323 A CN201910378323 A CN 201910378323A CN 110048914 A CN110048914 A CN 110048914A
- Authority
- CN
- China
- Prior art keywords
- character
- coded frame
- packet loss
- data sequence
- detecting packet
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/03—Protocol definition or specification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Environmental & Geological Engineering (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种用于SLIP协议的丢包检测方法,通过从机数据链路层判断编码帧的数据序列字符(200)与上一个编码帧的数据序列字符(200)相比是否为顺序递增,若判断为否主机物理层对编码帧进行重传。本发明提供的一种用于SLIP协议的丢包检测方法,通过在编码帧上设定数据序列字符(200),从机数据链路层能够及时发现传输过程中的丢包现象并进行重传,提高了数据传输效率。
Description
技术领域
本发明涉及一种通讯技术领域,具体涉及一种用于SLIP协议的丢包检测方法。
背景技术
从机(DSP)和主机(PC)之间的通信协议由大致遵循OSI7层网络协议的简化模型的三层协议组成。这三层包括:
物理层定义主机和从机之间的电气接口,并提供通过物理链路传输的数据位的字节宽度。
数据链路层将多字节数据消息编码成要在物理层上发送和接收的帧。
应用层定义用于在主机和从机之间通信的消息集,这些消息称为APDU,应用程序层定义了一组用于通信的命令和响应。
在层次上,应用层是提供用户界面并定义用于控制收发器的命令集的顶层。数据链路层是下一级别,为多字节应用层消息提供成帧,错误检测和丢帧检测。最后在最低层,物理层定义电接口,该电接口提供用于在设备之间物理传输比特的装置,该层还将比特帧化为8比特宽的数据传输单元,这三层构成了收发器和主机通信的协议栈。
SLIP协议在数据传输过程中无法自动检测数据丢失情况,只有在数据传输完成后才能通过上层检测出是否有数据包的丢失。
发明内容
为了解决现有技术中SLIP协议在数据传输过程中无法自动检测数据丢失情况的技术问题,提供一种用于SLIP协议的丢包检测方法,通过在编码帧上设定数据序列字符,从机数据链路层能够及时发现传输过程中的丢包现象并进行重传,提高了数据传输效率。
本发明提供一种用于SLIP协议的丢包检测方法,包括以下步骤:
S1、在发送侧,主机数据链路层从主机应用层获取应用协议数据单元进行编码生成编码帧,并将编码帧传送至主机物理层;
编码帧包括依次相连END字符、数据序列字符、应用协议数据单元、错误检测字符、END字符;
S2、主机物理层将编码帧传送至位于接收侧的从机物理层;
S3、从机物理层将编码帧传送至从机数据链路层进行解码;
S4、对于每个顺序接收的编码帧,从机数据链路层将判断编码帧的数据序列字符与上一个编码帧的数据序列字符相比是否为顺序递增,如果判断为否则进入步骤S5,如果判断为是则进入步骤S6;
S5、主机物理层对编码帧进行重传,返回至步骤S4;
S6、完成数据的传输。
本发明所述的一种用于SLIP协议的丢包检测方法,作为优选方式,步骤S1中编码帧的编码过程包括以下步骤:
S11、在应用协议数据单元前添加数据序列字符;
S12、根据数据序列字符和应用协议数据单元生成错误检测字符;
S13、将错误检测字符添加至应用协议数据单元之后;
S14、将END字符前置到数据序列字符之前;
S15、对数据序列字符、应用协议数据单元、错误检测字符进行滑动编码;
S16、在错误检测字符后增加一个END字符。
本发明所述的一种用于SLIP协议的丢包检测方法,作为优选方式,步骤S11中数据序列字符的设定包括以下步骤:
S111、在复位和上电时,将所述数据序列字符设置为0×00;
S112、在每个新编码帧发送前,数据序列字符将增加1mod0×7F并预先添加到编码帧上。
本发明所述的一种用于SLIP协议的丢包检测方法,作为优选方式,数据序列字符的有效序列范围为0×00到0×0F。
本发明所述的一种用于SLIP协议的丢包检测方法,作为优选方式,END字符为一个字节,数据序列字符为一个字节,错误检测字符为二个字节。
本发明所述的一种用于SLIP协议的丢包检测方法,作为优选方式,应用协议数据单元包括命令或响应。
本发明所述的一种用于SLIP协议的丢包检测方法,作为优选方式,命令包括依次相连的对象标识符、对象实例标识符、参数标识符和参数域名。
本发明所述的一种用于SLIP协议的丢包检测方法,作为优选方式,参数标识符包括用于指示所述命令中的参数动作是读或写的读/写位,设置为0的保留位,参数域名格式和用于标识正在寻址的对象和实例中特定参数的代码。
本发明所述的一种用于SLIP协议的丢包检测方法,作为优选方式,响应包括依次相连的对象标识符、对象实例标识符、参数标识符、命令结果和参数域名。
本发明所述的一种用于SLIP协议的丢包检测方法,作为优选方式,对象标识符为一个字节,对象实例标识符为一个字节,参数标识符为二个字节。
本发明由于在编码帧上增加了数据序列字符,使协议可以有效地检测丢包现象,而且可以很快地向主机发出请求重传申请,有效而及时重发丢掉的数据包。
附图说明
图1为一种用于SLIP协议的丢包检测方法流程图;
图2为一种用于SLIP协议的丢包检测方法编码帧的编码流程图;
图3为编码帧结构示意图;
图4为命令消息格式示意图;
图5为参数标识符格式示意图;
图6为响应消息格式示意图。
附图标记:
100、END字符;200、数据序列字符;300、应用协议数据单元;310、对象标识符;320、对象实例标识符;330、参数标识符;331、读/写位;332、保留位;333、参数域名格式;334、代码;340、参数域名;340、命令结果;400、错误检测字符。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
实施例1
如图1所示,一种用于SLIP协议的丢包检测方法,包括以下步骤:
S1、在发送侧,主机数据链路层从主机应用层获取应用协议数据单元进行编码生成编码帧,并将编码帧传送至主机物理层;
编码帧包括依次相连END字符100、数据序列字符200、应用协议数据单元300、错误检测字符400、END字符100;如图3所示,编码帧包括依次相连一个字节的END字符100、一个字节的数据序列字符200、应用协议数据单元300、二个字节的错误检测字符400、一个字节的END字符100;如图2所示,编码帧的编码过程包括以下步骤:
S11、在应用协议数据单元300前添加数据序列字符200;数据序列字符的有效序列范围为0×00到0×0F,其设定包括以下步骤:
S111、在复位和上电时,将所述数据序列字符设置为0×00;
S112、在每个新编码帧发送前,数据序列字符将增加1mod0×7F并预先添加到编码帧上;
S12、根据数据序列字符200和应用协议数据单元300生成错误检测字符400;
S13、将错误检测字符400添加至应用协议数据单元300之后;
S14、将END字符100前置到数据序列字符200之前;
S15、对数据序列字符200、应用协议数据单元300、错误检测字符400进行滑动编码;
S16、在错误检测字符400后增加一个END字符100;
应用协议数据单元300包括命令或响应,如图4所示,命令包括依次相连的一个字节的对象标识符310、一个字节的对象实例标识符320、二个字节的参数标识符330和参数域名340,如图5所示,参数标识符330包括用于指示命令中的参数动作是读或写的读/写位331(R/W),设置为0的保留位332(RES),参数域名格式333(FMT)和用于标识正在寻址的对象和实例中特定参数的代码334(Code);如图6所示,响应包括依次相连的一个字节的对象标识符310、一个字节的对象实例标识符320、二个字节的参数标识符330、命令结果350和一个字节的参数域名340;
S2、主机物理层将编码帧传送至位于接收侧的从机物理层;
S3、从机物理层将编码帧传送至从机数据链路层进行解码;
S4、对于每个顺序接收的编码帧,从机数据链路层将判断编码帧的数据序列字符与上一个编码帧的数据序列字符相比是否为顺序递增,如果判断为否则进入步骤S5,如果判断为是则进入步骤S6;
S5、主机物理层对编码帧进行重传,返回至步骤S4;
S6、完成数据的传输。
SLIP定义了两个特殊的8位字符END字符100(0xC0)和ESC字符(0xDB),每个帧以END字符100开始和停止,END字符100之间的数据必须通过使用双字节序列替换任何END字符100或ESC字符进行SLIP编码,如下所示:
END字符100替换为2个字节ESC字符和0xDC;
ESC字符被替换为2个字节ESC字符和0xDD。
在发送端,在应用SLIP编码之前计算帧的2字节数据序列字符200(CRC),在接收端,数据包被SLIP解码(撤消ESC和END编码),并且在处理帧之前丢弃开始和停止END字符100。
对象标识符310(OBJ)标识命令或响应的对象,每个对象都有唯一的标识符,每个对象可以有多个实例,如果运行的是具有4个正交调制器的四载波系统,需要源数据进行调制,对象实例标识符320(OII)将识别哪个调制器被寻址,OII值0x00使用单个命令向所有对象广播数据,只有一个实例的对象将使用和OII值为0x01,如使用4载波正交调制器,用于单独寻址每个调制器的OII值将为0x01、0x02、0x03和0x04。参数域名340(PAR)是可变长度参数或参数集。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种用于SLIP协议的丢包检测方法,其特征在于:包括以下步骤:
S1、在发送侧,主机数据链路层从主机应用层获取应用协议数据单元(300)进行编码生成编码帧,并将所述编码帧传送至主机物理层;
所述编码帧包括依次相连END字符(100)、数据序列字符(200)、应用协议数据单元(300)、错误检测字符(400)、END字符(500);
S2、所述主机物理层将所述编码帧传送至位于接收侧的从机物理层;
S3、所述从机物理层将所述编码帧传送至从机数据链路层进行解码;
S4、对于每个顺序接收的所述编码帧,所述从机数据链路层将判断所述编码帧的所述数据序列字符(200)与上一个所述编码帧的所述数据序列字符(200)相比是否为顺序递增,如果判断为否则进入步骤S5,如果判断为是则进入步骤S6;
S5、所述主机物理层对所述编码帧进行重传,返回至步骤S4;
S6、完成数据的传输。
2.根据权利要求1所述的一种用于SLIP协议的丢包检测方法,其特征在于:步骤S1中所述编码帧的编码过程包括以下步骤:
S11、在所述应用协议数据单元(300)前添加所述数据序列字符(200);
S12、根据所述数据序列字符(200)和所述应用协议数据单元(300)生成所述错误检测字符(400);
S13、将所述错误检测字符(400)添加至所述应用协议数据单元(300)之后;
S14、将所述END字符(100)前置到所述数据序列字符(200)之前;
S15、对所述数据序列字符(200)、所述应用协议数据单元(300)、所述错误检测字符(400)进行滑动编码;
S16、在所述错误检测字符(400)后增加一个所述END字符(100)。
3.根据权利要求2所述的一种用于SLIP协议的丢包检测方法,其特征在于:步骤S11中所述数据序列字符(200)的设定包括以下步骤:
S111、在复位和上电时,将所述数据序列字符(200)设置为0×00;
S112、在每个新所述编码帧发送前,所述数据序列字符(200)将增加1mod0×7F并预先添加到所述编码帧上。
4.根据权利要求3所述的一种用于SLIP协议的丢包检测方法,其特征在于:所述数据序列字符(200)的有效序列范围为0×00到0×0F。
5.根据权利要求1所述的一种用于SLIP协议的丢包检测方法,其特征在于:所述END字符(100)为一个字节,所述数据序列字符(200)为一个字节,所述错误检测字符(400)为二个字节。
6.根据权利要求1所述的一种用于SLIP协议的丢包检测方法,其特征在于:所述应用协议数据单元(300)包括命令或响应。
7.根据权利要求6所述的一种用于SLIP协议的丢包检测方法,其特征在于:所述命令包括依次相连的对象标识符(310)、对象实例标识符(320)、参数标识符(330)和参数域名(340)。
8.根据权利要求6所述的一种用于SLIP协议的丢包检测方法,其特征在于:所述参数标识符(330)包括用于指示所述命令中的参数动作是读或写的读/写位(331),设置为0的保留位(332),参数域名格式(333)和用于标识正在寻址的对象和实例中特定参数的代码(334)。
9.根据权利要求6所述的一种用于SLIP协议的丢包检测方法,其特征在于:所述响应包括依次相连的对象标识符(310)、对象实例标识符(320)、参数标识符(330)、命令结果(350)和参数域名(340)。
10.根据权利要求8~9其中任意一项所述的一种用于SLIP协议的丢包检测方法,其特征在于:所述对象标识符(310)为一个字节,所述对象实例标识符(320)为1个字节,所述参数标识符(330)为二个字节。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910378323.7A CN110048914A (zh) | 2019-05-08 | 2019-05-08 | 一种用于slip协议的丢包检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910378323.7A CN110048914A (zh) | 2019-05-08 | 2019-05-08 | 一种用于slip协议的丢包检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110048914A true CN110048914A (zh) | 2019-07-23 |
Family
ID=67281234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910378323.7A Pending CN110048914A (zh) | 2019-05-08 | 2019-05-08 | 一种用于slip协议的丢包检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110048914A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112153063A (zh) * | 2020-09-28 | 2020-12-29 | 杭州浅海科技有限责任公司 | 一种适用于感应耦合传输的通讯协议 |
CN112866389A (zh) * | 2021-01-21 | 2021-05-28 | 同方电子科技有限公司 | 一种基于Slip协议的短波电台通信中文件传输方法及设备 |
CN113726755A (zh) * | 2021-08-23 | 2021-11-30 | 天津津航计算技术研究所 | 一种slip协议数据的处理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067238A (zh) * | 2012-12-28 | 2013-04-24 | 深圳市研控自动化科技有限公司 | 一种兼容于modbus总线的数据采集方法 |
US9747565B2 (en) * | 2000-09-18 | 2017-08-29 | Intellectual Ventures Ii Llc | System and methods for management of mobile field assets via wireless handheld devices |
CN110138515A (zh) * | 2019-04-25 | 2019-08-16 | 苏州龙欣通颖网络科技有限公司 | 一种基于slip协议的数据传输方法 |
-
2019
- 2019-05-08 CN CN201910378323.7A patent/CN110048914A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9747565B2 (en) * | 2000-09-18 | 2017-08-29 | Intellectual Ventures Ii Llc | System and methods for management of mobile field assets via wireless handheld devices |
CN103067238A (zh) * | 2012-12-28 | 2013-04-24 | 深圳市研控自动化科技有限公司 | 一种兼容于modbus总线的数据采集方法 |
CN110138515A (zh) * | 2019-04-25 | 2019-08-16 | 苏州龙欣通颖网络科技有限公司 | 一种基于slip协议的数据传输方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112153063A (zh) * | 2020-09-28 | 2020-12-29 | 杭州浅海科技有限责任公司 | 一种适用于感应耦合传输的通讯协议 |
CN112866389A (zh) * | 2021-01-21 | 2021-05-28 | 同方电子科技有限公司 | 一种基于Slip协议的短波电台通信中文件传输方法及设备 |
CN112866389B (zh) * | 2021-01-21 | 2022-09-16 | 同方电子科技有限公司 | 一种基于Slip协议的短波电台通信中文件传输方法及设备 |
CN113726755A (zh) * | 2021-08-23 | 2021-11-30 | 天津津航计算技术研究所 | 一种slip协议数据的处理方法 |
CN113726755B (zh) * | 2021-08-23 | 2023-06-02 | 天津津航计算技术研究所 | 一种slip协议数据的处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110048914A (zh) | 一种用于slip协议的丢包检测方法 | |
US7733902B2 (en) | Conveying protocol units for portable electronic objects via a protocol for microcomputer peripherals | |
EP2264981B1 (en) | Discovery and rediscovery protocol method and system | |
US6438128B1 (en) | Alternate use of data packet fields to convey information | |
CN111083161A (zh) | 数据传输的处理方法及装置、物联网设备 | |
CN107147657A (zh) | 适用于多机可靠通信的通信协议、编解码方法及通讯设备 | |
CN106788894A (zh) | 分段独立传输校验方法 | |
CN110417713B (zh) | 一种基于物联网的设备数据传输方法及装置 | |
CN101507318B (zh) | 移动通信系统中使用的无线通信装置及方法 | |
CN110138515A (zh) | 一种基于slip协议的数据传输方法 | |
WO2011137640A1 (zh) | 文件传输方法、文件发送装置和文件接收装置 | |
CN102664886A (zh) | 一种基于以太网的机器人协议实现方法 | |
EP2911340A1 (en) | Method and system for removing fault of internet of things gateway | |
CN103442250A (zh) | 电视机调试系统和方法 | |
CN100428745C (zh) | 一种数据的传输方法和装置 | |
CN108901012A (zh) | 一种低功耗蓝牙大数据分包传输方法 | |
CN109274636B (zh) | 数据安全传输方法及其装置、系统、列车 | |
CN1988537A (zh) | 一种数据传输协议 | |
CN103501288A (zh) | 一种对二层交换设备实现批量数据升级的方法 | |
CN105635160B (zh) | 一种多变数据网络通信的设计方法 | |
CN110098896A (zh) | 一种用于嵌入式应用特殊字符的数据传输方法 | |
CN110190927A (zh) | 一种用于slip协议的传输错误检测及纠错方法 | |
CN104429009B (zh) | 用于在数据包的双向传输情况下传输数据包的方法 | |
WO2007036128A1 (fr) | Interface bts-bsc et procede pour detecter l'interface | |
CN103475454A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190723 |