深度解析OSI七層模型及各層工作原理
OSI的來源
OSI(Open System Interconnect),即開放式系統(tǒng)互聯(lián)。一般都叫OSI參考模型,是ISO(國際標準化組織)組織在1985年研究的網(wǎng)絡(luò)互連模型。
ISO為了更好的使網(wǎng)絡(luò)應用更為普及,推出了OSI參考模型。其含義就是推薦所有公司使用這個規(guī)范來控制網(wǎng)絡(luò)。
這樣所有公司都有相同的規(guī)范,就能互聯(lián)了。
OSI七層模型的劃分
OSI定義了網(wǎng)絡(luò)互連的七層框架(物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會話層、表示層、應用層),即ISO開放互連系統(tǒng)參考模型。
每一層實現(xiàn)各自的功能和協(xié)議,并完成與相鄰層的接口通信。OSI的服務定義詳細說明了各層所提供的服務。
某一層的服務就是該層及其下各層的一種能力,它通過接口提供給更高一層。各層所提供的服務與這些服務是怎么實現(xiàn)的無關(guān)。

各層功能定義
這里我們只對OSI各層進行功能上的大概闡述,不詳細深究,因為每一層實際都是一個復雜的層,這里我們就大概了解一下。我們從最頂層——應用層 開始介紹。整個過程以公司A和公司B的一次商業(yè)報價單發(fā)送為例子進行講解。

01??應用層?
OSI參考模型中最靠近用戶的一層,是為計算機用戶提供應用接口,也為用戶直接提供各種網(wǎng)絡(luò)服務。
我們常見應用層的網(wǎng)絡(luò)服務協(xié)議有:HTTP,HTTPS,F(xiàn)TP,POP3、SMTP等。
實際公司A的老板就是我們所述的用戶,而他要發(fā)送的商業(yè)報價單,就是應用層提供的一種網(wǎng)絡(luò)服務,當然,老板也可以選擇其他服務,比如說,發(fā)一份商業(yè)合同,發(fā)一份詢價單,等等。
?02??表示層?
表示層提供各種用于應用層數(shù)據(jù)的編碼和轉(zhuǎn)換功能,確保一個系統(tǒng)的應用層發(fā)送的數(shù)據(jù)能被另一個系統(tǒng)的應用層識別。
如果必要,該層可提供一種標準表示形式,用于將計算機內(nèi)部的多種數(shù)據(jù)格式轉(zhuǎn)換成通信中采用的標準表示形式。數(shù)據(jù)壓縮和加密也是表示層可提供的轉(zhuǎn)換功能之一。
由于公司A和公司B是不同國家的公司,他們之間的商定統(tǒng)一用英語作為交流的語言,所以此時表示層(公司的文秘),就是將應用層的傳遞信息轉(zhuǎn)翻譯成英語。同時為了防止別的公司看到,公司A的人也會對這份報價單做一些加密的處理。
這就是表示的作用,將應用層的數(shù)據(jù)轉(zhuǎn)換翻譯等。
?03??會話層?
會話層就是負責建立、管理和終止表示層實體之間的通信會話。該層的通信由不同設(shè)備中的應用程序之間的服務請求和響應組成。
會話層的同事拿到表示層的同事轉(zhuǎn)換后資料,(會話層的同事類似公司的外聯(lián)部),會話層的同事那里可能會掌握本公司與其他好多公司的聯(lián)系方式,這里公司就是實際傳遞過程中的實體。他們要管理本公司與外界好多公司的聯(lián)系會話。
當接收到表示層的數(shù)據(jù)后,會話層將會建立并記錄本次會話,他首先要找到公司B的地址信息,然后將整份資料放進信封,并寫上地址和聯(lián)系方式。準備將資料寄出。等到確定公司B接收到此份報價單后,此次會話就算結(jié)束了,外聯(lián)部的同事就會終止此次會話。
會話層、表示層和應用層重點:
1> 數(shù)據(jù)傳輸基本單位為報文;
2> 包含的主要協(xié)議:FTP(文件傳送協(xié)議)、Telnet(遠程登錄協(xié)議)、DNS(域名解析協(xié)議)、SMTP(郵件傳送協(xié)議),POP3協(xié)議(郵局協(xié)議),HTTP協(xié)議(Hyper Text Transfer Protocol)。
?04??傳輸層?
傳輸層建立了主機端到端的鏈接,傳輸層的作用是為上層協(xié)議提供端到端的可靠和透明的數(shù)據(jù)傳輸服務,包括處理差錯控制和流量控制等問題。
該層向高層屏蔽了下層數(shù)據(jù)通信的細節(jié),使高層用戶看到的只是在兩個傳輸實體間的一條主機到主機的、可由用戶控制和設(shè)定的、可靠的數(shù)據(jù)通路。
傳輸層的任務是根據(jù)通信子網(wǎng)的特性,最佳的利用網(wǎng)絡(luò)資源,為兩個端系統(tǒng)的會話層之間,提供建立、維護和取消傳輸連接的功能,負責端到端的可靠數(shù)據(jù)傳輸。在這一層,信息傳送的協(xié)議數(shù)據(jù)單元稱為段或報文。
我們通常說的,TCP UDP就是在這一層。端口號既是這里的“端”。
傳輸層就相當于公司中的負責快遞郵件收發(fā)的人,公司自己的投遞員,他們負責將上一層的要寄出的資料投遞到快遞公司或郵局。
有關(guān)傳輸層的重點:
1> 傳輸層負責將上層數(shù)據(jù)分段并提供端到端的、可靠的或不可靠的傳輸以及端到端的差錯控制和流量控制問題;
2> 包含的主要協(xié)議:TCP協(xié)議(Transmission Control Protocol,傳輸控制協(xié)議)、UDP協(xié)議(User Datagram Protocol,用戶數(shù)據(jù)報協(xié)議);
?05??網(wǎng)絡(luò)層?
本層通過IP尋址來建立兩個節(jié)點之間的連接,為源端的運輸層送來的分組,選擇合適的路由和交換節(jié)點,正確無誤地按照地址傳送給目的端的運輸層。就是通常說的IP層。
如果你想用盡量少的詞來記住網(wǎng)絡(luò)層,那就是“路徑選擇、路由及邏輯尋址”。這一層就是我們經(jīng)常說的IP協(xié)議層,IP協(xié)議是Internet的基礎(chǔ)。
網(wǎng)絡(luò)層就相當于快遞公司龐大的快遞網(wǎng)絡(luò),全國不同的集散中心,比如說,從深圳發(fā)往北京的順豐快遞(陸運為例啊,空運好像直接就飛到北京了),首先要到順豐的深圳集散中心,從深圳集散中心再送到武漢集散中心,從武漢集散中心再寄到北京順義集散中心。這個每個集散中心,就相當于網(wǎng)絡(luò)中的一個IP節(jié)點。
有關(guān)網(wǎng)絡(luò)層的重點:
1> 網(wǎng)絡(luò)層負責對子網(wǎng)間的數(shù)據(jù)包進行路由選擇。此外,網(wǎng)絡(luò)層還可以實現(xiàn)擁塞控制、網(wǎng)際互連等功能;
2> 基本數(shù)據(jù)單位為IP數(shù)據(jù)報;
3> 包含的主要協(xié)議:
IP協(xié)議(Internet Protocol,因特網(wǎng)互聯(lián)協(xié)議);
ICMP協(xié)議(Internet Control Message Protocol,因特網(wǎng)控制報文協(xié)議);
ARP協(xié)議(Address Resolution Protocol,地址解析協(xié)議);
RARP協(xié)議(Reverse Address Resolution Protocol,逆地址解析協(xié)議)。
4> 重要的設(shè)備:路由器。
06??數(shù)據(jù)鏈路層?
將比特組合成字節(jié),再將字節(jié)組合成幀,使用鏈路層地址 (以太網(wǎng)使用MAC地址)來訪問介質(zhì),并進行差錯檢測。
數(shù)據(jù)鏈路層又分為2個子層:邏輯鏈路控制子層(LLC)和媒體訪問控制子層(MAC)。MAC子層處理CSMA/CD算法、數(shù)據(jù)出錯校驗、成幀等;LLC子層定義了一些字段使上次協(xié)議能共享數(shù)據(jù)鏈路層。在實際使用中,LLC子層并非必需的。
數(shù)據(jù)鏈路層在不可靠的物理介質(zhì)上提供可靠的傳輸。該層的作用包括:物理地址尋址、數(shù)據(jù)的成幀、流量控制、數(shù)據(jù)的檢錯、重發(fā)等。
有關(guān)數(shù)據(jù)鏈路層的重要知識點:
1> 數(shù)據(jù)鏈路層為網(wǎng)絡(luò)層提供可靠的數(shù)據(jù)傳輸;
2> 基本數(shù)據(jù)單位為幀;
3> 主要的協(xié)議:以太網(wǎng)協(xié)議;
4> 重要設(shè)備名稱:交換機。
07??物理層?
實際最終信號的傳輸是通過物理層實現(xiàn)的。通過物理介質(zhì)傳輸比特流。規(guī)定了電平、速度和電纜針腳。
常用設(shè)備有(各種物理設(shè)備)集線器、中繼器、調(diào)制解調(diào)器、網(wǎng)線、雙絞線、同軸電纜,這些都是物理層的傳輸介質(zhì)。物理層記住兩個重要的設(shè)備名稱,中繼器(Repeater,也叫放大器)和集線器。
快遞寄送過程中的交通工具,就相當于我們的物理層,例如汽車,火車,飛機,船。