經典網絡五層模型

本文是觀看五層模型的總結梳理html

前言

網絡傳輸協議(network communacations protocol):是爲了計算機網絡中進行數據交換而創建的規則,標準或者說約定的集合。
經常使用的互聯網協議:> http; tcp; udp; ip;網絡

一,概述

五層模型圖
如上圖所示,最下面的一層是物理層也叫實體層,最上面的叫應用層(application layer),中間的自下而上分別是 連接層(link layer),網絡層(network layer),和"傳輸層"(transport layer)。越下面的層,越靠近底層;相反越上面越靠近用戶。架構

1.2層與協議

每一層都是爲了完成一種功能。爲了實現這些功能,就須要你們都遵照共同的規則。你們都遵照的規則,就叫作"協議"(protocol)。app

二,物理層

電腦要組網,首先要把電腦鏈接起來,利用網線,無線網等方式

這就是物理層,它就是把電腦相互鏈接起來的物理手段,它主要規定了網絡的一些電氣特性,做用是負責傳送0和1的電信號。tcp

3、連接層(數據鏈路層)

3.1 定義

單純的0和1沒有任何意義,必須規定解讀方式:多少個電信號算一組?每一個電信號有什麼意義?
*這就是Link Layer的功能,它在物理層的上方,肯定了0,1的分組方式(method)ui

3.2以太網協議

早期的時候,每家公司都有本身的電信號分組方式。逐漸地,一種叫作"以太網"(Ethernet)的協議,佔據了主導地位。
以太網規定,一組電信號構成一個數據包,叫作"幀"(Frame)。每一幀分紅兩個部分:標頭(Head)和數據(Data)。

"head" 包含數據包的一些說明項,好比發送者,接受者,數據類型等;"data" 則是數據包的具體內容。網絡傳輸協議

3.3MAC地址

上面提到,以太網數據包的"標頭",包含了發送者和接受者的信息。那麼,發送者和接受者是如何標識呢?計算機網絡

以太網規定,連入網絡的全部設備,都必須具備"網卡"接口。數據包必須是從一塊網卡,傳送到另外一塊網卡。網卡的地址,就是數據包的發送地址和接收地址,這叫作MAC地址。
每塊網卡出廠的時候,都有一個全世界獨一無二的MAC地址,長度是48個二進制位,一般用12個十六進制數表示。

前6個十六進制數是廠商編號,後6個是該廠商的網卡流水號。有了MAC地址,就能夠定位網卡和數據包的路徑了。code

3.4廣播

首先,一塊網卡怎麼會知道另外一塊網卡的MAC地址?htm

回答是有一種ARP協議,能夠解決這個問題。這個留到後面介紹,這裏只須要知道,以太網數據包必須知道接收方的MAC地址,而後才能發送。
其次,就算有了MAC地址,系統怎樣才能把數據包準確送到接收方?
回答是以太網採用了一種很"原始"的方式(向同一個網絡下的全部計算機發送數據包,只有當Head中的接收方MAC和自身相同時纔會保留,不然就丟棄),它不是把數據包準確送到接收方,而是向本網絡內全部計算機發送,讓每臺計算機本身判斷,是否爲接收方。

4、網絡層

數據鏈路層 有它的主要侷限性:只能在發送者所在的子網絡下才能進行鏈接,因此就有了網絡層的誕生——可以區分MAC是否在同一子網絡,不在就採用路由方式發送。
IP協議就是用來規定網絡地址的protocol。
具體來講,IP數據包也分爲"標頭"和"數據"兩個部分。

"標頭"部分主要包括版本、長度、IP地址等信息,"數據"部分則是IP數據包的具體內容。它放進以太網數據包後,以太網數據包就變成了下面這樣。

如何獲取對方的mac address不是本人呢研究要點能夠參考百度

五,傳輸層

上述已經解決了電腦之間的相互通訊問題,可是電腦上確定不止一個Application須要聯網。好比,你一邊瀏覽網頁,一邊與朋友在線聊天,那麼就要判斷當一個數據包從網絡上發來的時候它表示的是網頁內容仍是聊天信息。
換句話說咱們還須要一個parameter來表示data package是給誰用的。這個parameter叫port
這裏面流行的有TCP和UDP協議。
UDP數據包,也是由"標頭"和"數據"兩部分組成。

"標頭"部分主要定義了發出端口和接收端口,"數據"部分就是具體的內容。而後,把整個UDP數據包放入IP數據包的"數據"部分,而前面說過,IP數據包又是放在以太網數據包之中的,因此整個以太網數據包如今變成了下面這樣:

TCP數據包和UDP類似,不在多說。

六,應用層

應用程序收到"傳輸層"的數據,接下來就要進行解讀。因爲互聯網是開放架構,數據來源五花八門,必須事先規定好格式,不然根本沒法解讀。
也就是說應用層的做用就是規定應用程序的數據格式。
應用程序收到"傳輸層"的數據,接下來就要進行解讀。因爲互聯網是開放架構,數據來源五花八門,必須事先規定好格式,不然根本沒法解讀
舉例來講,TCP協議能夠爲各類各樣的程序傳遞數據,好比Email、WWW、FTP等等。那麼,必須有不一樣協議規定電子郵件、網頁、FTP數據的格式,這些應用程序協議就構成了"應用層"。
這是最高的一層,直接面對用戶。它的數據就放在TCP數據包的"數據"部分。所以,如今的以太網的數據包就變成下面這樣。

這是自下而上的視角,從用戶的角度可觀閱阮一峯寫的互聯網協議入門(二)

相關文章
相關標籤/搜索