一种轻量级实时TCP/IP协议栈的实现方法技术

技术编号:10344440 阅读:160 留言:1更新日期:2014-08-21 16:29
本发明专利技术提出一种轻量级实时TCP/IP协议栈的实现方法,通过初始化协议栈、socket接口模块处理阶段、传输层处理阶段、网络层处理阶段、介质访问控制层处理阶段和网卡抽象层处理阶段对标准TCP/IP协议栈进行改进,增强了系统的可扩展性,提高了系统的实时性能,减少了系统开销和通信延迟。

【技术实现步骤摘要】
一种轻量级实时TCP/IP协议栈的实现方法
本专利技术属于计算机网络和数据通信
,具体为一种轻量级实时TCP/IP协议栈的实现方法。
技术介绍
目前标准TCP/IP协议栈其实现复杂,且不能满足特定应用对实时性的要求,而为保证通信实时性的解决方案,大多是对数据链路层进行更改和扩展,诸如以下三种方案:1.由奥地利贝加莱公司提出的Ethernet Powerlink,引入了 SCNM(时间槽通信网络管理)算法来保证实时以太网通信的确定性。2.由德国倍福公司提出的 EtherCAT (Ethernet for Control AutomationTechnology),其采用IEEE1588标准中定义的精确时钟同步机制,引入了时间戳数据类型座位扩展。3.我国第一个拥有自主知识产权的现场总线国家标准:《EPA通信标准》对ISO/IEC8802.3协议规定的数据链路层进行扩展,增加了通信调度管理实体(CommunicationScheduling Management Entity, CSME)。但这些方案仅为了保证通信实时性,而对于协议栈实现复杂的缺点仍未得到解决,因此提出一种轻量级实时对TCP/IP协议栈的实现方法具有重要意义。
技术实现思路
本专利技术旨在实现一种轻量级实时TCP/IP协议栈,使之不仅实现简单,使用方便,减少系统开销和通信延迟,且能满足特定应用对实时性能的要求。本专利技术的技术方案为:所述一种轻量级实时TCP/IP协议栈的实现方法,其特征在于:包括以下步骤:步骤1:初始化协议栈;步骤2:完成socket接口优先级、实时指标、阻塞方式、最大发送和接收缓冲区池大小的设置操作;完成socket接口的创建、绑定、监听、关闭以及数据收发接口实现;通过socket接口接收应用程序请求,并对不兼容的应用程序请求进行格式转换;步骤3:采用TCP协议处理模块或UDP协议处理模块对网络数据包进行处理;步骤4:采用IP协议处理模块对网络数据包进行封包和拆包;步骤5:在介质访问控制模块中采用基于TDMA的介质访问机制和令牌环方式得到所需的网络实时性;步骤6:在网卡驱动抽象层对网卡驱动进行统一的数据抽象;当网卡设备启用时,向该网卡驱动的数据抽象进行注册,并完成网卡驱动数据抽象与网卡驱动的连接;当需要发送的数据到达网卡驱动数据抽象层时,通过本地维护的路由表选择具体使用的网卡设备从而完成数据的发送。进一步的优选方案,所述一种轻量级实时TCP/IP协议栈的实现方法,其特征在于:初始化协议栈包括:完成网卡服务句柄的打开、网卡设备的绑定、打开操作;分配全局重发缓冲区池和全局发送缓冲区池;设置发送、接收线程优先级;增加系统服务表项;设置本机IP地址和MAC地址,并通过内存映射到用户空间。进一步的优选方案,所述一种轻量级实时TCP/IP协议栈的实现方法,其特征在于:创建socket接口时,设置socket接口的类型,在内核中为每个socket接口分配接收缓冲区池,并将之映射到用户空间;绑定socket接口时,完成socket接口、端口号和目的主机的绑定操作,在内核下向目的主机发送ARP请求以获得目的主机MAC地址,协议栈中采用静态ARP机制,完成地址解析。进一步的优选方案,所述一种轻量级实时TCP/IP协议栈的实现方法,其特征在于:socket接口接收数据直接从缓冲区池中取出数据;socket接口发送数据,直接写入到协议栈初始化时分配的全局发送缓冲区池中。进一步的优选方案,所述一种轻量级实时TCP/IP协议栈的实现方法,其特征在于:当网络采用TCP传输方式,socket接口调用TCP协议处理模块进行数据包处理,所述TCP协议处理模块实现正常的TCP流程的状态机、对大数据包进行拆分,屏蔽IP分片功能、通过窗口大小完成流量和拥塞控制功能;当网络采用m)P传输方式,socket接口调用UDP协议处理模块进行数据包处理,所述UDP协议处理模块完成数据包的UDP协议封装、通过对大数据包进行拆分,屏蔽IP分片功能,省略m)P校验和计算功能。进一步的优选方案,所述一种轻量级实时TCP/IP协议栈的实现方法,其特征在于:IP协议处理模块实现IP数据包的封包和拆包,屏蔽IP分片,将TOS字段和分片偏移字段作为预留字段;其中IP协议处理模块包括ARP协议处理模块和ICMP协议处理模块,所述ARP协议处理模块将IP地址映射为MAC地址;所述ICMP协议处理模块对网络控制报文进行发送和解析。进一步的优选方案,所述一种轻量级实时TCP/IP协议栈的实现方法,其特征在于:基于TDMA的介质访问机制对各个节点的数据帧发送时刻进行控制;采用令牌环方式发送数据,任意终端站在传输之前能够计算出最大等待时间。有益效果本专利技术的创新点和优点如下:I)在基于介质访问控制模块中,采用两种方式来解决通信延迟:基于TDMA的介质访问机制对各个节点的数据帧发送时刻进行控制;采用令牌环方式发送数据,任意终端站在传输之前可以计算出最大等待时间。通过这两种方式,来得到所需的网络实时性。2)设置线程和数据包优先级:协议栈初始化阶段,设置发送和接收线程优先级,使协议栈能够高效地发送和接收数据,避免了其他线程的抢占,影响发送和接收数据的速率pocket接口模块设置数据包的优先级,保证优先级高的数据能够优先发送。3)整个数据发送和接收的过程,通过内存映射技术,将内核空间映射到用户空间,同时采用零拷贝技术减少数据包穿越TCP/IP协议栈时的复制次数,以提高以太网的实时性能。4)通过对标准TCP/IP协议栈进行裁剪和优化,使TCP/IP协议栈实现简单,使用方便,减少系统开销和网络延迟。TCP协议处理模块,对大数据包进行拆分,屏蔽IP分片功能、通过窗口大小来完成流量和拥塞控制;IP协议处理模块屏蔽IP分片,将TOS字段和分片偏移字段作为预留字段。ARP协议模块将IP地址映射为MAC地址,采用静态ARP机制,在网络初始化时完成地址解析。5)提供不同协议栈之间的兼容性,以提供一套统一的API接口给应用层。【附图说明】图1为本专利技术实时TCP/IP协议栈的实现方法流程图;图2为本专利技术协议组织架构示意图。【具体实施方式】下面结合具体实施例描述本专利技术:本专利技术的实时TCP/IP协议栈的实现方法对标准TCP/IP协议栈进行改进,增强了系统的可扩展性,提高了系统的实时性能,减少了系统开销和通信延迟。在本实施方式中,首先本专利技术的实时TCP/IP协议栈包括IP协议,TCP协议,UDP协议,ICMP协议和ARP协议;其次,为了增强实时性能,增加了介质访问控制模块;最后,为了增强可扩展性和应用程序的兼容性,增加了 socket接口模块和网卡驱动抽象层;其中介质访问控制模块是为了满足网络通信的实时要求;socket接口模块是为了符合通用的网络socket编程接口,兼容大多数的网络应用程序;网卡驱动抽象层是对网卡驱动的统一管理层,在实时TCP/IP协议栈中进行处理后的数据将通过网卡驱动抽象层发送到具体的网卡设备上,具体步骤如下:步骤1:初始化协议栈:完成网卡服务句柄的打开、网卡设备的绑定、打开操作;分配全局重发缓冲区池和全局发送缓冲区池,使得数据发送过程中无需进行内存分配;设置发送、接收线程优先级,使协议栈能够本文档来自技高网...

