CN101252598A - 一种网络通信协议栈的开发系统和开发方法 - Google Patents

一种网络通信协议栈的开发系统和开发方法 Download PDF

Info

Publication number
CN101252598A
CN101252598A CNA2008100663822A CN200810066382A CN101252598A CN 101252598 A CN101252598 A CN 101252598A CN A2008100663822 A CNA2008100663822 A CN A2008100663822A CN 200810066382 A CN200810066382 A CN 200810066382A CN 101252598 A CN101252598 A CN 101252598A
Authority
CN
China
Prior art keywords
protocol stack
data
udp
development
communication module
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
CNA2008100663822A
Other languages
English (en)
Other versions
CN101252598B (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.)
Cai Xiaoyan
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN200810066382A priority Critical patent/CN101252598B/zh
Publication of CN101252598A publication Critical patent/CN101252598A/zh
Application granted granted Critical
Publication of CN101252598B publication Critical patent/CN101252598B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种网络通信协议栈的开发系统和开发方法,该系统包括至少一宿主机,其设置应用层数据单元和至少一协议栈单元,并且协议栈单元设置UDP通信模块;UDP通信模块用于完成协议栈底层数据的接收和发送;源协议栈单元与应用层数据单元相连接,用于处理应用数据,生成协议栈数据,通过其UDP通信模块封装到UDP数据包,发送给目标协议栈单元的UDP通信模块。采用上述方案,本发明在协议栈开发中,采用UDP承载协议栈数据的方式,进行协议栈单步流程的跟踪调试,并构造出各种测试流程进行协议栈各个处理流程的测试,结果直观,调试成本低,模块稳定周期短;提高了开发效率,减少了协议栈稳定的时间。

Description

