層名 | 功能 | 網絡協議 |
TCP/IP四層概念模型 |
應用層 |
文件傳輸,電子郵件,文件服務,虛擬終端 作用:控制應用程序; 備註:爲應用程序提供網絡服務; |
TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等 | 應用層 |
表示層 |
數據格式化,代碼轉換,數據加密 作用:格式化數據; 備註:可以提供加密服務; |
Telnet, Rlogin, SNMP, Gopher | |
會話層 |
解除或建立與別的接點的聯繫 作用:控制會話,建立管理終止應用程序會話; 備註:負責會話建立; |
SMTP, DNS | |
傳輸層 |
提供端對端的接口 備註:負責網絡傳輸和會話建立; |
TCP,UDP TCP:transmission control protocol 傳輸控制協議 UDP:user data protocol 用戶數據報協議 |
傳輸層 |
網絡層 |
爲數據包選擇路由 作用:定義一個邏輯的尋址,選擇最佳路徑傳輸,路由數據包; 設備:路由器 備註:實現尋址 |
IP,ICMP,OSPF,EIGRP,IGMP | 網絡層 |
數據鏈路層 |
傳輸有地址的幀以及錯誤檢測功能 作用:定義如何格式化數據,支持錯誤檢測; 設備:以太網交換機; 備註:交換機通過MAC地址轉發數據,邏輯鏈路控制; |
SLIP,CSLIP,PPP,MTU | 數據鏈路層 |
物理層 |
以二進制數據形式在物理媒體上傳輸數據 作用:定義一些電器,機械,過程和規範,如集線器; PDU(協議數據單元):bit/比特 注意:沒有尋址的概念; |
ISO2110,IEEE802,IEEE802.2 |
目錄
參考文章:https://blog.csdn.net/zhangyi_1027/article/details/80022493
一、網絡爲何分層
現實中我們常吃的漢堡爲什麼要分層,衆所周知漢堡屬於快餐系列,那爲什麼漢堡要分層呢?當然是爲了製作簡單啦。烤麪包的人烤麪包,炸雞腿的人炸雞腿,最後由專門的人組裝起來,方便快捷。還有就是我們寫過很多的程序c語言或者java,如果沒有函數,一股腦的將所有語句寫在主函數裏,會導致代碼極其混亂,一個錯誤會導致千千萬萬個錯誤,但是有了函數就不一樣了,這個函數出錯了只需要改這個函數即可,並不會影響其它的函數,此時函數在這裏就相當於分層了。
類比網絡,假設此時有:(1)語言層:漢語、英語;(2) 通信設備層:電話、手機。此時A和B可以通過電話用漢語達成協議,A和B可以通過手機用漢語達成協議,A和B可以通過電話用英語達成協議,B和C也可以通過電話或者手機用漢語或者英語達成協議…此時改變語言層也能順利達成協議,改變通信設備層也能順利達成協議。
可見,網絡分層使得層與層之間互不影響,便於維護。
二、TCP/IP協議
TCP/IP協議:IP層傳輸單位是IP分組,屬於點到點的傳輸;TCP層傳輸單位是TCP段,屬於端到端的傳輸
三、網絡分層
1、OSI
開放系統互連參考模型爲實現開放系統互連所建立的通信功能分層模型,簡稱OSI參考模型。
其目的是爲異種計算機互連提供一個共同的基礎和標準框架,併爲保持相關標準的一致性和兼容性提供共同的參考。
這裏所說的開放系統,實質上指的是遵循OSI參考模型和相關協議,能夠實現互連的具有各種應用目的的計算機系統。它從低到高分別是:物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層。
2、OSI七層模型
層名 | 背景與作用 |
應用層 |
作用: 負責提供數據接口標準,提供的服務包括文件的傳輸,文件的管理以及電子郵件的信息處理 |
表示層 |
背景: 現在我能保證應用程序自動收發包和尋址了。但是我要用Linux給window發包,兩個系統語法不一致,就像安裝包一樣,exe是不能在linux下用的,shell在window下也是不能直接運行的。於是需要 |
會話層 |
背景: 現在我們已經保證給正確的計算機,發送正確的封裝過後的信息了。但是用戶級別的體驗好不好?難道我每次都要調用TCP去打包,然後調用IP協議去找路由,自己去發?當然不行,所以我們要建立一個自動收發包,自動尋址的功能。於是,發明了會話層。 作用: 會話層的作用就是建立和管理應用程序之間的通信。
|
傳輸層 |
背景: 現在我能發正確的發比特流數據到另一臺計算機了,但是當我發大量數據時候,可能需要好長時間,例如一個視頻格式的,網絡會中斷好多次(事實上,即使有了物理層和數據鏈路層,網絡還是經常中斷,只是中斷的時間是毫秒級別的)。那麼,我還須要保證傳輸大量文件時的準確性。於是,我要對發出去的數據進行封裝。就像發快遞一樣,一個個地發。於是,先發明瞭 |
網絡層 |
背景: 傳輸層只是解決了打包的問題。但是如果我有多臺計算機,怎麼找到我要發的那臺?或者,A要給F發信息,中間要經過B,C,D,E,但是中間還有好多節點如K.J.Z.Y。我怎麼選擇最佳路徑?這就是路由要做的事。於是,發明了 作用: 主要功能是講網絡地址翻譯成對應的物理地址,並決定如何將數據從發送方路由到接受方,他解決的是尋址和優化傳輸路徑的問題。 網關: 網間連接器,協議轉換器,網關在網絡層上實現網絡互連,對接收到的信息重新打包,以適應目的系統的需求。 網關實質上是一個網絡通向其他網絡的IP地址;只有通過網關才能找到對應的IP,只有設置好網關的IP地址,TCP/IP協議才能實現不同網絡之間的相互通信,網關的IP地址是具有路由功能的設備的IP地址,具有路由功能的設備有路由器、啓用了路由協議的服務器(實質上相當於一臺路由器)、代理服務器(也相當於一臺路由器)。 解決阻塞的辦法:數據分組,編號傳輸出去;然後接收到數據後排序重組解碼;選擇最優路徑;丟包也是發生在網絡層。 |
數據鏈路層 |
背景: 現在通過電線我能發數據流了,但是,我還希望通過無線電波,通過其它介質來傳輸。然後我還要保證傳輸過去的比特流是正確的,要有糾錯功能。於是,發明了數據 簡述: 數據鏈路層,控制網絡層與物理層之間的通信,解決的是所傳輸數據的準確性的問題。爲了保證傳輸,從網絡層接收到的數據被分製成特定的可被物理層傳輸的幀。 幀:是用來移動數據的結構包,他不僅包括原始數據,還包括髮送方和接收方的物理地址以及糾錯和控制的信息。其中的地址確定了幀將發送的位置,糾錯和控制信息則保證幀的準確到底。如果傳送數據的過程中,接收點檢測到數據有錯誤,就通知發送方重新發送一幀
該層的作用包括了物理地址尋址,數據的成幀,流量控制,數據的檢錯,重發,同步數據(交換機工作)等 |
物理層 |
背景: 科學家要解決的第一個問題是,兩個硬件之間怎麼通信。具體就是一臺發些比特流,然後另一臺能收到。於是,科學家發明了物理層。 作用: 1、定義物理設備標準,如網線的接口類型、光纖的接口類型、各種傳輸介質的傳輸速率等。 2、它的主要作用是傳輸比特流(就是由1、0轉化爲電流強弱來進行傳輸,到達目的地後在轉化爲1、0,也就是我們常說的數模轉換與模數轉換)。這一層的數據叫做比特。 |