五層網路模型
前言
整個網際網路的實現都是建立在上面五層分層模型的基礎上的,上面的每一層都要依靠下面的分層模型支援。每一層都是為了完成某個特定的功能,計算機之間要想建立通訊都需要遵循約定好的協議,因此每一層都有約定好的協議(protocol)
物理層
物理層指的是把電腦連線起來的物理手段,常用的方式有光纜、電纜、雙絞線、無線電波等,它們的作用是負責傳送0和1的電訊號
資料鏈路層
單純的電訊號0和1計算機是無法直接解讀的,於是需要規定一種協議表示每個訊號的意義,佔據主導地位的是乙太網協議,它規定了一組電訊號構成一個數據包(叫做幀),每一幀都包含標頭和資料兩部分。"標頭"包含資料包的傳送者、接受者、資料型別等等;"資料"則是資料包的具體內容
有了資料包,接下來還需要知道接收方的地址。乙太網規定,接入網路的的所有裝置都必須有網絡卡介面,每個網絡卡都有一個唯一的MAC地址,資料包的傳輸是從一塊網絡卡傳到另一塊網絡卡
有了MAC地址,接下來要想辦法把資料傳輸過去。如果計算機在同一個子網內,可以通過ARP協議得到對方的MAC地址,然後通過廣播的方式把資料包傳送給子網內的所有計算機,計算機通過對比MAC地址資訊,決定是否接受資料包。
網路層
乙太網通過MAC地址的方式傳送資料包會有一個缺陷,即如果兩臺計算機不在同一個子網內,廣播是傳不過去的。於是網路層引入了一套新的地址,能夠區分不同計算機是否屬於同一個子網,這套地址叫做“網路地址”,簡稱“網址”。現在每臺計算機都有MAC地址和網路地址,兩個地址本身沒有聯絡的,MAC地址是繫結在網絡卡上的,而網路地址則是管理員分配的
規定網路地址的協議叫做IP協議,目前使用最廣泛的是IPv4,它為每一臺計算機分配IP地址,用於確定哪些地址在同一個子網路。
傳輸層
有了MAC地址和IP地址,網際網路上的任意兩臺計算機之間都可以建立通訊。現在的問題是計算機上的很多應用程式都需要聯網,需要有一種方式確定資料包是要傳送給哪個程式的,於是就有了埠。埠是每一個使用網絡卡程式的編號,不同的程式根據特定的埠號獲取對應的資料包
傳輸層的作用就是建立埠和埠的通訊,而網路層的作用是建立主機之間的通訊。有了埠和主機,就可以實現軟體之間的通訊
傳輸層使用的最廣泛的協議是TCP協議,這個協議要比同屬傳輸層的UDP協議複雜,但是它們保證不會出現資料包丟失的情況
應用層
應用層的很多協議大家應該都聽說過,比如FTP、HTTP這些都是應用層協議。它主要的作用是為了規定資料的格式,由於TCP協議可以傳輸任何資料,因此必須有不同的協議規定諸如電子郵件、網頁、FTP資料的格式。
參考文章
部落格: https://blog.86886.wangGitHub: https://github.com/wmui