一种网络通信协议栈的开发系统和开发方法
技术领域
本发明涉及网络通信协议栈的开发,尤其涉及的是,在各种网络通信协议栈开发过程中,一种采用UDP(User Datagram Protocol,用户数据报协议)数据模拟协议栈底层的数据收发,整个协议栈开发过程在宿主机进行开发的系统和方法。
背景技术
在嵌入式通信设备产品上,很多网络通信协议需要自行研发,该协议栈的开发工作一般直接在相应的嵌入式操作系统上进行,从现有的一些嵌入式操作系统的集成开发环境来看,现有技术存在以下局限。
1、对协议单个函数的跟踪调试,在嵌入式环境下需要对应的集成开发环境工具,而且结果不直观,调试成本高,因此导致模块稳定周期长。
2、对一些通信协议,如ATM相关协议,七号信令协议等,必须要有特定硬件支持,才能进行数据收发,驱动协议栈的运行,这样也就增加了协议栈开发与其他模块的依赖性,从而导致开发周期较长。
3、由于直接在嵌入式系统上开发,对开发人员而言,模块自测不易进行,而且自测规程不易重用;并且,由于嵌入式系统的正常运行与其他各个模块等都有关系,故要保证其他模块正常运行后,才能顺利进行自测。
因此,现有技术存在缺陷,需要改进。
发明内容
本发明所要解决的技术问题是在嵌入式系统中进行协议栈的开发工作时,结果不直观,调试成本高,模块稳定周期长;协议栈开发与其他模块存在依赖性,导致开发周期较长;模块自测不易进行,而且自测规程不易重用,受其他各个模块运行的限制。
本发明的技术方案如下:
一种网络通信协议栈的开发系统,其包括至少一宿主机,其中,所述宿主机设置应用层数据单元和至少一协议栈单元,并且所述协议栈单元设置UDP通信模块;其中,所述UDP通信模块用于完成协议栈底层数据的接收和发送;源协议栈单元与所述应用层数据单元相连接,用于处理应用数据,生成协议栈数据,通过其UDP通信模块封装到UDP数据包,发送给目标协议栈单元的UDP通信模块。
所述的开发系统,其中,所述通信模块包括套接字资源子模块、数据接收线程子模块和数据发送接口子模块;所述套接字资源子模块分别与所述数据接收线程子模块、所述数据发送接口子模块相连接,用于接收和发送UDP数据报;所述数据接收线程子模块用于接收UDP应用数据;所述数据发送接口子模块用于发送UDP应用数据。
所述的开发系统,其中,所述宿主机设置至少两个协议栈单元;其中,所述源协议栈单元的UDP通信模块与所述目标协议栈单元的UDP通信模块通过UDP协议相连接。
所述的开发系统,其中,所述协议栈单元还设置配置模块,用于维护所述协议栈单元的状态和配置所述协议栈单元。
所述的开发系统,其中,所述协议栈单元中,还设置应用层数据模块,用于替代所述应用层数据单元。
一种网络通信协议栈的开发方法,其包括以下步骤:A1、在宿主机上进行协议栈的数据收发;A2、在调试时,采用UDP数据方式,驱动协议栈进行数据接收;在发送数据时,将所发送的协议栈数据适配为UDP数据包,进行发送。
所述的开发方法,其中,步骤A1具体执行步骤:在宿主机上启动至少一个协议栈开发工程;并且,步骤A2具体执行以下步骤:A21、分别为各协议栈开发工程构建其UDP通信模块,用于完成协议栈底层数据的接收和发送;A22、源协议栈开发工程在应用层发送数据时,将需要发送的应用层数据进行处理后,生成协议栈数据,作为负荷递交给其UDP通信模块;A23、将所述协议栈数据封装在UDP数据包中,发送给目标协议栈开发工程的UDP通信模块;A24、接收数据,调用接收函数,进行数据处理。
所述的开发方法,其中,步骤A1中,在宿主机上启动一个协议栈开发工程;步骤A23中还执行以下步骤:在所述源协议栈开发工程的UDP通信模块中,设置所述协议栈数据的发送目的UDP端口和目的IP地址分别为所述源协议栈开发工程用于接收数据的UDP端口和IP地址。
所述的开发方法,其中,步骤A1中,在宿主机上启动两个协议栈开发工程。
所述的开发方法,其中,步骤A2中,所述UDP通信模块通过套接字资源收发UDP数据报、通过UDP数据接收线程接收UDP应用数据、通过UDP数据发送接口发送UDP应用数据。
采用上述方案,本发明在七号信令协议栈和ATM协议栈以及其他协议栈开发中,采用UDP承载协议栈数据的方式,进行协议栈单步流程的跟踪调试,并构造出各种测试流程进行协议栈各个处理流程的测试,结果直观,调试成本低,模块稳定周期短;提高了开发效率,减少了协议栈稳定的时间。
附图说明
图1为本发明系统的协议栈实体1和协议栈实体2之间,采用UDP进行协议栈数据传输示意图;
图2为本发明方法的协议栈协议控制信令的传输示意图;
图3为本发明方法的协议栈数据收发流程示意图;
图4为本发明方法的实现协议栈自环测试的一种实施方式示意图。
具体实施方式
以下结合附图和具体实施例,对本发明进行详细说明。
本发明的主旨是协议栈的状态机、数据流程处理等方面与嵌入式环境关系并不大,完全可以在比较容易跟踪调试的环境中进行开发;因此,本发明采用一种协议栈底层数据收发机制,来进行协议栈自身的流程测试,调试跟踪。对于数据收发部分,采用将协议栈数据承载在IP上的UDP数据包进行收发。从而在调试时,采用UDP数据驱动协议栈的接收,发送数据时将所发送的协议栈数据适配为UDP数据进行发送。从而,协议栈开发中不用关心底层具体物理收发数据的实现细节,对协议栈部分能够进行快速调试和易于跟踪。
如图1所示,本发明提供了一种网络通信协议栈的开发系统,其包括至少一宿主机,其中,所述宿主机设置应用层数据单元和至少一协议栈单元,并且所述协议栈单元设置UDP通信模块。
其中,所述UDP通信模块用于完成协议栈底层数据的接收和发送;例如,所述UDP通信模块包括套接字资源子模块、数据接收线程子模块和数据发送接口子模块;所述套接字资源子模块分别与所述数据接收线程子模块、所述数据发送接口子模块相连接,用于接收和发送UDP数据报;所述数据接收线程子模块用于接收UDP应用数据;所述数据发送接口子模块用于发送UDP应用数据。
其中,源协议栈单元与所述应用层数据单元相连接,用于处理应用数据,生成协议栈数据,通过其UDP通信模块封装到UDP数据包,发送给目标协议栈单元的UDP通信模块。需要说明的是,源协议栈单元和目标协议栈单元可以是同一协议栈单元,这样就可以实现协议栈的自环测试功能。
更好的是,所述宿主机设置至少两个协议栈单元;其中,所述源协议栈单元的UDP通信模块与所述目标协议栈单元的UDP通信模块通过UDP协议相连接。
例如,所述协议栈单元还设置配置模块,用于维护所述协议栈单元的状态和配置所述协议栈单元。这样有利于实际应用中,对协议栈单元进行实时维护和进行相关的配置工作。
又如,所述协议栈单元中,还设置应用层数据模块,用于替代所述应用层数据单元,也就是在宿主机不设置所述应用层数据单元,而改为在每个协议栈单元中,相应地设置应用层数据模块。
下面结合图1,更为具体的说明本发明所提供的系统。
1、以宿主机作为协议栈开发的环境,在宿主机上启动两个协议栈开发工程;分别对应为协议栈实体1和协议栈实体2。
2、构建一个UDP通信模块,用于完成协议栈底层数据的接收和发送;该模块包括三部分:一是套接字资源,用于UDP数据报的接收和发送;二是一个UDP数据接收线程,进行UDP应用数据的接收;三是UDP数据发送接口,用于进行UDP应用数据的发送。
3、协议栈实体1在应用层发送数据时,将需要发送的应用层数据,经过协议栈实体1处理后生成的协议栈数据作为负荷递交给UDP通信模块,UDP通信模块将该协议栈数据封装在UDP数据包中发送给协议栈实体2。
4、协议栈实体2的UDP通信模块接收到协议栈实体1的数据后,调用协议栈的接收函数,从而驱动协议栈的接收处理流程。
如图1所示,为整个宿主机上进行协议栈开发的架构图。可以采用Windows操作系统作为开发平台,在协议栈开发过程中,如果应用层部分或者协议栈状态维护、配置部分功能还未开发完成,可以采用函数适配来模拟这部分功能。对UDP通讯模块部分,通过套接字编程进行套接字的初始化,并启动UDP数据接收线程进行UDP数据的接收,为协议栈层提供UDP发送函数接口。
数据收发流程如图2所示,协议栈在获得基本的配置数据后,就可以开始进行协议栈自身的控制信令的发送和处理。协议栈控制信令包括协议实体之间的链路建立等信令。
如图3所示,在协议栈层链路建立好后,就可以进行应用层数据的传输。应用层需要发送长度L的应用层数据,应用层将数据递交给协议栈实体1后,协议栈实体1对该数据进行处理后,作为协议栈数据递交该UDP通信模块进行数据发送。协议栈实体2UDP通信模块接收到协议栈实体1发送的数据后,将数据递交给协议栈实体2。协议栈实体2对这部分数据进行处理后,将数据中承载的应用层数据递交给应用层。这样,应用层就可以对这部分数据进行验证等操作。
如图4所示,为采用该方案进行协议栈环回测试的模型。应用层数据通过协议栈实体1递交给UDP通信模块,而UDP通信模直接将该部分数据发送给该模块的接收线程。而后UDP通信模块将接收到的数据递交给协议栈实体1,协议栈实体1经过处理后将数据递交给应用层。从而实现了协议栈数据的环回。
并且,本发明还提供了一种网络通信协议栈的开发方法,其包括以下步骤:A1、在宿主机上进行协议栈的数据收发;A2、在调试时,采用UDP数据方式,驱动协议栈进行数据接收;在发送数据时,将所发送的协议栈数据适配为UDP数据包,进行发送。
更好的是,步骤A1具体执行步骤:在宿主机上启动至少一个协议栈开发工程;一般情况下,可以在宿主机上启动两个或者更多的协议栈开发工程。并且,步骤A2具体执行以下步骤:A21、分别为各协议栈开发工程构建其UDP通信模块,用于完成协议栈底层数据的接收和发送;A22、源协议栈开发工程在应用层发送数据时,将需要发送的应用层数据进行处理后,生成协议栈数据,作为负荷递交给其UDP通信模块;A23、将所述协议栈数据封装在UDP数据包中,发送给目标协议栈开发工程的UDP通信模块;A24、接收数据,调用接收函数,进行数据处理。具体地说,在步骤A2中,所述UDP通信模块可以通过套接字资源收发UDP数据报、通过UDP数据接收线程接收UDP应用数据、通过UDP数据发送接口发送UDP应用数据。
一个例子是,步骤A1中,在宿主机上启动一个协议栈开发工程;并且,步骤A23中还执行以下步骤:在所述源协议栈开发工程的UDP通信模块中,设置所述协议栈数据的发送目的UDP端口和目的IP地址分别为所述源协议栈开发工程用于接收数据的UDP端口和IP地址。这样,就可以采用本发明的方法来进行协议栈自环测试,在协议栈实体1的UDP通信模块中,设置数据发送目的UDP端口和目的IP地址为协议栈实体1的接收数据的UDP端口和IP地址。从而实现协议栈的自环,可以进行一些自环验证测试。
采用本发明的开发系统和开发方法,在七号信令协议栈和ATM协议栈以及其他协议栈开发中,通过采用了UDP承载协议栈数据的方式进行协议栈单步流程的跟踪调试,并构造出各种测试流程进行协议栈各个处理流程的测试,极大地提高了开发效率,减少了协议栈的稳定时间,非常便于开发应用。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (10)

