TCP/IP五層協議

rosenWang發表於2018-11-18

五層協議的體系結構

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

TCP/IP五層協議

1.應用層

應用層(application-layer)的任務是通過應用程式間的互動來完成特定網路應用。應用層協議定義的是應用程式(程式:主機中正在執行的程式)間的通訊和互動的規則。對於不同的網路應用需要不同的應用層協議。在網際網路中應用層協議很多,如域名系統DNS,支援全球資訊網應用的 HTTP協議,支援電子郵件的SMTP協議等等。我們把應用層互動的資料單元稱為報文。

域名系統(DNS)

域名系統(Domain Name System縮寫 DNS,Domain Name被譯為域名)是因特網的一項核心服務,它作為可以將域名和IP地址相互對映的一個分散式資料庫,能夠使人更方便的訪問網際網路,而不用去記住能夠被機器直接讀取的IP數串。(百度百科)例如:一個公司的 Web 網站可看作是它在網上的門戶,而域名就相當於其門牌地址,通常域名都使用該公司的名稱或簡稱。

HTTP協議

超文字傳輸協議(HTTP,HyperText Transfer Protocol)是網際網路上應用最為廣泛的一種網路協議。所有的 WWW(全球資訊網) 檔案都必須遵守這個標準。設計 HTTP 最初的目的是為了提供一種釋出和接收 HTML 頁面的方法。(百度百科)

2.運輸層

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

  1. 傳輸控制協議 TCP(Transmisson Control Protocol)--提供面向連線的,可靠的資料傳輸服務。
  2. 使用者資料協議 UDP(User Datagram Protocol)--提供無連線的,盡最大努力的資料傳輸服務(不保證資料傳輸的可靠性)。

TCP 的主要特點

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

UDP 的主要特點

  1. UDP 是無連線的;
  2. UDP 使用盡最大努力交付,即不保證可靠交付,因此主機不需要維持複雜的連結狀態(這裡面有許多引數);
  3. UDP 是面向報文的;
  4. UDP 沒有擁塞控制,因此網路出現擁塞不會使源主機的傳送速率降低(對實時應用很有用,如 直播,實時視訊會議等);
  5. UDP 支援一對一、一對多、多對一和多對多的互動通訊;
  6. UDP 的首部開銷小,只有8個位元組,比TCP的20個位元組的首部要短。

3.網路層

網路層(network layer)負責為分組交換網上的不同主機提供通訊服務。 在傳送資料時,網路層把運輸層產生的報文段或使用者資料包封裝成分組和包進行傳送。在 TCP/IP 體系結構中,由於網路層使用 IP 協議,因此分組也叫 IP 資料包 ,簡稱 資料包。

這裡要注意:不要把運輸層的“使用者資料包 UDP ”和網路層的“ IP 資料包”弄混。另外,無論是哪一層的資料單元,都可籠統地用“分組”來表示。

網路層的另一個任務就是選擇合適的路由,使源主機運輸層所傳下來的分株,能通過網路層中的路由器找到目的主機

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

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

4.資料鏈路層

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

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

5.物理層

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

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

TCP/IP五層協議

相關文章