[发明专利]一种以太网通信协议栈系统及实现方法有效
申请号: | 202010567481.X | 申请日: | 2020-06-19 |
公开(公告)号: | CN111726361B | 公开(公告)日: | 2022-02-22 |
发明(设计)人: | 卢飞;曲超;徐丹妮 | 申请(专利权)人: | 西安微电子技术研究所 |
主分类号: | H04L69/22 | 分类号: | H04L69/22;H04L69/18 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 李鹏威 |
地址: | 710065 陕西*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 以太网 通信协议 系统 实现 方法 | ||
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数据首部进行校验,将校验值进行合法性判断,若校验值符合设定值,则将解析的有效UDP数据发送给UDP接收模块(8);
UDP接收模块(8)对IP接收模块(2)发送的有效数据进行解包处理,剥离得到应用层实际通信数据,并将剥离得到的应用层实际通信数据传输至应用层通信接口控制模块(12);
UDP发送模块(9)用于接收应用层通信接口控制模块(12)发送的应用层数据,并对接收的应用层数据添加UDP首部,组成标准UDP数据并传送于IP发送模块(3),IP发送模块(3)对UDP数据添加IP层首部,并将添加IP层首部后的IP层首部作为MAC帧通过MAC数据仲裁模块(1)发送;
IP发送模块(3)在接收到UDP发送模块(9)送来的数据时,首先将校验和字段清零,然后对每16位数据进行二进制求和,将最终和值进行去反,得到值即为IP层校验值;IP接收模块(2)在接收MAC数据仲裁模块(1)发送数据过程中,首先将校验和字段清零,然后对每16位数据进行二进制求和,将最终和值进行取反得到校验值;
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)发送数据进行优先级仲裁发送,具体的当IP发送模块(3)、ARP发送模块(4)和ICMP发送模块(6)同时发送数据,则依次按照ARP发送模块、ICMP发送模块、IP发送模块发送数据顺序进行处理。
2.根据权利要求1所述的一种以太网通信协议栈系统,其特征在于,IP层首部包括IP协议版本、首部长度、服务类型、生存周期、源IP地址和目标IP地址。
3.根据权利要求1所述的一种以太网通信协议栈系统,其特征在于,ARP发送模块首先搜索ARP高速缓存模块,如果没有查询目标IP地址对应的MAC地址映射记录,则发送一个ARP请求,当ARP接收模块收到对方主机返回的ARP应答,即可获得查询目标IP地址对应的MAC地址,更新本地ARP高速缓存模块。
4.根据权利要求3所述的一种以太网通信协议栈系统,其特征在于,对于目标IP采用定时发送ARP的方式。
5.根据权利要求1所述的一种以太网通信协议栈系统,其特征在于,应用层通信接口控制模块采用应用层封装通信接口,包括32位、16位或8位接口。
6.根据权利要求1所述的一种以太网通信协议栈系统,其特征在于,节点配置信息模块(11) 用于对应用层通信接口控制模块(12)提供本地IP地址、本地MAC地址和本地UDP端口信息。
7.一种以太网通信协议栈系统实现方法,其特征在于,包括以下步骤:
步骤1)、利用MAC数据仲裁模块对接收数据进行解析得到接收数据的数据类型,并根据数据类型将接收数据传输至IP接收模块、ARP接收模块或ICMP接收模块;
步骤2)、通过对接收的数据包IP数据首部进行校验,将校验值进行合法性判断,若校验值符合设定值,则将解析的有效UDP数据发送给UDP接收模块;
利用ICMP接收模块和ICMP发送模块响应对方主机发送的数据命令,根据数据命令解析出目标IP地址,将解析的目标IP地址与本协议栈MAC地址相比较,当两者相同时,向对方主机回发ICMP数据包,若不一致,则丢弃该数据命令;通过节点配置信息模块对应用层通信接口控制模块进行配置;
步骤3)、利用UDP接收模块对IP接收模块发送的有效数据进行解包处理,剥离得到应用层实际通信数据,并将剥离得到的应用层实际通信数据传输至应用层通信接口控制模块;
步骤4)、利用UDP发送模块接收应用层通信接口控制模块发送的应用层数据,并对接收的应用层数据添加UDP首部,组成标准UDP数据并传送于IP发送模块,通过IP发送模块对UDP数据添加IP层首部,并将添加IP层首部后的IP层首部作为MAC帧通过MAC数据仲裁模块发送;利用IP发送模块在接收到UDP发送模块送来的数据时,首先将校验和字段清零,然后对每16位数据进行二进制求和,将最终和值进行去反,得到值即为IP层校验值;IP接收模块在接收MAC数据仲裁模块发送数据过程中,首先将校验和字段清零,然后对每16位数据进行二进制求和,将最终和值进行取反得到校验值;
步骤5)、通过ARP发送模块查询目标IP地址对应的MAC地址,如果没有查询目标IP地址对应的MAC地址映射记录,则发送一个ARP请求,通过ARP接收模块接收对方主机返回的ARP应答并更新本地ARP高速缓存模块;
步骤6)、最后通过MAC数据仲裁模块对IP发送模块、ARP发送模块和ICMP发送模块发送数据进行优先级仲裁发送;当IP发送模块、ARP发送模块和ICMP发送模块同时发送数据,则依次按照ARP发送模块、ICMP发送模块、IP发送模块发送数据顺序进行处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安微电子技术研究所,未经西安微电子技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010567481.X/1.html,转载请声明来源钻瓜专利网。