1、一种网络通信协议栈的开发系统,其包括至少一宿主机,其特征在于,所述宿主机设置应用层数据单元和至少一协议栈单元,并且所述协议栈单元设置UDP通信模块;
其中,所述UDP通信模块用于完成协议栈底层数据的接收和发送;
源协议栈单元与所述应用层数据单元相连接,用于处理应用数据,生成协议栈数据,通过其UDP通信模块封装到UDP数据包,发送给目标协议栈单元的UDP通信模块。
2、根据权利要求1所述的开发系统,其特征在于,所述通信模块包括套接字资源子模块、数据接收线程子模块和数据发送接口子模块;
所述套接字资源子模块分别与所述数据接收线程子模块、所述数据发送接口子模块相连接,用于接收和发送UDP数据报;
所述数据接收线程子模块用于接收UDP应用数据;
所述数据发送接口子模块用于发送UDP应用数据。
3、根据权利要求1所述的开发系统,其特征在于,所述宿主机设置至少两个协议栈单元;其中,所述源协议栈单元的UDP通信模块与所述目标协议栈单元的UDP通信模块通过UDP协议相连接。
4、根据权利要求1所述的开发系统,其特征在于,所述协议栈单元还设置配置模块,用于维护所述协议栈单元的状态和配置所述协议栈单元。
5、根据权利要求1所述的开发系统,其特征在于,所述协议栈单元中,还设置应用层数据模块,用于替代所述应用层数据单元。
6、一种网络通信协议栈的开发方法,其包括以下步骤:
A1、在宿主机上进行协议栈的数据收发;
A2、在调试时,采用UDP数据方式,驱动协议栈进行数据接收;
在发送数据时,将所发送的协议栈数据适配为UDP数据包,进行发送。
7、根据权利要求6所述的开发方法,其特征在于,步骤A1具体执行步骤:在宿主机上启动至少一个协议栈开发工程;
并且,步骤A2具体执行以下步骤:
A21、分别为各协议栈开发工程构建其UDP通信模块,用于完成协议栈底层数据的接收和发送;
A22、源协议栈开发工程在应用层发送数据时,将需要发送的应用层数据进行处理后,生成协议栈数据,作为负荷递交给其UDP通信模块;
A23、将所述协议栈数据封装在UDP数据包中,发送给目标协议栈开发工程的UDP通信模块;
A24、接收数据,调用接收函数,进行数据处理。
8、根据权利要求7所述的开发方法,其特征在于,步骤A1中,在宿主机上启动一个协议栈开发工程;
步骤A23中还执行以下步骤:在所述源协议栈开发工程的UDP通信模块中,设置所述协议栈数据的发送目的UDP端口和目的IP地址分别为所述源协议栈开发工程用于接收数据的UDP端口和IP地址。
9、根据权利要求7所述的开发方法,其特征在于,步骤A1中,在宿主机上启动两个协议栈开发工程。
10、根据权利要求7所述的开发方法,其特征在于,步骤A2中,所述UDP通信模块通过套接字资源收发UDP数据报、通过UDP数据接收线程接收UDP应用数据、通过UDP数据发送接口发送UDP应用数据。
CN200810066382A 2008-03-28 2008-03-28 一种网络通信协议栈的开发系统和开发方法 Expired - Fee Related CN101252598B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200810066382A CN101252598B (zh) 2008-03-28 2008-03-28 一种网络通信协议栈的开发系统和开发方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810066382A CN101252598B (zh) 2008-03-28 2008-03-28 一种网络通信协议栈的开发系统和开发方法

