學習計算機網絡時我們一般采用折中的辦法,也就是中和 OSI 和 TCP/IP 的優點,采用一種只有五層協議的體系結構,這樣既簡潔又能將概念闡述清楚。
結合互聯網的情況,自上而下地,非常簡要的介紹一下各層的作用。
1.1 應用層
應用層(application-layer)的任務是通過應用進程間的交互來完成特定網絡應用。應用層協議定義的是應用進程(進程:主機中正在運行的程序)間的通信和交互的規則。對於不同的網絡應用需要不同的應用層協議。在互聯網中應用層協議很多,如域名系統DNS,支持萬維網應用的 HTTP協議,支持電子郵件的 SMTP協議等等。我們把應用層交互的數據單元稱為報文。
域名系統
域名系統(Domain Name System縮寫 DNS,Domain Name被譯為域名)是因特網的一項核心服務,它作為可以將域名和IP地址相互映射的一個分布式數據庫,能夠使人更方便的訪問互聯網,而不用去記住能夠被機器直接讀取的IP數串。(百度百科)例如:一個公司的 Web 網站可看作是它在網上的門戶,而域名就相當於其門牌地址,通常域名都使用該公司的名稱或簡稱。例如上面提到的微軟公司的域名,類似的還有:IBM 公司的域名是 www.ibm.com、Oracle 公司的域名是 www.oracle.com、Cisco公司的域名是 www.cisco.com 等。
HTTP協議
超文本傳輸協議(HTTP,HyperText Transfer Protocol)是互聯網上應用最為廣泛的一種網絡協議。所有的 WWW(萬維網) 文件都必須遵守這個標准。設計 HTTP 最初的目的是為了提供一種發布和接收 HTML 頁面的方法。(百度百科)
1.2 運輸層
運輸層(transport layer)的主要任務就是負責向兩台主機進程之間的通信提供通用的數據傳輸服務。應用進程利用該服務傳送應用層報文。“通用的”是指並不針對某一個特定的網絡應用,而是多種應用可以使用同一個運輸層服務。由於一台主機可同時運行多個線程,因此運輸層有復用和分用的功能。所謂復用就是指多個應用層進程可同時使用下面運輸層的服務,分用和復用相反,是運輸層把收到的信息分別交付上面應用層中的相應進程。
運輸層主要使用以下兩種協議:
-
傳輸控制協議 TCP(Transmission Control Protocol)--提供面向連接的,可靠的數據傳輸服務。
-
用戶數據協議 UDP(User Datagram Protocol)--提供無連接的,盡最大努力的數據傳輸服務(不保證數據傳輸的可靠性)。
TCP 與 UDP 的對比見問題三。
1.3 網絡層
在 計算機網絡中進行通信的兩個計算機之間可能會經過很多個數據鏈路,也可能還要經過很多通信子網。網絡層的任務就是選擇合適的網間路由和交換結點, 確保數據及時傳送。 在發送數據時,網絡層把運輸層產生的報文段或用戶數據報封裝成分組和包進行傳送。在 TCP/IP 體系結構中,由於網絡層使用 IP 協議,因此分組也叫 IP 數據報 ,簡稱 數據報。
這里要注意:不要把運輸層的“用戶數據報 UDP ”和網絡層的“ IP 數據報”弄混。另外,無論是哪一層的數據單元,都可籠統地用“分組”來表示。
這里強調指出,網絡層中的“網絡”二字已經不是我們通常談到的具體網絡,而是指計算機網絡體系結構模型中第三層的名稱.
互聯網是由大量的異構(heterogeneous)網絡通過路由器(router)相互連接起來的。互聯網使用的網絡層協議是無連接的網際協議(Intert Protocol)和許多路由選擇協議,因此互聯網的網絡層也叫做網際層或IP層。
1.4 數據鏈路層
數據鏈路層(data link layer)通常簡稱為鏈路層。兩台主機之間的數據傳輸,總是在一段一段的鏈路上傳送的,這就需要使用專門的鏈路層的協議。 在兩個相鄰節點之間傳送數據時,數據鏈路層將網絡層交下來的 IP 數據報組裝成幀,在兩個相鄰節點間的鏈路上傳送幀。每一幀包括數據和必要的控制信息(如同步信息,地址信息,差錯控制等)。
在接收數據時,控制信息使接收端能夠知道一個幀從哪個比特開始和到哪個比特結束。這樣,數據鏈路層在收到一個幀后,就可從中提出數據部分,上交給網絡層。 控制信息還使接收端能夠檢測到所收到的幀中有誤差錯。如果發現差錯,數據鏈路層就簡單地丟棄這個出了差錯的幀,以避免繼續在網絡中傳送下去白白浪費網絡資源。如果需要改正數據在鏈路層傳輸時出現差錯(這就是說,數據鏈路層不僅要檢錯,而且還要糾錯),那么就要采用可靠性傳輸協議來糾正出現的差錯。這種方法會使鏈路層的協議復雜些。
1.5 物理層
在物理層上所傳送的數據單位是比特。 物理層(physical layer)的作用是實現相鄰計算機節點之間比特流的透明傳送,盡可能屏蔽掉具體傳輸介質和物理設備的差異。 使其上面的數據鏈路層不必考慮網絡的具體傳輸介質是什么。“透明傳送比特流”表示經實際電路傳送后的比特流沒有發生變化,對傳送的比特流來說,這個電路好像是看不見的。
在互聯網使用的各種協中最重要和最著名的就是 TCP/IP 兩個協議。現在人們經常提到的TCP/IP並不一定單指TCP和IP這兩個具體的協議,而往往表示互聯網所使用的整個TCP/IP協議族。
1.6 總結一下
上面我們對計算機網絡的五層體系結構有了初步的了解,下面附送一張七層體系結構圖總結一下。圖片來源:https://blog.csdn.net/yaopeng_2005/article/details/7064869
關於 HTTP 系列文章:
-
HTTP 概述
-
TCP 三次握手和四次揮手圖解(有限狀態機)
-
從你輸入網址,到看到網頁——詳解中間發生的過程
-
深入淺出 HTTPS (詳解版)
-
漫談 HTTP 連接
-
漫談 HTTP 性能優化
-
HTTP 報文格式簡介
-
深入淺出:HTTP/2
參考文章
https://www.cnblogs.com/wuwuyong/p/12198928.html