*****
**OSI七層模型**
[TOC=6]
# 1. 為什么要學習OSI七層模型?
自從互聯網遍布中國以來,電腦和手機的普及,我們每天都在使用互聯網。
每天聊著QQ,上著淘寶。
但這些互聯網項目是怎么運行的呢?
有沒有充滿好奇呢?
# 2. OSI七層模型的由來

OSI (open system interconnection)**開放系統互聯**。國際標準化組織(ISO)指定了OSI模型,1977 年OSI 參考模型的提出,標記著計算機網絡進入到第三個階段。這個模型把網絡通信分為7層,分別是物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層。OSI 七層模型(可以滿足所有網絡環境)
OSI模型的設計目的是成為一個所有銷售商都能是吸納的開放網路模型,來克服使用眾多私有網絡模型所帶來的困難和低效。
# 3. 什么是OSI七層模型?
OSI(Open System Interconnection)參考模型是國際標準化組織(ISO)制定的一個用于計算機或通信系統間互聯的標
準體系,一般稱為OSI參考模型或七層模型。
# 4. 分別是哪七層呢?

**物理層**?規定通信設備的機械的、電氣、功能的和過程的特性,具體講:機械特性規定了網絡連接所需接插件的規格尺寸,和排列情況,電氣規定了物理連接上傳輸bit流時線路上信號電平的大小、主抗匹配、傳輸速率距離限制等。物理層的功能,為數據端設備提供傳送數據的通路,物理層的主要設備:中繼器、集線器。水晶頭、網線。個人理解為基礎設備
**數據鏈路層**(DataLinkLayer) 在物理層提供比特流服務的基礎上,建立相鄰節點之間的數據鏈路,通過差錯控制提供數據幀(Frame)在信道上無差錯的傳輸
數據鏈路層在不可靠的物理介質上提供可靠的傳輸,該層的作用:物理地址尋址、數據的成幀、流量控制、數據的檢錯、重發等,在這層,數據的單位成為幀(frame)
數據鏈路層主要設備:二層交換機、網橋、網卡
**網絡層**,在計算機網絡中進行通信的兩個計算機之間可能會經過很多個數據鏈路,也可能還要經過很多通信子網。網絡層的任務就是選擇合適的網間路由和交換結點,確保數據及時傳送。網絡層將解封數據鏈路層收到的幀,提取數據包,包中封裝有網絡層包頭,其中含有邏輯地址信息- -源站點和目的站點地址的網絡地址。
我們常說的ip地址,就是說的第三層網絡層的問題,這里是數據包的問題,而不是第二層的幀,除了ip,還有一些路由協議和地址解析協議(ARP),有關路由的一切事情都在第三層處理,地址解析和路由是第三層的重要目的,網絡層還可以實現擁塞控制、國際互聯。在這一層,數據的單位成為數據包(packet)
網絡層主要設備:路由器
**傳輸層**的數據單元稱為數據段,這個層負責獲取全部信息,它跟蹤數據單元碎片、亂序到達的數據包和其它在傳輸過程中可能發生的危險。傳輸層是兩臺計算機經過網絡進行數據通信時,第一個端到端的層次,具有緩沖作用。傳輸層是源端到目的端對數據傳送進行控制從低到高的最后一層。
傳輸層的服務一般要經歷傳輸連接建立階段、數據傳送階段、傳輸連接釋放階段3個階段才算完成一個完整的服務過程。而在數據傳送階段又分為一般數據傳送和加速數據傳送兩種。傳輸層服務分成5種類型。基本可以滿足對傳送質量、傳送速度、傳送費用的各種不同需要.
**會話層**,認為是一次通訊的過程,比如兩個人打電話,稱為一次會話。這一層也可以稱為會晤層或對話層,在會話層及以上的高層次中,數據傳送的單位不再另外命名,統稱為報文。會話層不參與具體的傳輸,它提供包括訪問驗證和會話管理在內的建立和維護應用之間通信的機制。如服務器驗證用戶登錄便是由會話層完成的。
**表示層**,這一層需要解決用戶信息的語法表示問題,它將欲交換的數據從適合某一用戶的抽象語法,轉換為適合于OSI 系統內部使用的傳送語法。例如圖像格式的顯示,就是由位于表示層的協議來支持。
**應用層**,為操作系統或網絡應用程序提供訪問網絡服務的接口。
應用層協議的代表包括:Telnet、FTP、HTTP、SNMP、DNS等。
# 5. 傳輸過程

通過 OSI 層,信息可以從一臺計算機的軟件應用程序傳輸到另一臺的應用程序上。例如,計算機 A 上的應用程序要將信息發送到計算機 B 的應用程序,則計算機 A 中的應用程序需要將信息先發送到其應用層(第七層),然后此層將信息發送到表示層(第六層),表示層將數據轉送到會話層(第五層),如此繼續,直至物理層(第一層)。在物理層,數據被放置在物理網絡媒介中并被發送至計算機 B 。計算機 B 的物理層接收來自物理媒介的數據,然后將信息向上發送至數據鏈路層(第二層),數據鏈路層再轉送給網絡層,依次繼續直到信息到達計算機 B 的應用層。最后,計算機 B 的應用層再將信息傳送給應用程序接收端,從而完成通信過程

在七層的過程中,每一層都會做一個標記,下層為上層服務,下層對于上層來說是透明的。
# 6. 注意點
O S I模型本身不是網絡體系結構的全部內容,這是因為它并未確切地描述用
于各層的協議和實現方法,而僅僅告訴我們每一層應該完成的功能。不過, I S O已經為各層制定 了相應的標準,但這些標準并不是模型的一部分,它們是作為獨立的國際標準而被發布的。
在O S I參考模型中,有三個基本概念:服務、接口和協議。也許O S I模型的最重要的貢獻是將這三個概念區分清楚了。
O S I參考模型是在其協議開發之前設計出來的。這意味著O S I模型不是基于某個特定的協議集而設計的,因而它更具有通用性。但另一方面,也意味著O S I模型在協議實現方面存在某些不足。實際上,O S I協議過于復雜,這也是O S I從未真正流行開來的原因所在。
雖然O S I模型和協議并未獲得巨大的成功,但是O S I參考模型在計算機網絡的發展過程中仍 然起到了非常重要的指導作用,作為一種參考模型和完整體系,它仍對今后計算機網絡技術朝標準化、規范化方向發展具有指導意義。
- 咨詢項目實戰
- 第一單元 HTTP協議
- 1.1 OSI七層模型
- 1.2 HTTP協議(重點)
- 1.3 HTTPS協議(了解)
- 1.4 TCP/IP協議擴展
- 1.5 WebService簡介及實戰(無接口)
- 1.6 課后練習
- 第二單元 HTTPURLConnection
- 2.1 ANR
- 2.2 網絡判斷
- 2.3 HTTPURLConnection
- 2.4 課后練習
- 第三單元 AsyncTask
- 3.1 AsyncTask概述
- 3.2 AsyncTask基本使用
- 3.3 課后練習
- 第四單元 圖片異步加載
- 4.1 圖片異步加載概述
- 4.2 LruCache
- 4.3 DiskLRUCache
- 4.4 圖片三級緩存概述
- 4.5 封裝圖片加載緩存框架
- 第五單元 ListView多條目
- 5.1 ListView多條目概述
- 5.2 ListView多條目的使用
- 第六單元 ListView實現下拉刷新上拉加載
- 6.1 下拉刷新和上拉加載更多
- 6.2 XListView概述
- 6.3 XListView的使用
- 第七單元 封裝網絡框
- 7.1 封裝網絡框架概述
- 7.2 網絡框架的封裝
- 第八單元 項目介紹
- 8.1 公司項目團隊架構簡介
- 8.2 項目文檔及項目流程介紹
- 8.3 項目管理
- 8.4 項目開發
- 第九單元 項目框架搭建
- 9.1 基類封裝概述
- 9.2 Application中初始化配置
- 9.3 項目中的工具類
- 9.4 封裝網絡請求框架
- 9.5 封裝圖片異步緩存框架
- 第十單元 搭建UI框架1
- 10.1 側滑菜單概述
- 10.2 主界面框架搭建
- 第十一單元 搭建UI框架2
- 11.1 TabLayout的概述
- 11.2 TabLayout的使用
- 第十二單元 圖片上傳
- 12.1 圖片上傳概述
- 12.2 圖片上傳的實現
- 第十三單元 PullToRefresh
- 13.1 PullToRefresh概述
- 13.2 PullToRefresh的使用
- 13.3 緩存業務實現思路
- 第十四單元 事件分發及滑動沖突
- 14.1 事件分發概述
- 14.2 事件分發流程
- 14.3 事件分發的使用
- 第十五單元 傳感器的基本使用
- 15.1 傳感器概述
- 15.2 傳感器的使用
- 第十六單元 HTML與CSS復習
- 16.1 HTML
- 16.2 CSS
- 第十七單元 js復習
- 17.1 js基礎語法
- 17.2 js數組和內置對象
- 17.3 js常用事件
- 17.4 js對象模型
- 17.5 js 正則表達式
- 第十八單元 WebView
- 18.1 WebView 概述
- 18.2 WebView的使用
- 18.3 WebView與js交互
- 第十九單元 項目案例
- 項目概述
- 第二十單元 項目答辯
- 周考
- 第一周周考
- 第二周周考
- 第三種周考
- 月考
- 接口文檔