天天看點

《TCP/IP詳解卷1:協定》第1章 概述-讀書筆記

章節回顧:

《TCP/IP詳解卷1:協定》第1章 概述-讀書筆記

《TCP/IP詳解卷1:協定》第2章 鍊路層-讀書筆記

《TCP/IP詳解卷1:協定》第3章 IP:網際協定(1)-讀書筆記

《TCP/IP詳解卷1:協定》第3章 IP:網際協定(2)-讀書筆記

《TCP/IP詳解卷1:協定》第4章 ARP:位址解析協定-讀書筆記

《TCP/IP詳解卷1:協定》第5章 RARP:逆位址解析協定-讀書筆記

《TCP/IP詳解卷1:協定》第6章 ICMP:Internet控制封包協定-讀書筆記

《TCP/IP詳解卷1:協定》第11章 UDP:使用者資料報協定-讀書筆記

《TCP/IP詳解卷1:協定》第17、18章 TCP:傳輸控制協定(1)-讀書筆記

《TCP/IP詳解卷1:協定》第17、18章 TCP:傳輸控制協定(2)-讀書筆記

《TCP/IP詳解卷1:協定》第19章 TCP的互動資料流-讀書筆記

1、引言

很多不同的廠家生産各種型号的計算機,它們運作完全不同的作業系統,但TCP/IP協定族允許它們互相進行通信。TCP/IP起源于60年代末美國政府資助的一個分組交換網絡研究項目,到90年代已發展成為計算機之間最常應用的組網形式。

2、分層

網絡協定通常分不同層次進行開發,每一層分别負責不同的通信功能。一個協定族,如TCP/IP是一組不同層次上的多個協定的組合。TCP/IP通常被認為是一個四層協定系統。

《TCP/IP詳解卷1:協定》第1章 概述-讀書筆記

每一層負責不同的功能:

(1)鍊路層

也稱作資料鍊路層或網絡接口層。通常包括作業系統中的裝置驅動程式和計算機中對應的網絡接口卡。它們一起處理與電纜(或其他任何傳輸媒介)的實體接口細節。

(2)網絡層

也稱作網際網路層,處理分組在網絡中的活動,例如分組的選路。在TCP/IP協定族中,網絡層協定包括IP協定(網際協定),ICMP協定(Internet網際網路控制封包協定),以及IGMP協定(Internet組管理協定)。

(3)運輸層

為兩台主機上的應用程式提供端到端的通信。在TCP/IP協定族中,有兩個互不相同的傳輸協定:TCP(傳輸控制協定)和UDP(使用者資料報協定)。

TCP為兩台主機提供高可靠性的資料通信。它所做的工作包括把應用程式交給它的資料分成合适的小塊交給下面的網絡層,确認接收到的分組,設定發送最後确認分組的逾時時鐘等。UDP為應用層提供一種非常簡單的服務。它隻是把稱作資料報的分組從一台主機發送到另一台主機,但并不保證該資料報能到達另一端。

(4)應用層

處理特定的應用程式細節。例如:Telnet遠端登入、FTP檔案傳輸協定、SMTP簡單郵件傳送協定,SNMP簡單網絡管理協定等。

假設在一個區域網路(LAN)如以太網中有兩台主機,二者都運作FTP協定,圖1-2列出了該過程所涉及到的所有協定。

《TCP/IP詳解卷1:協定》第1章 概述-讀書筆記

說明:

(1)大多數網絡應用程式都被設計成客戶-伺服器模式,伺服器為客戶提供某種服務。

(2)在同一層上,雙方都有對應的一個或多個協定進行通信。

(3)應用程式通常是一個使用者程序,而下三層則一般在(作業系統)核心中執行。

(4)應用層關心的是應用程式的細節,而不是資料在網絡中的傳輸活動。下三層對應用程式一無所知,但它們要處理所有的通信細節。

《TCP/IP詳解卷1:協定》第1章 概述-讀書筆記

在圖1-3中,可以劃分出端系統(兩邊的兩台主機)和中間系統(中間的路由器)。應用層和運輸層使用端到端協定。網絡層提供的是逐跳協定,點到點的服務。兩個端系統和每個中間系統都要使用它。

連接配接網絡的另一個途徑是使用網橋。網橋是在鍊路層上對網絡進行互連,而路由器則是在網絡層上對網絡進行互連。網橋使得多個區域網路組合在一起,這樣對上層來說就好像是一個區域網路。

3、TCP/IP的分層

《TCP/IP詳解卷1:協定》第1章 概述-讀書筆記

(1)TCP和UDP是運輸層協定,二者都使用IP作為網絡層協定。雖然TCP使用不可靠的IP服務,但它卻提供一種可靠的運輸層服務。UDP為應用程式發送和接收資料報。一個資料報是指從發送方傳輸到接收方的一個資訊單元。UDP是不可靠的,它不能保證資料報能安全無誤地到達最終目的。

(2)IP是網絡層上的主要協定,同時被TCP和UDP使用。TCP和UDP的每組資料都通過端系統和每個中間路由器中的IP層在網際網路中進行傳輸。

