⑴ 28 張圖詳解網路基礎知識:OSI、TCP/IP 參考模型(含動態圖)
目錄
1、網路協議
其實協議在我們生活中也能找到相應的影子。
舉個例子,有 2 個男生准備追求同一個妹子,妹子來自河南,講河南話,還會點普通話;一個男生來自胡建,講閩南語,也會點普通話;另一個男生來自廣東,只講粵語;
協議一致,溝通自如
語言不通,無法溝通
你們猜猜?最後誰牽手成功了?答案肯定是來自胡建的那位,雙方可以通過 普通話 進行溝通,表達內容都能理解。而來自廣東的帥哥只會講粵語,不會普通話,妹子表示聽不懂,就無法進行溝通下了。
每個人的成長環境不同,所講的語言、認知、理解能力也就不同。為了使來自五湖四海的朋友能溝通自如,就需要大家協商,認識某一個語言或規則,彼此能互相理解,這個語言就是普通話。
通過這個例子,大家可以這樣理解:
把普通話比作「協議」、把聊天比作「通信」,把說話的內容比作「數據」。
相信這樣類比,大家就知道,協議是什麼了?
簡單地說,就是程序員指定一些標准,使不同的通信設備能彼此正確理解、正確解析通信的內容。我們都知道計算機世界裡是二進制,要麼 1,要麼 0,那為啥可以表達豐富多彩的內容呢?
也是因為協議,不同欄位,不同組合,可以解析不同意思,這就依然協議,讓協議來正確處理。
例如,我們使用手機連 WiFi 來刷抖音,使用的是 802.11(WLAN)協議,通過這個協議接入網路。如果你所連的 WIFI 是不需要手動設置 IP 地址,是通過自動獲取的,就使用到了 DHCP 協議,這樣你的手機算上接入了 區域網, 如果你區域網內有台 NAS 伺服器,存放了某些不可描述的視頻資源,你就可以訪問觀看了,但這時你可能無法訪問互聯網資源,例如,你還想刷會抖音,看看妹子扭一扭,結果出現如下畫面:
出現這種畫面,說明無法使用 互聯網, 可能是無線路由器沒有設置好相關協議,比如: NAT、PPPoE 協議(上網賬號或密碼設置錯誤了),只有設置正確了,就可以通過運營商(ISP)提供的線路把區域網接入到互聯網中,實現手機可以訪問互聯網上的資源(伺服器)。玩微信撩妹子、刷抖音看妹子。
網路協議示意圖
延伸閱讀
1、區域網:最顯著的特點就是范圍有限,行政可控的區域可以是一所高校、一個餐廳、一個園區、一棟辦公樓或一個家庭的私有網路。
2、城域網:原本是介意區域網和廣域網之間,實際工作中很少再刻意去區分城域網和廣域網了,所以這邊不再介紹。
3、廣域網:簡單說就是負責把多個區域網連接起來,它的傳輸距離長距離傳輸,廣域網的搭建一般是由運營商來。
4、互聯網:把全世界上提供資源共享的 IT 設備所在網路連接起來,接入了互聯網就可以隨時隨地訪問這些資源了。
5、物聯網:把所有具有聯網功能的物體都接入互聯網就形成了物聯網。如空調聯網,就可以遠程式控制制空調; 汽車 聯網,就可以遠程獲取行程數據。
總結一下吧!我們可以把電腦、手機等 IT 設備比喻做來自五湖四海的人們,大家都通過多種語言(網路協議)實現溝通(通信)。所有人要一起交流,就用普通話,大家都能理解。所有胡建人在一起,就用閩南語進行溝通,彼此也能理解。這么的方言,就好比計算機網路世界裡也有這么多協議,只是不同協議用在不同地方。
好奇的同學,可能就會問,那網路協議是由誰來規定呢?這就需要提到一個組織,ISO。這個組織制定了一個國際標准 ,叫做 OSI 參考模型,如下,很多廠商都會參考這個制定網路協議。
OSI 參考模型圖
2、OSI 參考模型
既然是模型,就好比模範一樣,大家都要向它學習,以它為原型,展開學習研究。前面我們也提到了一些協議,這么多協議如果不進行歸納,分層,大家學習起來是不是感覺很凌亂?
所以 OSI 參考模型就是將這樣復雜的協議整理並進行分層,分為易於理解的 7 層,並定義每一層的 服務 內容,協議的具體內容是 規則 。上下層之間通過 介面 進行交互,同一層之間通過 協議 進行交互。相信很多網路工程師在今後工作中遇到問題,討論協議問題還會用到這個模型展開討論。所以說,對於計算機網路初學者來說,學習了解 OSI 參考模型就是通往成功的第一步。
OSI 參考模型分層功能
7.應用層
為應用程序提供服務並規定應用程序中通信相關的細節,OSI 的最高層。包括文件傳輸、Email、遠程登錄等協議。程序員接觸這一層比較多。
應用層示例圖
6.表示層
主要負責數據格式的轉換,為上下層能夠處理的格式。如編碼、加密、解密等。
表示層示例圖
5.會話層
即負責建立、管理和終止通信連接(數據流動的邏輯通路),數據分片、重組等傳輸的管理。
會話層示例圖
4.傳輸層
保證可靠傳輸,不需要再路由器上處理,只需再通信雙方節點上進行處理,如處理差錯控制和流量控制。
傳輸層示例圖
3.網路層
主要負責定址和路由選擇,將數據包傳輸到目的地。
網路層示例圖
2.數據鏈路層
負責物理層面上互連、節點之間的通信傳輸,將0 、 1 序列比特流劃分為具有意義的數據幀傳輸給對端。這一層有點類似網路層,網路層也是基於目的地址來傳輸,不同是:網路層是將數據包負責在整個網路轉發,而數據鏈路層僅是在網段內轉發,所以大家抓包會發現,源目 MAC 地址每經過一個二層網段,都會變化。
數據鏈路層示例圖
1.物理層
負責 0、1 比特流(0、1 序列)與電壓高低電平、光的閃滅之間的互相轉換,為數據鏈路層提供物理連接。
物理層示例圖
OSI 為啥最後沒有得到運用呢?其實最主要的原因,是 OSI 模型出現的比 tcp/ip 出現的時間晚,在 OSI 開始使用前,TCP/IP 已經被廣泛的應用了。如果要換成 OSI 模型也不太現實。其次是 OSI 是專家們討論,最後形成的,由於沒有實踐,導致該協議實現起來很復雜,很多廠商不願意用 OSI,與此相比,TCP/IP 協議比較簡單,實現起來也比較容易,它是從公司中產生的,更符合市場的要求。綜合各種因素,最終 OSI 沒有被廣泛的應用。
下面我們來看看 TCP/IP 與 OSI 分層之間的對應關系及相應的協議:
4.應用層
從上圖,可以知道 TCP/IP 四層模型,把應用層、表示層、會話層集成再一起了,該層的協議有:HTTP 、 POP3 、 TELNET 、 SSH 、 FTP 、 SNMP 等。
目前,大部分基於 TCP/IP 的應用都是 客戶端/服務端 架構。一般我們把提供資源服務的那一側叫服務端, 發起訪問服務資源的這一側叫客戶端。
應用層
3.傳輸層
主要職責就是負責兩端節點間的應用程序互相通信,每個節點上可能有很多應用程序,例如,登錄了微信,又打開了網頁,又打開迅雷看看,那數據到達後怎麼正確傳送到相應的應用程序呢?那就需要 埠號 來正確識別了。傳輸層中最為常見的兩個協議分別是傳輸控制協議 TCP (Transmission Control Protocol)和用戶數據報協議 UDP (User Datagram Protocol)
面向連接 顧名思義,就是建立連接,什麼時候建立連接呢?就是在通信之前需要先建立一條邏輯的通信鏈路。就跟我們平時打電話一樣,得先撥通,通了之後即鏈路建立好了,這條鏈路只有你和對方可以在這條鏈路傳播說話內容。掛電話後,這條鏈路也就斷開了。
面向無連接 無連接,即通信之前不需要建立連接,直接發送即可。跟我們以前寫信很像,不需要管對方在不在?直接寫信寄過去就可以了。
面向連接傳輸
面向無連 接傳輸
2.網路層
主要職責就是將數據包從源地址發送到目的地址。
在網路傳輸中,每個節點會根據數據的 IP 地址信息,來判斷該數據包應該由哪個介面(網卡)發送出去。各個地址會參考一個發出介面列表, MAC 定址中所參考的這張表叫做 MAC 地址轉發表 ,而 IP 定址中所參考的叫做 路由表 。MAC 地址轉發表根據自學自動生成。路由控製表則根據路由協議自動生成。MAC 地址轉發表中所記錄的是實際的 MAC 地址本身,而路由表中記錄的 IP 地址則是集中了之後的網路號(即網路號與子網掩碼)。
1.網路介面層
在 TCP/IP 把物理層和數據鏈路層集成為 網路介面層 。主要任務是將上層的數據封裝成幀發送到網路上,數據幀通過網路到達對端,對端收到後對數據幀解封,並檢查幀中包含的 MAC 地址。如果該地址就是本機的 MAC 地址或者是廣播地址,則上傳到網路層,否則丟棄該幀。
封裝與解封裝
所謂的封裝,其實就跟你寄快遞的時候,給物品加上紙盒包裝起來或者快件到站點,快遞員貼一層標簽的過程。在網路上,就是上層的數據往下送的時候,下層會添加頭部,不過,只有在二層,不僅會加上頭部,還會在上層數據尾部添加 FCS。
封裝
所謂解封裝,就如同你收到快件一樣,一層一層地拆外包裝,直到看到快件。網路也是,一層一層地拆掉頭部,往上層傳送,直到看到數據內容。
解封裝
我們把應用層的數據封裝傳輸層頭部後的報文,稱為 段 ;
把段封裝網路層頭部後的報文,稱為 包 ;
把包封裝乙太網頭部和幀尾,稱為 幀 。
⑵ 計算機網路發展的四個階段是如何劃分的
計算機網路發展的四個階段:第一代計算機網路---遠程終端聯機階段;第二代計算機網路---計算機網路階段;第三代計算機網路---計算機網路互聯階段;第四代計算機網路---國際互聯網與信息高速公路階段。
1、第一階段:計算機技術與通信技術相結合,形成了初級的計算機網路模型。此階段網路應用主要目的是提供網路通信、保障網路連通。這個階段的網路嚴格說來仍然是多用戶系統的變種。
2、第二階段:在計算機通信網路的基礎上,實現了網路體系結構與協議完整的計算機網路。此階段網路應用的主要目的是:提供網路通信、保障網路連通,網路數據共享和網路硬體設備共享。這個階段的里程碑是美國國防部的ARPAnet網路。
3、第三階段:計算機解決了計算機聯網與互連標准化的問題,提出了符合計算機網路國際標準的「開放式系統互連參考模型(OSIRM)」,從而極大地促進了計算機網路技術的發展。此階段網路應用已經發展到為企業提供信息共享服務的信息服務時代。
4、第四階段:計算機網路向互連、高速、智能化和全球化發展,並且迅速得到普及,實現了全球化的廣泛應用。代表作是Internet。
(2)計算機網路的基礎模型擴展閱讀:
計算機網路類型:
1、區域網
(LocalAreaNetwork;LAN)通常我們常見的「LAN」就是指區域網,這是我們最常見、應用最廣的一種網路。區域網隨著整個計算機網路技術的發展和提高得到充分的應用和普及,幾乎每個單位都有自己的區域網,有的甚至家庭中都有自己的小型區域網。
2、城域網
(MetropolitanAreaNetwork;MAN)這種網路一般來說是在一個城市,但不在同一地理小區范圍內的計算機互聯。城域網多採用ATM技術做骨幹網。ATM是一個用於數據、語音、視頻以及多媒體應用程序的高速網路傳輸方法。
3、廣域網
(WideAreaNetwork;WAN)這種網路也稱為遠程網,所覆蓋的范圍比城域網(MAN)更廣,它一般是在不同城市之間的LAN或者MAN網路互聯,地理范圍可從幾百公里到幾千公里。
4、互聯網
互聯網,英文是internet,又稱國際網路,屬於傳媒領域。指的是是網路與網路之間所串連成的龐大網路,這些網路以一組通用的協議相連,形成邏輯上的單一巨大國際網路。互聯網始於1969年美國的阿帕網。通常internet泛指互聯網,而Internet則特指網際網路。