前端基礎:計算機網絡體系結構有哪些?分別解釋每一部分

計算機網絡體系結構有哪些

前端基礎:計算機網絡體系結構有哪些?分別解釋每一部分

學習計算機網絡時我們一般採用折中的辦法,也就是中和 OSI 和 TCP/IP 的優點,採用一種只有五層協議的體系結構,這樣既簡潔又能將概念闡述清楚。

應用層

應用層(application-layer)的任務是通過應用進程間的交互來完成特定網絡應用。應用層協議定義的是應用進程(進程:主機中正在運行的程序)間的通信和交互的規則。對於不同的網絡應用需要不同的應用層協議。在互聯網中應用層協議很多,如域名系統 DNS,支持萬維網應用的 HTTP 協議,支持電子郵件的 SMTP 協議等等。我們把應用層交互的數據單元稱為報文。

1.域名系統

  • 域名系統(Domain Name System 縮寫 DNS,Domain Name 被譯為域名)是因特網的一項核心服務,它作為可以將域名和 IP 地址相互映射的一個分佈式數據庫,能夠使人更方便的訪問互聯網,而不用去記住能夠被機器直接讀取的 IP 數串。(百度百科)例如:一個公司的 Web 網站可看作是它在網上的門戶,而域名就相當於其門牌地址,通常域名都使用該公司的名稱或簡稱。例如上面提到的微軟公司的域名,類似的還有:IBM 公司的域名是 www.ibm.com、Oracle 公司的域名是 www.oracle.com、Cisco 公司的域名是 www.cisco.com 等。

2.HTTP 協議

  • 超文本傳輸協議(HTTP,HyperText Transfer Protocol)是互聯網上應用最為廣泛的一種網絡協議。所有的 WWW(萬維網) 文件都必須遵守這個標準。設計 HTTP 最初的目的是為了提供一種發佈和接收 HTML 頁面的方法。(百度百科)

運輸層

運輸層(transport layer)的主要任務就是負責向兩臺主機進程之間的通信提供通用的數據傳輸服務。應用進程利用該服務傳送應用層報文。“通用的”是指並不針對某一個特定的網絡應用,而是多種應用可以使用同一個運輸層服務。由於一臺主機可同時運行多個線程,因此運輸層有複用和分用的功能。所謂複用就是指多個應用層進程可同時使用下面運輸層的服務,分用和複用相反,是運輸層把收到的信息分別交付上面應用層中的相應進程。

運輸層主要使用以下兩種協議

  • 傳輸控制協議 TCP(Transmisson Control Protocol)--提供面向連接的,可靠的數據傳輸服務。
  • 用戶數據協議 UDP(User Datagram Protocol)--提供無連接的,盡最大努力的數據傳輸服務(不保證數據傳輸的可靠性)。

UDP 的主要特點

  • UDP 是無連接的;
  • UDP 使用盡最大努力交付,即不保證可靠交付,因此主機不需要維持複雜的鏈接狀態(這裡面有許多參數);
  • UDP 是面向報文的;
  • UDP 沒有擁塞控制,因此網絡出現擁塞不會使源主機的發送速率降低(對實時應用很有用,如 直播,實時視頻會議等);
  • UDP 支持一對一、一對多、多對一和多對多的交互通信;
  • UDP 的首部開銷小,只有 8 個字節,比 TCP 的 20 個字節的首部要短。

TCP 的主要特點

  • TCP 是面向連接的。(就好像打電話一樣,通話前需要先撥號建立連接,通話結束後要掛機釋放連接);
  • 每一條 TCP 連接只能有兩個端點,每一條 TCP 連接只能是點對點的(一對一);
  • TCP 提供可靠交付的服務。通過 TCP 連接傳送的數據,無差錯、不丟失、不重複、並且按序到達;
  • TCP 提供全雙工通信。TCP 允許通信雙方的應用進程在任何時候都能發送數據。TCP 連接的兩端都設有發送緩存和接收緩存,用來臨時存放雙方通信的數據;
  • 面向字節流。TCP 中的“流”(Stream)指的是流入進程或從進程流出的字節序列。“面向字節流”的含義是:雖然應用程序和 TCP 的交互是一次一個數據塊(大小不等),但 TCP 把應用程序交下來的數據僅僅看成是一連串的無結構的字節流。

網絡層

在 計算機網絡中進行通信的兩個計算機之間可能會經過很多個數據鏈路,也可能還要經過很多通信子網。網絡層的任務就是選擇合適的網間路由和交換結點, 確保數據及時傳送。 在發送數據時,網絡層把運輸層產生的報文段或用戶數據報封裝成分組和包進行傳送。在 TCP/IP 體系結構中,由於網絡層使用 IP 協議,因此分組也叫 IP 數據報 ,簡稱 數據報。

這裡要注意:不要把運輸層的“用戶數據報 UDP ”和網絡層的“ IP 數據報”弄混。另外,無論是哪一層的數據單元,都可籠統地用“分組”來表示。

這裡強調指出,網絡層中的“網絡”二字已經不是我們通常談到的具體網絡,而是指計算機網絡體系結構模型中第三層的名稱.

互聯網是由大量的異構(heterogeneous)網絡通過路由器(router)相互連接起來的。互聯網使用的網絡層協議是無連接的網際協議(Intert Prococol)和許多路由選擇協議,因此互聯網的網絡層也叫做網際層或 IP 層。

數據鏈路層

數據鏈路層(data link layer)通常簡稱為鏈路層。兩臺主機之間的數據傳輸,總是在一段一段的鏈路上傳送的,這就需要使用專門的鏈路層的協議。 在兩個相鄰節點之間傳送數據時,數據鏈路層將網絡層交下來的 IP 數據報組裝程幀,在兩個相鄰節點間的鏈路上傳送幀。每一幀包括數據和必要的控制信息(如同步信息,地址信息,差錯控制等)。

在接收數據時,控制信息使接收端能夠知道一個幀從哪個比特開始和到哪個比特結束。這樣,數據鏈路層在收到一個幀後,就可從中提出數據部分,上交給網絡層。 控制信息還使接收端能夠檢測到所收到的幀中有誤差錯。如果發現差錯,數據鏈路層就簡單地丟棄這個出了差錯的幀,以避免繼續在網絡中傳送下去白白浪費網絡資源。如果需要改正數據在鏈路層傳輸時出現差錯(這就是說,數據鏈路層不僅要檢錯,而且還要糾錯),那麼就要採用可靠性傳輸協議來糾正出現的差錯。這種方法會使鏈路層的協議複雜些。

物理層

在物理層上所傳送的數據單位是比特。 物理層(physical layer)的作用是實現相鄰計算機節點之間比特流的透明傳送,儘可能屏蔽掉具體傳輸介質和物理設備的差異。 使其上面的數據鏈路層不必考慮網絡的具體傳輸介質是什麼。“透明傳送比特流”表示經實際電路傳送後的比特流沒有發生變化,對傳送的比特流來說,這個電路好像是看不見的。

在互聯網使用的各種協中最重要和最著名的就是 TCP/IP 兩個協議。現在人們經常提到的 TCP/IP 並不一定單指 TCP 和 IP 這兩個具體的協議,而往往表示互聯網所使用的整個 TCP/IP 協議族。

上面我們對計算機網絡的五層體系結構有了初步的瞭解,下面附送一張七層體系結構圖總結一下。

前端基礎:計算機網絡體系結構有哪些?分別解釋每一部分


分享到:


相關文章: