一個網(wǎng)站用兩個域名谷歌搜索引擎為什么打不開
OSI七層網(wǎng)絡(luò)參考模型
文章目錄
- OSI七層網(wǎng)絡(luò)參考模型
- 1. OSI參考模型初步了解
- 2. OSI參考模型理解
- 3. 數(shù)據(jù)流通的過程
1. OSI參考模型初步了解
OSI,英文為Open System Interconnect,意為開放式系統(tǒng)互連,國際化標(biāo)準組織(ISO)指定了OSI模型,這個模型把網(wǎng)絡(luò)通信的工作定義成7個框架,分別是物理層,數(shù)據(jù)鏈路層,網(wǎng)絡(luò)層,傳輸層,會話層,表示層,應(yīng)用層,即OSI開放式系統(tǒng)互連參考模型。
這個參考模型的目的就是解決網(wǎng)絡(luò)通訊,比如說華為電腦要與蘋果電腦進行通訊,但這兩臺電腦來自不同公司,就像只會中文的人不能與只會英文的人交流,但是如果大家都統(tǒng)一使用OSI網(wǎng)絡(luò)模型來溝通情況就不一樣了
OSI參考模型也采用了分層結(jié)構(gòu)的思想,即把一個網(wǎng)絡(luò)系統(tǒng)分成若干層,每一層都去實現(xiàn)不同的工作,每一層的功能都以協(xié)議描述,該協(xié)議定義了每一層與相對于需要通信的網(wǎng)絡(luò)系統(tǒng)的等層的規(guī)則和約定,這實現(xiàn)了當(dāng)網(wǎng)絡(luò)出現(xiàn)問題的時候可以從一個宏觀的整體去分析和解決問題。每一層向相鄰上層提供一套確定的服務(wù),并且使用與之相鄰的下層所提供的服務(wù)。從概念上來講,每一層都與一個遠方對等層通信,但實際上該層所產(chǎn)生的協(xié)議信息單元是借助于相鄰下層所提供的服務(wù)傳送的。因此,對等層之間的通信稱為虛擬通信。
2. OSI參考模型理解
我們先用上面所說的華為電腦和蘋果電腦進行通信的例子,先用最通俗的語言來解釋OSI七層參考模型每一層的各施其職。假設(shè)現(xiàn)在蘋果電腦自己用應(yīng)用軟件搭建了一個網(wǎng)站,華為電腦想要訪問這個網(wǎng)站就需要軟件應(yīng)用了,比方說用瀏覽器訪問網(wǎng)站,兩個應(yīng)用具體需要如何進行交互就是應(yīng)用層的事情了,應(yīng)用層的功能不是為了應(yīng)用什么應(yīng)用程序,而是為了如何溝通,常見的應(yīng)用層協(xié)議就是HTTP了。應(yīng)用層就是最接近用戶的那一層,溝通的時候不是直接與另一應(yīng)用層進行溝通,實際物理上的連通是需要物理層的。
- 物理層:我們要發(fā)送出去的數(shù)據(jù)就是無數(shù)的0和1,這就是我們所說的“比特”,物理層就是將這些比特傳輸出去,傳輸媒介有電、光或者其他形式的電磁波來表示和傳輸信號。數(shù)據(jù)從網(wǎng)絡(luò)接口出去之后會經(jīng)過很多的網(wǎng)絡(luò)拓撲并不是一條線直接傳輸過去的,因此需要中繼器和集線器這樣的設(shè)備,但數(shù)據(jù)去到哪一臺設(shè)備是需要定向的,這時候就需要高級一點的層——數(shù)據(jù)鏈路層。
- 數(shù)據(jù)鏈路層:在數(shù)據(jù)鏈路層這里,基本傳輸單位是“幀”,在傳輸過程中可能出現(xiàn)0變成1,1變成0,所以會進行差錯檢測,當(dāng)發(fā)現(xiàn)數(shù)據(jù)錯誤時候可以重傳數(shù)據(jù)幀。另外設(shè)備的傳輸能力和接收能力也是一個問題,所以會進行一定的流量控制。在這一層中,上層數(shù)據(jù)加上源和目的方的物理地址(MAC)地址封裝為數(shù)據(jù)幀,MAC地址就是用來標(biāo)識網(wǎng)卡的物理地址(全球唯一),為了可以通過MAC地址對不同設(shè)備進行數(shù)據(jù)的傳輸,就出現(xiàn)了交換機,發(fā)送端發(fā)送數(shù)據(jù)的時候,交換機就知道了發(fā)送端的MAC地址,如果交換機知道了接收端的MAC地址就可以傳輸過去了。
- 網(wǎng)絡(luò)層:但是僅僅靠網(wǎng)卡來進行通訊效率是不高的,比如說兩個設(shè)備用的同一個廠商的網(wǎng)卡且MAC地址只相差一個字母,而它們相隔十萬八千里,物理地址此時就很難做出快速定位。因此需要IP地址來進行尋址和路由選擇。IP這樣的邏輯地址就是實現(xiàn)點到點的過程了。網(wǎng)絡(luò)層就是以路由器為最高節(jié)點俯瞰網(wǎng)絡(luò)的關(guān)鍵層,它負責(zé)將上層數(shù)據(jù)加上源和目的方的邏輯(IP)地址封裝成數(shù)據(jù)包,實現(xiàn)數(shù)據(jù)從源端到目的端的傳輸。網(wǎng)絡(luò)層進行邏輯地址尋址,實現(xiàn)不同網(wǎng)絡(luò)之間的路徑選擇。
- 傳輸層:雖然有MAC和IP地址可以抵達對方的主機,但是對方的主機可能運行著無數(shù)個軟件進程,這時就需要傳輸層了。傳輸層是計算機通信體系結(jié)構(gòu)中關(guān)鍵一層,傳輸層定義了傳輸數(shù)據(jù)的協(xié)議端口號,以及流控和差錯檢測。將上層應(yīng)用數(shù)據(jù)分片并加上端口號封裝成數(shù)據(jù)段,或通過對報文頭中的端口識別。傳輸層實現(xiàn)了網(wǎng)絡(luò)中不同主機上的用戶進程之間的數(shù)據(jù)通信,為用戶提供了進程到進程的服務(wù)。傳輸層起到了承上啟下的作用,承接上層軟件應(yīng)用,下啟網(wǎng)絡(luò)數(shù)據(jù)傳輸。
- 會話層:會話層就比較容易理解,它就是用來維持你的登錄狀態(tài)讓你不需要每一次都輸入密碼,當(dāng)然網(wǎng)站也會管理和控制你的登錄狀態(tài),會話層在這里的作用就是負責(zé)維護兩個節(jié)點之間的傳輸聯(lián)接,確保點到點傳輸不中斷,以及管理數(shù)據(jù)交換等功能。
- 表示層:表示層也很容易理解,就是將接收到的數(shù)據(jù)轉(zhuǎn)化為二進制的計算機語言、數(shù)據(jù)加密和解密、數(shù)據(jù)壓縮和解壓等,它提供了數(shù)據(jù)的安全傳輸。
- 應(yīng)用層:應(yīng)用層就是最接近用戶的一層了,是人機交互的窗口。
通過以上這些應(yīng)該就對ISO模型有所了解了吧,下面來總結(jié)一下:
層 | 作用 | 關(guān)鍵詞 |
---|---|---|
應(yīng)用層 | 最接近用戶一層,為應(yīng)用程序提供網(wǎng)絡(luò)服務(wù) | 人機交互 |
表示層 | 數(shù)據(jù)轉(zhuǎn)換、加密解密、壓縮解壓 | 數(shù)據(jù)處理 |
會話層 | 管理傳輸連接 | 管理連接 |
傳輸層 | 定義傳輸數(shù)據(jù)的協(xié)議端口號,以及流控和差錯校檢 | 段、端口號 |
網(wǎng)絡(luò)層 | 進行邏輯地址尋址,實現(xiàn)不同網(wǎng)絡(luò)之間的路徑選擇 | 包、IP地址 |
數(shù)據(jù)鏈路層 | 建立邏輯連接,進行硬件地址尋址,差錯檢測、流控等 | 幀、MAC地址 |
物理層 | 數(shù)據(jù)傳輸,決定傳輸媒介 | 比特流、媒介 |
3. 數(shù)據(jù)流通的過程
了解了各層的作用現(xiàn)在就可以把全部關(guān)聯(lián)起來:
-
傳輸層將報文連同端口號封裝成段:
-
段來到網(wǎng)絡(luò)層,加上IP地址,封裝成包,這里的包是含有目標(biāo)IP地址的:
-
但因為目標(biāo)IP地址不是同一個網(wǎng)絡(luò)下的,要發(fā)送到其他的網(wǎng)絡(luò)就要經(jīng)過默認網(wǎng)關(guān);這里就有一個問題,客戶機主機最初并不知道默認網(wǎng)關(guān)的MAC地址,沒有辦法封裝成幀,這個時候就可以通過ARP協(xié)議進行廣播找到網(wǎng)關(guān)IP對應(yīng)的MAC地址,把包封裝成幀,源MAC地址填寫自己的,目標(biāo)MAC地址填廣播地址的:
-
默認網(wǎng)關(guān)解封幀之后發(fā)現(xiàn)了MAC地址,再解封包發(fā)現(xiàn)了IP地址,就會把客戶端MAC和IP關(guān)聯(lián)為一臺主機,接著默認網(wǎng)關(guān)將自己的IP和MAC地址打包為幀,再返回客戶機,這樣客戶機就知道網(wǎng)關(guān)的IP地址了:
-
接著客戶機就可以發(fā)送數(shù)據(jù),客戶機通過比特流發(fā)送到默認網(wǎng)關(guān),默認網(wǎng)關(guān)解封發(fā)現(xiàn)這些數(shù)據(jù)是發(fā)送給自己的,同時也發(fā)現(xiàn)目標(biāo)IP地址是在另一個網(wǎng)絡(luò)中的就會進行路由轉(zhuǎn)發(fā)最終到達目的網(wǎng)絡(luò),如果目標(biāo)網(wǎng)關(guān)知道目標(biāo)IP地址和MAC地址是哪一臺主機的,就可以封裝成幀直接發(fā)送數(shù)據(jù),如果不知道的話,也是可以通過ARP協(xié)議喊一下就可以了
以上就是數(shù)據(jù)流通的基本內(nèi)容了,接下來看一下每一層對應(yīng)的協(xié)議:
層數(shù) | 名稱 | 主要協(xié)議 |
---|---|---|
1 | 物理層 | IEEE 802.3 (以太網(wǎng))、IEEE 802.4 (標(biāo)記總線)、IEEE 802.5 (令牌環(huán))、FDDI (光纖分布式數(shù)據(jù)接口)、PPP (點對點協(xié)議)、SLIP (串行線路互聯(lián)協(xié)議)等 |
2 | 數(shù)據(jù)鏈路層 | IEEE 802.2 (一般數(shù)據(jù)鏈路協(xié)議)、PPP (點對點協(xié)議)、PPPoE (以太網(wǎng)上的點對點協(xié)議)等 |
3 | 網(wǎng)絡(luò)層 | IP (互聯(lián)網(wǎng)協(xié)議)、ICMP (互聯(lián)網(wǎng)控制報文協(xié)議)、IGMP (互聯(lián)網(wǎng)組管理協(xié)議)、ARP (地址解析協(xié)議)、RARP (反向地址解析協(xié)議)等 |
4 | 傳輸層 | TCP (傳輸控制協(xié)議)、UDP (用戶數(shù)據(jù)報協(xié)議)等 |
5 | 會話層 | RPC (遠程過程調(diào)用協(xié)議)、SQL (結(jié)構(gòu)化查詢語言)、SMTP (簡單郵件傳輸協(xié)議)、NFS (網(wǎng)絡(luò)文件系統(tǒng))等 |
6 | 表示層 | SSL (安全套接字層)、TLS (傳輸層安全協(xié)議)、MIME (多用途互聯(lián)網(wǎng)郵件擴展)等 |
7 | 應(yīng)用層 | HTTP (超文本傳輸協(xié)議)、FTP (文件傳輸協(xié)議)、SMTP (簡單郵件傳輸協(xié)議)、DNS (域名系統(tǒng))、TELNET (遠程登錄協(xié)議)、SNMP (簡單網(wǎng)絡(luò)管理協(xié)議)、NFS (網(wǎng)絡(luò)文件系統(tǒng))等 |
本篇文章參考了B站博主“技術(shù)蛋老師”的視頻OSI七層網(wǎng)絡(luò)參考模型,該視頻中有更加豐富的動畫解釋。