1. 程式人生 > >面經總結:計算機網絡

面經總結:計算機網絡

根據 mac 面經 網頁解析 syn 握手 第一次 域名 回復

  • TCP三次握手

(1.過程;2.幾個常見問題)

第一次:客戶端給服務器發送syn包x;SYN_SENT

第二次:服務器接收到syn包,返回一個syn包y 和 一個ack包x+1; SYN_RECV

第三次:客戶端收到syn+ack包,向服務器發送ack包。ESTABLISHED

為什麽三次握手?

防止已失效的連接請求報文段重傳。

  • TCP四次揮手

四次揮手?

把三次握手的第二次分解,先發ack包,再發fin包。

第一次:主動關閉方發送fin包x,關閉數據傳送; FIN_WAIT1

第二次:被動方發送ack包x+1; FIN_WAIT2 CLOSE_WAIT

第三次:被動方發送fin包y,關閉數據傳送; LASH_ACK

第四次:主動方發送ack包y+1;TIME_WAIT

為什麽四次握手?

被動方收到FIN包時,並不會立即關閉socket,所以先回復一個ack包。等到被動方所有數據發送完,再發fin包。

為什麽TIME_WAIT/等待2MSL?

MSL是報文最大生存時間;主動方發出最後一個ACK包進入TIME_WAIT狀態,目的是防止最後一個ACK包對方沒接收到,那麽對方在超時後將重發第三次握手的FIN包。 A->ACK->B,等待ACK到達對方時間MSL,等待FIN超時重傳MSL,所以如果2MSL時間沒有收到FIN,說明對方安全收到FIN。

  • 瀏覽器訪問一個網址的過程?

  1.首先瀏覽器通過DNS解析網址的IP地址,通過IP找到服務器路徑;

  2.根據IP地址向服務器發送一個HTTP請求;

  3.服務器收到請求,返回響應;

  4.瀏覽器對網頁解析,渲染顯示。

涉及各層協議?

應用層:HTTP、DNS、(DNS解析域名為目的IP,通過IP找到服務器路徑,客戶端向服務器發起HTTP會話)

傳輸層:TCP、 (HTTP會話會被分成報文段,添加源、目的端口;TCP協議進行主要工作)

網際層:IP、(ARP)、ICMP、(為數據包選擇路由,IP協議進行主要工作)

鏈路層:PPP、(ARP)(發送IP數據包到達服務器的地址,ARP協議將IP地址轉成MAC地址)

面經總結:計算機網絡