互聯網協議

互聯網分成五層:實體層,鏈接層,網絡層,傳輸層,應用層。
當然,還有其他分層的方法。但是,它們叫什麼名字,其實並不重要。只需要知道,互聯網分成若干層就可以了。

實體層
電腦要組網,第一件事要幹什麼?當然是先把電腦連起來,可以用光纜、電纜、雙絞線、無線電波等方式。
作用是負責傳輸0, 1的電信號。

鏈接層
當然,單純的0和1沒有任何意義,所以我們要將電信號分組構成數據包,叫做幀。每一幀都由兩部分組成:標頭(Head)和數據(Data)。
那麼接下來就詳細講解一下幀所包含的信息都有哪些。
首先,電腦之間要通信發送數據,就必須要有網卡。網卡的地址,就是數據包的發送地址和接收地址,這叫做MAC地址。
網卡前6個十六進制數是廠商編號,後6個是該廠商的網卡流水號。有了MAC地址,就可以定位網卡和數據包的路徑了。
那麼,一塊網卡怎麼會知道另一塊網卡的MAC地址?
ARP協議可以解決這個問題。當主機A要發送數據到主機B時,會採用廣播的方式,那麼該子網絡中的所有主機都會接受到該信息,然後根據幀的標頭對比一下接收方的MAC地址,相同就接收這個包,否則就丟棄。

網絡層
但是,如果不在同一個子網絡下該怎麼發送數據呢?
所以,我們引進了網絡層。它的作用就是引進了一套新的地址,網絡(IP)地址,簡稱網址。
那麼,自此,每臺計算機都有了兩個地址,MAC地址和網絡地址。
MAC地址是綁定在網卡上的,而IP地址是由網絡管理員分配的,兩者沒有任何聯繫。
當以太網數據包到達網絡層時,就會在該數據包上增加IP數據包,這樣一來只要網絡可達,便可以實現不同子網絡主機之間的通訊了。

傳輸層
有了MAC地址和IP地址,我們已經可以在互聯網上任意兩臺主機上建立通信。
但是,當一個數據包發送過來時,你怎麼知道他是屬於什麼消息呢?該如何呈現給你呢?換句話說,你在瀏覽網頁和聊QQ,當你的主機電腦收到數據包時,該數據包是網頁消息呢還是QQ消息呢?
所以,我們必須還要一個參數來加入該數據包中來區分消息的類型——端口。
“端口”是0到65535之間的一個整數,正好16個二進制位。0到1023的端口被系統佔用,用戶只能選用大於1023的端口。不管是瀏覽網頁還是在線聊天,應用程序會隨機選用一個端口,然後與服務器的相應端口聯繫。
“傳輸層”的功能,就是建立”端口到端口”的通信。相比之下,”網絡層”的功能是建立”主機到主機”的通信。
現在,我們必須在數據包中加入端口信息,這就需要新的協議。最簡單的實現叫做UDP協議,它的格式幾乎就是在數據前面,加上端口號。
另外一個協議就是TCP。
他們倆之間的區別,在這裏就不介紹了,自此,也解決了上面的那個問題。

應用層
那麼傳輸層傳輸的數據包就會到達應用層了,所以應用層的作用就是解讀該數據包。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章