TCP面向连接:三次握手、四次挥手
“面向连接”就是在正式通信前必须要与对方建立起连接。比如你给别人打电话,必须等线路接通了、对方拿起话筒才能相互通话。
Tcp协议的特点:1)面向连接 2)可靠传输:数据保证能发生过去,而且数据准确 3)流式服务
Tcp连接过程(三次握手:客户端发起)
注:标识符 SYN:建立联机 ACK:确认机制 FIN:结束 RST(reset重置) URG(urgent紧急)
一、 TCP3次握手
在建立一个TCP连接时,需要客户端和服务器总共发送三个包。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始序列号为后面的可靠性传送做准备。实质就是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号,交换TCP窗口大小信息。
流程:
●第一次握手:
客户端给服务器发送一个SYN报文,并指明客户端的初始化序列号ISN。此时客户端处于SYN_SENT状态。
首部的同步位SYN=1,初始序号seq=X,SYN=1的报文段不能携带数据,但是需要消耗一个序号。
●第二次握手:
服务器收到客户端的SYN报文后,会以自己的SYN报文作为应答,并且也是指定了自己的初始化序列号ISN(s)。同时会把客户端的ISN+1作为ACK的值,表示自己已经收到了客户端的SYN,此时服务器处于SYN_RCVD的状态。
在确认报文中SYN=1,ACK=1,确认号ack=x+1,初始序号seq=y。
●第三次握手:
客户端收到SYN报文后,会发送一个ACK报文,当然,也是一样把服务