【技术保护点】
一种轻量级实时TCP/IP协议栈的实现方法,其特征在于:包括以下步骤:步骤1:初始化协议栈;步骤2:完成socket接口优先级、实时指标、阻塞方式、最大发送和接收缓冲区池大小的设置操作;完成socket接口的创建、绑定、监听、关闭以及数据收发接口实现;通过socket接口接收应用程序请求,并对不兼容的应用程序请求进行格式转换;步骤3:采用TCP协议处理模块或UDP协议处理模块对网络数据包进行处理;步骤4:采用IP协议处理模块对网络数据包进行封包和拆包;步骤5:在介质访问控制模块中采用基于TDMA的介质访问机制和令牌环方式得到所需的网络实时性;步骤6:在网卡驱动抽象层对网卡驱动进行统一的数据抽象;当网卡设备启用时,向该网卡驱动的数据抽象进行注册,并完成网卡驱动数据抽象与网卡驱动的连接;当需要发送的数据到达网卡驱动数据抽象层时,通过本地维护的路由表选择具体使用的网卡设备从而完成数据的发送。

【技术特征摘要】
1.一种轻量级实时TCP/IP协议栈的实现方法,其特征在于:包括以下步骤: 步骤1:初始化协议栈; 步骤2:完成socket接口优先级、实时指标、阻塞方式、最大发送和接收缓冲区池大小的设置操作;完成socket接口的创建、绑定、监听、关闭以及数据收发接口实现;通过socket接口接收应用程序请求,并对不兼容的应用程序请求进行格式转换; 步骤3:采用TCP协议处理模块或UDP协议处理模块对网络数据包进行处理; 步骤4:采用IP协议处理模块对网络数据包进行封包和拆包; 步骤5:在介质访问控制模块中采用基于TDMA的介质访问机制和令牌环方式得到所需的网络实时性; 步骤6:在网卡驱动抽象层对网卡驱动进行统一的数据抽象;当网卡设备启用时,向该网卡驱动的数据抽象进行注册,并完成网卡驱动数据抽象与网卡驱动的连接;当需要发送的数据到达网卡驱动数据抽象层时,通过本地维护的路由表选择具体使用的网卡设备从而完成数据的发送。2.根据权利要求1所述一种轻量级实时TCP/IP协议栈的实现方法,其特征在于:初始化协议栈包括:完成网卡服务句柄的打开、网卡设备的绑定、打开操作;分配全局重发缓冲区池和全局发送缓冲区池;设置发送、接收线程优先级;增加系统服务表项;设置本机IP地址和MAC地址,并通过内存映射到用户空间。3.根据权利要求1或2所述一种轻量级实时TCP/IP协议栈的实现方法,其特征在于:创建socket接口时,设置socket接口的类型,在内核中为每个socket接口分配接收缓冲区池,并将之映射到用户空间;绑定socket接口时,完成socket接口、端口...

【专利技术属性】
技术研发人员:蒋泽军杜承烈陈进朝黄云婷侯亮
申请(专利权)人:西北工业大学
类型:发明
国别省市:陕西;61

网友询问留言 已有1条评论
  • 来自[天津市电信IDC机房] 2015年04月13日 21:09
    超中量级是拳击运动中一个体重级别,其体重限定为168磅(76.2公斤),次于重量级、次重量级、轻重量级等三个级别,该级别首次在1967年增设。[1]
    0
1