tcp/ip协议三次握手、四次挥手

tcp/ip协议三次握手、四次挥手

  • TCP报文格式
  • 两次握手
  • 三次握手
  • 四次挥手

TCP报文格式

tcp/ip协议三次握手、四次挥手_第1张图片
32位序号:随机生成,唯一标识当前报文的序号是多少,seq表示
32位确认序号:对上一条发送的信息进行一个消息的确认,ack表示
ACK:确认标志位,一位,只能表示0/1。
SYN:1:发起一个新的连接
FIN:1:结束一个连接

两次握手

tcp/ip协议三次握手、四次挥手_第2张图片

说明:客户端向服务端发送报文,服务端收到了,说明服务端接受客户端的消息没问题。但服务端发给客户端的消息,客户端一定能收到么?服务端还是不知道。
为了安全可靠:

1:客户端知道我能连上服务端,服务端也能连上我;

2:服务端知道我能连上客户端,客户端也能连上我。

此时两次握手只能保证情景1,保证不了情景2,因为第二次握手对服务端来说,只知道我能连上客户端,但不知道客户端能不能连上我。所以需要客户端发送第三次握手进行确认,要是服务端能收到,则说明我服务端知道你客户端也能连上我。

三次握手

tcp/ip协议三次握手、四次挥手_第3张图片

四次挥手

tcp/ip协议三次握手、四次挥手_第4张图片

第一次挥手:服务器知道了客户端要和我断开连接,但此时服务端不一定最好准备,以为此时服务端可能还有未发送完的消息,还要继续发送。

第二次挥手:此时对服务端而言,只能对消息进行一个确认,告诉客户端我知道你要和我断开连接了,但我这边可能还没做好准备,你得等我。

第三次挥手:服务端发给客户端:我准备好和你断开连接了

第四次挥手:客户端发给服务端:确认收到服务端断开连接的消息。

通过四次连接,不管客户端还是服务端,都做好断开连接的准备,就断开连接了。

你可能感兴趣的:(tcp/ip,http,udp)