OSI模型和TCP/IP協議族
1.1 協議分層
兩個實體之間進行通訊就需要有一個協議。而當這個通訊比較複雜的時候,我們就有必要將這個任務劃分為多層。這個時候就需要多個協議,每個層之間有各自的協議。
分層結構:通訊過程之間的任務必須是按照分層機構中指定的順序執行的。
服務:傳送方的每一層都要使用下一層的服務。
1.2 OSI模型
OSI模型的主要作用就是展示兩個不同系統之間是怎麼進行通訊的,且不需要改變底層的硬體或者軟體的邏輯。它包括有七個層,也就是,物理層,資料鏈路層,網路層,運輸層,會話層,表示層,應用層。而每個層之間是存在有介面的,每個介面都定義了該層應該想上層提供什麼樣的資訊和服務。其中,物理層,資料鏈路層,網路層,是網路支撐層,這些層的任務是在物理上把資料從一個裝置傳送到另一個裝置。而會話層,表示層,應用層是使用者支撐層,這些層使得一些原本沒有關係的軟體系統之間有了互操作性。而運輸層就是把這兩部分連結起來。
封裝:封裝的概念是這樣。第二層的分組全部被封裝到第一層中,形成了第一層中的資料部分。也就是第N層分組中的資料部分就是第N+1層中的完整分組。
大小端表示:採用大小模式對資料進行存放的主要區別在於在存放的位元組順序,大端方式將低位存放在高地址,小端方式將低位存放在低地址。採用大端方式進行資料存放符合人類的正常思維,而採用小端方式進行資料存放利於計算機處理。
下面對各個層次做一個簡單的概括。
物理層:
功能:位元流在物理媒介(或媒體)中傳輸
* 介面和媒介的物理特性
* 訊號編碼:位元的表示
* 資料傳輸速率
* 位元的同步
* 線路配置
* 物理拓撲
* 傳輸方式:單工、半雙工、全雙工
資料鏈路層:
功能:將物理層轉換為可靠的鏈路
* 組幀
* 物理編址
* 流量控制
* 差錯控制
* 接入控制
網路層:
功能:將分組從源節點交付到目的節點
* 邏輯編址
* 拓撲發現
* 路由選擇
* 分組轉發
運輸層:
功能:程序到程序的報文交付
* 服務點編址
* 分段與重灌
* 連線控制
* 流量控制
* 擁塞控制
* 差錯控制
會話層:
功能:對話控制
* 對話控制
* 同步
表示層:
功能:資訊的語法和語義
* 轉換
* 加密
* 壓縮
應用層:
功能:讓使用者方便使用網路
* 各種常用網路服務,如email,www等
1.3TCP/IP協議族
TCP/IP協議族其實只有四層也就是網路介面層,網際層,運輸層,應用層。但一般的書籍都是將其看作5層來進行學習,也就是,物理層,資料鏈路層,網路層,傳輸層,應用層。而這個結構與OSI進行對比,很容易發現TCP/IP結構沒有表示層和會話層。每層的功能和OSI類似,這裡不再贅述。
1.4 編址
實施TCP/IP協議的網際網路需要用到四個級別的地址:實體地址(資料鏈路層),邏輯地址(網路層),埠地址(傳輸層),特定應用地址(應用層)。
實體地址:網路節點鏈路層地址(通常為硬體地址)。僅對鏈路層(區域網或廣域網)有效。
邏輯地址:邏輯地址是網路層地址,用來唯一地標誌連線在Internet上的一臺主機;邏輯地址是全域性性地址,與底層的物理網路無關。
埠地址:用於區別同一臺主機中的不同程序。
特定應用地址:如email地址、URL等