TCP-IP學習筆記(三)——概述

6、封裝

當TCP傳送數據時,數據被送入協議棧中,然後通過每一層直到被當作一串比特流送入網絡。這些數據在通過每一層時都會被加入一些信息(首部或尾部),過程如下圖所示。其中TCP傳送給IP的數據單元稱爲TCP報文段,IP傳送給網絡接口層的數據單元稱作IP數據報,通過以太網傳輸的比特流稱作幀。
這裏寫圖片描述

UDP數據與TCP數據基本一致。不同的是:UDP傳送給IP的信息單元稱作UDP數據報;UDP的首部字長爲8個字節。
許多應用程序使用TCP或UDP來傳送數據,運輸層協議在生成報文首部時需要存入一個應用程序的標識符。TCP和UDP都用一個16bit的端口號來表示不同的應用程序。TCP和UDP把源端口號和目的端口號分別存入報文首部。


7、分用

當目的主機收到一個以太網數據幀時,數據就開始從協議棧中上升,去掉各層協議加入的報文首部。每層的協議盒需要檢查報文首部中的協議標識,確定接收到數據的上層協議。這個過程稱爲分用。下圖解釋了分用的過程。
這裏寫圖片描述


8、客戶—-服務器模型

大部分的網絡應用程序在編寫時都假設一端是客戶,另一端是服務器,目的是爲了讓服務器爲客戶提供一些特定的服務。我們大致可以將服務分爲重複型和併發型兩種類型。
重複型服務器通過以下步驟進行交互:

  1. 等待客戶請求。
  2. 處理客戶請求。
  3. 發送響應給發送請求的客戶。
  4. 返回第一步。

重複型服務器在第二步時,不能爲其他客戶機進行服務。併發型服務器進行了一些改進:

  1. 等待客戶請求。
  2. 啓動一個新的服務器來處理這個客戶的請求。期間生成一個新的進程、任務或線程,並依賴底層操作系統的支持。這個步驟的進行主要依賴於計算機操作系統。生成的服務器對客戶的全部請求進行處理。處理結束後,終止這個新的服務器。
  3. 返回第一步。

可以看出併發服務器利用生成其他服務器的方式來處理客戶的請求。這種情況下,每個客戶有自己對應的服務器。在操作系統允許多任務的前提下,可以同時爲多個客戶提供服務。
(通常來說,TCP服務器是併發的,UDP服務器是重複的)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章