Publications (2)

Publication Number Publication Date
CN101252598A true CN101252598A (zh) 2008-08-27
CN101252598B CN101252598B (zh) 2012-09-05

Family

ID=39955781

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810066382A Expired - Fee Related CN101252598B (zh) 2008-03-28 2008-03-28 一种网络通信协议栈的开发系统和开发方法

Country Status (1)

Country Link
CN (1) CN101252598B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103442010A (zh) * 2013-08-30 2013-12-11 清华大学 Rtp协议栈的开发装置及实现框架
WO2015180046A1 (zh) * 2014-05-28 2015-12-03 华为技术有限公司 一种协议栈适配方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1305276C (zh) * 2004-01-15 2007-03-14 中兴通讯股份有限公司 一种快速处理实时媒体流数据包的方法及其系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103442010A (zh) * 2013-08-30 2013-12-11 清华大学 Rtp协议栈的开发装置及实现框架
CN103442010B (zh) * 2013-08-30 2016-08-10 清华大学 Rtp协议栈的开发装置及系统
WO2015180046A1 (zh) * 2014-05-28 2015-12-03 华为技术有限公司 一种协议栈适配方法及装置
RU2645283C1 (ru) * 2014-05-28 2018-02-19 Хуавэй Текнолоджиз Ко., Лтд. Способ и устройство адаптации стека протоколов
US10299164B2 (en) 2014-05-28 2019-05-21 Huawei Technologies Co., Ltd. Protocol stack adaptation method and apparatus

