計算機網路讀書筆記 tcp面試常見問題都在裡面了

2022-03-26 13:12:41 字數 3152 閱讀 6547

1. 套接字(socket)是同一臺主機內應用層與運輸層之間的介面。

2. 分層協議的優點之一:上層協議棧不用關心下層協議提供的服務保證,例如http協議不用關心報文是否能完整有序地到達另乙個客戶端,這將由tcp協議保證。

3. http協議首部行中的host欄位是web**快取記憶體所要求的。

4. dns使用udp協議。

5. dns伺服器型別:根dns伺服器,頂級域dns伺服器,權威dns伺服器。

6. dns快取。

7. 網路層提供了主機之間的邏輯通訊,運輸層為存在於不同主機之間的程序提供邏輯通訊。

8. udp:不可靠,無連線。tcp:面向連線,可靠傳輸,擁塞控制。

9. ip協議的服務模型是盡力而為交付服務,為不可靠服務:不保證報文段的交付、不保證交付順序、不保證報文段中資料的完整性。

10. udp套接字是由乙個二元組來全面標識的,該二元組包含乙個目的ip位址和乙個目的埠號。即源ip或者埠號不同的udp報文傳送到相同ip和埠的時候,將使用同乙個udp套接字傳送。

11. tcp套接字由乙個四元組來標識:源ip,源埠號,目的ip,目的埠號。

12. udp優點:無需建立連線,報文更小,不需要確認。

13. tcp報文頭部的32位序號欄位和確認號字段用於實現可靠資料傳輸;16位的接收視窗(rwnd)字段用於流量控制,表示接收方願意接受的位元組數量,該欄位表示接收方的接收快取還可以接收多少資料,注意流量控制與擁塞控制不同。

14. 序號是報文段首位元組的位元組流編號,0、2000、5000。。。,初始序號可以是隨機的;確認號是主機a期望從主機b中收到的下一位元組的序號。

15. 為什麼需要需要三次握手而不是兩次握手?兩種解釋:

(1)     如果只是兩次握手,至多只有連線發起方的起始序列號能被確認, 另一方選擇的序列號的初始序列號則得不到確認,不知道下一步需要傳送哪乙個序列號開始的報文。

(2)     服務方 client 發出的第乙個連線請求報文段並沒有丟失,而是在某個網路結點長時間的滯留了,以致延誤到連線釋放以後的某個時間才到達 server。本來這是乙個早已失效的報文段。但 server 收到此失效的連線請求報文段後,就誤認為是 client 再次發出的乙個新的連線請求。於是就向 client 發出確認報文段,同意建立連線。假設不採用 「三次握手」,那麼只要 server 發出確認,新的連線就建立了。由於現在 client 並沒有發出建立連線的請求,因此不會理睬 server 的確認,也不會向 server 傳送資料。但 server 卻以為新的運輸連線已經建立,並一直等待 client 發來資料。這樣,server 的很多資源就白白浪費掉了。採用 「三次握手」 的辦法可以防止上述現象發生。

16. 三次握手:

(1)     客戶端傳送乙個syn報文,syn位被置1,生成初始序號;

(2)     服務端接收到syn報文,為tcp連線分配快取和變數,並傳送synack報文,syn位被置1,ack置1,生成初始序號,確認號字段被設定為客戶端初始序號+1;

(3)     客戶端接收到synack報文,為tcp連線分配快取和變數,sync被設定為0,ack置1,確認號被設定為服務端初始序號+1;

簡單來說就是 :

(1) 客戶端向服務端傳送syn

(2) 服務端返回syn,ack

(3) 客戶端傳送ack

17. 四次揮手:

(1)     客戶端傳送乙個fin置位的特殊報文段;

(2)     伺服器傳送乙個ack置位的確認報文段;

(3)     伺服器傳送乙個fin置位的特殊報文段;

(4)     客戶端傳送乙個ack置位的確認報文段;

