一种用于实现网络平台字节对齐的方法

文档序号:7657358阅读:206来源:国知局
专利名称:一种用于实现网络平台字节对齐的方法
技术领域
本发明涉及一种调整字节对齐的方法,尤其涉及一种用于实现网络平 台字节对齐的方法。
背景技术
在网络终端中,比如数字电视机顶盒,要开展网页浏览、网络游戏、 信息交互、节目点播等双向交互业务时,必须要有可靠、通用的通讯协议来支撑;并且在32位系统的某些平台上,当存放的数据处于内存中不能够 被4整除的地址空间时,比如ARP协议中的目的I地址、IP协议中的源IP 成址和目的IP地址都处在不能被4整除的地址。如果系统在读取这些数据 时,将会产生字节偏移,即出现字节对齐异常问题。针对存在字节对齐问题的平台,在对有数据出现偏移的变量时,使用 按照unsigned char型取单字节数据重组的方式取得到正确的变量数据;其 解决方法是通过TCP/IP协议栈来实现;实现方式有硬件固化和软件实现; 硬件固化方式是指利用TCP/IP协议栈的硬件芯片,由它实现协议的转化, 从而实现相应的网络功能;而软件实现方式是参照RFC (Request For Comments,请求注解)文档所开发的软件,通过操作系统的标准,比如, SunOS、 UNIX、 Linux等操作系统的TCP/IP协议栈驱动网络接口进行相应 的操作。然而,TCP/IP协议栈的硬件固化方式的缺点是增加了硬件成本,而 TCP/IP协议栈的软件方式与操作系统结合紧密,不易于多平台间的移植, 且不适用于有字节对齐问题的硬件或软件平台。因此,现有技术有待于完善和发展
发明内容
本发明所要解决的问题在于提供一种用于实现网络平台字节对齐的方 法,该方法可以解决制作成本高、多平台间难于移植的问题。为了解决上述技术问题,本发明的技术方案如下 一种用于实现网络平台字节对齐的方法,其包括如下步骤A、 确定网络系统中所有字节对齐问题的区域;B、 将网络系统中的TCP/IP协议栈划分成多个功能模块;C、 通过各所述功能模块,对有字节对齐问题的区域进行校正。 所述方法,其中,步骤B中,所述TCP/IP协议栈包括地址解析协议、IP、网关控制协议、用户数据报协议、TCP、动态主机配置协议,各协议间 采用分层的方式进^f亍划分的。所述方法,其中,步骤B中,所述多个功能模块包括协议实现模块、 緩冲与内存管理子系统模块、标准BSD网络接口模块及校验和计算模块;所述协议实现模块用于实现协议栈的基础协议;所述緩冲与内存管理子系统模块用于管理协议栈的内存,负责处理网 络数据的申请释放管理等;所述标准BSD网络接口模块用于提供接口,供上层应用调用;所述校验和计算模块用于对数据接收处理时进行校验,保证数据的完 整性以及不同字节顺序的数据转换。所述方法,其中,所述多个功能模块间采用分层的方式进行划分的。所述方法,其中,所述TCP/IP协议栈的划分标准是开放式通信系统互 联参考模型。本发明提供的一种用于实现网络平台字节对齐的方法,适应各种存在 字节对齐问题的平台,且可以在多个平台间进行快速方便的移植,并可与 上层应用实现无缝结合。


