面試計算網絡問題和回答

1. 網絡時延
總時延=發送時延+傳播時延+處理時延+排隊時延
2. OSI和TCP/IP模型
在這裏插入圖片描述
在這裏插入圖片描述
3. 信道複用技術
在這裏插入圖片描述
4. 數據鏈路層的三個基本問題
封裝成幀
透明傳輸:不管從鍵盤上傳輸什麼字符,都可以在幀中傳輸過去。
差錯檢測
5. 適配器的作用
 串並行的轉換:適配器和局域網之間是串行通信,適配器和主機之間的通信是並行
 對數據進行緩存
 碰撞檢測
 過濾功能:網絡上收到的mac幀先用硬件檢測。如果時本站的就收下,否則就丟棄,不進行其他的處理。
 兩層:數據鏈路層、物理層
在這裏插入圖片描述
6. 最短幀長64字節
數據發生碰撞後,經過最長2r的時間。2r在這個時間段內可以傳輸64字節,所以用這個字節長度,表示爭用期。如果小於64個字節,那麼在傳輸的過程中,可能會發生碰撞,但是不能及時檢測出來。大於64個字節時,沒有發生碰撞,那麼在傳輸的過之中就不會發生碰撞。
7. MAC幀和PPP幀的區別
 ppp爲廣域網的範圍,mac爲局域網的範圍。
 ppp爲點對點,mac爲多點對多點。
 mac幀需要mac地址。ICP/IP結構沒有物理層定義,IP包最後交給以太網來處理。
8. MAC幀的格式
mac幀最短幀長爲64字節,最大幀長爲1518.
IP數據報最大MTU爲1500,MAC幀的18字節的數據
mac地址爲48位,IP地址爲32位
在這裏插入圖片描述
9. 擴展以太網
集線器:物理層
交換機:數據鏈路層 轉發
10. 計算機網絡的7個性能指標
速率、帶寬、吞吐量、時延(發送時延、傳播時延、處理時延、排隊時延)、時延帶寬積、往返時間RTT
11. 數據鏈路層
在這裏插入圖片描述
12. IP地址
在這裏插入圖片描述
在這裏插入圖片描述
13. IP數據報格式
在這裏插入圖片描述
14. 計算機網絡的內部網關協議有哪些?都各有什麼特點?
在這裏插入圖片描述
Open Shortest Path First開放式最短路徑優先
Routing Information Protocol 路由信息協議
15. 運輸層協議
在這裏插入圖片描述
A. 停止等待協議
 無差錯情況——收到確認後,再發送
 出現差錯——超時重傳
 確認丟失和確認遲到——放棄重複的分組,重新發送確認。
B. 連續ARQ協議
 滑動窗口
 超時重傳
 擁塞控制
16. TCP的報文段
在這裏插入圖片描述

17. TCP的擁塞控制——控制擁塞窗口cwnd
 慢開始
由小到大逐漸增加擁塞窗口值的大小。
 擁塞避免
慢開始門限 ssthresh
cwnd < ssthresh 慢開始算法
cwnd = ssthresh
cwnd > ssthresh 擁塞避免算法,擁塞窗口的增長速率減慢。
當發生超時時,ssthresh=cwnd/2 cwnd=1
 快重傳
接收方:一旦收到失序的報文段,立即發出對已經收到的報文的確認。
發送發:收到三個重複確認後,立即進行重傳。
 快恢復
發送方知道丟失了報文段後,執行快恢復。
ssthresh=cwnd/2,cwnd=ssthresh
18. 闡述一下TCP三次握手
所謂三次握手(Three-Way Handshake)即建立TCP連接,就是指建立一個TCP連接時,需要客戶端和服務端總共發送3個包以確認連接的建立。
(1)第一次握手:客戶將同步標誌位置爲1,隨機產生一個值序列號seq=x,並將該數據包發送給服務器,客戶端進入同步發送狀態SYN_SENT狀態,等待Server確認。
(2)第二次握手:Server收到數據包後由服務器,發送一個同步標誌位SYN=1,確認標誌位ACK=1,隨機產生一個值序列號seq=y,ack=x+1的數據包,Server進入同步接收狀態SYN_RCVD狀態。
(3)第三次握手:Client收到確認後,如果正確則將標誌位ACK= 1,ack=y+1,並將該數據包發送給Server,Client和Server進入已建立連接狀態ESTABLISHED狀態。
18. 爲什麼要進行最後一次握手
防止以失效的連接請求報文段,突然又傳回到B
19. 四次揮手
所謂四次揮手(Four-Way Wavehand)即終止TCP連接,就是指斷開一個TCP連接時,需要客戶端和服務端總共發送4個包以確認連接的斷開。
A->B狀態關閉:
(1)第一次揮手:Client發送一個釋放報文段終止控制位FIN=1,seq=u用來關閉Client到Server的數據傳送,Client進入FIN_WAIT_1狀態。
(2)第二次揮手:Server發送一個ACK=1給Client,ack=u+1,序列號seq=v,Server進入CLOSE_WAIT狀態。
B->A狀態關閉:
(3)第三次揮手:Server發送一個FIN=1,在這期間服務器有可能還在傳輸數據,seq=w,ACK=1,ack=u+1,Server進入LAST_ACK狀態。
(4)第四次揮手:Client收到FIN後,ACK=1給Serverack=w+1,seq=u +1,Server進入CLOSED狀態,完成四次揮手。
20. 爲什麼建立連接是三次握手,而關閉連接卻是四次揮手呢?
這是因爲服務端在LISTEN狀態下,收到建立連接請求的SYN報文後,把ACK和SYN放在一個報文裏發送給客戶端。而關閉連接時,當收到對方的FIN報文時,僅僅表示對方不再發送數據了但是還能接收數據,己方也未必全部數據都發送給對方了,所以己方可以立即close,也可以發送一些數據給對方後,再發送FIN報文給對方來表示同意現在關閉連接,因此,己方ACK和FIN一般都會分開發送
21. 客戶方在最後一次發送,確認包時,要等待一段時間才結束連接。
第一:爲了保證客戶端發送的最後一個確認報文段,能夠到達服務器。如果到達不了,服務器可以重傳數據,然後客戶再次發送。
第二:防止已失效的請求報文段,出現在新的連接中。
22. DNS (Domain Name System)域名系統
域名和IP地址相互映射的一個分佈式數據庫,能夠使用戶更加方便的訪問互聯網,而不用去記住IP數據串。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章