計算機的網絡體系以及參考模型
- 一、OSI七層模型
- 二、TCP/IP參考模型
- 三、TCP/IP 五層參考模型
- 四、OSI 模型和 TCP/IP 模型異同比較
- 五、OSI 和 TCP/IP 協議之間的對應關系
- 六、為什么 TCP/IP 去除了表示層和會話層?
- 七、數據如何在各層之間傳輸(數據的封裝過程)
一、OSI七層模型
OSI 七層模型可分為:物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層,第三層統稱為通信子網,主要完成數據傳輸的功能,高三層統稱為資源子網,主要完成數據的處理等功能。
- 應用層:其作用是通過應用程序間的交互來完成特定的網絡應用
- 表示層:表示層的作用是處理兩個通信系統中交換信息的表達方式,提供的服務有數據壓縮,數據加密以及數據描述
- 會話層:會話層負責管理主機間的會話進程,包括建立、管理及終止進程間的會話
- 傳輸層:傳輸層主要負責主機中進程之間的通信,功能是端對端連接提供可靠服務
- 網絡層:網絡層的主要任務是選擇合適的網間路由和交換節點,確保數據按時成功傳送,在發送數據的時候,它會將傳輸層的報文封裝成分組和包從源端口向目的端口轉發
- 數據鏈路層:數據鏈路層是點對點的通信,它的任務是將網絡層傳來的ip數據報組裝成幀,同時,會檢測所受到的幀有無差錯,如果有的話,就簡單的丟棄掉,以免占用網絡資源
- 物理層:物理層作為參考模型的最低一層,主要實現的就是計算機節點之間的比特流的透明傳輸,盡可能地屏蔽傳輸介質和物理設備地影響。
二、TCP/IP參考模型
? OSI 七層模型在提出時的出發點是基于標準化的考慮,而沒有考慮到具體的市場需求,使得該模型結構復雜,部分功能冗余,因而完全實現 OSI 參考模型的系統不多。而 TCP/IP 參考模型直接面向市場需求,實現起來也比較容易,因此在一經提出便得到了廣泛的應用。基于 TCP/IP 的參考模型將協議分成四個層次,如上圖所示,它們分別是:網絡訪問層、網際互聯層、傳輸層、和應用層。
① 應用層
TCP/IP 模型將 OSI 參考模型中的會話層、表示層和應用層的功能合并到一個應用層實現,通過不同的應用層協議為不同的應用提供服務。例如:FTP、Telnet、DNS、SMTP 等。
② 傳輸層
該層對應于 OSI 參考模型的傳輸層,為上層實體提供源端到對端主機的通信功能。傳輸層定義了兩個主要協議:傳輸控制協議(TCP)和用戶數據報協議(UDP)。其中面向連接的 TCP 協議保證了數據的傳輸可靠性,面向無連接的 UDP 協議能夠實現數據包簡單、快速地傳輸。
③ 網際互聯層
網際互聯層對應 OSI 參考模型的網絡層,主要負責相同或不同網絡中計算機之間的通信。在網際互聯層, IP 協議提供的是一個不可靠、無連接的數據報傳遞服務。該協議實現兩個基本功能:尋址和分段。根據數據報報頭中的目的地址將數據傳送到目的地址,在這個過程中 IP 負責選擇傳送路線。除了 IP 協議外,該層另外兩個主要協議是互聯網組管理協議(IGMP)和互聯網控制報文協議(ICMP)。
④ 網絡接入層
網絡接入層的功能對應于 OSI 參考模型中的物理層和數據鏈路層,它負責監視數據在主機和網絡之間的交換。事實上,TCP/IP 并未真正描述這一層的實現,而由參與互連的各網絡使用自己的物理層和數據鏈路層協議,然后與 TCP/IP 的網絡接入層進行連接,因此具體的實現方法將隨著網絡類型的不同而有所差異。
三、TCP/IP 五層參考模型
五層體系的協議結構是綜合了 OSI 和 TCP/IP 優點的一種協議,包括應用層、傳輸層、網絡層、數據鏈路層和物理層。其中應用層對應 OSI 的上三層,下四層和 OSI 相同。五層協議的體系結構只是為介紹網絡原理而設計的,實際應用還是 TCP/IP 四層體系結構。
四、OSI 模型和 TCP/IP 模型異同比較
相同點:
① OSI 參考模型與 TCP/IP 參考模型都采用了層次結構。
② 都能夠提供面向連接和無連接兩種通信服務機制。
不同點:
① OSI 采用的七層模型; TCP/IP 是四層結構。
② TCP/IP 參考模型沒有對網絡接口層進行細分,只是一些概念性的描述; OSI 參考模型對服務和協議做了明確的區分。
③ OSI 先有模型,后有協議規范,適合于描述各種網絡;TCP/IP 是先有協議集然后建立模型,不適用于非 TCP/IP 網絡。
④ TCP/IP 一開始就提出面向連接和無連接服務,而 OSI 一開始只強調面向連接服務,直到很晚才開始制定無連接的服務標準。
⑤ OSI 參考模型雖然被看好,但將網絡劃分為七層,實現起來較困難;相反,TCP/IP 參考模型雖然有許多不盡人意的地方,但作為一種簡化的分層結構還是比較成功的。
五、OSI 和 TCP/IP 協議之間的對應關系
六、為什么 TCP/IP 去除了表示層和會話層?
OSI 參考模型在提出時,他們的理想是非常好的,但實際上,由于會話層、表示層、應用層都是在應用程序內部實現的,最終產出的是一個應用數據包,而應用程序之間是幾乎無法實現代碼的抽象共享的,這也就造成 OSI 設想中的應用程序維度的分層是無法實現的,例如,我們幾乎不會認為數據的壓縮、加密算法算是一種協議,而會話的概念則更為抽象,難以用協議來進行描述,所以在后來的 TCP/IP 協議框架的設計中,便將表示層和會話層與應用層整合在一起,讓整個過程更為清晰明了。
七、數據如何在各層之間傳輸(數據的封裝過程)
數據封裝過程
數據解封裝過程