图1为本发明方法的实现流程图;图2是现有技术的开放式通信系统互联参考模型示意图;图3是本发明方法中TCP/IP协议栈的多个功能模块结构示意图。
具体实施例方式
下面结合附图,对本发明的较佳实施例作进一步详细说明。
如图1所示,本发明提供了一种用于实现网络平台字节对齐的方法, 其流程实现步骤如下
110、启动嵌入式系统,确定网络系统中所有字节对齐问题的区域;120、将网络系统中的TCP/IP协议栈划分成多个功能模块,这些多个 功能模块间采用分层的方式进行划分的;130、通过各所述功能模块,找到有字节对齐问题的区域,并对这些区 域的字节对齐问题进行校正。
在上述方法中,支持嵌入式系统中TCP/IP协议栈的协议有ARP (Address Resolution Protocol,地址解析协i义)、IP、 ICMP ( Internet Control Message Protocol, Internet 4空制十办i义)、UDP (User Datagram Protocol,用 户数据才艮协i义)、TCP、 DHCP (Dynamic Host Configuration Protocol,动态 主机配置协议)等协议,且这些协议采用分层的方式设计,每一层分别解 决通讯问题的一部分,层与层之间采用消息队列来通讯,各个实现协议在 开放式通信系统互联参考模型(Open System
Interconnection Reference Model, .OSI)中所处的层次关系如图2所示。
其中,所述步骤120中,所述多个功能能模块包括协议实现模块、緩 冲与内存管理子系统模块、标准BSD网络接口模块及校验和计算模块,如 图3所示。 所述协议实现模块用于实现协议栈的基础协议;所述援冲与内存管理 子系统模块用于管理协议栈的内存,负责处理网络数据的申请释放管理等; 所述标准BSD网络接口模块提供接口供上层应用调用,由于BSD Socket API易于理解,并且被4艮多数字电视浏览器使用,所以在本协议栈上层接口 按照BSD Socket API来封装,实现与上层应用的无缝结合;所述校验和计 算模块用于进行数据接收处理时的校验,保证数据的完整性以及不同字节 顺序的数据转换。上述方法,TCP/IP协议栈可在多个平台上快速方便移植,构造操作系 统模拟层来代替操作系统的函数及数据结构,并且在移植时,原则上只需 要针对目标操作系统修改模拟层实现即可。综上所述,本发明提供的一种用于实现网络平台字节对齐的方法,可 适应各种存在字节对齐问题的平台,且可以在多个平台间进行快速方便的 移植;同时,由于采用标准BSD接口,故与上层应用实现了无缝结合。。应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以 改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护 范围。
权利要求
1、一种用于实现网络平台字节对齐的方法,其包括如下步骤A、确定网络系统中所有字节对齐问题的区域;B、将网络系统中的TCP/IP协议栈划分成多个功能模块;C、通过各所述功能模块,对有字节对齐问题的区域进行校正。
2、 根据权利要求1所述的方法,其特征在于,步骤B中,所述TCP/IP 协议栈包括地址解析协议、IP、网关控制协议、用户数据才艮协议、TCP、动 态主机配置协议,各协议间采用分层的方式进行划分的。
3、 根据权利要求1或2所述的方法,其特征在于,步骤B中,所述 多个功能模块包括协议实现模块、緩沖与内存管理子系统模块、标准BSD 网络接口模块及校验和计算模块;所述协议实现模块用于实现协议栈的基础协议;所述緩冲与内存管理子系统模块用于管理协议栈的内存,负责处理网络数据的申请释放管理等;所述标准BSD网络接口模块用于提供接口 ,供上层应用调用; 所述校验和计算模块用于对数据接收处理时进行校验,保证数据的完整性以及不同字节顺序的数据转换。
4、 根据权利要求3所述的方法,其特征在于,所述多个功能模块间 采用分层的方式进行划分的。
5、 根据权利要求3所述的方法,其特征在于,所述TCP/IP协议栈 的划分标准是开放式通信系统互联参考模型。
全文摘要
本发明公开了一种用于实现网络平台字节对齐的方法,应用于字节对齐领域,该方法包括步骤确定网络系统中所有字节对齐问题的区域;将网络系统中的TCP/IP协议栈划分成多个功能模块;通过各所述功能模块,对有字节对齐问题的区域进行校正。本发明提供的一种用于实现网络平台字节对齐的方法,适应各种存在字节对齐问题的平台,且可以在多个平台间进行快速方便的移植,并可与上层应用实现无缝结合。
文档编号H04L29/06GK101212479SQ20071012574
公开日2008年7月2日 申请日期2007年12月25日 优先权日2007年12月25日
发明者孔志刚 申请人:康佳集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1