Also Published As

Publication number Publication date
CN101252598B (zh) 2012-09-05

Similar Documents

Publication Publication Date Title
CN105824729B (zh) 一种具备通用性的虚拟验证平台及实现方法
CN103023708B (zh) 通信协议接口的测试方法及系统
CN102967815B (zh) 芯片测试方法、自动化测试机和系统
WO2007060094A3 (en) Software application interfacing testing
CN103676663A (zh) 一种风电机组联合仿真系统通信接口实现方法
CN108270733A (zh) 一种管理智能设备的方法及系统
CN111522727A (zh) 一种模拟对象测试方法、设备和系统
CN105024873A (zh) 基于设备和场景模拟的协议一致性测试系统与方法
CN103164207A (zh) 基于安卓系统的跨硬件平台的应用程序开发方法和系统
CN112559273A (zh) 一种基于uvm的qspi验证系统及方法
CN101252598B (zh) 一种网络通信协议栈的开发系统和开发方法
CN107517259A (zh) 一种简易Web服务器实现方法
CN102750143A (zh) 基于matlab com组件调用的dsp开发方法
CN106407061A (zh) 一种北向接口测试装置和北向接口的测试方法
CN101909310A (zh) 电子装置测试方法
CN105320604B (zh) 一种自动化测试系统及方法
CN102609353A (zh) 对程序调试进行管理的方法、装置及系统
CN100546261C (zh) 无线局域网测试的方法及系统
CN104734900B (zh) 一种通信协议测试的发送控制方法
CN112559264A (zh) 基于uvm的验证平台实现fpga通用串口的仿真测试方法
CN201733408U (zh) 一种手机故障快速诊断装置及系统
CN102546637B (zh) 一种通讯终端及其实现通讯协议的方法
CN103149909A (zh) 基于fpga的can仿真节点系统
CN202870525U (zh) 一种适合变动环境下的网络化数据采集装置
CN105846973B (zh) 一种嵌入式软件的协议测试方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20170828

Address after: Liu Fu Cun Township 053000 Hengshui city in Hebei province Gucheng County No. 208 square

Patentee after: Cai Xiaoyan

Address before: 518057 Nanshan District Guangdong high tech Industrial Park, South Road, science and technology, ZTE building, Ministry of Justice

Patentee before: ZTE Corporation

CB03 Change of inventor or designer information

Inventor after: Cai Xiaoyan

Inventor before: Li Shunbin

CB03 Change of inventor or designer information
CP02 Change in the address of a patent holder

Address after: 541002 No. two, No. 5, West Road, Xiangshan District, Guilin, the Guangxi Zhuang Autonomous Region

Patentee after: Cai Xiaoyan

Address before: Liu Fu Cun Township 053000 Hengshui city in Hebei province Gucheng County No. 208 square

Patentee before: Cai Xiaoyan

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: Liu Fu Cun Township 053000 Hengshui city in Hebei province Gucheng County No. 208 square

Patentee after: Cai Xiaoyan

Address before: 541002 No. two, No. 5, West Road, Xiangshan District, Guilin, the Guangxi Zhuang Autonomous Region

Patentee before: Cai Xiaoyan

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120905

Termination date: 20180328

CF01 Termination of patent right due to non-payment of annual fee