回覆列表
  • 1 # 湯圓電影Vlog

    seq是序列號,這是為了連線以後傳送資料用的,ack是對收到的資料包的確認,值是等待接收的資料包的序列號。在第一次訊息傳送中,A隨機選取一個序列號作為自己的初始序號傳送給B;第二次訊息B使用ack對A的資料包進行確認,因為已經收到了序列號為x的資料包,準備接收序列號為x+1的包,所以ack=x+1,同時B告訴A自己的初始序列號,就是seq=y;第三條訊息A告訴B收到了B的確認訊息並準備建立連線,A自己此條訊息的序列號是x+1,所以seq=x+1,而ack=y+1是表示A正準備接收B序列號為y+1的資料包。seq是資料包本身的序列號;ack是期望對方繼續傳送的那個資料包的序列號。

  • 2 # 使用者3136867717565

    建立連線的過程是利用客戶伺服器模式,假設主機A為客戶端,主機B為伺服器端。

    (1)TCP的三次握手過程:主機A向B傳送連線請求;主機B對收到的主機A的報文段進行確認;主機A再次對主機B的確認進行確認。

    (2)採用三次握手是為了防止失效的連線請求報文段突然又傳送到主機B,因而產生錯誤。失效的連線請求報文段是指:主機A發出的連線請求沒有收到主機B的確認,於是經過一段時間後,主機A又重新向主機B傳送連線請求,且建立成功,順序完成資料傳輸。考慮這樣一種特殊情況,主機A第一次傳送的連線請求並沒有丟失,而是因為網路節點導致延遲達到主機B,主機B以為是主機A又發起的新連線,於是主機B同意連線,並向主機A發回確認,但是此時主機A根本不會理會,主機B就一直在等待主機A傳送資料,導致主機B的資源浪費。

    (3)採用兩次握手不行,原因就是上面說的失效的連線請求的特殊情況。

  • 中秋節和大豐收的關聯?
  • 現代人類和舊石器時代的人類打仗,能打贏嗎?