三次握手和四次挥手

一、简述

 1.  三次握手

      C: syn

      S: syn+ack

      C: ack

2. 四次挥手

     C: fin

     S: ack

     S: fin

     C: ack

3. 为什么挥手时,S的ack和fin不一起发?

(1) 当S收到C的FIN报文时,仅仅表示C不再发送数据,但C还能接收数据。

(2) S是否现在关闭发送数据通道,需要上层应用来决定,不能自己决定。

 

二、为什么要三次握手四次挥手

1. 客户端和服务端都要确认 自己和对方接收能力发送能力

(1) S收到C的syn包,可以确认S的接收能力OK,C的发送能力OK。

(2) C收到S的ack包,可以确认S的接收和发送能力OK,C的发送和接收能力都OK。

(3) S收到C的ack包,可以确认S的接收和发送能力OK,C的发送和接收能力都OK。

2. 另一个重要功能是交换序列号,以便让对方知道接下来接收数据的时候,如何按序列号组装数据。

 

三、连接队列

1. 三次握手过程中,C会分别处于SYN_SENDESTABLISHED状态, S会分别处于SYN_RCVDESTABLISHED状态。

    ESTABLISHED状态时是还未被应用程序接受的。

2. 相应地,S 会维护两个队列,分别是处于SYN_RCVD的半连接队列,和处于ESTABLISHED的全连接队列。

    如果这两个队列满了之后,就会出现各种丢包的情形。

 

四、其他介绍

1. TCP头部介绍

2. syn flood攻击 (DDos攻击)

3. 查看队列情况,调整连接队列参数

4. 抓包实例

原文地址 https://mp.weixin.qq.com/s/YTtvp6gEXesM0WiuTGDW2Q,包含:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值