TCP是面向链接的协议,要想传输数据就得先建立链接,通讯结束后关闭链接。
我们先说下他的链接过程------三次握手:
简单来说就像是两个人打电话,电话通了之后,A向B说“喂,听得见我说话嘛”,然后B接着说“能听见”,最后A说“那好我开始讲了”,然后他俩就可以畅通的交流了。
说三次握手前先讲一下在握手过程中用到的信息(都是在TCP报文里的信息)
ACK标志:我们把携带ACK(ACK=1时确认号才有效)标志位的TCP报文称为确认报文;
SYN标志:表示请求建立一个链接,讲携带SYN的报文称为同步报文;
FIN标志:表示通知对方本端要关闭链接了,称为结束报文;
RST标志:表示请求对方重新建立链接;
ack :是TCP报头里的确认号,用来确认报文到达了对端
seq :是TCP报头里的序号,用来要求数据必须有序
我们先看下三次握手的过程图: