欢迎来到天天文库
浏览记录
ID:49408475
大小:374.00 KB
页数:5页
时间:2020-03-01
《TCP协议实现综述.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、TCP协议实现实现背景1.硬件环境TCP协议是基于“DSP芯片+ENC28J60网络控制芯片”环境下实现的。DSP通过SPI模块控制网络芯片的读写,进而实现数据包的收发。破件连接示意图如下图一所示图-•硬件连接示意图2.TCP之下的协议MAC层之丄的协议的实现是经过简化的。链路层实现ARP协议,网络层实现IP协议以及精简的ICMP协议,传输层实现UDP协议和TCP协议。TCP协议的实现主要要用到其下层的IP协议和ARP协议。TCP数据报被接受到后,判断其为IP数据报Z后就对其进行IP层的解析,判断其上层协议是TCP协议之后就将数据交由TCP数据报处理程序进行处理
2、。二、TCP连接状态1.TCP各种连接状态完整的TCP协议有11种连接状态,具体描述如下:•CLOSED:不存在TCP连接•LISTEN:应用层协议已经发布了一个被动打开,并且有意接收TCP连接试图•SYNSENT:一个应用层协议己经发送了一个主动打开,并且发送了一个SYN段•SYNRCVD:一个SYN段被接收,并且一个SYN-ACK被发送•ESTABLISHED:针对TCP连接建立进程的ACK被发送并被接收。现在数据能双向传输•FINWAIT-1:初始的关闭连接端的FIN-ACK被发送•FINWAIT-2:响应初始的FIN-ACK的ACK被接收•CLOSING
3、:—•个FIN-ACK被接收但ACK不是针对已发送的FIN-ACK的。这被称为同吋关闭,这吋两个TCP对等端在相同时刻发送FIN-ACK•CLOSING:FIN-ACK已被发送并得到两个TCP对等端确认,并且TCP连接终止进程完成。一旦到达TIMEWAIT状态,在连接的TCP端口数能被重新使用Z前,TCP必须等待的时间是最大段生存时间(MSL)的两倍。MSL是在互联网屮一个TCP段能存在时问的最大值,并且它的推荐值是240秒。这个延迟防止一•个使用相同端口数的新连接的TCP段与旧连接的TCP段的副本相混淆•CLOSEWAIT:一个FIN-ACK被接收,并且一个F
4、IN-ACK被发送•LASTACK:响应FIN-ACK的ACK已被接收在精简的TCP协议屮,有些连接状态是没有用到的。用到的只有以下6种连接状态:LISTEN.SYNSENT.SYNRCVD、ESTABLISHED>CLOSEWAIT.LASTACK1.TCP状态的变迁TCP规则规定如何基于半前状态及在该状态下所接收的分节从一个状态转换到另一个状态。客SYN.SENTESTABLISHEDHNWAIT1CLOSEDSYN.RCVDESTABLISHEDCLOSEWAITLASTACK1.序列号程序屮要用到的序列号主要有:本次接收到的序列号(IRSeqNr).本次
5、接收到的确认序号(IRACKNr)、本次要发送的序列号(SegNr)、本次要发送的确认号(AckNr)、下一次要发送的序列号(NextSegNr)以及最近的确认的序列号(UnAckNr)o正常通讯情况下,他们Z间有如下一些关系:UnAckNr
此文档下载收益归作者所有