一种以太网通信协议栈系统及实现方法技术方案

技术编号:25809221 阅读:21 留言:0更新日期:2020-09-29 18:44
本发明专利技术公开了一种以太网通信协议栈系统及实现方法,采用MAC数据仲裁模块对接收数据进行解析得到接收数据的数据类型,然后对不同类型数据采用专有模块进行数据校验,采用IP接收模块、ARP接收模块或ICMP接收模块分别对不同类型数据进行解包处理,采用实时校验,减小协议栈时间开销,最后利用MAC数据仲裁模块用于对IP发送模块、ARP发送模块和ICMP发送模块发送数据进行优先级仲裁发送,本发明专利技术结构简单,延迟低、易扩展,实现简单,传输数据时,同步进行校验,耗时较小,将逻辑设计映射到可编程逻辑器件中实现,并对协议栈功能进行测试,测试结果表明本发明专利技术具有很好的可实施性,且性能满足预期,适用于不具备标准软件协议栈的以太网通信领域。

【技术实现步骤摘要】
一种以太网通信协议栈系统及实现方法
本专利技术涉及一种全数字电路设计的以太网通信协议栈,具体涉及一种以太网通信协议栈系统及实现方法。
技术介绍
目前使用以太网通信的方式,主要是在CPU平台上采用软件标准TCP/IP通信协议栈,与其他以太网设备进行通信。这种通信方式的前提是有一个性能较高的处理器。当处理器性能较低、内存空间有限时,无法实现通信协议栈,不能进行以太网通信。例如,在一些使用传统8位或16位单片机的电子系统中,很难使用以太网进行通信,无法满足电子系统网络化、一体化的需求。而目前现有技术中,没有UDP/IP协议栈硬件编程实现的具体方法,也未对如何降低通信协议栈时间开销进行深入研究。
技术实现思路
本专利技术的目的在于提供一种以太网通信协议栈系统及实现方法,以克服现有技术的不足。为达到上述目的,本专利技术采用如下技术方案:一种以太网通信协议栈系统,包括IP接收模块、IP发送模块、UDP接收模块、UDP发送模块、ARP接收模块、ARP发送模块、ARP高速缓存模块、ICMP接收模块、ICMP发送模块、应用层通信接口控制模块、MAC数据仲裁模块和节点配置信息模块;MAC数据仲裁模块用于对接收数据进行解析得到接收数据的数据类型,并根据数据类型将接收数据传输至IP接收模块、ARP接收模块或ICMP接收模块;IP接收模块用于对接收的数据包进行IP数据解包处理,通过分析IP数据首部将解包得到的有效数据传输至UDP接收模块;UDP接收模块对IP接收模块发送的有效数据进行解包处理,剥离得到应用层实际通信数据,并将剥离得到的应用层实际通信数据传输至应用层通信接口控制模块;UDP发送模块用于接收应用层通信接口控制模块发送的应用层数据,并对接收的应用层数据添加UDP首部,组成标准UDP数据并传送于IP发送模块,IP发送模块对UDP数据添加IP层首部,并将添加IP层首部后的IP层首部作为MAC帧通过MAC数据仲裁模块发送;ARP发送模块用于查询目标IP地址对应的MAC地址,ARP接收模块用于接收对方主机返回的ARP应答并更新本地ARP高速缓存模块;ARP高速缓存模块用于存储IP地址和MAC地址的映射表;ICMP接收模块和ICMP发送模块用于响应对方主机发送的数据命令,根据数据命令解析出目标IP地址,将解析的目标IP地址与本协议栈MAC地址相比较,当两者相同时,向对方主机回发ICMP数据包,若不一致,则丢弃该数据命令;节点配置信息模块用于对应用层通信接口控制模块进行配置;应用层通信接口控制模块用于与外部数据交互;MAC数据仲裁模块用于对IP发送模块、ARP发送模块和ICMP发送模块发送数据进行优先级仲裁发送。进一步的,IP接收模块通过对接收的数据包IP数据首部进行校验,将校验值进行合法性判断,若校验值符合设定值,则将解析的有效UDP数据发送给UDP接收模块。进一步的,IP层首部包括IP协议版本、首部长度、服务类型、生存周期、源IP地址和目标IP地址。进一步的,ARP发送模块首先搜索ARP高速缓存模块,如果没有查询目标IP地址对应的MAC地址映射记录,则发送一个ARP请求,当ARP接收模块收到对方主机返回的ARP应答,即可获得查询目标IP地址对应的MAC地址,更新本地ARP高速缓存模块。进一步的,对于目标IP采用定时发送ARP的方式。进一步的,应用层通信接口控制模块采用应用层封装通信接口,包括32位、16位或8位接口。进一步的,当IP发送模块、ARP发送模块和ICMP发送模块同时发送数据,则依次按照ARP发送模块、ICMP发送模块、IP发送模块发送数据顺序进行处理。进一步的,IP发送模块在接收到UDP发送模块送来的数据时,首先将校验和字段清零,然后对每16位数据进行二进制求和,将最终和值进行去反,得到值即为IP层校验值;IP接收模块在接收MAC数据仲裁模块发送数据过程中,首先将校验和字段清零,然后对每16位数据进行二进制求和,将最终和值进行取反得到校验值。进一步的,节点配置信息模块用于对应用层通信接口控制模块提供本地IP地址、本地MAC地址和本地UDP端口信息。一种以太网通信协议栈系统实现方法,包括以下步骤:步骤1)、利用MAC数据仲裁模块对接收数据进行解析得到接收数据的数据类型,并根据数据类型将接收数据传输至IP接收模块、ARP接收模块或ICMP接收模块;步骤2)、通过IP接收模块用于对接收的数据包进行IP数据解包处理,通过分析IP数据首部将解包得到的有效数据传输至UDP接收模块;利用ICMP接收模块和ICMP发送模块响应对方主机发送的数据命令,根据数据命令解析出目标IP地址,将解析的目标IP地址与本协议栈MAC地址相比较,当两者相同时,向对方主机回发ICMP数据包,若不一致,则丢弃该数据命令;通过节点配置信息模块对应用层通信接口控制模块进行配置;步骤3)、利用UDP接收模块对IP接收模块发送的有效数据进行解包处理,剥离得到应用层实际通信数据,并将剥离得到的应用层实际通信数据传输至应用层通信接口控制模块;步骤4)、利用UDP发送模块接收应用层通信接口控制模块发送的应用层数据,并对接收的应用层数据添加UDP首部,组成标准UDP数据并传送于IP发送模块,通过IP发送模块对UDP数据添加IP层首部,并将添加IP层首部后的IP层首部作为MAC帧通过MAC数据仲裁模块发送;步骤5)、通过ARP发送模块查询目标IP地址对应的MAC地址,如果没有查询目标IP地址对应的MAC地址映射记录,则发送一个ARP请求,通过ARP接收模块接收对方主机返回的ARP应答并更新本地ARP高速缓存模块;步骤6)、最后通过MAC数据仲裁模块对IP发送模块、ARP发送模块和ICMP发送模块发送数据进行优先级仲裁发送。与现有技术相比,本专利技术具有以下有益的技术效果:本专利技术一种以太网通信协议栈系统,采用MAC数据仲裁模块对接收数据进行解析得到接收数据的数据类型,然后对不同类型数据采用专有模块进行数据校验,采用IP接收模块、ARP接收模块或ICMP接收模块分别对不同类型数据进行解包处理,采用实时校验,减小协议栈时间开销,最后利用MAC数据仲裁模块用于对IP发送模块、ARP发送模块和ICMP发送模块发送数据进行优先级仲裁发送,本专利技术结构简单,延迟低、易扩展,实现简单,传输数据时,同步进行校验,耗时较小,将逻辑设计映射到可编程逻辑器件中实现,并对协议栈功能进行测试,测试结果表明本专利技术具有很好的可实施性,且性能满足预期,适用于不具备标准软件协议栈的以太网通信领域。进一步的,采用定时发送ARP的方式能够实时检测和维持网络通信。进一步的,本申请通过MAC数据仲裁模块和IP接收模块均进行了数据校验,简化UDP校验项,简化了结构,数据可靠性强,提高了效率。本专利技术一种以太网通信协议栈系统实现方法,解决了软件标准协议栈非实时校验带来的延迟开销大等问题。本专利技术由硬件逻辑实现,协议栈延迟小于1u本文档来自技高网...

