魅族mx4pro尾插更换:在TCP三次握手过程中,是三次握手后开始传送数据,还是在第三次握手时已经携带数据了?

来源:百度文库 编辑:高考问答 时间:2024/05/05 23:06:15
我们的教材中,在讲到传输层建立连接的三次握手时,说是“在发送的第一个数据中确认主机2所选择的初始序号”而在讲TCP中的三次握手时是在三次握手成功后发送数据。是不是传输层那讲错了?

教材内容没有错误。
主机1的传输层在第一次握手时只发送请求信号,请求信号包括在协议头部,因而不算传输数据。第二次(这是第三次握手,第二次握手发生在主机2回应)才发送确认主机2返回型号的确认信号,这也就是他的第一次传送数据,但是此时TCP层还没有建立,所以不会捎带TCP层的内容,而只是自己层的协议部分。直到3次握手均有效后,才建立了TCP层的连接。所以TCP是在三次握手成功后发送数据。
注意:传输层发送的内容和网络层发送的内容不一样。后者只是前者的一部分,或者根本没有后者。

握手时只发送信号,就是什么连接不连接啊之类的。握手成功后,才开始传递数据。

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

完成三次握手,客户端与服务器开始传送数据,在上述过程中,还有一些重要的概念