ISO/OSI參考模型它將網絡結構化爲七層:物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層,如圖:
1~3層是依賴於網絡的,涉及將兩臺計算機連接在一起使用的數據通信網的相關協議,實現通信子網功能。5~7層是面向應用的,涉及允許兩個終端用戶應用進程交互作用的協議,通常是由本地操作系統提供一套服務,實現資源子網功能。中間的傳輸層爲面向應用的上3層遮蔽了跟網絡有關的下3層詳細操作。從實質上講,傳輸層建立在由下3層提供服務的基礎上,爲面向應用的高層提供網絡無關的信息交換服務。
首先來說說爲什麼要分層(分層的好處)
分層的目的是爲了降低複雜性,提高靈活性
- 各層之間是獨立的。
- 靈活性好。
- 結構上可分割開。
- 易於實現和維護。
- 能促進標準化工作。
OSI中的數據傳輸
數據流從源的上層逐層流向下層,在目的端則由下層逐層流向上層
源 – 數據封裝: APDU -> PPDU -> SPDU -> Segments -> Packet -> Frame -> Bits
目的 – 數據的拆封: Bits -> frame -> Packet -> Segment -> SPDU -> PPDU -> APDU
物理層的功能:
- 負責實際或原始的數據“位(BIT)” 傳送,通過傳輸介質將比特流由一個節點傳向另一個節點。
- 節點通常分爲DTE與DCE兩大類。DTE爲用戶端接設備,DCE爲數據控制設備。
- 該層協議的功能是定義網絡物理設備DTE/DCE的接口。
數據鏈路層的功能
- 實現兩個相鄰的機器間的無差錯的傳輸。通過對物理層提供的原始比特流傳輸服務的加強,向網絡層提供服務
- 成幀:規定數據鏈路層最小的數據傳送邏輯單位——幀的類型和格式。將從網絡層接收的信息分組組成幀後傳送給物理層,由物理層傳送到對方的數據鏈路層。
- 物理尋址和對網絡拓樸的存取
- 差錯控制:在信息幀中帶有校驗字段,當接收方收到幀時,按照選定的差錯控制方法進行校驗,在發現差錯時進行差錯處理。
- 流量控制:協調發送方與接收方的數據流量,使發送速率不要超過接收方速率。
- 共享介質環境中的介質訪問控制
- 鏈路管理:建立、維持與釋放數據鏈路。
網絡層的功能 - 涉及將源端發出的數據(分組)經各種途徑送到目的端,從源端到目的端可能要經過許多的中間節點---互連和路徑選擇 (源網絡-目標網絡)
- 通信子網的最高層,但是處理端到端(主機—主機)數據傳輸的最低層。
- 信息分組的類型和格式
- 邏輯尋址
- 路由和轉發
- 擁塞控制
傳輸層的功能 - 爲高層數據傳輸建立、維護與拆除傳輸連接,實現透明的端到端的傳輸(主機-主機)
- 真正意義上的從源到目標的“端到端”層,源端的某程序與源端的“類似”程序進行對等通信
- 屏蔽了上三層 (面向應用) 和下三層(面向數據傳輸)之間的界限,彌補網絡所提供的服務質量的不足,提供可靠的網絡服務
- 信息的分段(源端)和合並(目標端)
- 流量控制和差錯恢復
- 多路複用
會話層的功能 - 建立、管理和終結不同機器上的應用程序或進程間的會話
- 爲表示層提供服務 會話(Dialogue)的管理: 令牌(Token) 會話的同步
- 檢查點(Checkpoint)
表示層的功能 - 表示層以下各層只關心可靠的數據傳輸,而表示層關心的是所傳送數據的語法和語義。
- 完成語法格式的轉換
- 與接收方協商所採用的公共語法類型
- 表示層對等實體間連接的建立、數據傳送與連接釋放
應用層的功能 - OSI的最高層,也是離用戶最近的層,是計算機網絡與用戶之間的界面
- 由若干的應用進程或程序組成。網絡通過應用層爲用戶提供多種網絡服務。
- 常見應用層服務:①目錄服務 ②電子郵件 ③文件傳輸 ④虛擬終端
OSI的層間通信
如圖,數據是由主機A中的一些應用程序生成 的。假設用戶輸入一條消息。每層生成一個頭部及所傳數據一併傳到下一層(箭頭①)。將數據傳到下一層意味着下一層需要爲上一次提供某種服務。要完成這些服務,下一層需要在包頭或包尾加入一些信息。比如傳輸層發送其數據和包頭,網絡層在其包頭中加入正確的網絡層的目的地址,以使包能夠被傳輸到其他計算機
在程序生成數據後,物理層能實現媒體發送信號(箭頭②),當接收數據時(箭頭③),主機B啓動其上的相鄰層協議進行通信(箭頭④),指明瞭接收數據在協議棧中逐層向上遞交處理的過程
發送方的數據的封裝過程
接收方的數據的解封裝過程