【面试准备】啥是TCP三次握手,四次挥手?

先上一些短语及其解释:

三次握手---建立连接

只能是Client客户端 发起 Server服务器 接收

四次挥手---断开连接

有两种情况,客户端主动断开和服务器主动断开

SYN

Synchronize Sequence Number,同步序列号

ACK

Acknowledgement,确认

FIN

Finish/Final,结束

再上三幅图进行过程解释:

图一

图二

图三

真正的TCP连接与断开肯定不是U盘的插拔,我只是做个比喻。

问这个问题的我猜一般都不是要考具体的同步序列号应该发哪个阿拉伯数字,确认号应该发哪个阿拉伯数字,而是想继续问一下,在建立连接的时候有可能出现的情况,比如SYN攻击(只握两次手),如下图

在三次握手过程中,服务器发送SYN-ACK之后,收到客户端的ACK之前的TCP连接称为半连接(half-open connect).

服务器一旦发出SYN-ACK,就会为此连接开辟内存空间。如果在短时间内,出现大量半连接状态,会导致连接内存溢出,正常连接也无法进入。

这就是SYN攻击。

另外还有一些与TCP、UDP区别的常见面试题,可以参考【博客园】zmlcttTCP三次握手四次挥手详解》的最后一部分。

参考文章

------------------------

【CSDN】smile4leeTCP半连接与SYN攻击

【博客园】zmlcttTCP三次握手四次挥手详解

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值