1. 程式人生 > >TCP建立連線的三次握手

TCP建立連線的三次握手

1.TCP建立連線的過程採用三次握手,已知第三次握手報文的傳送序列號為1000,確認序列號為2000,請問第二次握手報文的傳送序列號和確認序列號分別為 1999,999 1999,1000 999,2000 999,1999 應該選 B 傳送序列是自己傳送報文的序列號,當前傳送序列號是上一次傳送序列號+1 確認序列號是從對方接收到的傳送序列號+1 第三次握手傳送的序列號是1000,那說明第一次握手傳送的序列號是999,注意:這裡是握手   ,因此,第二次握手的確認序列號是1000,即確認序列號是從對方接收到的傳送序列號+1。   第三次握手傳送的確認號是2000,說明第二次握手的傳送序列號是1999。   所以,選B
   簡化一下,其實有兩個序列,客戶端傳送X,伺服器傳送Y。三次握手分別是
  客戶端:傳送X 服務端:傳送Y, 確認X+1  客戶端:傳送X+1(1000),確認Y+1(2000)
  可以反推第二次為1999,確認1000 這不是同一端的資料包。 2.下列TCP連線建立過程描述正確的是: 服務端收到客戶端的SYN包後等待2*ml時間後就會進入SYN_SENT狀態 服務端收到客戶端的ACK包後會進入SYN_RCVD狀態 當客戶端處於ESTABLISHED狀態時,服務端可能仍然處於SYN_RCVD狀態 服務端未收到客戶端確認包,等待2*ml時間後會直接關閉連線 答案:C 此題主要考察TCP三次握手,四次揮手的狀態變化,對著圖看吧,加深印象。   三次握手如下:
  
  (此圖第三次握手的ack應該等於y+1,而不是y,但不影響解這題)   四次揮手如下: