TCP 三次握手、数据传输和四次挥手

TCP 三次握手、数据传输和四次挥手

TCP有6种标示:SYN(建立联机) ACK(确认) PSH(传送) FIN(结束) RST(重置) URG(紧急)
ACK=seq+1

三次握手建立连接

客户端:connect()
服务端:listen()

  1. 第一次握手
    客户端 -> 服务端
    SYN, seq=x

  2. 第二次握手
    服务端 -> 客户端
    SYN, seq=y, ACK=x+1

  3. 第三次握手
    客户端 -> 服务端
    ACK=y+1

比如像打电话:

  1. 我是小红,是小华吗?
  2. 我是小华,你好小红
  3. 你好小华
    三次握手是为了确保双方都在线
    如果没有第三次握手,那么小华不知道小红是否还在线
数据传输

客户端:write()
服务端:read()

  1. 发送
    客户端 -> 服务端
    seq=x+1, ACK=y+1

  2. 接收
    服务端 -> 客户端
    ACK=x+2

四次挥手断开连接

客户端:close()
服务端:close()

  1. 第一次挥手
    客户端 -> 服务端
    FIN, seq=x+2, ACK=y+1
  2. 第二次挥手
    服务端 -> 客户端
    ACK=x+3
  3. 第三次挥手
    服务端 -> 客户端
    FIN, seq=y+1
  4. 第四次挥手
    客户端 -> 服务端
    ACK=y+3

比如像挂电话:

  1. 我挂电话了哦?
  2. 好的,我看看我说完了吗?
  3. 我说完了
  4. 好的,挂电话吧
    四次挥手是为了确保数据能够完成传输。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值