JavaTcp的三次握手和四次挥手-创新互联
一、TCP传输的过程
1.建立连接并确认连接(三次握手)
三次握手(three times handshake;three-way handshake)所谓的"三次握手"即对每次发送的数据量是怎样跟踪进行协商使数据段的发送和接收同步,根据所接收到的数据量而确定的数据确认数及数据发送、接收完毕后何时撤消联系,并建立虚连接。
发展壮大离不开广大客户长期以来的信赖与支持,我们将始终秉承“诚信为本、服务至上”的服务理念,坚持“二合一”的优良服务模式,真诚服务每家企业,认真做好每个细节,不断完善自我,成就企业,实现共赢。行业涉及PVC花箱等,在重庆网站建设公司、网络营销推广、WAP手机网站、VI设计、软件开发等项目上具有丰富的设计经验。为了提供可靠的传送,TCP在发送新的数据之前,以特定的顺序将数据包的序号,并需要这些包传送给目标机之后的确认消息。TCP总是用来发送大批量的数据。当应用程序在收到数据后要做出确认时也要用到TCP。
过程:
(1)客户端向服务端发出连接请求SYN,等待服务端响应
(2)服务端做出响应ACK和连接信号SYN
(3)为防止数据丢失,客户端也要做出响应ACK,确认是否有效
2 .进行数据传输,发送数据包
数据传输总是从 客户端---》服务端,因此客户端和服务端不是固定的。
3.关闭连接(四次挥手):
由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。
1.(客户端:终止等待1)客户端向服务端发起关闭连接的请求,不再发送数据了,但如果服务器发送数据,客户端还要接收
2.(服务端:关闭等待)服务端可能还有数据为传输完毕,所以还无法完成关闭。所以先响应客户端ACK,,表示收到关闭请求。客户端向服务器的方向释放,整个处于半关闭状态
3.(客户端:终止等待2)客户端收到服务器的确认请求后,客户端进入终止等待2,等待服务端发送连接释放报文
4.(服务端:最后确认)等服务器的数据传输工作完成,就把FIN信号(连接释放报文)发送给客户端,可能还会发送一些数据
5.(客户端:时间等待)客户端收到服务器的连接释放报文。发出确认ACK
6.(服务端:CLOSED)服务端收到客户端的确认,立即进入CLOSED状态
7.服务器结束TCP连接的时间比客户端早
创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。
文章名称:JavaTcp的三次握手和四次挥手-创新互联
链接地址:http://myzitong.com/article/dgjois.html