OSI(Open System Interconnet 中文:開放系統互連參考模型)
一、由來
爲什麼會有這個模型,首先要從網絡說起,計算機網絡是一個複雜的系統,在這裏我就簡單地說明一下,比如,兩臺計算機要在網絡中互傳文件,那麼在這兩臺計算機之間就必須要有一條傳送數據的通路(比如光纖、雙絞線,以太網等)。但是這樣還不夠,還有以下工作要做
1)發起通信的計算機必須將數據通信的通路進行激活(activate)。所謂激活就是發出一些信號,保證要傳送的計算機數據能在這條通路上正確發送和接收。(快遞哥從A送包裹到B,首先要保證A到B要有一條可以到達的路吧)
2)要告訴網絡如何識別接收數據的計算機。(快遞哥要知道B的地點吧,不小心送給了C就不好了啦)
3)發起通信的計算機必須查明對方計算機是否已開機,並且與網絡連接正常。(要確定B在家哦)
4)發起通信的計算機中的應用程序必須弄清楚,在對方計算機中的文件管理程序是已經做好接收文件和存儲文件的準備工作。(B要在家做好拿快遞的準備並且確定他家有空閒的地方可以放這個快遞)
5)若計算機的文件格式不兼容,則至少其中的一臺計算機應完成格式轉換功能。(包裹的包裝方式B要知道怎麼拆,如果不知道A要用B懂的方法來包裝,或者B轉換成自己懂的方式、、這個比喻不太好,能理解就好)
6)對出現的各種差錯和意外事故,如數據傳送錯誤、重複或者丟失,網絡中的某個節點交換機出現故障燈,應當有可靠的的措施保證對方計算機最終能夠接收到正確的文件。(包裹出現問題,快遞公司要負責吧)
所以說,兩臺計算機要進行通信,是有很多問題要統一協調的。其實這些都可以放在一個模塊中進行處理,但是如果某個地方出現了小問題,那麼就要改整個模塊了,編過程序的人都懂吧,所以就提出了分層的方法。
那麼問題來,如果你家公司自己搞一套模型體系,我公司也來一套,這個問題大家都懂的吧,搞壟斷是挺好的,但是我公司的生產的電腦很可能就和你公司的無法溝通了。。然後blabla。。。。國際標準化組織ISO就提出了著名的開放系統互連參考模型了,也就是我們所說的OSI了。“開放”就是指非壟斷啦,這就是法律上的國際標準了,但是由於OSI的正式出現得太晚了,當時網絡已經風靡全球,然而很多公司使用的都不是OSI標準而是TCP/IP 標準(被稱爲事實上的國際標準,能夠佔領市場的就是標準)。好吧故事就講到這裏了,TCP/IP以後再說吧,OSI的由來大概都懂了吧。
二、各層概述
OSI從低到高,分別是物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層
應用層 | 訪問網絡服務的接口 | Telnet、FTP、HTTP、SNMP等 |
表示層 | 提供數據格式轉換服務 | 解密與加密,圖像解碼與編碼,常見的有URL加密、口令加密等 |
會話層 | 建立端連接並提供訪問驗證和會話管理 | 服務器驗證用戶登錄,斷點續傳等 |
傳輸層 | 提供應用進程之間的邏輯通信 | 建立連接,處理數據包錯誤、數據包次序,TCP、UDP、SPX |
網絡層 | 爲數據在節點之間傳輸創建邏輯鏈路、並分組轉發數據 | 對子網間的數據包進行路由選擇;路由器、多層交換機、防火牆、IP |
鏈路層 | 在通信的實體間建立數據鏈路連接 | 將數據分幀,並處理流控制、物理地址尋址、重發等;網卡,網橋,二層交換機等 |
物理層 | 爲數據段設備提供原始比特流的傳輸通絡 | 網絡通信的數據傳輸介質,由電纜與設備共同構成;中繼器、集線器HUB、網線等。 |
三、運作
還是A計算機與B計算機的通信
如果A發送數據給B,數據在A中是從上到下打包的,打包後的數據是越來越大的,因爲每經過一層都加上這一層的標識。當B收到這個數據是從底層到高層一層一層解壓的,這是一個逆過程。