19. tcp擁塞控制:慢啟動、擁塞避免、快速恢復

(1)     慢啟動階段,傳送視窗(cwnd)在每乙個往返時間(rtt)內翻倍。

①  遇到超時,將傳送視窗值設定為1(mss,最大報文段長度,maximum segment size),ssthresh(慢啟動閾值)設定為cwnd的一半,重新開始慢啟動。

②  當cwnd值等於ssthresh時,進入擁塞避免模式。

③  檢測到3個冗餘ack,執行快速重傳並進入快速恢復狀態。

(2)     擁塞避免階段,cwnd在每乙個rtt內加1

①  遇到超時,cwnd的值被設定為1,ssthresh(慢啟動閾值)設定為cwnd的一半,重新開始慢啟動。

②  檢測到3個冗餘ack,ssthresh設定為cwnd的一半,cwnd減半,並進入快速恢復

(3)     快速恢復階段

①  對於由於冗餘ack進入的快速恢復,降低cwnd值之後進入擁塞避免

②  超時發生,cwnd值設定為1,ssthresh設定為cwnd的一般半,進入慢啟動。

20. 回退n步(gbn,又被稱為滑動視窗協議),基序號(base)被定義為最小的未被確認的序號,下乙個序號(nextseqnum)被定義為最小的未被使用的序號,n為滑動視窗的大小,限制為n是為了流量控制。注意,滑動視窗存在於傳送方。

21. gbn協議,接收方如果接收到失序的報文,則丟失;如果傳送方收到了base序號的超時事件,則重傳base及之後已經被傳送過的報文段,這即是回退n步的含義。

22. gbn採用累積確認的方式,即對序號為n的確認表示序號n及之前的報文都已經被正確接收,其使用單個計時器;sr採用分組確認,每個分組有乙個定時器。

23. sr協議(選擇重傳)在傳送方和接收方都有乙個滑動視窗,接收方和傳送方的視窗並不總是一致。視窗長度必須小於等於序號空間的一半。

24. sr協議其不採用累積確認,每乙個分組都擁有乙個定時器,對接收到的失序分組採用快取的策略。

25. tcp使用單一定時器,可以認為與最早的未被確認的報文段相關聯,當出現超時時,定時器超時事件將翻倍,且當需要重新傳送資料或者收到ack時,定時器復原,這也是一種形式的擁塞控制。

26. tcp使用累積確認,這於gbn類似,但同時會快取失序的報文,其不會回退n步,而是最多重傳乙個報文。

參考:《

計算機網路:自頂向下方法》

計算機網路讀書筆記

路由器 在網路核心部分起特殊作用,它是一種專用計算機 但不是主機 路由器是實現分組交換的關鍵構件,其任務是 收到的分組,這是網路核心部分的最重要的功能。路由器用於 分組,即進行分組交換。路由器收到乙個分組,先暫時儲存下來,再檢查其首部,查詢路由表,按照首部中的目的位址,找到合適的介面 出去,把分組交...

計算機網路讀書筆記

網路的網路 網際網路服務提供者 isp 上網 通過某isp獲得的ip位址接入到網際網路。而isp是通過租聘位址的管理機構獲得ip位址的。isp的分級 主幹isp 地區isp 本地isp 電路交換 器 集線器 介面卡 網橋 交換機 路由器 的簡介 集線器可以克服介質單一通路的限制,可以簡單理解為將一些...

計算機網路概述 《計算機網路》讀書筆記(一)

21世紀的重要特徵 數位化 網路化 資訊化。電信網路 提供 電報 傳真等服務 有線電視網路 提供有線電視節目 計算機網路 提供計算機之間傳輸檔案的功能 連通性 可以彼此連通的交換各種資訊,好像終端都連起來一樣 共享 實現資源共享,好像資源就在身邊 結點 計算機 集線器 交換機 路由器等等 網際網路的...