TCP 连接的建立和终止

本文详细介绍了TCP连接的建立过程——三次握手,包括客户端的主动打开和服务器端的被动打开,以及TCP连接的终止——四次挥手。此外,还提到了TCP选项中的MSS、窗口规模和时间戳,并通过状态转换图展示了TCP连接的状态变化。
摘要由CSDN通过智能技术生成

1、概述

网络开发中,你怎么也不会避开TCP协议,而且面试中这个也是一个基础问题。总的来说 TCP 的建立分为三次握手,而 TCP 的终止则需要四次挥手。

2、TCP的建立(三次握手)

建立一个 TCP 连接时会发生以下情形。
1、服务器端必须准备好接受外来的连接。通常通过调用 socket、bind 和 listen 这3个函数来完成,我们称为被动打开(passive open)。
2、客户端通过调用 connect 发起 主动打开(active open)。这导致客户端 TCP 发送一个 SYN(同步序列编号:Synchronize Sequence Numbers)分节,它告诉服务器客户端将在连接中发送的数据的初始序列号。通常 SYN 分节不携带数据,其所在 IP 数据报只含一个 IP 首部、一个 TCP 首部及可能有的 TCP 选项(后面进行说明)。
3、服务器端接收到客户端的请求后,必须确认客户的 SYN,同时自己也得发送一个 SYN 分节,它含有服务器端将在同一连接中发送的数据的初始序列号。确认的因为单词 Acknowledgement,所以简称 ACK。服务端在给客户端回复时,同时发送自己的 SYN 和 对客户 SYN 的 ACK。
4、客户端接收到服务器端的消息,必须对服务器端的 SYN 进行确认

这种交换至少需要 3 个分节,因此称为TCP 的三次握手

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值