面試之網路協議

2021-09-28 20:14:27 字數 3253 閱讀 8305

網路協議相關

網路協議方面,考察最多的包括伺服器和客戶端在三次握手、四次揮手過程中的狀態變化;還有網路擁塞控制,及其解決辦法等。

01. 三次握手、四次揮手示意圖:

總共有四種狀態:主動建立連線、主動斷開連線、被動建立連和被動斷開連線

兩兩組合還是 4 種組合:

主動建立連線、主動斷開連線會經歷的狀態:

sync_sent——established—-fin_wait_1—-fin_wait_2—-time_wait

主動建立連線、被動斷開連線會經歷的狀態:

sync_sent——established—-close_wait—-last_ack

被動建立連線、主動斷開連線會經歷的狀態:

listen—-syn_rcvd—-established—-fin_wait_1—-fin_wait_2—-time_wait

被動建立連線、被動斷開連線會經歷的狀態:

listen—-syn_rcvd—-established—-close_wait—-last_ack

02. 滑動視窗機制

由傳送方和接收方在三次握手階段,互相將自己的最大可接收的資料量告訴對方。

也就是自己的資料接收緩衝池的大小。這樣對方可以根據已傳送的資料量來計算是否可以接著傳送。

在處理過程中,當接收緩衝池的大小發生變化時,要給對方傳送更新視窗大小的通知。

03. 擁塞避免機制

擁塞:對資源的需求超過了可用的資源。若網路中許多資源同時**不足,網路的效能就要明顯變壞,整個網路的吞吐量隨之負荷的增大而下降。

擁塞控制:防止過多的資料注入到網路中,使得網路中的路由器或鏈路不致過載。

擁塞控制方法:

04. 瀏覽器中輸入:「www.***.com」 之後都發生了什麼?請詳細闡述。

解析:經典的網路協議問題。

答:由網域名稱→ip 位址

尋找 ip 位址的過程依次經過了瀏覽器快取、系統快取、hosts 檔案、路由器快取、 遞迴搜尋根網域名稱伺服器。

建立 tcp/ip 連線(三次握手具體過程)

由瀏覽器傳送乙個 http 請求

經過路由器的**,通過伺服器的防火牆,該 http 請求到達了伺服器

伺服器處理該 http 請求,返回乙個 html 檔案

瀏覽器解析該 html 檔案,並且顯示在瀏覽器端

這裡需要注意:

05. 常見 http 狀態碼

1xx(臨時響應)

2xx(成功)

3xx(重定向):表示要完成請求需要進一步操作

4xx(錯誤):表示請求可能出錯,妨礙了伺服器的處理

5xx(伺服器錯誤):表示伺服器在嘗試處理請求時發生內部錯誤

常見狀態碼:

06. tcp 和 udp 的區別:

答:回答傳送資料前是否存在建立連線的過程;

tcp過確認機制,丟包可以重發,保證資料的正確性;udp不保證正確性,只是單純的負責傳送資料報;

udp 是面向報文的。傳送方的 udp 對應用程式交下來的報文,在新增首部後就向下交付給 ip 層。既不拆分,也不合併,而是保留這些報文的邊界,因 此,應用程式需要選擇合適的報文大小;

udp 的頭部,只有 8 個位元組,相對於 tcp 頭部的 20 個位元組資訊包的額外開銷很小。

網路協議相關

網路協議方面,考察最多的包括伺服器和客戶端在三次握手、四次揮手過程中的狀態變化;還有網路擁塞控制,及其解決辦法等。

01. 三次握手、四次揮手示意圖:

總共有四種狀態:主動建立連線、主動斷開連線、被動建立連和被動斷開連線

兩兩組合還是 4 種組合:

主動建立連線、主動斷開連線會經歷的狀態:

sync_sent——established—-fin_wait_1—-fin_wait_2—-time_wait

主動建立連線、被動斷開連線會經歷的狀態:

sync_sent——established—-close_wait—-last_ack

被動建立連線、主動斷開連線會經歷的狀態:

listen—-syn_rcvd—-established—-fin_wait_1—-fin_wait_2—-time_wait

被動建立連線、被動斷開連線會經歷的狀態:

listen—-syn_rcvd—-established—-close_wait—-last_ack

02. 滑動視窗機制

由傳送方和接收方在三次握手階段,互相將自己的最大可接收的資料量告訴對方。

也就是自己的資料接收緩衝池的大小。這樣對方可以根據已傳送的資料量來計算是否可以接著傳送。

在處理過程中,當接收緩衝池的大小發生變化時,要給對方傳送更新視窗大小的通知。

03. 擁塞避免機制

擁塞:對資源的需求超過了可用的資源。若網路中許多資源同時**不足,網路的效能就要明顯變壞,整個網路的吞吐量隨之負荷的增大而下降。

擁塞控制:防止過多的資料注入到網路中,使得網路中的路由器或鏈路不致過載。

擁塞控制方法:

04. 瀏覽器中輸入:「www.***.com」 之後都發生了什麼?請詳細闡述。

解析:經典的網路協議問題。

答:由網域名稱→ip 位址

尋找 ip 位址的過程依次經過了瀏覽器快取、系統快取、hosts 檔案、路由器快取、 遞迴搜尋根網域名稱伺服器。

建立 tcp/ip 連線(三次握手具體過程)

由瀏覽器傳送乙個 http 請求

經過路由器的**,通過伺服器的防火牆,該 http 請求到達了伺服器

伺服器處理該 http 請求,返回乙個 html 檔案

瀏覽器解析該 html 檔案,並且顯示在瀏覽器端

這裡需要注意:

05. 常見 http 狀態碼

1xx(臨時響應)

2xx(成功)

3xx(重定向):表示要完成請求需要進一步操作

4xx(錯誤):表示請求可能出錯,妨礙了伺服器的處理

5xx(伺服器錯誤):表示伺服器在嘗試處理請求時發生內部錯誤

常見狀態碼:

06. tcp 和 udp 的區別:

答:回答傳送資料前是否存在建立連線的過程;

tcp過確認機制,丟包可以重發,保證資料的正確性;udp不保證正確性,只是單純的負責傳送資料報;

udp 是面向報文的。傳送方的 udp 對應用程式交下來的報文,在新增首部後就向下交付給 ip 層。既不拆分,也不合併,而是保留這些報文的邊界,因 此,應用程式需要選擇合適的報文大小;

udp 的頭部,只有 8 個位元組,相對於 tcp 頭部的 20 個位元組資訊包的額外開銷很小。

面試複習 之 網路程式設計和網路協議

arp的工作原理如下 rarp工作原理與之相反 首先,每台主機都會在自己的arp緩衝區 arp cache 中建立乙個 arp列表,以表示ip位址和mac位址的對應關係。當源主機需要將乙個資料報要傳送到目的主機時,會首先檢查自己 arp列表中是否存在該 ip位址對應的mac位址,如果有 就直接將資料...

面試 底層網路協議

基本功能為透過目標裝置的ip位址,查詢目標裝置的mac位址,以保證通訊的順利進行。在每台安裝有tcp ip協議的電腦或路由器裡都有乙個arp快取表,表裡的ip位址與mac位址是一對應的。當傳送資料時,主機a會在自己的arp快取表中尋找是否有目標ip位址。如果找到就知道目標mac位址為 00 bb 0...

網路之協議

網際協議,版本 4 internet protocol version 4 作為從80年代至今網際協議中的主力軍,ipv4 給tcp,udp,sctp,icmp igmp 提供遞送分組的服務網際協議,版本 6 internet protocol version 6 近幾年來隨著ipv4 版本的位址在...