網路協議相關
網路協議方面,考察最多的包括伺服器和客戶端在三次握手、四次揮手過程中的狀態變化;還有網路擁塞控制,及其解決辦法等。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 版本的位址在...