正确答案
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
TCP报文在发送前,双方主机要先建立双向连接与确认,以保证无差错、不丢失、不重复的按序到达;这种连接是“点-点”的,面向字节流的全双工通信。
TCP连接参数是“IP地址+端口”,亦称为TCP地址、TCP套接字socket等。
TCP连接要经过三步,第一步是H1主机发起连接请求;第二步是H2主机确认H1的连接请求——建立正向连接,同时发出对H2的反向连接请求;第三步是H1响应H2 的连接请求-建立反向连接,双向连接建立后,通信双方进行数据传送。
TCP释放连接需要经过四个步骤,在数据传送结束后,第一步由H2对H1发出释放请求-结束本次数据传送,第二步由H1确认H2释放反向连接;第三步是H1对H2发出释放请求;第四步是H2确认H1的请求,释放正向连接。一次完整的数据通信过程全部结束。
第一次握手:主机A发起握手,目的端点:主机B的端口2生成一个随机数作为他的初始发送序号x,发出一个同步报文段,syn=1,发送序号seq=x,Ack=o, 第二次握手:主机B监听到端口2上有连接请求,主机B相应,并继续同步过程,生成一个随机数作为它的初始发送序号y,发出一个同步报文段并对主机A端口1的连接请求确认,syn=1,发送序号seq=y,Ack=1,确认序号ackseq=x+1, 第三次握手:主机A确认B的同步报文段,建立连接过程结束。发出对端口2的确认,Ack=1 确认序号ackseq=y+1。