回覆列表
  • 1 # 曾凹臊

    seq和ack號存在於TCP報文段的首部中,seq是序號,ack是確認號,大小均為4位元組。seq:佔 4 位元組,序號範圍[0,2^32-1],序號增加到 2^32-1 後,下個序號又回到 0。TCP 是面向位元組流的,透過 TCP 傳送的位元組流中的每個位元組都按順序編號,而報頭中的序號欄位值則指的是本報文段資料的第一個位元組的序號。ack:佔 4 位元組,期望收到對方下個報文段的第一個資料位元組的序號。一個TCP連線的建立是透過三次握手來實現的1. (A) –> [SYN] –> (B)假如伺服器B和客戶機A通訊. 當A要和B通訊時,A首先向B發一個SYN (Synchronize) 標記的包,告訴B請求建立連線.注意: 一個 SYN包就是僅SYN標記設為1的TCP包(參見TCP包頭Resources). 認識到這點很重要,只有當B受到A發來的SYN包,才可建立連線,除此之外別無他法。因此,如果你的防火牆丟棄所有的發往網路介面的SYN包,那麼你將不能主動連線外部任何主機,除非不是TCP協議。2. (A) [ACK] –> (B)A收到SYN/ACK 包,A發一個確認包(ACK),通知B連線已建立。至此,三次握手完成,一個TCP連線完成Note: ACK包就是僅ACK 標記設為1的TCP包. 需要注意的是當三此握手完成、連線建立以後,TCP連線的每個包都會設定ACK位握手階段:

  • 中秋節和大豐收的關聯?
  • 44歲大美女明星林志玲準備在交友軟體擇偶,你怎麼看?成功可能性大嗎?