(3)ICMP是IP協定的附屬協定,IP層用它來與其他主機或路由器交換錯誤封包和其他重要資訊。IGMP是Internet組管理協定,它用來把一個UDP資料報多點傳播到多個主機。

(4)ARP(位址解析協定)和RARP(逆位址解析協定)是某些網絡接口(如以太網和令牌環網)使用的特殊協定,用來轉換IP層和網絡接口層使用的位址。

4、網際網路的位址

網際網路上的每個接口必須有一個唯一的Internet位址(也稱作IP位址)。IP位址長32bit。IP位址具有一定的結構,五類不同的網際網路位址格式如圖1-5所示。

《TCP/IP詳解卷1:協定》第1章 概述-讀書筆記
《TCP/IP詳解卷1:協定》第1章 概述-讀書筆記

(1)多接口主機具有多個IP位址,其中每個接口都對應一個IP位址。

(2)有三類IP位址:單點傳播位址(目的端為單個主機)、廣播位址(目的端為給定網絡上的所有主機)以及多點傳播位址(目的端為同一組内的所有主機)。

5、域名系統

在TCP/IP領域中,域名系統(DNS)是一個分布的資料庫,由它來提供IP位址和主機名之間的映射資訊。

6、封裝

當應用程式用TCP傳送資料時,資料被送入協定棧中,然後逐個通過每一層直到被當作一串比特流送入網絡。其中每一層對收到的資料都要增加一些首部資訊(有時還要增加尾部資訊)。如圖1-7所示。

《TCP/IP詳解卷1:協定》第1章 概述-讀書筆記

(1)TCP傳給IP的資料單元稱作TCP封包段或簡稱為TCP段。IP傳給網絡接口層的資料單元稱作IP資料報。通過以太網傳輸的比特流稱作幀。

(2)以太網資料幀的實體特性是其長度必須在46~1500位元組之間。

(3)UDP資料與TCP資料基本一緻。唯一的不同是UDP傳給IP的資訊單元稱作UDP資料報,而且UDP的首部長為8位元組。

7、分用

當目的主機收到一個以太網資料幀時,資料就開始從協定棧中由底向上升,同時去掉各層協定加上的封包首部。每層協定盒都要去檢查封包首部中的協定辨別,以确定接收資料的上層協定。這個過程稱作分用。

《TCP/IP詳解卷1:協定》第1章 概述-讀書筆記

8、客戶-伺服器模型

大部分網絡應用程式在編寫時都假設一端是客戶,另一端是伺服器,其目的是為了讓伺服器為客戶提供一些特定的服務。服務分為兩種類型:重複型和并發型。

(1)重複型伺服器

1)等待一個客戶請求的到來。

2)處理客戶請求。

3)發送響應給發送請求的客戶。

4)傳回1)步。

重複型伺服器主要的問題發生在2)狀态。在這個時候,它不能為其他客戶機提供服務。

(2)并發型伺服器

2)啟動一個新的伺服器來處理這個客戶的請求。在這期間可能生成一個新的程序、任務或線程,并依賴底層作業系統的支援。這個步驟如何進行取決于作業系統。生成的新伺服器對客戶的全部請求進行處理。處理結束後,終止這個新伺服器。

3)傳回1)步。

并發伺服器的優點在于它是利用生成其他伺服器的方法來處理客戶的請求。每個客戶都有它自己對應的伺服器。如果作業系統允許多任務,那麼就可以同時為多個客戶服務。

(1)對伺服器,而不是對客戶進行分類的原因是因為對于一個客戶來說,它通常并不能夠辨識自己是與一個重複型伺服器或并發型伺服器進行對話。

(2)一般來說,TCP伺服器是并發的,而UDP伺服器是重複的,但也存在一些例外。

9、端口号

TCP和UDP采用16bit的端口号來識别應用程式。伺服器一般都是通過知名端口号來識别的。任何TCP/IP實作所提供的服務都用知名的1~1023之間的端口号。

(1)用戶端通常對它所使用的端口号并不關心,隻需保證該端口号在本機上是唯一的就可以了。用戶端口号又稱作臨時端口号(即存在時間很短暫)。這是因為它通常隻是在使用者運作該客戶程式時才存在,而伺服器則隻要主機開着的,其服務就運作。

(2)Unix系統有保留端口号的概念。隻有具有超級使用者特權的程序才允許給它自己配置設定一個保留端口号。這些端口号介于1~1023之間。

(3)大多數Unix系統的檔案 /etc/services都包含了人們熟知的端口号。如果你想找到某個應用的端口号,可以執行以下指令(以Telnet為例):

《TCP/IP詳解卷1:協定》第1章 概述-讀書筆記

10、标準的簡單服務

《TCP/IP詳解卷1:協定》第1章 概述-讀書筆記

11、其他說明

(1)所有關于Internet的正式标準都以RFC(Request for Comment)文檔出版。大量的RFC并不是正式的标準,出版的目的隻是為了提供資訊。

(2)internet這個詞第一個字母是否大寫決定了它具有不同的含義。internet意思是用一個共同的協定族把多個網絡連接配接在一起。而Internet指的是世界範圍内通過TCP/IP互相通信的所有主機集合。Internet是一個internet,但internet不等于Internet。

繼續閱讀