TCP三次握手居然只握两次也可以?

Поделиться
HTML-код
  • Опубликовано: 5 ноя 2024

Комментарии • 24

  • @mason6426
    @mason6426 2 месяца назад +34

    晚上十一点半正是刚刚开卷的时间

    • @bardeebooboo
      @bardeebooboo 2 месяца назад

      快停止啊,別再卷啦😭😭😭

  • @月白-u7y
    @月白-u7y 2 месяца назад +3

    解開了我去年修計網概的疑問,沒想到真有人做出來了,已訂閱

  • @waynechen251
    @waynechen251 2 месяца назад +11

    忍著還沒睡 就是為了在11點開卷

  • @chrisyan8162
    @chrisyan8162 2 месяца назад +2

    握手³的意义是为了双向沟通时双方都能搞懂对方发过来的信息的先后次序,只握两次那不如直接对对面大吼(a.k.a. UDP)

  • @tommymairo8964
    @tommymairo8964 2 месяца назад

    恭喜你,成功解鎖 TCP 狀態注入 😂 當年西廂計劃可是留下了不少好東西

  • @binghamkuang
    @binghamkuang 2 месяца назад +37

    三次握手:
    有聽到嗎?
    有聽到,請說
    好那我開始說了:

    • @bambooindark1
      @bambooindark1 2 месяца назад +2

      對對,這才是比較合理的解釋哈哈

  • @YadanFan
    @YadanFan Месяц назад

    如果client端的第三次的ACK丢了的话,server端话是不会变成ESTABLISHED状态的,那TCP链接也就没有建立,server在等待ACK超时后会重发SYN+ACK给client端

  • @yhwonghk
    @yhwonghk 2 месяца назад +7

    一直就有疑惑, 第3次ACK 是多餘的, 原來是真的
    在嗎?
    我在!
    那我現在說了!(有點多餘)

    • @tommymairo8964
      @tommymairo8964 2 месяца назад

      嚴格來說 ACK 是對 SEQN 的確認,表示到該 SEQN 爲止數據都正常抄收。RFC 其實是規定了第三次握手是 optional,但是當年開發人員爲了 debug 方便,留下了這一傳統……

  • @UCan927
    @UCan927 2 месяца назад +4

    诶 这小子是想干啥~
    我记得SYN+ACK,第二次握手不回复也不发数据,直接断开,就是放鸽子(DDOS)攻击原理了呢~🤔

    • @sometimesnaive5954
      @sometimesnaive5954 2 месяца назад +6

      DDOS是二次握手之后服务器就申请了缓冲,然后没有后文了。重复这样操作耗光服务器缓冲区。现在服务器普遍采用半开放状态tcp连接和类似cookie运算序列号(可能会使用客户端第一次syn的端口号、ip、和服务器随机生成的字段运算得出),然后接收到第三个握手包时检测包头ack是否是cookie+1。当验证完第三个握手包才会分配缓冲等资源,所以当第三个ack握手包丢失的时候,服务器即使是把数据包当成第三次握手也没有接收缓冲区。客户端第四个包的序列号可能是cookie+1+MSS,在服务器上是不会验证通过的,连接可能会被中断。即使服务器把它认为是第三个握手包。此时也没有足够的缓冲区接收数据,所以数据可能面临丢失校验和过不去,重发第四个包(窗口里的第一个包)。

  • @yuan.pingchen3056
    @yuan.pingchen3056 2 месяца назад +2

    很普通麻 這些底層的通信系統服務的設計理念就跟人與人之間講話一樣 有些人屬於TCP會在一開始注重你有沒有在聽 收到你有在聽的ATK之後就開始霹靂啪啦的講 至於另一種人UDP 如我媽 只管講不管有沒有人在聽 不講難過被人打斷講話興致更難過 所以只有第一次的 你有在聽嗎?=SYN以及對方回答的"有=ATK"條件成立後 之後不管怎麼講都無所謂了 第三次握手實屬脫褲子放屁防屎拉褲子裡 雖然感覺沒必要但說實在的還真有必要

    • @wldse
      @wldse 2 месяца назад +1

      ack 不是 atk
      atk是攻擊

    • @hbb21st
      @hbb21st 2 месяца назад

      @@wldse 别抬杠,楼主也别抬杠,视频讲清楚些不是坏事,口音是两湖人士

    • @yuan.pingchen3056
      @yuan.pingchen3056 2 месяца назад

      @@wldse 謝謝你的吐槽 我最希望的就是身邊有一個負責吐槽的人 真是太爽了

    • @kholmsk20
      @kholmsk20 2 месяца назад

      这个比喻好形象👍

  • @XD0009
    @XD0009 2 месяца назад +2

    又有問題了,如果GET不包含ACK的話,伺服器應該不會把他當成第三次握手,那還能正常連線嗎?

    • @bruceb1331
      @bruceb1331 2 месяца назад

      對的,我本以為他說的就是GET不包含ACK,是否還會被當作第三次握手
      我自己的猜測是縱使不包含ACK,由於收到DATA服務器也會假定三向交握成功了,直接執行後續動作建立連結

  • @HSU_KO66
    @HSU_KO66 2 месяца назад +2

    原來是晚自習

  • @cinnamon2006
    @cinnamon2006 2 месяца назад

    所以?

  • @疯蜗牛-y7j
    @疯蜗牛-y7j 2 месяца назад +4

    你这是第三次带ack了也不是ack丢了啊,手动加跟系统自动加,那也是加了而不是丢了

  • @Yuze408
    @Yuze408 2 месяца назад

    太卷了