面試網絡總結

1 OSI七層模型和TCP/IP

 

2 B/S與C/S有什麼區別?web

C/S是客戶端/服務器的縮寫,在C/S架構中,服務器一般採用高性能的PC、工做站或者小型機,並且採用大型數據庫系統,如SQL server 、DB二、Oracle和Sybase等。客戶端須要安裝專用的客戶端軟件。數據庫

B/S是瀏覽器/服務器的縮寫,客戶端一般只須要安裝一個瀏覽器,服務器安裝SQL server、DB二、Oracle或Sybase等數據庫。編程

 

3 MVC模型結構是什麼瀏覽器

MVC是模型(model)、視圖(view)和控制(controller)這3個單詞的第一個字母。它是一種目前普遍流行的應用模型。它的目的是實現web系統的職能分工。其中模型層實現系統中的業務邏輯,一般能夠用JavaBean或EJB實現;視圖層則用於與用戶的交互,一般用JSP來實現;控制層則是模型與視圖view之間溝通的橋樑,它能夠把用戶的請求分派並選擇恰當的視圖來顯示它們,同時它也能夠解釋用戶的輸入並將其映射爲模型層可以執行的操做。服務器

 

4 交換機與路由器有什麼區別?

交換機是一種基於MAC失敗,能完成封裝轉發數據包功能的網絡設備。網絡

交換機與路由器的區別主要表現值如下3個方面:架構

1)工做層次不一樣。交換機工做在OSI模型的數據鏈路層,而路由器工做在網絡層socket

2)數據轉發所依據的對象不一樣。交換機是利用物理地址來肯定轉發數據的目的地址,而路由器是利用IP地址來肯定數據轉發的地址。性能

3)傳統的交換機只能分割衝突域,不能分割廣播域;而路由器能夠分割廣播域。spa

4)交換機負責同一網段的通訊,路由器負責不一樣網段的通訊。

集線器與交換機的區別?

1)工做位置不一樣。集線器工做在OSI模型的物理層,而交換機工做在數據鏈路層。

2)集線器不能分割衝突域,而交換機能夠分割衝突域

3)帶寬不一樣。無論有多少個端口,集線器的全部端口都是共享一條帶寬,而交換機每一個端口獨佔帶寬。

4)性能不一樣。交換機以MAC地址進行尋址,有必定的額外開銷,集線器以廣播方式傳播數據。

5 TCP和UDP的區別有哪些?

UDP提供無鏈接的通訊,不能保證數據包被髮送到目的地址,典型的即時傳輸少許數據的應用程序一般使用UDP。TCP是一種面向鏈接的、可靠的、基於字節流的通訊協議,它爲傳輸大量數據或爲須要接收數據許可的應用程序提供鏈接定向和可靠的通訊。

TCP和UDP的區別主要以下:

1)TCP是面向鏈接的傳輸控制協議,而UDP提供的是無鏈接的數據報服務

2)TCP具備高可靠性,確保傳輸數據的正確性,不出現丟失或亂序;UDP在傳輸數據前不創建鏈接,不對數據報進行檢查與修改,無需等待對方的應答,因此會出現分組丟失、重複、亂序,應用程序須要負責傳輸可靠性方面的全部工做。

3)TCP對系統資源要求較多,UDP對系統資源要求較少

4)UDP具備較好的實時性,工做效率較TCP高

5)UDP的段結構比TCP的段結構簡單,所以網絡開銷也小

6 什麼叫三次握手?什麼叫四次斷開

 

爲何要有TIME_WAIT

1 保證可靠的實現TCP全雙工鏈接的終止

2 容許鏈接中老的重複分節在網絡中消逝。

 

爲何「三次握手,四次揮手「

6 如何使用socket編程

7 阻塞模式和非阻塞模式的區別

 8 TCP經過如下方式來提供可靠性:

  • 應用數據被分割成TCP任務最合適發送的數據塊。這和UDP徹底不一樣,應用程序產生的數據報長度將保持長度不變。由TCP 傳遞給IP的信息單位稱爲報文段或段。
  • 當TCP發出一個段後,它啓動一個定時器,等待目的端確認收到這個報文段。若是不能及時收到一個確認,將重發這個報文段。
  • 當TCP收到發自TCP 鏈接另外一端的數據,它將發送一個確認。這個確認不是當即發送的,一般將推遲幾分之一秒。
  • TCP將保持它首部和數據的檢驗和。這是一個端到端的檢驗和,目的是檢測數據在傳輸過程當中的任何變化。若是收到段的檢驗和有差錯,TCP將丟棄這個報文段和不確認收到此報文段(但願發端超時並重發)。
  • 既然TCP報文段做爲IP數據報來傳輸,而IP數據報的到達可能失序,所以TCP報文段的達到也可能會失序。若是必要,TCP將對收到的數據進行從新排序,將收到的數據以正確的順序交給應用層。
  • 既然IP數據報會發生重複,TCP的接收端必須丟棄重複的數據。
  • TCP還能提供流量控制。TCP鏈接的每一方都有固定大小的緩衝空間。TCP的接收端只容許另外一端發送接收端緩衝區所能收納的數據。這將防止較快導致較慢主機的緩衝區溢出。

9 TCP管理4種不一樣的定時器:

1)重傳定時器使用於當但願收到另外一端的確認。(保證可靠傳輸)

2)堅持定時器使窗口大小信息保持不斷流動,即便另外一端關閉了其接收窗口。(當接收端的窗口爲0時,用來進行檢測)

3)保活計時器能夠檢測一個空閒鏈接的另外一端什麼時候崩潰或重啓。(用來檢測服務器崩潰)

4)2MSL定時器測量一個鏈接處於TIME_WAIT狀態的時間。(爲何要有TIME_WAIT:2個緣由)

相關文章
相關標籤/搜索