导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→协议栈的设计要点[原创][sz20120406]

 *第30905篇: 协议栈的设计要点[原创]

  
楼 主:sz20120406 2012年4月11日12:55
 协议栈的设计要点[原创]
协议栈的设计要点
 平台无关性
  本文所设计的TCP/IP双协议栈,要求不能局限于特定的硬件环境和软件系统。因此,本协议栈的实现采用将所有的TCP/IP协议都驻留在一个进程当中,协议栈模块与操作系统内核分开。通过定义一个操作系统模拟层实现平台无关性。操作系统模拟层屏蔽硬件上的差异和获取操作系统提供统一的接口,如时钟、过程同步以及信息传递机制等。对于特定的嵌入式操作系统,直接对操作系统模拟层相应部分进行修改,以符合具体的要求。操作系统模拟层主要包括下面两个部分:
  ⑴与处理器和编译器有关
  对不同微处理器的BYTE_ORDER存储系统定义;对不同编译器的数据类型长度的定义;与CPU或编译器相关的内容的定义。
  ⑵与操作系统相关
  协议栈进程与应用程序进程之间的同步与通讯,需要对信号量sys_sem_t、消息队列sys_mbox_t和时钟函数进行定义和操作。
  协议栈的裁减
  标准的TCP/IP协议栈功能复杂,代码量大,且需大量的存储器资源。为了满足嵌入式应用,必须对RFC定义的协议栈进行裁减[1]。本协议栈的实现作了如下裁减:
  ⑴IP模块:不支持数据分片,不支持数据包转发,不支持IPv6移动功能,不支持部分IPv6的扩展报头。
  ⑵ICMPv6模块:支持信息报文中的请求和应答报文,支持错误报文中的目的不可达和超时报文。
  ⑶邻居发现模块:支持地址解析、重复性探测,省略了路由功能。
⑷TCP模块:支持多个连接,简化滑动窗口,实现快速重传、慢启动与拥塞避免算法的TCP可靠性机制;约减掉半关闭,紧急指针,大部分TCP选项等。
(本文由Cogo商城-IC元器件在线采购平台搜集整理,浏览 了解更多详细信息)


>>>>>>对该主题发表你的看法

本主题贴数1,分页: [第1页]


[上一篇主题]:CVC-HFK软件介绍[原创]

[下一篇主题]:数字荧光示波器1DPO产品的特点[转帖]