TCP握手、传输、挥手学习

本文详细介绍了TCP的三次握手和四次挥手过程,旨在理解TCP连接建立与关闭的机制。内容包括TCP为何需要三次握手以避免无效连接,以及四次挥手确保数据传输完整性的原因。此外,还概述了TCP数据传输中的关键概念如带宽时延乘积(BDP)、流量控制和拥塞控制,以及TCP问题定位的基本思路。
摘要由CSDN通过智能技术生成

TCP握手、挥手

TCP的握手和挥手过程以及为什么三次握手和四次挥手参考资料,讲得很详细:

https://blog.csdn.net/qzcsu/article/details/72861891

三次握手:

Client 发送SYN,进入SYN_SENT状态

Server接收到SYN,返回ACK,进入SYN_RECV状态

Client接收到ACK进入到ESTABLISHED状态,返回ACK给Server,也进入ESTABLISHED状态

三次握手才建立连接主要是防止浪费Server的资源,如果client有超时重传的SYN让Server收到了,可能会建立无用连接。

 

四次挥手:

Client发送FIN,进入FIN_WAIT1状态

Server收到FIN,返回ACK,进入CLOSE_WAIT状态,此时还可以给Client发送数据

Client接收到ACK,进入FIN_WAIT2状态;当Server数据发送完毕,发送FIN,进入LAST_ACK状态

Client接受到Server的FIN,进入TIME_WAIT状态,并返回ACK给Server;等待2msl后进入CLOSED状态

Server接收到ACK,进入CLOSED状态

等待2msl是为了让保证客户端发的最后的ACK到达服务端,因为如果该ACK丢失,服务端会认为Client没收到他的FIN,会重传FIN;Client可以在这段时间内补发ACK。

 

Server端会保持一个计时器,每次收到Client的消息就重置,防止Client出现问题导致资源浪费。

 

TCP数据传输

数据传输参考 陈爱军老师的《TCP性能分析技术及其应用20121231》,做简单理解总结

 

1、要知道TCP传输只是发送端的缓冲区到接收端缓冲区的过程,发送端和接收端操作系统负责将数据拷贝到缓冲区或者将数据从缓冲区取出。

2、BDP(Bandwidth Delay Product)带宽时延乘积

TCP 窗口  < BDP时:TCP
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值