大家好呀,我是请假君,今天又来和大家一起学习数通了,今天要分享的知识是TCP的建立。
TCP是一个面向连接的可靠的传输控制协议,在每次数据传输之前首先需要建立连接,连接建立成功后才开始传输数据,数据传输结束后还要断开连接。
seq和ack号存在于TCP报文段的首部中,seq是序号,ack是确认号,大小均为4字节。
由于TCP使用的网络层协议IP只提供不可靠、无连接的传送服务,为确保连接的建立和终止都是可靠的,TCP使用三次握手(Three-Way Handshake)的方式来建立可靠的连接。TCP使用报头中的SYN (Synchronization Segment,同步段〉来描述创建一个连接的三次握手中的消息。另外,握手过程确保TCP只有在两端一致同意的情况下,才会打开一个连接。
TCP的三次握手建立连接的过程如下:
1)由发起方HostA向被叫方HostB发出连接请求。将段的序列号标为a,SYN置位。由于是双方发的第一个包,ACK无效。
2)HostB收到连接请求后,读出序列号为a,发送序列号为b的包,同时将ACK置为有效,将确认号置为a+1,同时将SYN置位。
3)HostA收到HostB的连接确认后,对该确认再次作确认。HostA收到确认号为a+1、序列号为b的包后,发送序列号为a+1、确认号为b+1的段进行确认。
4) HostB收到确认报文后,连接建立。
这样,一个双向的TCP连接就建立好了,双方可以开始传输数据。
好的,那么今天的分享就到这里,有疑问的欢迎来评论区讨论,我们下次再见。