直接转本3Q是什么意思思?

首先客户端与服务器均处于未連接状态,并且是客户端主动向服务器请求建立连接:


客户端将报文段中的SYN=1并选择一个seq=x,(即该请求报文的序号为x)  将这个报文发送到服务器此时,客户端进入同步已发送状态(SYN-SEND).SYN报文段不能携带数据但是要消耗掉一个序号。
服务器收到请求报文后若同意建立连接,则囙复报文中SYN=1,ACK=1,并选择一个seq = y,且报文中确认号为x+1序号为y   .此时服务器进入同步已接收状态(SYN-RCVD)


客户端收到服务器的同步确认后,对服务器发送确认的确认将ACK=1,确认号为y+1,而报文首部的序号为x+1,将该报文发出后客户端进入已连接状态(ESTABLISHED)。


服务器收到客户端的确认后也进入已連接状态。


为何使用三次握手机制:

客户端向服务器发送了第一条请求报文但是该报文并未在网络中被丢弃,而是长时间阻滞在某处洏客户端收不到服务器确认,以为该报文丢失于是重新发送该报文,这次的报文成功到达服务器如果不使用三次握手,则服务器只需對该报文发出确认就建立了一个连接。而在这个连接建立并释放后,第一次发送的阻滞在网络中的报文到达了服务器,服务器以为昰客户端又重新发送了一个连接请求(实际上在客户端那里该连接早已失效),就又向客户端发送一个确认但客户端认为他没有发送該请求报文,因此不理睬服务器发送的确认而服务器以为又建立了一个新的连接,于是一直等待A发来数据造成了服务器资源的浪费,並且会产生安全隐患因此,若使用三次握手机制服务器发送了该确认后,收不到客户端的确认也就知道并没有建立连接,因此不会將资源浪费在这种没有意义的等待上


TCP连接的释放(四次挥手)

连接的释放较连接的建立复杂。


现假设客户端与服务器均处于连接建立状態客户端主动断开连接:

我要回帖

更多关于 q是什么意思 的文章

 

随机推荐