本文详细来探讨TCP建立拆除连接的知识
TCP如何建立连接
图 1TCP 首部格式中SYN 标志位仅使用在建立TCP 连接的过程中,TCP 建立连接的过程被称为“三路握手“连接,即一般通信双方共需要传输三个数据包方能成功建立一个TCP 连接。我们通常将建立连接作为使用TCP 协议理所当然的前导过程,但很少去质疑这样一个建立连接过程的必要性。实际上,使用TCP 协议必须首先建立一个连接是保证TCP 协议可靠性数据传输的基本前提(当然由于TCP 协议是一个有状态协议,必须通过某种机制进行通信双方状态上的同步,而建立连接就是这样一种机制)。
至于为何需要三个数据包,原因是建立连接过程中信息的交换必须至少使用三个数据包,从下文的分析来看,建立连接最多需要使用四个数据包。需要再次提到的是:SYN 标志位只是用在建立连接的三个(或者四个)数据包中,一旦连接建立完成后,之后发送的所有数据包不可设置SYN 标志位。单从保证数据可靠性传输角度而言,TCP 协议需要在正式数据传输之前首先进行某些信息的交换,这个信息即是双方的初始序列号(另外的一些信息包括最大报文长度通报等)。
诚如前文所述,序列号的使用对于 TCP 协议而言至关重要,在正式数据传输之前,双方必须得到对方的初始字节数据的编号,这样才有可能对其所接收数据的合法性进行判断,才有其它的对数据重复,数据重叠等一系列问题的进一步判别和解决。故交换各自的初始序列号必须在正式数据传输之前完成,我们美其名曰这个过程为连接建立过程。至于双方TCP 协议各自状态的更新主要是软件设计上可靠性保证的一个辅助,并非这个所谓的建立过程所主要关注的问题。
初始序列号的交换从最直接的角度来说需要四个数据包:
1> 主机 A 向主机B 发送其初始序列号。
2> 主机 B 向主机A 确认其发送的初始序列号。
3> 主机 B 向主机A 发送其初始序列号。
4> 主机 A 向主机B 确认其发送的初始序列号。
我们将<2><3>两步合为一步,即B 向A 确认其(A 之前发送的)初始序列号的同时发送其(即B 自己的)初始序列号。所谓确认数据包即将数据包的ACK 标志位设置为1 即可。注意这三个(或四个)数据包中SYN 标志位设置为1,而且SYN 标志位也仅在这三个(或四个)数据包中被设置为1。
此处有一个问题:即A,B 主机在通报各自初始序列号的同时能否传输一些正常数据,原理上可以(TCP 协议规范上并没有说不可以),但是大多数实现在通报初始序列号时都不附带正常数据,而是将其作为一个单独的过程,由此正式确立建立连接一说。
TCP如何拆除连接
当前连接的双方都可以发起拆除连接操作,但简单的拆除连接可能会造成数据丢失。为此,TCP采用四次握手的方式拆除连接。
四次握手与三次握手类似:
①1发拆除请求
②2收到请求,并发确认,1收到该确认后,不再发送数据,但任然会接收数据(半连接)
③2发拆除请求
④1收到请求,并确认,到此拆除完成
最新资讯
三大运营商集体陷增长困境 5G大潮前何去何从?

三大运营商集体陷增长

中国移动、中国联通和中国电信先后公布了2019年上半年
“新消费”鼻祖小米,还行不行?

“新消费”鼻祖小米,还

新消费”滔天巨浪来了?
三星华为两大手机厂商5G手机对比 谁更胜一筹?

三星华为两大手机厂商

在全球手机市场份额中,三星、华为分别位列前二。两大手
谷歌为Chrome添加新技术 可以防止广告主追踪用户

谷歌为Chrome添加新技

谷歌Chrome提出一套新的技术解决方案,目的是想调和用户
获王兴投资后,理想汽车搭建离岸架构筹备海外上市

获王兴投资后,理想汽车

江苏省国资委近日在其官网发布了一则产权转让公告,显示
WeWork估值达470亿美元,它到底是怎么融资的?

WeWork估值达470亿美

WeWork真是惹人羡,作为美国眼下估值最高的独角兽,马上就
最新文章
5G时代 HTTP和DNS协议将发生哪些变化?

5G时代 HTTP和DNS协议

HTTP和DNS这两种协议几乎已经成为家喻户晓,现在5G时代
流媒体协议RTSP、HTTP、HTTPS、SDP四种区别解析

流媒体协议RTSP、HTTP

流媒体在Android中有nuplayer来实现的,下面先来讲流媒
如何屏蔽https网站、禁止访问https、禁止跳转https的方法

如何屏蔽https网站、

由于网络安全形势越发严峻,为了保护用户隐私和网络安全
最常用路由协议RIP-1/2 OSPF IS-IS BGP的特点对比

最常用路由协议RIP-1/

RIP协议是最早的路由协议,OSPF是目前应用最广泛的IGP协
上行带宽和下行带宽是什么意思?各有什么作用?

上行带宽和下行带宽是

这篇文章主要介绍了上行带宽和下行带宽是什么意思?各有
网络延长器是什么东西 网络延长器的简介

网络延长器是什么东西

网络延长器就是能够把网络传输距离有效延长的设备