92-TCP三次握手及TCP四次挥手

TCP三次握手及TCP四次挥手

  • 1.tcp三次握手
    • (1)tcp的特点
    • (2)tcp三次握手发生在什么阶段
    • (3)tcp协议报头
    • (4)tcp三次握手的流程
  • 2.tcp四次挥手
    • (1)tcp四次挥手发生在什么阶段
    • (2)tcp四次挥手的流程
    • (3)能不能将服务器发端发送的ACK和FIN放在一起发送呢

1.tcp三次握手

(1)tcp的特点

TCP 协议提供的是:面向连接、可靠的、字节流服务。使用 TCP 协议通信的双发必须先建立连接,然后才能开始数据的读写。双方都必须为该连接分配必要的内核资源,以管理连接的状态和连接上数据的传输。 TCP 连接是全双工的,双方的数据可以通过一个连接进行读写。完成数据交换之后,通信双方都必须断开连接以释放系统资源。

(2)tcp三次握手发生在什么阶段

三次握手发生在发起链接 connect 的时候;

(3)tcp协议报头

92-TCP三次握手及TCP四次挥手_第1张图片
92-TCP三次握手及TCP四次挥手_第2张图片

(4)tcp三次握手的流程

92-TCP三次握手及TCP四次挥手_第3张图片
第一次握手客户端给服务器端发送一个SYN(建立连接的请求)并且它的序号值seq=i;
第二次握手服务器端收到请求以后也会给客户端发送一个自己的SYN并且序号值seq=j,同时会发送一个ACK(是否确认号是否有效)且ACK的值会在客户端发送过去的seq的之上加一;
第三次握手客户端会给服务器端发送一个确认信息(ACK)且值为j+1

2.tcp四次挥手

(1)tcp四次挥手发生在什么阶段

服务器或者客户端执行close的时候

(2)tcp四次挥手的流程

92-TCP三次握手及TCP四次挥手_第4张图片
第一次挥手客户端给服务器端发送一个FIN(通知对方本端要关闭连接了)并且序号值seq=i;
第二次挥手服务器端给客户端发送一个确认报文段ACK且值为i+1;
第三次挥手服务器端给客户端发送一个FIN通知客户端服务器端要关闭了其序号值为j;
第四次挥手客户端给服务器端发送一个确认报文段ACK且值为j+1;

(3)能不能将服务器发端发送的ACK和FIN放在一起发送呢

首先我们要明白服务器端为什么将ACK和FIN分开发送,原因就是只有服务器端close以后才会给客户端发送FIN,所以只要服务器端发送ACK的同时服务器端close就可以将ACK和FIN一起发送.

你可能感兴趣的:(计算机网络,网络协议,tcp/ip)