【技术保护点】
1.一种以太网通信协议栈系统,其特征在于,包括IP接收模块(2)、IP发送模块(3)、UDP接收模块(8)、UDP发送模块(9)、ARP接收模块(5)、ARP发送模块(4)、ARP高速缓存模块(10)、ICMP接收模块(7)、ICMP发送模块(6)、应用层通信接口控制模块(12)、MAC数据仲裁模块(1)和节点配置信息模块(11);/nMAC数据仲裁模块(1)用于对接收数据进行解析得到接收数据的数据类型,并根据数据类型将接收数据传输至IP接收模块(2)、ARP接收模块(5)或ICMP接收模块(7);/nIP接收模块(2)用于对接收的数据包进行IP数据解包处理,通过分析IP数据首部将解包得到的有效数据传输至UDP接收模块(8);/nUDP接收模块(8)对IP接收模块(2)发送的有效数据进行解包处理,剥离得到应用层实际通信数据,并将剥离得到的应用层实际通信数据传输至应用层通信接口控制模块(12);/nUDP发送模块(9)用于接收应用层通信接口控制模块(12)发送的应用层数据,并对接收的应用层数据添加UDP首部,组成标准UDP数据并传送于IP发送模块(3),IP发送模块(3)对UDP数据添加IP层首部,并将添加IP层首部后的IP层首部作为MAC帧通过MAC数据仲裁模块(1)发送;/nARP发送模块(4)用于查询目标IP地址对应的MAC地址,ARP接收模块(5)用于接收对方主机返回的ARP应答并更新本地ARP高速缓存模块;ARP高速缓存模块(10)用于存储IP地址和MAC地址的映射表;/nICMP接收模块(7)和ICMP发送模块(6)用于响应对方主机发送的数据命令,根据数据命令解析出目标IP地址,将解析的目标IP地址与本协议栈MAC地址相比较,当两者相同时,向对方主机回发ICMP数据包,若不一致,则丢弃该数据命令;节点配置信息模块(11)用于对应用层通信接口控制模块(12)进行配置;应用层通信接口控制模块(12)用于与外部数据交互;/nMAC数据仲裁模块用于对IP发送模块(3)、ARP发送模块(4)和ICMP发送模块(6)发送数据进行优先级仲裁发送。/n...

