這篇文章是計算機網絡面試的第一篇文章,主要是對計算機網絡知識體系的一個概述,固然了,本系列文章確定不會把計算機網絡這些書籍進行全面的介紹,那樣太麻煩也太多了。而是針對面試相關的一個知識梳理,儘可能從簡單入手。node
1、計算機網絡的發展面試
一、基礎知識json
21 世紀的一些重要特徵就是數字化、網絡化和信息化,它是一個以網絡爲核心的信息時代。因特網是自印刷術以來人類通訊方面最大的變革。瀏覽器
網絡(network)由若干結點(node)和鏈接這些結點的鏈路(link)組成。互聯網是「網絡的網絡」。服務器
二、發展歷史網絡
第一階段是從單個網絡 ARPANET 向互聯網發展的過程。架構
第二階段的特色是建成了三級結構的因特網。分爲主幹網、地區網和校園網(或企業網)。ide
第三階段的特色是逐漸造成了多層次 ISP 結構的因特網。出現了因特網服務提供者 ISP。性能
根據提供服務的覆蓋面積大小以及所擁有的IP 地址數目的不一樣,ISP 也分紅爲不一樣的層次。互聯網服務提供商 ISP 能夠從互聯網管理機構得到許多 IP 地址,同時擁有通訊線路以及路由器等聯網設備,我的或機構向 ISP 繳納必定的費用就能夠接入互聯網。編碼
三、分類
從因特網的工做方式上看,能夠劃分爲如下的兩大塊:
(1) 邊緣部分 由全部鏈接在因特網上的主機組成。這部分是用戶直接使用的,用來進行通訊(傳送數據、音頻或視頻)和資源共享。
(2) 核心部分 由大量網絡和鏈接這些網絡的路由器組成。這部分是爲邊緣部分提供服務的(提供連通性和交換)。
在網絡邊緣的端系統中運行的程序之間的通訊方式一般可劃分爲兩大類:
(1)客戶服務器方式(C/S 方式):Client/Server方式 ,客戶是服務的請求方,服務器是服務的提供方。
(2)對等方式(P2P 方式):Peer-to-Peer方式,兩個主機在通訊時並不區分哪個是服務請求方仍是服務提供方。
OK,到這裏咱們先停下來,總結一波,以上咱們介紹了概念。下面咱們看一下里面幾個核心的東西。
2、概念理解
一、路由器
路由器是實現分組交換(packet switching)的關鍵構件,其任務是轉發收到的分組,這是網絡核心部分最重要的功能。須要注意的是:主機是爲用戶進行信息處理的,並向網絡發送分組,從網絡接收分組。路由器對分組進行存儲轉發,最後把分組交付目的主機。其工做在網絡層。
二、交換機
交換機工做在數據鏈路層,兩部電話機只須要用一對電線就可以互相鏈接起來。5 部電話機兩兩相連,需 10 對電線。當電話機的數量很大時,這種鏈接方法須要的電線對的數量與電話機數的平方成正比。使用交換機以後就變成了這樣:
三、集線器
集線器工做在物理層,它沒有智能處理能力,對它來講,數據只是電流而已,當一個端口的電流傳到集線器中時,它只是簡單地將電流傳送到其餘端口,至於其餘端口鏈接的計算機接收不接收這些數據,它就無論了。
三、網絡分類
不一樣做用範圍的網絡廣域網 WAN 、局域網 LAN、城域網 MAN、我的區域網 PAN。
從網絡的使用者進行分類公用網、專用網。
四、性能指標
(1)速率:指數據的傳送速率,也稱爲數據率或比特率,單位是bit/s(b/s或bps);
(2)帶寬:在計算機網絡中,網絡帶寬表示在單位時間內網絡中的某信道所能經過的「最高數據率」;
(3)吞吐量:表示在單位時間內經過某個網絡(或信道、接口)的實際的數據量;
(4)時延:指數據從網絡的一端傳送到另外一端所需的時間。包括髮送時延、傳播時延、處理時延和排隊時延;
(5)時延帶寬積:時延帶寬積 = 傳播時延 * 帶寬;
(6)往返時間RTT:互聯網上的信息雙向交互一次所需的時間;
3、網絡體系(重點,面試常問)
相互通訊的兩個計算機系統必須高度協調工做才行,而這種「協調」是至關複雜的。「分層」可將龐大而複雜的問題,轉化爲若干較小的局部問題,而這些較小的局部問題就比較易於研究和處理。、
一、爲何要分層
舉個例子來理解爲何分層:
(1)兩個主機交換數據
(2)下層通訊模塊
(3)網絡接入模塊
就這樣一層一層往下走,每一層負責不一樣的功能,最終完成咱們須要的文件傳輸。
二、3種模型架構
TCP/IP 是四層的體系結構:應用層、運輸層、網際層和網絡接口層。但最下面的網絡接口層並無具體內容。所以每每採起折中的辦法,即綜合 OSI 和 TCP/IP 的優勢,採用一種只有五層協議的體系結構 。
三、5層協議
(1)應用層 :爲特定應用程序提供數據傳輸服務,例如 HTTP、DNS 等協議。數據單位爲報文。
(2)傳輸層 :爲進程提供通用數據傳輸服務。包括兩種協議:傳輸控制協議 TCP,提供面向鏈接、可靠的數據傳輸服務,數據單位爲報文段;用戶數據報協議 UDP,提供無鏈接、盡最大努力的數據傳輸服務,數據單位爲用戶數據報。TCP 主要提供完整性服務,UDP 主要提供及時性服務。
(3)網絡層 :爲主機提供數據傳輸服務。而傳輸層協議是爲主機中的進程提供數據傳輸服務。網絡層把傳輸層傳遞下來的報文段或者用戶數據報封裝成分組。
(4)數據鏈路層 :網絡層針對的仍是主機之間的數據傳輸服務,而主機之間能夠有不少鏈路,鏈路層協議就是爲同一鏈路的主機提供數據傳輸服務。數據鏈路層把網絡層傳下來的分組封裝成幀。
(5)物理層 :考慮的是怎樣在傳輸媒體上傳輸數據比特流,而不是指具體的傳輸媒體。物理層的做用是儘量屏蔽傳輸媒體和通訊手段的差別,使數據鏈路層感受不到這些差別。
四、七層協議
OSI去掉了表示層和會話層,一併合成了應用層。用途以下:
(1)表示層 :數據壓縮、加密以及數據描述,這使得應用程序沒必要關心在各臺主機中數據內部格式不一樣的問題。就比如是一臺主機使用的是json格式編碼,另一臺主機收到這些信息以後一樣使用json格式解碼。
(2)會話層 :創建及管理會話。就比如咱們每次打開一個新的瀏覽器訪問同一個界面,就是新建了一個會話。
如今計算機網絡的基礎體系已經介紹完了,這些都是最基本的知識點,同時也是面試常考的知識點,但願對你有幫助。