網(wǎng)絡(luò)通信協(xié)議層的七個(gè)部分
為了能夠更好的將計(jì)算機(jī)網(wǎng)絡(luò)規(guī)范好。我們將網(wǎng)絡(luò)通信協(xié)議層分為七個(gè)層次。這也是著名的OSI模型標(biāo)準(zhǔn)。現(xiàn)在,根據(jù)每一個(gè)層次我們來詳細(xì)說一下有關(guān)的協(xié)議。看看他們每一個(gè)層次的具體作用是什么。
網(wǎng)絡(luò)通信協(xié)議層1:物理層
物理層(physical layer)的主要功能是完成相鄰結(jié)點(diǎn)之間原始比特流傳輸。物理層協(xié)議關(guān)心的典型問題是使用什么樣的物理信號(hào)來表示數(shù)據(jù)0和1。1位持續(xù)的時(shí)間多長。數(shù)據(jù)傳輸是否可同時(shí)在兩個(gè)方向上進(jìn)行。最初的廉潔如何建立以及完成通信后連接如何終止。物理接口(插頭和插座)有多少針以及各針的作用。物理層的設(shè)計(jì)主要涉及物理層接口的機(jī)械、電氣、功能和過電特性,以及物理層接口連接的傳輸介質(zhì)等問題。物理層的實(shí)際還涉及到通信工程領(lǐng)域內(nèi)的一些問題。
網(wǎng)絡(luò)通信協(xié)議層2:數(shù)據(jù)鏈路層
數(shù)據(jù)鏈路層(data link layer)的主要功能是如何在不可靠的物理線路上進(jìn)行數(shù)據(jù)的可靠傳輸。數(shù)據(jù)鏈路層完成的是網(wǎng)絡(luò)中相鄰結(jié)點(diǎn)之間可靠的數(shù)據(jù)通信。為了保證書覺得可靠傳輸,發(fā)送出的數(shù)據(jù)針,并按順序傳送個(gè)針。由于物理線路不可靠,因此發(fā)送方發(fā)出的數(shù)據(jù)針有可能在線路上出錯(cuò)或丟失,從而導(dǎo)致接受方無法正確接收數(shù)據(jù)。為了保證能讓接收方對接收到的數(shù)據(jù)進(jìn)行正確的判斷,發(fā)送方位每個(gè)數(shù)據(jù)塊計(jì)算出CRC(循環(huán)冗余檢驗(yàn))并加入到針中,這樣接收方就可以通過重新計(jì)算CRC來判斷接收到的數(shù)據(jù)是否正確。一旦接收方發(fā)現(xiàn)接收到的數(shù)據(jù)有錯(cuò)誤,則發(fā)送方必須重新傳送這一數(shù)據(jù)。然而,相同的數(shù)據(jù)多次傳送也可能是接收方收到重復(fù)的數(shù)據(jù)。
數(shù)據(jù)鏈路層要解決的另一個(gè)問題是防止高速發(fā)送方的數(shù)據(jù)把低速接收方“淹沒”。因此需要某種信息流量控制機(jī)制使發(fā)送方得知接收方當(dāng)前還有多少緩存空間。為了控制的方便,流量控制常常和差錯(cuò)處理一同實(shí)現(xiàn)。
在廣域網(wǎng)中,數(shù)據(jù)鏈路層負(fù)責(zé)主機(jī)IMP、IMP-IMP之間數(shù)據(jù)的可靠傳送。在局域網(wǎng)中,數(shù)據(jù)鏈路層負(fù)責(zé)制及之間數(shù)據(jù)的可靠傳輸。
網(wǎng)絡(luò)通信協(xié)議層3:網(wǎng)絡(luò)層
網(wǎng)絡(luò)層(network layer)的主要功能是完成網(wǎng)絡(luò)中主機(jī)間的報(bào)文傳輸,其關(guān)鍵問題之一是使用數(shù)據(jù)鏈路層的服務(wù)將每個(gè)報(bào)文從源端傳輸?shù)侥康亩恕T趶V域網(wǎng)中,這包括產(chǎn)生從源端到目的端的路由,并要求這條路徑經(jīng)過盡可能少的IMP。如果在子網(wǎng)中同時(shí)出現(xiàn)過多的報(bào)文,子網(wǎng)就可能形成擁塞,因?yàn)楸仨毤右员苊膺@種情況的出現(xiàn)。
當(dāng)報(bào)文不得不跨越兩個(gè)或多個(gè)網(wǎng)絡(luò)時(shí),又會(huì)帶來很多新問題。比在單個(gè)局域網(wǎng)中,網(wǎng)絡(luò)層是冗余的,因?yàn)閳?bào)文是直接從一臺(tái)計(jì)算機(jī)傳送到另一臺(tái)計(jì)算機(jī)的,因此網(wǎng)絡(luò)層所要做的工作很少。
網(wǎng)絡(luò)通信協(xié)議層4:傳輸層
傳輸層(transport layer)的主要功能是實(shí)現(xiàn)網(wǎng)絡(luò)中不同主機(jī)上的用戶進(jìn)程之間可靠的數(shù)據(jù)通信。
傳輸層要決定會(huì)話層用戶(最終對網(wǎng)絡(luò)用戶)提供什么樣的服務(wù)。最好的傳輸連接是一條無差錯(cuò)的、按順序傳送數(shù)據(jù)的管道,即傳輸層連接時(shí)真正的點(diǎn)到點(diǎn)。
由于絕大多數(shù)的主機(jī)都支持多用戶操作,因而機(jī)器上有多道程序就意味著將有多條連接進(jìn)出于這些主機(jī),因此需要以某種方式區(qū)別報(bào)文屬于哪條連接。識(shí)別這些連接的信息可以放入傳輸層的報(bào)文頭中除了將幾個(gè)報(bào)文流多路復(fù)用到一條通道上,傳輸層還必須管理跨網(wǎng)連接的建立和取消。這就需要某種命名機(jī)制,使機(jī)器內(nèi)的進(jìn)程能夠講明它希望交談的對象。另外,還需要有一種機(jī)制來調(diào)節(jié)信息流,使高速主機(jī)不會(huì)過快的向低速主機(jī)傳送數(shù)據(jù)。盡管主機(jī)之間的流量控制與IMP之間的流量控制不盡相同。
網(wǎng)絡(luò)通信協(xié)議層5:會(huì)話層
會(huì)話層(SESSION LAYER)允許不同機(jī)器上的用戶之間建立會(huì)話關(guān)系。會(huì)話層循序進(jìn)行類似的傳輸層的普通數(shù)據(jù)的傳送,在某某些場合還提供了一些有用的增強(qiáng)型服務(wù)。允許用戶利用一次會(huì)話在遠(yuǎn)端的分時(shí)系統(tǒng)上登陸,或者在兩臺(tái)機(jī)器間傳遞文件。#p#
會(huì)話層提供的服務(wù)之一是管理對話控制。會(huì)話層允許信息同時(shí)雙向傳輸,或任一時(shí)刻只能單向傳輸。如果屬于后者,類似于物理信道上的半雙工模式,會(huì)話層將記錄此時(shí)該輪到哪一方。一種與對話控制有關(guān)的服務(wù)是令牌管理(token management)。有些協(xié)議會(huì)保證雙方不能同時(shí)進(jìn)行同樣的操作,這一點(diǎn)很重要。為了管理這些活動(dòng),會(huì)話層提供了令牌,令牌可以在會(huì)話雙方之間移動(dòng),只有持有令牌的一方可以執(zhí)行某種關(guān)鍵性操作。另一種會(huì)話層服務(wù)是同步。如果在平均每小時(shí)出現(xiàn)一次大故障的網(wǎng)絡(luò)上,兩臺(tái)機(jī)器簡要進(jìn)行一次兩小時(shí)的文件傳輸,試想會(huì)出現(xiàn)什么樣的情況呢?每一次傳輸中途失敗后,都不得不重新傳送這個(gè)文件。當(dāng)網(wǎng)絡(luò)再次出現(xiàn)大故障時(shí),可能又會(huì)半途而廢。為解決這個(gè)問題,會(huì)話層提供了一種方法,即在數(shù)據(jù)中插入同步點(diǎn)。每次網(wǎng)絡(luò)出現(xiàn)故障后,僅僅重傳最后一個(gè)同步點(diǎn)以后的數(shù)據(jù)(這個(gè)其實(shí)就是斷點(diǎn)下載的原理)。
網(wǎng)絡(luò)通信協(xié)議層6:表示層
表示層(presentation layer)用于完成某些特定功能,對這些功能人們常常希望找到普遍的解決辦法,而不必由每個(gè)用戶自己來實(shí)現(xiàn)。表示層以下各層只關(guān)心從源端機(jī)到目標(biāo)機(jī)到目標(biāo)機(jī)可靠的傳送比特流,而表示層關(guān)心的是所傳送的信息的語法和語義。表示層服務(wù)的一個(gè)典型例子就是大家一致選定的標(biāo)準(zhǔn)方法對數(shù)據(jù)進(jìn)行編碼。大多數(shù)用戶程序之間并非交換隨機(jī)比特,而是交換諸如人名、日期、貨幣數(shù)量和發(fā)票之類的信息。這些對象使用字符串、整型數(shù)、浮點(diǎn)數(shù)的形式,以及由幾種簡單類型組成的數(shù)據(jù)結(jié)構(gòu)來表示的。
在網(wǎng)絡(luò)上計(jì)算機(jī)可能采用不同的數(shù)據(jù)表示,所以需要在數(shù)據(jù)傳輸時(shí)進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換。為了讓采用不同數(shù)據(jù)表示法的計(jì)算機(jī)之間能夠相互通信而且交換數(shù)據(jù),就要在通信過程中使用抽象的數(shù)據(jù)結(jié)構(gòu)來表示所傳送的數(shù)據(jù)。而在機(jī)器內(nèi)部仍然采用各自的標(biāo)準(zhǔn)編碼。管理這些抽象數(shù)據(jù)結(jié)構(gòu),并在發(fā)送方將機(jī)器的內(nèi)部編碼轉(zhuǎn)換為適合網(wǎng)上傳輸?shù)膫魉驼Z法以及在接收方做相反的轉(zhuǎn)換等噢年工作都是由表示層來完成的。
另外,表示層還涉及數(shù)據(jù)壓縮和解壓、數(shù)據(jù)加密和解米等工作(winrar的那一套)。
網(wǎng)絡(luò)通信協(xié)議層7:應(yīng)用層
連網(wǎng)的目的在于支持運(yùn)行于不同計(jì)算機(jī)的進(jìn)程彼此之間的通信,而這些進(jìn)程則是為用戶完成不同人物而設(shè)計(jì)的。可能的應(yīng)用是多方面的,不受網(wǎng)絡(luò)結(jié)構(gòu)的限制。應(yīng)用層(app;ocation layer)包括大量人們普遍需要的協(xié)議。雖然,對于需要通信的不同應(yīng)用來說,應(yīng)用層的協(xié)議都是必須的。例如:http、ftp、TCP/IP。
由于每個(gè)應(yīng)用有不同的要求,應(yīng)用層的協(xié)議集在OSI模型中并沒有定義。但是,有些確定的應(yīng)用層協(xié)議,包括虛擬終端、文件傳輸、電子郵件等都可以作為標(biāo)準(zhǔn)化的候選。