1 / 4
文档名称:

tcp协议3次连接握手和4次结束握手.docx

格式:docx   大小:17KB   页数:4页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

tcp协议3次连接握手和4次结束握手.docx

上传人:我是开始 2020/10/20 文件大小:17 KB

下载得到文件列表

tcp协议3次连接握手和4次结束握手.docx

相关文档

文档介绍

文档介绍:编号:_______________本资料为word版本,可以直接编辑和打印,感谢您的下载tcp协议3次连接握手和4次结束握手甲方:___________________乙方:___________________日期:___________________说明:本合同资料适用于约定双方经过谈判、协商而共同承认、共同遵守的责任与义务,同时阐述确定的时间内达成约定的承诺结果。文档可直接下载或修改,使用时请详细阅读内容。做WEB开发这么长时间,一直关注于应用层,对WEB开发的基础-TCP协议没有深入了解过。虽然不了解这些东西也一样可以开发, 但我觉得要做到知其然而知其所以然, 才能更上一层楼吧。今天忽然想到了TCP连接建立的过程,以前只是知道是通过三次握手来建立的,至于是如何建立的还没有仔细看过,立即上网查询,摘抄如下。TCP握手协议在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送 syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;SYN:同步序列编号(SynchronizeSequenceNumbers)第二次握手:服务器收到 syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入 ESTABLISHED状态,完成三次握手。完成三次握手,客户端与服务器开始传送数据,在上述过程中,还有一些重要的概念:未连接队列:在三次握手协议中,服务器维护一个未连接队列, 该队列为每个客户端的 SYN包(syn=j)开设一个条目,该条目表明服务器已收到 SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于 Syn_RECV状态,当服务器收到客户的确认包时,删除该条目, 服务器进入ESTABLISHED状态。Backlog参数:表示未连接队列的最大容纳数目。SYN-ACK重传次数服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包, 进行第二次重传,如果重传次数超过系统规定 的最大重传次数,系统将该连接信息从半连接队列中删除。 注意,每次重传等待的时间不一定相同。半连接存活时间:是指半连接队列的条目存活的最长时间,也即服务从收到 SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。 有时我们也称半连接存活时间为Timeout时间、SYN_RECV存活时间。断开连接时的状态转换图,摘自<TheTCP/IPGuide>:ClientServerServerStateESTABLISHE