天天看點

《計算機網絡教程 自頂向下方法》 第一章

TCP/IP協定族(Transmission Control Protocol/Internet Protocol,傳輸控制協定/網際網路協定)

《計算機網絡教程 自頂向下方法》 第一章

階層化結構

《計算機網絡教程 自頂向下方法》 第一章

路由器隻涉及 3 層(網絡層、資料鍊路層、實體層)。

雖然一個路由器總是擁有一個網絡層,但是它涉及 n 個資料鍊路層和實體層的組合,其中 n 為路由器連接配接的鍊路的數目。其主要原因是每一個鍊路可以使用它自己的資料鍊路或實體層。

例如在圖 1-13中,路由器擁有 3 條連結,但是從源 A 發送到目的地 B 的消息涉及兩條連結。每一條連結可以使用不同的鍊路層和實體層協定;路由器需要從基于一對協定的鍊路 1 接收分組并将它投遞到基于另一對協定的鍊路 2。

在一條鍊路上的鍊路層交換機隻涉及兩個層次:資料鍊路層和實體層。

TCP/IP協定族中的層次

《計算機網絡教程 自頂向下方法》 第一章

差別:

應用層、傳輸層和網絡層的任務是端到端的(end-to-end)

資料鍊路層和實體層的任務是點到點的(hop-to-hop)

高三層的任務範圍是網際網路,低兩層的任務範圍是鍊路。

高三層,資料單元(分組)不應該被任何路由器或鍊路層交換機改變。

低兩層,主機建立的分組僅僅被路由器改變,鍊路層交換機不改變它們。

《計算機網絡教程 自頂向下方法》 第一章

TCP/IP各層描述

應用層

兩個應用層之間的邏輯連接配接是端到端的

通信需要通過所有層次完成。

應用層的通信處于兩個程序(該層正在運作的兩個程式)之間。

協定 作用
超級文本傳輸協定(Hypertext Transfer Protocol,HTTP) 通路網際網路(World Wide Web,WWW)的載體
簡單郵件傳輸協定(Simple Mail Transfer Protocol,SMTP) 電子郵件(e-mail)服務的主要協定
檔案傳輸協定(File Transfer Protocol,FTP) 将檔案從一台主機傳輸到另一台主機
遠端登入(Terminal Network,TELNET)和安全外殼(Secure Shell,SSH) 通路遠端的站點
簡單網絡管理協定(Simple Network Management Protocol,SNMP) 對 Internet全局或局部進行管理
域名系統(Domain Name System,DNS) 使其他的協定能夠查詢一台計算機的網絡層位址
網際網路組管理協定(Internet Group Management Protocol,IGMP) 管理一個組的成員資格

傳輸層

傳輸層的邏輯連接配接也是端到端的

傳輸層負責向應用層提供服務:從運作于應用層的程式得到資訊,并将它投遞到目的主機相應的應用程式。

傳輸控制協定(Transmission Control Protocol,TCP)是一個面向連接配接的協定,它在傳輸資料之前,首先在兩台主機的傳輸層之間建立一條邏輯連接配接。TCP 協定在兩個 TCP 層之間建立一個管道,以便傳輸位元組流。

TCP 協定提供流量控制(比對源主機的發送資料速率與目的主機的接收資料速率,以防止目的主機溢出)、差錯控制(保證資料段無差錯到達目的地和重新發送受損的資料段)、擁塞控制(減少由于網絡擁塞造成的資料段丢失)。

UDP 是一種無連接配接協定,它傳輸使用者資料報之前不需要建立邏輯連接配接。在 UDP 中,每個使用者資料報是一個獨立的實體,它和前一個或後一個使用者資料報沒有關系(無連接配接就是這個意思)。

網絡層

網絡層的通信是主機到主機的。

路徑上的路由器負責為每個分組選擇最好的路徑。

我們自己為什麼需要網絡層

原因之一是在不同的層次之間分割不同的任務。

原因之二是路由器不需要應用層和傳輸層。分割任務允許我們在路由器上加載較少的協定。

Internet 的網絡層包括其主要協定:網際網路協定(Internet Protocol,IP),網際網路協定定義了在網絡層稱為資料報的分組格式。IP 同時定義了在這一層使用的位址格式和結構。與此同時,IP 負責從源主機把一個分組路由到目的主機。這種功能主要是通過每個路由器都将資料報轉發到路徑上的下一個路由器而實作的。

IP 是一個無連接配接的協定,不提供流量控制、差錯控制和擁塞控制服務。

網際網路控制封包協定(Internet Control Message Protocol,ICMP) 幫助 IP 報告遇到的問題
協助 IP 進行多任務處理
動态主機配置協定(Dynamic Host Configuration Protocol,DHCP) 幫助 IP 擷取一台主機的網絡層位址
位址解析協定(Address Resolution Protocol,ARP) 幫助 IP 尋找一台主機或一台路由器的鍊路層位址

資料鍊路層

我們已經知道一個網際網路是多個鍊路(LAN 和 WAN)通過路由器連接配接而構成的。從主機傳輸資料報到目的地可能存在多個交疊的鍊路集。

路由器負責選擇最好的鍊路進行傳輸。資料鍊路層都要負責通過鍊路傳輸分組。

資料鍊路層接管一個資料報并将它封裝在一個稱為幀(frame)的分組中。

實體層

我們可以說實體層負責攜帶一個幀中單獨的比特穿過鍊路。

盡管實體層位于 TCP/IP 協定簇的最底層,但是由于在實體層之下存在另外一個隐藏的傳輸媒體層,是以兩個裝置實體層之間的通信仍然是邏輯通信。

兩個裝置通過一種傳輸媒體(電纜或大氣)連接配接。我們需要知道傳輸媒體不攜帶比特;它攜帶電或光信号。是以,從資料鍊路層接收的一個幀的比特需要被變換,然後通過傳輸媒體傳輸。但是我們可以認為兩個裝置實體層之間的邏輯單元是一個比特(bit)

封裝和解封裝

《計算機網絡教程 自頂向下方法》 第一章

鍊路層交換機中沒有封裝/解封裝發生

源主機的封裝

在源主機端,我們隻進行封裝。

1.在應用層,交換的資料稱為消息(message)。

2.傳輸層把這個消息的基礎上增加傳輸層頭部,其結果為一個傳輸層分組。該分組在 TCP 中稱為段(segment),在 UDP 中稱為使用者資料報(user datagram)。

3.網絡層在傳輸層分組上添加自己的頭部。其結果為一個稱為資料報(datagram)的網絡層分組。

4.資料鍊路層在網絡層分組上自己的頭部。該頭部包含主機或下一跳步(路由器)的鍊路層位址。其結果為一個稱為幀(frame)的鍊路層分組。

路由器的解封裝與封裝

由于路由器連接配接兩個或多個鍊路,是以在路由器中我們既需要進行解封裝也需要進行封裝。

1.在比特集被投遞到資料鍊路層後,這一層從幀中解封裝出資料報并将它投遞到網絡層。

2.網絡層隻檢查資料報頭部的源位址和目的位址,查閱它的轉發表以尋找該資料報将被投遞到的下一跳步。除非資料報太大以至于不能通過下一鍊路時需要對其進行分片,資料報的内容不應該被網絡層改變。然後,資料報被傳遞到下一鍊路的資料鍊路層。

3.下一鍊路的資料鍊路層将資料報封裝成一個幀,将其傳遞到實體層進行傳輸。

目的主機的解封裝

主機中的解封裝包含差錯檢查。

位址

《計算機網絡教程 自頂向下方法》 第一章

在 Internet 中,與協定分層相關的另一個概念是位址。正像以前讨論的那樣,在這種模型中一對層次之間存在邏輯通信。包含兩方的任意通信都需要兩個位址:源位址和目的位址。盡管看起來我們似乎需要 5 對位址(每層一對),但是由于實體層不需要位址,我們通常隻需要 4 對;實體層的資料交換單元是一個比特,它絕對沒有位址。

多路複用與多路分解

由于 TCP/IP 協定簇在一些層次使用多個協定,是以我們在源端需要進行多路複用(multiplexing),在目的端需要進行多路分解(demultiplexing)。在這種情況下,

多路複用的意思是一個協定能夠封裝來自多個上層協定的分組(一次一個);

多路分解的意思是一個協定能夠進行解封裝,并且将分組投遞到多個上層協定(一次一個)。

《計算機網絡教程 自頂向下方法》 第一章

繼續閱讀