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