tcp 的 3次握手和4次挥手【超级简单】

本文科普了TCP协议的三次握手和四次挥手过程。在三次握手期间,客户端和服务端通过交换SYN包确认连接;若握手异常,服务器会陷入半关闭状态,可能导致DDOS攻击。四次挥手则确保双方都能终止连接,防止数据丢失。文言文的比喻形象地解释了这两个概念。
摘要由CSDN通过智能技术生成

科普:

  • TCP 协议进行通讯的双方(服务端和客户端),是需要先建立一个虚拟连接的,然后双方程序才能发送业务数据信息。
  • 建立TCP虚拟连接是通过著名的 三次握手 进行的。

背景:A 和 B 打电话

场景1(3次握手):

A:你好!能听得到我说话吗?
B:你好!听得到!那你能听得到我说话吗?
A:我也能听得到!

场景2(4次挥手):

A:今天我聊得很开心!
B:是的,我也聊得很开心!
B:改天再聊!
A:嗯嗯,改天再聊!

A是:客户端
B是:服务器

在这里插入图片描述

问:如果3次握手异常会怎样?

答:服务器会等待客户端重新连接,这时候服务端处于半关闭状态。
如果出现大量的半关闭连接,会耗尽服务器的连接资源数,导致请求无法进来。也就是所谓的DDOS攻击。

问:为什么4次挥手不改成2次挥手?

答:这是由 TCP的半关闭造成的。通信双方都要终止才行。
在这里插入图片描述

文言文的解释

在这里插入图片描述

3次握手

  1. 请求端(通常称为客户)发送一个 SYN 段指明客户打算连接的服务器的端口, 以及初 始序号(ISN,在这个例子中为1415531521)。这个SYN段为报文段1。

  2. 服务器发回包含服务器的初始序号的 SYN报文段(报文段2)作为应答。同时,将确认 序号设置为客户的ISN加1以对客户的SYN报文段进行确认。一个SYN将占用一个序号。

  3. 客户必须将确认序号设置为服务器的 ISN 加1以对服务器的 SYN 报文段进行确认(报文 段3)。 这三个报文段完成连接的建立。这个过程也称为三次握手( three-way handshake)。

4次挥手

  1. 客户端发起断开,向服务器发送FIN
  2. 当服务器收到这个FIN,它返回客户端 ACK,确认序号为收到的序号加 1。和SYN一样,一个FIN将占用一个序号。
  3. 同时 TCP服务器还向应用程序(即丢弃服务器)传送一个文件结束符。 接着这个服务器程序就关闭它的连接,导致它的TCP端发送一个FIN,
  4. 客户必须返回一个ACK确认, 并将确认序号设置为收到序号加1。

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值