1. 程式人生 > >初始五層網路協議

初始五層網路協議

相信大家經常聽到 Http協議、TCP/IP協議,UDP協議等等很多的協議,這都是一些既熟悉又陌生的詞,很多人不理解這些協議是做什麼的?不用協議行不行?這些協議有什麼區別?今天就來叨叨這個話題~

坐好坐好~~~

 

話說禹哥平生,穩久必浪,浪久必穩。有一天。你們洋總給禹哥介紹了一個女朋友,名叫:小肖肖~禹哥雖然平時抽菸喝酒燙頭,但是性格還是比較內向的,所以就先決定進行書信交流~

 

這時禹哥和小肖肖就相當於兩個軟體或者兩個程式,禹哥想給小肖肖送信,就好像是兩個軟體或者程式要進行通訊,如果我們就拿瀏覽器和伺服器之間的通訊來舉例,那麼禹哥就相當於瀏覽器,小肖肖就相當於是伺服器上的程式,這些程式或軟體我們稱之為應用層

於是禹哥找來了芫芫來送信,但是啊,洋總擔心芫芫把信送錯了人,所以提前向禹哥和肖肖約定了暗號。

 

 

這個暗號就好比是應用層協議,比如: Http協議,當然應用層協議還有很多,包括DNS協議(域名解析),FTP協議(檔案傳輸),SMTP協議(郵件傳輸)等等

如果送信時送錯了地方,芫芫把信送給了小肖肖的隔壁鄰居,芫芫說出暗號的上半句:“天王蓋地虎”。對方一定會覺得這人腦子有病吧,肯定就不會收。只有能夠認識這個暗號的人,才會收這封信。

就像是能識別Http協議的程式才能解讀Http協議裡傳輸的資料內容

這時禹哥將信交給芫芫了~洋總這時需要考慮信件的傳輸過程。

這時對資料傳輸連線的建立和管理,在網路的世界中我們稱之為傳輸層

這時禹哥可以有很多種選擇,可以搬個小馬紮坐在門口等,也可以找間小吃店邊吃邊等,當然也可以邊睡邊等,或者乾脆不等。

 

這些方式每一種方式都稱之為一種協議,這就是傳輸層協議

我們只舉兩個例子。一種是不管信有木有送到,現在都去睡覺。畢竟現在的 90後 都是叔叔阿姨了,需要睡覺保養了。就算是芫芫在送信的路上把信丟了,也不管~

這種方式在網路的世界中,我們稱之為:UDP協議,UDP協議是盡最大的努力保證資料送到,但是不保證資料一定能夠送到。我們經常用到的Ping命令,來測試主機之間是否連通,原理就是UDP協議。這種在送信途中把信丟了的情況,在網路中我們這稱之為:丟包

另一種方式就是禹哥搬個小馬紮,坐著門口,吃著樂事薯片等待小肖肖的回信,如果芫芫在半路把信丟了,禹哥就在寫一封過去。

 

 

這種方式在網路中,我們稱之為:TCP協議,TCP協議是會保證資料的正確性,也會保證資料的順序性。

禹哥在兩種方式中選擇了小馬紮等待,伴隨著痴漢般的笑容。哈哈哈~~

芫芫拿到信後,要找到一個好的路線,把信送過去。於是打開了XX地圖,問:誰是這個世界上最美的女人~? 地圖:美了這麼多年,你不累嗎???(哈哈哈,有興趣的,可以撩撩~)芫芫得到了心滿意足的答案後,開始尋找去肖肖家最合適的路線。禹哥住在雄楚大街124號505室,小肖肖住在商貿大道121號304室。

 

這裡的每一棟房子都相當於連線到網路中的一臺計算機,每個屋子都相當於是計算機上的一個埠,而交通網路就像是計算機世界的網路。在網路的世界中,我們稱之為網路層。在現實世界中我們要找到一個人的住址,我們需要的是地址和門牌號,地址和門牌號具有一定的格式,這種格式類比到網路世界中就是一種協議,我們稱之為網路層協議。我們在網路中通常用IP加埠來定位一個程式的位置,這種方式就是一種網路層協議,我們稱之為IP協議

芫芫在地圖上找到了最好的路線,先到A地,再到B地,再到C地,最後到小肖肖家。

 

這一層我們稱之為資料鏈路層,這資料鏈路層呢又分為兩個部分或者稱為兩個子層,一個是地圖上顯示的路線,我們稱之為:邏輯鏈路控制子層,另一個是現實世界中的路線,我們稱之為:媒體訪問控制子層,這層的縮寫大家肯定熟悉--MAC,也就是人們常說的MAC地址

在實際的送信過程中,需要坐公交車,騎共享單車,坐地鐵等等,現在坐公交需要公交卡,騎單車需要掃碼。

 

這個層面在網路中我們稱之為物理層,物理層也有很多協議,我們就不一一列舉啦~

現在這封信已經從禹哥手裡到芫芫手裡了,芫芫也乘坐交通工具在送信的路上。車到站後芫芫下車,然後根據地址和門牌號找到小肖肖家,然後敲門,和小肖肖對暗號。

 

這個過程就是從應用層到物理層的過程。但是資料到了對方的計算機時,就是一個從物理層到應用層的過程了,坐車到站後,先下公交,這就是從物理層到資料鏈路層,這時芫芫已經在資料鏈路層中最後一個環節上了,然後根據門牌號找到相應的樓和門,這就是從資料鏈路層到網路層的過程。找到門後,敲肖肖家的門,這就是網路層到運輸層的過程,然後和小肖肖對暗號,這就是運輸層到應用層的過程

 

好~到此為止我們就將五層網路模型的基本結構說完了,大家需要記住,五層網路模型分別是:應用層,運輸層,網路層,資料鏈路層和物理層。

五層網路模型在資料傳輸的過程中,先是從A處的應用層到運輸層到網路層到資料鏈路層到物理層,將資料運送到B處,然後再從B處的物理層到資料鏈路層到網路層到運輸層到應用層。每層協議本質就是在外面套一層特殊格式的資料。所以在將資料送到的時候,需要將這一層層的協議拆開,然後才能得到裡面的資料。

 

 

除了五層網路模型之外還有七層網路模型,那麼七層網路模型是什麼呢?就是將應用層一分為三,分別為:應用層,表示層和會話層。新出來的表示層和會話層沒有相應的協議。一般表示層做的是資料格式化,或者加密等操作。就比方說禹哥的信,怕別人偷看,於是用甲骨文來寫,這樣就不怕別人看了。這就是表示層要做的事情。