TCP(传输控制协议)是面向连接的协议,或“控制”“传输,传输和通信”的协议。
作为面向连接的协议,TCP只能在确认通信对等体存在时发送数据,以便控制通信流量的浪费。此外,TCP在数据传输期间实现各种控制功能,并且可以在发生分组丢失时执行重传控制,并且还可以顺序地控制顺序无序的子分组。 TCP通过校验和,序列号,确认响应,重传控制,连接管理和窗口控制等机制实现可靠性传输。
1,TCP建立3握手过程的连接
主机A向主机B发送包含同步序列号的标志位的数据段,并请求主机B建立连接。通过这个数据段,主机A告诉主机B两件事:我想和你沟通;您可以使用哪个序列号作为起始数据段来回复我;
在收到主机A的请求后,主机B用一个带有确认(ACK)和同步序列号(SYN)标志的数据段响应主机A,并告诉主机A两件事:我收到了你的请求。现在,您可以传输数据;你需要使用哪个序列号作为起始数据段来回应我;
收到数据段后,主机A发送确认确认已收到主机B的数据段:“我收到了回复,我现在开始传输实际数据。”
这3次握手完成,主机A和主机B可以传输数据。
TCP的3次握手,4次摇摆
2. 4断开TCP确认
主机A完成数据传输后,控制位FIN设置为1,并发出停止TCP连接的请求;
收到FIN后,主机B对其进行响应,确认该方向的TCP连接将关闭,并将ACK设置为1;
然后B侧在相反方向提出反向请求,并将FIN设置为1;
主机A确认来自主机B的请求,将ACK设置为1,并在两个方向上结束关闭。
TCP的3次握手,4次摇摆
从TCP的第三次握手和4次断开确认可以看出TCP使用面向连接的通信,这极大地提高了数据通信的可靠性,使得发送数据端和接收端在数据正式传输之前具有交互。它为官方数据传输奠定了坚实的基础。