【技术特征摘要】
1.一种以太网通信协议栈系统,其特征在于,包括IP接收模块(2)、IP发送模块(3)、UDP接收模块(8)、UDP发送模块(9)、ARP接收模块(5)、ARP发送模块(4)、ARP高速缓存模块(10)、ICMP接收模块(7)、ICMP发送模块(6)、应用层通信接口控制模块(12)、MAC数据仲裁模块(1)和节点配置信息模块(11);
MAC数据仲裁模块(1)用于对接收数据进行解析得到接收数据的数据类型,并根据数据类型将接收数据传输至IP接收模块(2)、ARP接收模块(5)或ICMP接收模块(7);
IP接收模块(2)用于对接收的数据包进行IP数据解包处理,通过分析IP数据首部将解包得到的有效数据传输至UDP接收模块(8);
UDP接收模块(8)对IP接收模块(2)发送的有效数据进行解包处理,剥离得到应用层实际通信数据,并将剥离得到的应用层实际通信数据传输至应用层通信接口控制模块(12);
UDP发送模块(9)用于接收应用层通信接口控制模块(12)发送的应用层数据,并对接收的应用层数据添加UDP首部,组成标准UDP数据并传送于IP发送模块(3),IP发送模块(3)对UDP数据添加IP层首部,并将添加IP层首部后的IP层首部作为MAC帧通过MAC数据仲裁模块(1)发送;
ARP发送模块(4)用于查询目标IP地址对应的MAC地址,ARP接收模块(5)用于接收对方主机返回的ARP应答并更新本地ARP高速缓存模块;ARP高速缓存模块(10)用于存储IP地址和MAC地址的映射表;
ICMP接收模块(7)和ICMP发送模块(6)用于响应对方主机发送的数据命令,根据数据命令解析出目标IP地址,将解析的目标IP地址与本协议栈MAC地址相比较,当两者相同时,向对方主机回发ICMP数据包,若不一致,则丢弃该数据命令;节点配置信息模块(11)用于对应用层通信接口控制模块(12)进行配置;应用层通信接口控制模块(12)用于与外部数据交互;
MAC数据仲裁模块用于对IP发送模块(3)、ARP发送模块(4)和ICMP发送模块(6)发送数据进行优先级仲裁发送。


2.根据权利要求1所述的一种以太网通信协议栈系统,其特征在于,IP接收模块(2)通过对接收的数据包IP数据首部进行校验,将校验值进行合法性判断,若校验值符合设定值,则将解析的有效UDP数据发送给UDP接收模块(8)。


3.根据权利要求1所述的一种以太网通信协议栈系统,其特征在于,IP层首部包括IP协议版本、首部长度、服务类型、生存周期、源IP地址和目标IP地址。


4.根据权利要求1所述的一种以太网通信协议栈系统,其特征在于,ARP发送模块首先搜索ARP高速缓存模块,如果没有查询目标IP地址对应的MAC地址映射记录,则发送一个ARP请求,当ARP接收模块收到对方主机返回的ARP应答,即可获得查询目标IP地址对应的MAC地址,更新本地ARP高速缓存模块。

【专利技术属性】
技术研发人员:卢飞曲超徐丹妮
申请(专利权)人:西安微电子技术研究所
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1