论文部分内容阅读
随着Internet的发展,TCP/IP已经成为通信领域事实上的国际标准。嵌入式系统通过嵌入式TCP/IP协议栈连接Intranet,甚至Internet,将具有更好的实用性和巨大的经济效益。在对当前国内外嵌入式TCP/IP协议栈产品现状进行调研的基础上,自主研发了可配置的嵌入式TCP/IP协议栈——VIP协议栈。本论文对ARP、IPv4、ICMPv4、UDP、TCP等几个协议进行详细剖析,包括协议可配置性分析,并阐述VIP协议栈的实现思路及方法。VIP协议栈采用分层体系结构,严格按照RFC国际标准,用ANSI C实现,没有任何私有协议,也没有做任何假设,从而确保协议的完整性和一致性。VIP协议栈在设计上充分考虑了移植性,整个协议栈架构在系统抽象层之上,通过系统抽象层屏蔽掉硬件体系结构、底层嵌入式操作系统以及编译器等的差异。由于8位微处理器资源极其有限,而且考虑到用户的需求会有很大差异,因此一方面为了保证能在8位微处理器上可运行,另一方面并不仅仅局限于8位微处理器,而同样可以满足16位,乃至32位微处理器的高端需求,VIP协议栈在设计上强调细粒度的可配置性。VIP协议栈不仅强调可配置性,而且在可配置的基础上也强调可用性。许多嵌入式TCP/IP协议栈的可用性就比较差,因为它们要求与其通信的另一端的TCP/IP协议栈只能是传统的完整TCP/IP协议栈,而不能也是和它一样的嵌入式TCP/IP协议栈。VIP协议栈强调可配置性,但是对于必要功能将不允许配置,同时对可配置的各个功能机制之间进行了约束控制,从而保证VIP协议栈的可用性。在嵌入式系统中,存储器是非常宝贵的资源,尤其对于8位微处理器而言,通常只有几百个字节的RAM,或者几千字节的RAM。为了最大限度地提高存储管理的灵活性和高效性,VIP协议栈采用自己独特的存储管理机制。VIP协议栈允许针对特定的体系结构进行优化。在VIP协议栈实现中,对特别耗时的一些功能做了宏定义,允许用户根据目标体系结构采用汇编等方式重新实现这些功能,从而达到较好的优化效果。目前,VIP协议栈在x86体系结构下做了比较全面的测试,并对上述各协议分别给出了测试结果及其分析。