OSI較早開始研究锯玛,但由于過于復(fù)雜咐柜,最先應(yīng)用的是TCP,因此攘残,后來大多用TCP拙友。
一.協(xié)議與層次劃分
計算機有條不紊的交換數(shù)據(jù),必須按照一定的規(guī)則歼郭。這些規(guī)則明確了交換的數(shù)據(jù)的格式和有關(guān)的同步問題遗契。這里所說的同步不是狹義的(即通頻或同頻同相)而是廣義的,即在一定的條件下應(yīng)當(dāng)發(fā)生什么事情(如病曾,應(yīng)當(dāng)發(fā)送一個應(yīng)答信息)牍蜂,因而同步含有時序的意思漾根。這些位進行網(wǎng)絡(luò)中的數(shù)據(jù)交換而建立的規(guī)則、標(biāo)準(zhǔn)或約定稱為網(wǎng)絡(luò)協(xié)議鲫竞。網(wǎng)絡(luò)協(xié)議也簡稱協(xié)議辐怕,主要由三個要素組成:
1.語法,即數(shù)據(jù)與控制信息的結(jié)構(gòu)或格式从绘。
2.語義寄疏,即需要發(fā)出何種控制信息,完成何種動作或做出何種相應(yīng)僵井。
3.同步陕截,即事件實現(xiàn)順序的詳細(xì)說明。
只要我們需要在連接的另一臺電腦上做一些事情就必須由協(xié)議驹沿,自己的計算機則不需要艘策。
協(xié)議由兩種不同形式。一種是使用便于人來閱讀和理解的文字描述渊季,
另一種是使用讓計算機用夠理解的程序代碼朋蔫。
這兩種形式的協(xié)議都必須能夠?qū)W(wǎng)絡(luò)上的信息交換做出精確的解釋。對于復(fù)雜的網(wǎng)絡(luò)協(xié)議却汉,應(yīng)該是層次性的驯妄。
加入我們在主機1和主機2之間通過一個通信網(wǎng)絡(luò)傳送文件。
我們要做三類工作:
第一類:與傳送文件直接有關(guān)合砂,如發(fā)送端文件傳送應(yīng)用程序應(yīng)確人接收端文件管理程序已做好接受和存儲文件的準(zhǔn)備青扔。若兩臺主機所用的文件格式不一樣,則至少由一個主機應(yīng)完成文件格式的轉(zhuǎn)換翩伪。這兩項工作可用一個文件傳送模塊來完成微猖。這樣,兩臺主機可將文件傳輸模塊作為最高的一層缘屹。在這兩個模塊之間的虛線表示兩臺主機系統(tǒng)交換文件和一些有關(guān)文件交換的指令凛剥。
我們不使用文件傳輸模塊完成一切,這樣太復(fù)雜轻姿,因此可再設(shè)立一個通信服務(wù)模塊犁珠,用來保證文件和文件傳送命令可靠的再兩個系統(tǒng)之間交換。也就是說互亮,讓位于上面的文件傳送模塊利用下面的通信服務(wù)模塊所提供的服務(wù)犁享,同樣道理我們可再見建立一個網(wǎng)絡(luò)接入模塊,讓這個模塊負(fù)責(zé)做與網(wǎng)絡(luò)接口細(xì)節(jié)有關(guān)的工作豹休,并向上層提供服務(wù)炊昆,使上面的通信服務(wù)模塊能夠完成可靠通信的任務(wù)。
好處是:
1.各層是獨立的,不需要知道它的下層如何工作窑眯,僅僅需要知道該層通過層間的接口(即界面)所提供的服務(wù)屏积。由于每一層只實現(xiàn)一種相對獨立的功能。因而可以將一個難以處理的問題細(xì)化位很多個小問題磅甩。
2.靈活性好,當(dāng)任意一層改變姥卢,只要接口不變就不需要改卷要。
3.結(jié)構(gòu)上可分割開。各層都可以采用最合適的技術(shù)實現(xiàn)独榴。
4.易實現(xiàn)和維護僧叉。
5.能促進標(biāo)準(zhǔn)化的工作。因為每一層的功能及所提供的服務(wù)都有了精準(zhǔn)的說明棺榔。
通常來說各層需要完成的工作由以下幾種瓶堕,
1.差錯控制 使得通信更可靠。
2.流量控制 發(fā)送端的數(shù)據(jù)必須使得接收端來得及接受症歇,不能太快郎笆。
3.分段和重裝 發(fā)送端將要發(fā)送的數(shù)據(jù)分成更小的部分,再接收端將其還原忘晤。
4.復(fù)用和分用 發(fā)送端幾個高層會話復(fù)用一條低層的鏈接宛蚓,在接收端再分用。
5.鏈接建立和釋放 交換數(shù)據(jù)前先建立一條邏輯連接设塔,數(shù)據(jù)傳輸后釋放連接凄吏。
缺點是:可能會在不同層反復(fù)出現(xiàn),產(chǎn)生額外開銷闰蛔。
計算機網(wǎng)絡(luò)各層及其協(xié)議的集合就是網(wǎng)絡(luò)的體系結(jié)構(gòu)痕钢。這些功能可能是由硬件或軟件完成。
二.具有五層協(xié)議的體系結(jié)構(gòu)
OSI的七層協(xié)議體系結(jié)構(gòu)的概念清楚序六,理論完整任连,但它復(fù)雜且不實用。TCP/IP體系結(jié)構(gòu)則不同难咕,但它卻得到了廣泛的應(yīng)用课梳。
TCP/IP是一個四層結(jié)構(gòu),它包含應(yīng)用層余佃、運輸層暮刃、網(wǎng)際層和網(wǎng)絡(luò)接口層(用網(wǎng)際層這個名字是強調(diào)這一層是為了解決不同的網(wǎng)絡(luò)互聯(lián)問題),不過從實質(zhì)將它只有上三層爆土,最下層網(wǎng)絡(luò)接口層沒什么具體內(nèi)容椭懊。
因此在學(xué)習(xí)是一般用折中的方式,即綜合OSI和TCP/IP的優(yōu)點,采用只有五層的體系結(jié)構(gòu)氧猬,這樣即整潔又能將概念闡述清楚背犯,有時為了方便,也將底下兩層曾為網(wǎng)絡(luò)接口層盅抚。
應(yīng)用層:
應(yīng)用層是體系結(jié)構(gòu)中的最高層。應(yīng)用層的任務(wù)是通過應(yīng)用進程間的交互來完成特定的網(wǎng)絡(luò)應(yīng)用妄均。應(yīng)用層協(xié)議定義的是應(yīng)用進程間通信和交互的規(guī)則柱锹。這里的進程就是指主機中正在運行的程序。對不同的網(wǎng)絡(luò)應(yīng)用需要不同的協(xié)議丰包,如域名系統(tǒng)DNS禁熏、萬維網(wǎng)應(yīng)用HTTP協(xié)議,電子郵箱SMTP協(xié)議等邑彪。
運輸層:
運輸層的主要任務(wù)是負(fù)責(zé)向兩臺主機中進程之間的通信提供數(shù)據(jù)服務(wù)服務(wù)瞧毙,傳輸?shù)倪M程數(shù)據(jù)在一層被打包為報文。所謂通用的寄症,是指并不針對某個特定的網(wǎng)絡(luò)應(yīng)用宙彪,因此運輸層有復(fù)用和分用的功能。復(fù)用就是多個應(yīng)用層進程可同時使用下面的運輸層的服務(wù)瘸爽,分用和復(fù)用相反您访,是運輸層把收到的信息分別交付給上面的應(yīng)用層中的相應(yīng)進程。
運輸層主要使用的以下兩種協(xié)議:
傳輸控制協(xié)議TCP——提供面向連接的剪决、可靠的數(shù)據(jù)傳輸服務(wù)灵汪,其數(shù)據(jù)傳輸?shù)膯挝皇菆笪亩巍?/p>
用戶數(shù)據(jù)報協(xié)議UDP——提供無連接的、盡最大努力的數(shù)據(jù)傳輸服務(wù)(不保證數(shù)據(jù)的可靠性)柑潦,其傳輸數(shù)據(jù)的單位是用戶數(shù)據(jù)報享言,
網(wǎng)絡(luò)層:
負(fù)責(zé)為分組交換網(wǎng)上的不同主機提供通信服務(wù)。在發(fā)送數(shù)據(jù)時渗鬼,網(wǎng)絡(luò)層把運輸層產(chǎn)生的報文段或用戶數(shù)據(jù)報封裝成分組或包進行傳送览露。在TCP/IP體系中,由于網(wǎng)絡(luò)層使用IP協(xié)議譬胎,因此分組也叫做IP數(shù)據(jù)報差牛,或簡稱數(shù)據(jù)報。
另一個任務(wù)就是要選擇合適的路由堰乔,使源主機運輸層所傳下來的分組偏化,能夠通過網(wǎng)絡(luò)中的路由器找到目的主機。
互聯(lián)網(wǎng)由大量的異構(gòu)網(wǎng)絡(luò)通過路由器構(gòu)建镐侯≌焯郑互聯(lián)網(wǎng)使用的網(wǎng)絡(luò)層協(xié)議是無連接的網(wǎng)際協(xié)議IP和許多種路由選擇協(xié)議,因此網(wǎng)路層也叫網(wǎng)際層或IP層。
數(shù)據(jù)鏈路層:
數(shù)據(jù)鏈路層常簡稱為鏈路層韵卤。兩臺主機間的數(shù)據(jù)傳輸骗污,總在一段一段的鏈路上傳送的,這就需要使用專門的鏈路層的協(xié)議沈条,在兩個相鄰的結(jié)點間傳送數(shù)據(jù)時需忿,數(shù)據(jù)鏈路層將網(wǎng)路層交下來IP數(shù)據(jù)報組裝成幀,在兩個相鄰的結(jié)點間的鏈路上傳送幀蜡歹,每一幀包括數(shù)據(jù)和必要的控制信息(如同步信息贴谎、地址信息、差錯控制)季稳。
在接收數(shù)據(jù)時, 控制信息使接收端能夠知道一個幀從哪個比特開始和到哪個比特結(jié)束澈魄。 這樣景鼠, 數(shù)據(jù)鏈路層在收到一個幀后, 就可從中提取出數(shù)據(jù)部分痹扇, 上交給網(wǎng)絡(luò)層铛漓。
控制信息還使接收端能夠檢測到所收到的幀中有無差錯。 如發(fā)現(xiàn)有差錯鲫构, 數(shù)據(jù)鏈路層就簡單地丟棄這個出了差錯的幀浓恶, 以免繼續(xù)在網(wǎng)絡(luò)中傳送下去白白浪費網(wǎng)絡(luò)資源。 如果需要改正數(shù)據(jù)在數(shù)據(jù)鏈路層傳輸時出現(xiàn)的差錯(這就是說结笨, 數(shù)據(jù)鏈路層不僅要檢錯包晰, 而且要糾錯) , 那么就要采用可靠傳輸協(xié)議來糾正出現(xiàn)的差錯炕吸。 這種方法會使數(shù)據(jù)鏈路層的協(xié)議復(fù)雜些伐憾。
物理層
在數(shù)據(jù)層上傳輸?shù)臄?shù)據(jù)單位是比特,因此物理層需要考慮用多大的電壓代表1或0赫模,以及接收方如何識別出發(fā)送方所發(fā)送的比特树肃。物理層還要確定連接電纜的插頭應(yīng)當(dāng)有多少根引腳以及各引腳如何連接。但是解使比特的意思不是物理層的任務(wù)瀑罗,傳輸信息所用的物理媒介胸嘴,如雙絞線、光纖等斩祭,并不在物理層而在物理層下面劣像,因此也有人把物理層下面的物理媒體當(dāng)作第0層。
TCP/IP和TCP停忿、IP
TCP和IP兩個協(xié)議驾讲,現(xiàn)在人們提高TCP‘/IP不一定單指TCP和IP這兩個具體的協(xié)議,而往往表示互聯(lián)網(wǎng)所使用的整個TCP/IP協(xié)議族。
假定主機1的AP1應(yīng)用進程向主機2的AP2應(yīng)用進程發(fā)送數(shù)據(jù)
AP1先將其數(shù)據(jù)交給本主機的第五層(應(yīng)用層)吮铭。第五次加上必要的控制信息給第四層運輸層时迫,運輸層加上本層的控制信息給第三層網(wǎng)路層,成為第三層的數(shù)據(jù)單元谓晌。以此類推不過到第2層(數(shù)據(jù)鏈路層)后掠拳,控制信息被分層兩部分,分別加入到首部和尾部纸肉,而第一層物理層由于比特流傳送溺欧,因此,不需要控制信息柏肪。
當(dāng)這一串的比特流離開主機1經(jīng)網(wǎng)絡(luò)的物理媒體傳送到路由器時姐刁,就從路由器的第1層依次上升到第3層。 每一層都根據(jù)控制信息進行必要的操作烦味, 然后將控制信息剝?nèi)ィ?將該層剩下的數(shù)據(jù)單元上交給更高的一層聂使。 當(dāng)分組上升到了第3層時, 就根據(jù)首部中的目的地址查找路由器中的轉(zhuǎn)發(fā)表谬俄, 找出轉(zhuǎn)發(fā)分組的接口柏靶, 然后往下傳送到第2層, 加上新的首部和尾部后溃论, 再到最下面的第1層屎蜓, 然后在物理媒體上把每一個比特發(fā)送出去。
當(dāng)這一串的比特流離開路由器到達目的站主機2時钥勋, 就從主機2的第1層按照上面講過的方式炬转, 依次上升到第5層。 最后笔诵, 把應(yīng)用進程AP1發(fā)送的數(shù)據(jù)交給目的站的應(yīng)用進程AP2返吻。
可以用一個簡單例子來比喻上述過程。 有一封信從最高層向下傳乎婿。每經(jīng)過一層就包上一個新的信封测僵, 寫上必要的地址信息。 包有多個信封的信件傳送到目的站后谢翎, 從第1層起捍靠, 每層拆開一個信封后就把信封中的信交給它的上一層。 傳到最高層后森逮, 取出發(fā)信人所發(fā)的信交給收信人榨婆。
當(dāng)研究開放系統(tǒng)中的信息交換時, 往往使用實體(entity) 這一較為抽象的名詞表示任何可發(fā)送或接收信息的硬件或軟件進程褒侧。 在許多情況下良风, 實體就是一個特定的軟件模塊谊迄。
協(xié)議是控制兩個對等實體(或多個實體) 進行通信的規(guī)則的集合。 協(xié)議的語法方面的規(guī)則定義了所交換的信息的格式烟央, 而協(xié)議的語義方面的規(guī)則就定義了發(fā)送者或接收者所要完成的操作统诺, 例如, 在何種條件下疑俭, 數(shù)據(jù)必須重傳或丟棄粮呢。
在協(xié)議的控制下, 兩個對等實體間的通信使得本層能夠向上一層提供服務(wù)钞艇。 要實現(xiàn)本層協(xié)議啄寡, 還需要使用下面一層所提供的服務(wù)。
路由器在發(fā)送過程種最多用到網(wǎng)絡(luò)層哩照,它的結(jié)構(gòu)是這樣的:
也就是說現(xiàn)在的應(yīng)用已經(jīng)并不是再逐層遞進了挺物,而在實現(xiàn)上使用TCP/IP協(xié)議已經(jīng)演變?yōu)橹苯邮褂肐P層,或下面的網(wǎng)絡(luò)接口層飘弧,有時網(wǎng)絡(luò)接口層也叫子網(wǎng)層姻乓。
這種很像沙漏計時器形狀的TCP/IP協(xié)議族表明: TCP/IP協(xié)議可以為各式各樣的應(yīng)用提供服務(wù)(所謂的everything over IP) , 同時TCP/IP協(xié)議也允許IP協(xié)議在各式各樣的網(wǎng)絡(luò)構(gòu)成的互聯(lián)網(wǎng)上運行(所謂的IP over everything) 眯牧。 正因為如此, 互聯(lián)網(wǎng)才會發(fā)展到今天的這種全球規(guī)模赖草。 從圖不難看出IP協(xié)議在互聯(lián)網(wǎng)中的核心作用学少。