TCP建立连接的过程叫做三次握手,握手需要在客户和服务器之间交换三个TCP报文段。
假设A运行的是TCP客户程序,B运行的是TCP服务器程序。
①A先创建传输控制模块(TCB),然后发送请求报文段,此时首部中的同部位SYN=1,同时选择一个随机序号seq=x。TCP规定,SYN=1的报文段不能携带数据,但是要消耗掉一个序号。
②B收到连接请求后,如同意连接,就向A发送确认。在确认中应把SYN和ACK都置1,确认号为ack=x+1,序号seq=y。这个报文也不能携带数据,同样消耗序号
③TCP客户A在收到B的确认之后,还要向B给出确认。确认报文ACK置1,确认号ack=y+1,而自己的确认号seq=x+1.
经过上述三次握手之后,TCP连接已经建立。