5層網絡模型介紹


 

在網絡協議當中,我們一般會去講解整個網絡信息傳輸的整個過程的時候,都會套用一個經典都5層模型,在這5層模型里面,我們分為應用層,傳輸層,網絡層,數據鏈路層和物理層,這個在每台電腦上,每台服務器上,他都是有這么一個相應都層級的關系來維護我們整個網絡數據傳輸的過程,所以在你自己的電腦上,或在一台遠程的服務器上,可能上面放着一個web服務器來提供一個網站的服務,那么這些經典的計算機模型都會有這么一個網絡的過程,所以你自己的計算機也可以作為一台web服務器來提供網絡服務的,在這里面不會詳細講解下面三層的內容。

傳輸層會在后面也會有提及,因為我們這門課主要是講http,所以我們主要是在應用層上面,因為我們的http協議是在應用層上面去實現的,但是http協議,它要基於我們傳輸層里面的一個非常重要的一個協議,叫tcp協議,這個協議是現在網絡模型當中,最最最重要的一個協議,在我們應用的過程當中,比如說我們創建一個http的服務,或者ftp的服務,或者是email的服務,那么這些服務,他們都是基於tcp,ip協議去實現的,所以tcp,ip協議后面會講解到,因為它會涉及到http請求的一個性能,或者過程的消耗,這些內容都會涉及到tcp,ip相關都內容

下面這三層,因為我們主要做的是web服務,所以,基本上不會碰到相關的東西,我們頂多頂多會稍微涉及到tcp,ip協議相關到一些內容

那么接下來主要講一下下面這三層主要做到一些事情

物理層主要作用是定義物理設備如何傳輸數據,簡單來說,物理層是什么呢?就是我們電腦的硬件,我們的網卡端口,網線,以及我們網線連出去之后要有條光纜來為我們把數據傳輸到互聯網,可能經過好幾千公里的這種情況下把數據傳輸到對面的服務器上面,所以這些物理的內容是必須要有的,沒有物理,我們的軟件是沒有辦法去傳輸的,所以物理層,就是這些硬件設備相關的東西

數據鏈路層是在通信的實體間建立數據鏈路鏈接,那么怎么理解呢,就是說我們物理是可以鏈接在一起了,兩台機器,也要有一個軟件服務幫我們通過物理的設備去創建一個電路的鏈接,也就是說這兩邊可以傳輸數據,那么這邊呢,數據鏈路層基本上就是我們最基礎的電腦傳輸數據,就是01010101之類的東西

然后 網絡層就是為數據在結點之間傳輸創建邏輯鏈路,那么邏輯鏈路,它會包含一些,比如說我們從我的電腦要去訪問百度的服務器,那么我們去尋找百度這台服務器它所在的地址,它就是一個邏輯關系,那么這個關系是在網絡層為我們去創建的

ok,如果這三層大家不是特別的能理解,那么沒有什么關系,因為這些會相對非常的底層,如果大家有興趣的話,可以自己去學

接下來我們講一下什么是傳輸層,傳輸層它主要有兩個協議,一個是tcp,ip協議,一個是udp協議,在更多的情況下,我們使用的是tcp,ip協議,因為它是一個更可靠的一個協議,幫我們去傳輸數據

傳輸層為我們提供了可靠的端對端(end-to-end)服務,這個服務是什么概念呢,就是我們建立起了從我們自己的電腦到百度到服務器之間的這么一個鏈接之后,它們兩端如何去傳輸數據,它傳輸數據的方式都是在這一層進行定義的,我們傳輸的數據有可能很小,有可能很大,那么如果傳輸數據大於一定的時候,我們不能把這么大的數據傳輸過去,那我們要分包,要分片,這些分片之后,數據傳輸到那邊,最后又要進行一個組裝,組裝這個過程,就這些,他到協議的定義,他如何去組裝,如果去傳輸,都是在傳輸層進行一個定義的

傳輸層向高層屏蔽了下層數據通信的細節,什么概念呢,因為我們http協議是實現在tcp,ip協議的基礎上的,我們http協議要傳輸一個數據,我們只需要非常簡單的,比如說在瀏覽器里面輸入一個url,他就會自動去發送相關的一個數據到服務器端,然后服務器端能夠解析這些數據返回給我們的瀏覽器,然后把頁面顯示出來,那么我們輸入url這個過程,其實涉及到了一系列的數據的拼裝以及傳輸,那么這個過程我們作為瀏覽器端,我們作為用戶,或者我們作為網頁的開發者,不需要指導他里面到底是怎么去分片,他怎么去跟服務器創建一個鏈接的關系,這些內容我們是完全不需要知道的,因為這是傳輸層他已經幫我們封裝掉了,還有就是比如說我們創建一個ajax請求,那么ajax請求也是一個http的請求,我們使用ajax的post的方式去傳輸一些數據,那么這個數據如果比較大的時候,它也是一次性的傳輸不完的,那么它如何去進行一個傳輸,如何能夠可靠的把我們想要的信息傳輸到服務器,服務器返回到信息又如何可靠的讓我們拿到,那么這個過程都是傳輸層這邊它已經幫我們去實現掉了,所以http協議層是不需要關心的

雖然說不需要關心,但是你能夠更好的去理解它的一個傳輸的過程,那這個時候可能對於在某一些細節上面去實現一個性能更高的http協議的使用方式可能會是有非常大的幫助的

那么應用層,我想大家應該就能猜到了,就是我們最主要的http協議是在這個層級上去實現的,它 為我們應用軟件提供了很多服務,我們寫網頁的時候,我們使用http協議去發送請求,我們是非常方便的,只要去new一個request請求,然后就可以去把一些數據,比如post,get的方式去發送到服務端,這是應用層在http協議上面,它幫我們實現了http協議,然后我們只需要去使用http協議相關端一些工具,就可以幫我們去傳輸一些數據,它是 構建於tcp協議之上的,所以它傳輸的方式,都是要落實於tcp,ip協議上面

屏蔽了網絡傳輸相關的細節,那么就跟我們tcp,ip協議幫我們屏蔽了http協議,它數據是如何去發送的一些細節一樣,我們在使用http協議的時候,具體網絡傳輸的細節,那么我們也是不需要深入的理解的

ok,這就是我們五層網絡模型的一個分層方式以及每一層它干了哪些事情,這些是偏里面的東西,大家先有一個概念


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM