OSI開放式互聯(lián)參考模型
現(xiàn)在市面上的協(xié)議模型分為四層锋喜、五層和七層協(xié)議落萎,而國際標(biāo)準(zhǔn)化組織ISO制定的OSI七層協(xié)議模型钓丰,是業(yè)界提出來的概念型模型
第一層 物理層
?(機(jī)械迷郑、電子枝恋、定時(shí)接口通信信道上的原始比特流傳輸)
????????機(jī)器A往機(jī)器B上傳輸比特流,機(jī)器B可以收到比特流 物理層主要定義了物理設(shè)備的標(biāo)準(zhǔn)嗡害,如網(wǎng)線的類型鼓择、光纖的接口類型、各種傳輸介質(zhì)的傳輸速率 把01010101的機(jī)器碼轉(zhuǎn)化成電流的強(qiáng)弱就漾,到達(dá)目標(biāo)機(jī)器后再轉(zhuǎn)化成010101的機(jī)器碼 這就是傳說中的數(shù)模轉(zhuǎn)換和模數(shù)轉(zhuǎn)換,網(wǎng)卡就是工作在這一層上的
第二層 數(shù)據(jù)鏈路層
(物理尋址念搬,同時(shí)將原始比特流轉(zhuǎn)變?yōu)檫壿媯鬏斁€路)
????????在傳輸比特流的過程中會產(chǎn)生錯(cuò)傳 或者數(shù)據(jù)傳輸不完整的可能因此呢抑堡,數(shù)據(jù)鏈路層應(yīng)運(yùn)而生摆出,數(shù)據(jù)鏈路層定義了如何格式化數(shù)據(jù)已進(jìn)行傳輸,以及如何讓控制對物理介質(zhì)的訪問首妖。這一層通常還提供錯(cuò)誤檢測和糾正偎漫,以確保數(shù)據(jù)傳輸?shù)目煽啃浴1緦訉⒈忍財(cái)?shù)據(jù)組成了幀有缆,其中交換機(jī)工作在這一層里面象踊,對幀解碼并根據(jù)幀中包含的信息把數(shù)據(jù)發(fā)送到正確的接收方。那隨著網(wǎng)絡(luò)節(jié)點(diǎn)的不斷增加棚壁,點(diǎn)對點(diǎn)通信的時(shí)候是需要經(jīng)過多個(gè)節(jié)點(diǎn)的杯矩,那么如何找到目標(biāo)節(jié)點(diǎn),如何選擇最佳路徑便成為了首要需求袖外,此時(shí)便有了網(wǎng)絡(luò)層
第三層 網(wǎng)絡(luò)層?
(控制子網(wǎng)的運(yùn)行史隆,如邏輯編址、分組傳輸曼验、路由選擇)
????????其主要功能是將網(wǎng)絡(luò)地址翻譯成對應(yīng)的物理地址泌射,并決定如何將數(shù)據(jù)從發(fā)送方路由到接收方。網(wǎng)絡(luò)層通過綜合考慮發(fā)送優(yōu)先權(quán)鬓照、網(wǎng)絡(luò)擁塞程度熔酷、服務(wù)質(zhì)量以及可選路由的花費(fèi)來決定從一個(gè)網(wǎng)絡(luò)中節(jié)點(diǎn)A到另一個(gè)網(wǎng)絡(luò)中節(jié)點(diǎn)B的最佳路徑。由于網(wǎng)絡(luò)層處理并智能指導(dǎo)數(shù)據(jù)傳送豺裆、路由器連接網(wǎng)絡(luò)隔斷拒秘,所以路由器屬于網(wǎng)絡(luò)層。此層的數(shù)據(jù)留储,我們稱之為數(shù)據(jù)包翼抠。本層我們需要關(guān)注的協(xié)議,主要是Tcp/IP協(xié)議中的IP協(xié)議获讳,隨著網(wǎng)絡(luò)通信需求的進(jìn)一步擴(kuò)大阴颖,通信過程中需要發(fā)送大量的數(shù)據(jù),如海量文件傳輸?shù)目赡苄枰荛L時(shí)間丐膝,而網(wǎng)絡(luò)在通信的過程中會中斷好多次量愧,此時(shí)為了保證傳輸大量文件時(shí)的準(zhǔn)確性,需要對發(fā)出去數(shù)據(jù)進(jìn)行切分帅矗,切分為一個(gè)一個(gè)的段落偎肃,即segament?進(jìn)行發(fā)送。那么其中一個(gè)段落丟失了該怎么辦浑此?要不要重傳累颂?每個(gè)段落要按照順序到達(dá)嗎?這個(gè)便是傳輸層需要考慮的問題了。
第四層 傳輸層
(接受上一層的數(shù)據(jù)紊馏,在必要的時(shí)候把數(shù)據(jù)進(jìn)行分割料饥,并將這些數(shù)據(jù)交給網(wǎng)絡(luò)層,且保證這些數(shù)據(jù)段有效到達(dá)對端)
????????傳輸層解決了主機(jī)間的數(shù)據(jù)傳輸朱监,數(shù)據(jù)間的傳輸岸啡,可以是不同網(wǎng)絡(luò)的,并且傳輸層解決了傳輸質(zhì)量的問題赫编,該層稱之為OSI模型中最重要的一層巡蘸。傳輸協(xié)議同時(shí)進(jìn)行流量控制或是基于接收方可接收數(shù)據(jù)的快慢程度規(guī)定適當(dāng)?shù)陌l(fā)送速率。除此之外擂送,傳輸層按照網(wǎng)絡(luò)能處理的最大尺寸將較強(qiáng)的數(shù)據(jù)包進(jìn)行強(qiáng)制分割悦荒。例如以太坊無法接收大于1500字節(jié)的數(shù)據(jù)包。發(fā)送方節(jié)點(diǎn)的傳輸層將數(shù)據(jù)分割成較小的數(shù)據(jù)片团甲,同時(shí)對每一數(shù)據(jù)片安排一序列號逾冬,以便數(shù)據(jù)到達(dá)接收方節(jié)點(diǎn)的傳輸層時(shí)能以正確的順序重組。該過程即稱為排序躺苦。傳輸單中需要我們關(guān)注的協(xié)議有身腻,TCP/IP協(xié)議中的TCP協(xié)議和UDP協(xié)議。現(xiàn)在我們已經(jīng)保證給正確的計(jì)算機(jī)發(fā)送正確的封裝過后的信息啦匹厘,但是用戶級別的體驗(yàn)好不好嘀趟?難道我每次都要去調(diào)用TCP去打包?然后調(diào)用IP協(xié)議去找路由愈诚,自己去發(fā)她按?當(dāng)然不行,所以我們要建立一個(gè)自動收發(fā)包自動尋址的功能炕柔。于是發(fā)明了會話層
第五層 會話層
(不同機(jī)器間上的用戶之間建立及管理會話)
????????會話層的作用就是建立和管理應(yīng)用程序之間的通信∽锰現(xiàn)在我能保證應(yīng)用程序自動收發(fā)包和尋址了,但我要Linux給windows發(fā)包匕累。兩個(gè)系統(tǒng)語法不一致陵刹,就像安裝包一樣,exe是不能在Linux上面去執(zhí)行的欢嘿,shell在windows下也是不能直接運(yùn)行的衰琐,于是需要表示層。
第六層 表示層
(信息的語法語義以及他們的關(guān)聯(lián)炼蹦,如加密解密羡宙、轉(zhuǎn)換翻譯、壓縮解壓縮)
????????即Presentation Layer掐隐。幫我們解決不同系統(tǒng)之間的通信語法的問題狗热,在表示層,數(shù)據(jù)將按照網(wǎng)絡(luò)能理解的方案進(jìn)行格式化。這種格式化也因所使用的網(wǎng)絡(luò)類型類型不同而不同匿刮。此時(shí)雖然發(fā)送方知道自己發(fā)送的是什么東西指攒,轉(zhuǎn)換成字節(jié)數(shù)組之后有多長,但接收方肯定不知道僻焚。所以應(yīng)用層的網(wǎng)絡(luò)協(xié)議誕生了。
第七層 應(yīng)用層?
????????它規(guī)定發(fā)送方和接收方必須使用一個(gè)固定長度的消息頭膝擂,消息頭必須使用某種固定的組成虑啤。而且消息頭里必須記錄消息體的長度等一系列信息,以方便接收方能夠正確地解析發(fā)送方發(fā)送的數(shù)據(jù)架馋。應(yīng)用層旨在讓你更方便的應(yīng)用同網(wǎng)絡(luò)中接收到的數(shù)據(jù)狞山,至于數(shù)據(jù)的傳遞裁良,沒有該層阳堕,你也可以直接在兩臺電腦間開干尊剔,只不過傳來傳去就是1對1和0組成的字節(jié)數(shù)組潦嘶。該成需要我們重點(diǎn)去關(guān)注的是TCP/IP協(xié)議中的http協(xié)議公你。
總結(jié)
以上就是關(guān)于OSI各層次的劃分悯森,從應(yīng)用開始吧兔,都會對要傳輸?shù)臄?shù)據(jù)頭部進(jìn)行處理状植,加上本層的一些信息 最終由物理層通過以太網(wǎng)電纜等介質(zhì)將數(shù)據(jù)解析成比特流在網(wǎng)絡(luò)中傳輸钓瞭。數(shù)據(jù)傳遞到目標(biāo)地址驳遵。并自底而上的講先前對應(yīng)成的頭部給解析分離出來,這就是網(wǎng)絡(luò)數(shù)據(jù)處理的整個(gè)流程山涡。