新闻中心

EEPW首页 > 测试测量 > 设计应用 > 基于SF0020芯片的嵌入式TCP/IP协议族设计与实现

基于SF0020芯片的嵌入式TCP/IP协议族设计与实现

作者:时间:2009-08-11来源:网络收藏

ARP协议为地址和硬件地址之间提供映射。ARP报文分为请求和应答两种报文,通过这两种报文实现ARP缓存的更新。ARP高速缓存在它的运行过程中非常关键。由于微控制器硬件资源限制ARP高速缓存只定义了8组,因此查找采用线性搜索的方法对最终性能并没有影响。缓存只包含以下4项既可以实现ARP协议又可以节省硬件资源:地址、MAC地址、写入时间、标志位。
2.3 运输层实现
运输层仅仅实现了(Transfer Control Protocol传输控制协议)。该协议提供了全双工高可靠性的通信,因此应用层和网络层可以忽略相关细节。/体系中面向连接的运输层协议,它所做的工作包括把应用程序交给它的数据分组交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。
每当本地发出连接建立请求后,创建一个对应的传输控制模块TCB(Transmission Control Block).它存储了该连接中的重要信息。和ARP高速缓存一样其数据保存在片内数据存储区来提高协议的运行效率。本文中TCB的实现只包含以下内容:IP地址、双方端口号、双方序列号、对方应答序号、当前连接状态、定时器、指向下一个有效数据区的指针、窗口大小。此外通过对TCP首部的选项字段的配置,即保证在局域网内部传输时IP层传输时不会分片使MMS(Maximum Segment Size 最大报文段长度)尽可能大,可以提高TCP传输效率。 同时考虑到作为客户端应用,在不影响正常工作的前提下TCP有限状态机实现中去掉了服务端的两个状态LISTEN(监听)、SYN_RCVED(接收SYN状0态)如下图2所示。

本文引用地址:http://www.eepw.com.cn/article/195759.htm



图2 TCP有限状态机

由于网络中数据传输必然会产生数据丢失,TCP错误重传和数据重组尤为重要。错误重传是在发送了需对端确认的报文段后设置重传定时器,如果在定时器时限内未收到ACK该报文段被重发。因此当数据发送之后要等到ACK确认报文才能丢弃。数据重组是基于面向字节的序列号,实现重复数据的丢弃、乱序报文的重组。

3、协议族实现关键技术
3.1 协议族定时器的实现
ARP实现需要两个定时器。重传需要一个定时器,如果ARP报文发送后1秒中内没有应答则再次发送,本文实现连续4次重传后ARP将放弃;ARP高速缓存数据存储时间需要一个定时器,缓存内容保存时间为20分钟,同时允许管理员创建永久节点作为代理节点。
TCP实现为当前连接建立了如下六个定时器:连接建立定时器,重传定时器,延迟ACK定时器,持续定时器, FIN_WAIT_2定时器,TIME_WAIT定时器;去掉了保活定时器,因为该定时器仅是TCP连接的可选配置,在监控中的需要有应用程序实现更加严格的连接保持定时。本文根据实际监控网络情况修改了标准协议族定义的超时时间,使实时性得以提高。
3.2 协议族的内存管理策略
传入的分组是保存在内存中并将其传递给适当的协议作进一步处理的。同时,应用程序产生的数据也必须以分组的形式存储在内存中,并最终将其交给网络硬件设备传送出去。因此协议的高效性取决于如何管理保存这些分组的存储空间。本文对内存管理用以下两种方法做到快速分配存储空间,并且避免分组在各层协议之间移动时的数据复制。

tcp/ip相关文章:tcp/ip是什么




关键词: 0020 TCP SF IP

评论


相关推荐

技术专区

关闭