12分鐘帶你搞定OSI七層模型與TCP/IP五層模型
一、OSI參考模型
1. OSI的來(lái)源
OSI(Open System Interconnect),即開放式系統(tǒng)互聯(lián)。一般都叫OSI參考模型,是ISO(國(guó)際標(biāo)準(zhǔn)化組織)組織在1985年研究的網(wǎng)絡(luò)互連模型。
ISO為了更好的使網(wǎng)絡(luò)應(yīng)用更為普及,推出了OSI參考模型。其含義就是推薦所有公司使用這個(gè)規(guī)范來(lái)控制網(wǎng)絡(luò)。這樣所有公司都有相同的規(guī)范,就能互聯(lián)了。
2. OSI七層模型的劃分
OSI定義了網(wǎng)絡(luò)互連的七層框架(物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會(huì)話層、表示層、應(yīng)用層),即ISO開放互連系統(tǒng)參考模型。如下圖。
每一層實(shí)現(xiàn)各自的功能和協(xié)議,并完成與相鄰層的接口通信。OSI的服務(wù)定義詳細(xì)說(shuō)明了各層所提供的服務(wù)。某一層的服務(wù)就是該層及其下各層的一種能力,它通過(guò)接口提供給更高一層。各層所提供的服務(wù)與這些服務(wù)是怎么實(shí)現(xiàn)的無(wú)關(guān)。
3. 各層功能定義
這里我們只對(duì)OSI各層進(jìn)行功能上的大概闡述,不詳細(xì)深究,因?yàn)槊恳粚訉?shí)際都是一個(gè)復(fù)雜的層。
這里我們就大概了解一下。
我們從最頂層——應(yīng)用層 開始介紹。
整個(gè)過(guò)程以公司A和公司B的一次商業(yè)報(bào)價(jià)單發(fā)送為例子進(jìn)行講解。
(1) 運(yùn)用層
OSI參考模型中最靠近用戶的一層,是為計(jì)算機(jī)用戶提供應(yīng)用接口,也為用戶直接提供各種網(wǎng)絡(luò)服務(wù)。
我們常見應(yīng)用層的網(wǎng)絡(luò)服務(wù)協(xié)議有:HTTP,HTTPS,F(xiàn)TP,POP3、SMTP等。
實(shí)際公司A的老板就是我們所述的用戶,而他要發(fā)送的商業(yè)報(bào)價(jià)單,就是應(yīng)用層提供的一種網(wǎng)絡(luò)服務(wù),當(dāng)然,老板也可以選擇其他服務(wù),比如說(shuō),發(fā)一份商業(yè)合同,發(fā)一份詢價(jià)單,等等。
(2) 表示層
表示層提供各種用于應(yīng)用層數(shù)據(jù)的編碼和轉(zhuǎn)換功能,確保一個(gè)系統(tǒng)的應(yīng)用層發(fā)送的數(shù)據(jù)能被另一個(gè)系統(tǒng)的應(yīng)用層識(shí)別。
如果必要,該層可提供一種標(biāo)準(zhǔn)表示形式,用于將計(jì)算機(jī)內(nèi)部的多種數(shù)據(jù)格式轉(zhuǎn)換成通信中采用的標(biāo)準(zhǔn)表示形式。
數(shù)據(jù)壓縮和加密也是表示層可提供的轉(zhuǎn)換功能之一。
由于公司A和公司B是不同國(guó)家的公司,他們之間的商定統(tǒng)一用英語(yǔ)作為交流的語(yǔ)言,所以此時(shí)表示層(公司的文秘),就是將應(yīng)用層的傳遞信息轉(zhuǎn)翻譯成英語(yǔ)。
同時(shí)為了防止別的公司看到,公司A的人也會(huì)對(duì)這份報(bào)價(jià)單做一些加密的處理。
這就是表示的作用,將應(yīng)用層的數(shù)據(jù)轉(zhuǎn)換翻譯等。
(3) 會(huì)話層
會(huì)話層就是負(fù)責(zé)建立、管理和終止表示層實(shí)體之間的通信會(huì)話。
該層的通信由不同設(shè)備中的應(yīng)用程序之間的服務(wù)請(qǐng)求和響應(yīng)組成。
會(huì)話層的同事拿到表示層的同事轉(zhuǎn)換后資料,(會(huì)話層的同事類似公司的外聯(lián)部),會(huì)話層的同事那里可能會(huì)掌握本公司與其他好多公司的聯(lián)系方式,這里公司就是實(shí)際傳遞過(guò)程中的實(shí)體。他們要管理本公司與外界好多公司的聯(lián)系會(huì)話。
當(dāng)接收到表示層的數(shù)據(jù)后,會(huì)話層將會(huì)建立并記錄本次會(huì)話,他首先要找到公司B的地址信息,然后將整份資料放進(jìn)信封,并寫上地址和聯(lián)系方式。準(zhǔn)備將資料寄出。
等到確定公司B接收到此份報(bào)價(jià)單后,此次會(huì)話就算結(jié)束了,外聯(lián)部的同事就會(huì)終止此次會(huì)話。
(4) 傳輸層
傳輸層建立了主機(jī)端到端的鏈接,傳輸層的作用是為上層協(xié)議提供端到端的可靠和透明的數(shù)據(jù)傳輸服務(wù),包括處理差錯(cuò)控制和流量控制等問題。
該層向高層屏蔽了下層數(shù)據(jù)通信的細(xì)節(jié),使高層用戶看到的只是在兩個(gè)傳輸實(shí)體間的一條主機(jī)到主機(jī)的、可由用戶控制和設(shè)定的、可靠的數(shù)據(jù)通路。
我們通常說(shuō)的,TCP UDP就是在這一層。端口號(hào)既是這里的“端”。
傳輸層就相當(dāng)于公司中的負(fù)責(zé)快遞郵件收發(fā)的人,公司自己的投遞員,他們負(fù)責(zé)將上一層的要寄出的資料投遞到快遞公司或郵局。
(5) 網(wǎng)絡(luò)層
本層通過(guò)IP尋址來(lái)建立兩個(gè)節(jié)點(diǎn)之間的連接,為源端的運(yùn)輸層送來(lái)的分組,選擇合適的路由和交換節(jié)點(diǎn),正確無(wú)誤地按照地址傳送給目的端的運(yùn)輸層。
就是通常說(shuō)的IP層。
這一層就是我們經(jīng)常說(shuō)的IP協(xié)議層。
IP協(xié)議是Internet的基礎(chǔ)。
網(wǎng)絡(luò)層就相當(dāng)于快遞公司龐大的快遞網(wǎng)絡(luò),全國(guó)不同的集散中心,比如說(shuō),從深圳發(fā)往北京的順豐快遞(陸運(yùn)為例啊,空運(yùn)好像直接就飛到北京了),首先要到順豐的深圳集散中心,從深圳集散中心再送到武漢集散中心,從武漢集散中心再寄到北京順義集散中心。這個(gè)每個(gè)集散中心,就相當(dāng)于網(wǎng)絡(luò)中的一個(gè)IP節(jié)點(diǎn)。
(6) 數(shù)據(jù)鏈路層
將比特組合成字節(jié),再將字節(jié)組合成幀,使用鏈路層地址 (以太網(wǎng)使用MAC地址)來(lái)訪問介質(zhì),并進(jìn)行差錯(cuò)檢測(cè)。
數(shù)據(jù)鏈路層又分為2個(gè)子層:邏輯鏈路控制子層(LLC)和媒體訪問控制子層(MAC)。
MAC子層處理CSMA/CD算法、數(shù)據(jù)出錯(cuò)校驗(yàn)、成幀等;LLC子層定義了一些字段使上次協(xié)議能共享數(shù)據(jù)鏈路層。
在實(shí)際使用中,LLC子層并非必需的。
(7) 物理層
實(shí)際最終信號(hào)的傳輸是通過(guò)物理層實(shí)現(xiàn)的。
通過(guò)物理介質(zhì)傳輸比特流。規(guī)定了電平、速度和電纜針腳。
常用設(shè)備有(各種物理設(shè)備)集線器、中繼器、調(diào)制解調(diào)器、網(wǎng)線、雙絞線、同軸電纜。
這些都是物理層的傳輸介質(zhì)。
快遞寄送過(guò)程中的交通工具,就相當(dāng)于我們的物理層,例如汽車,火車,飛機(jī),船。
4. 通信特點(diǎn):對(duì)等通信
對(duì)等通信,為了使數(shù)據(jù)分組從源傳送到目的地,源端OSI模型的每一層都必須與目的端的對(duì)等層進(jìn)行通信,這種通信方式稱為對(duì)等層通信。
在每一層通信過(guò)程中,使用本層自己協(xié)議進(jìn)行通信。
二、TCP/IP五層模型
TCP/IP五層協(xié)議和OSI的七層協(xié)議對(duì)應(yīng)關(guān)系如下:
在每一層都工作著不同的設(shè)備,比如我們常用的交換機(jī)就工作在數(shù)據(jù)鏈路層的,一般的路由器是工作在網(wǎng)絡(luò)層的。
在每一層實(shí)現(xiàn)的協(xié)議也各不同,即每一層的服務(wù)也不同,下圖列出了每層主要的協(xié)議。
1. 應(yīng)用層
應(yīng)用層向應(yīng)用程序提供服務(wù),這些服務(wù)按其向應(yīng)用程序提供的特性分成組,并稱為服務(wù)元素。
有些可為多種應(yīng)用程序共同使用,有些則為較少的一類應(yīng)用程序使用。
應(yīng)用層為最高層,是直接為應(yīng)用進(jìn)程提供服務(wù)的。
其作用是在實(shí)現(xiàn)多個(gè)系統(tǒng)應(yīng)用進(jìn)程相互通信的同時(shí),完成一系列業(yè)務(wù)處理所需的服務(wù)。
其服務(wù)元素分為兩類:公共應(yīng)用服務(wù)元素CASE和特定應(yīng)用服務(wù)元素SASE。
CASE提供最基本的服務(wù),它成為應(yīng)用層中任何用戶和任何服務(wù)元素的用戶,主要為應(yīng)用進(jìn)程通信,分布系統(tǒng)實(shí)現(xiàn)提供基本的控制機(jī)制。
特定服務(wù)SASE則要滿足一些特定服務(wù),如文卷傳送,訪問管理,作業(yè)傳送,銀行事務(wù),訂單輸入等。
這些將涉及到虛擬終端,作業(yè)傳送與操作,文卷傳送及訪問管理,遠(yuǎn)程數(shù)據(jù)庫(kù)訪問,圖形核心系統(tǒng),開放系統(tǒng)互連管理等等。
應(yīng)用層的標(biāo)準(zhǔn)有DP8649"公共應(yīng)用服務(wù)元素",DP8650"公共應(yīng)用服務(wù)元素用協(xié)議",文件傳送,訪問和管理服務(wù)及協(xié)議。
2. 傳輸層
傳輸層是兩臺(tái)計(jì)算機(jī)經(jīng)過(guò)網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)通信時(shí),第一個(gè)端到端的層次,具有緩沖作用。
當(dāng)網(wǎng)絡(luò)層服務(wù)質(zhì)量不能滿足要求時(shí),它將服務(wù)加以提高,以滿足高層的要求;當(dāng)網(wǎng)絡(luò)層服務(wù)質(zhì)量較好時(shí),它只用很少的工作。
傳輸層還可進(jìn)行復(fù)用,即在一個(gè)網(wǎng)絡(luò)連接上創(chuàng)建多個(gè)邏輯連接。
傳輸層也稱為運(yùn)輸層,是很重要的一層。
因?yàn)樗窃炊说侥康亩藢?duì)數(shù)據(jù)傳送進(jìn)行控制從低到高的最后一層。
有一個(gè)既存事實(shí),即世界上各種通信子網(wǎng)在性能上存在著很大差異。
例如電話交換網(wǎng),分組交換網(wǎng),公用數(shù)據(jù)交換網(wǎng),局域網(wǎng)等通信子網(wǎng)都可互連,但它們提供的吞吐量,傳輸速率,數(shù)據(jù)延遲通信費(fèi)用各不相同。
對(duì)于會(huì)話層來(lái)說(shuō),卻要求有一性能恒定的界面。
傳輸層就承擔(dān)了這一功能。
它采用分流/合流,復(fù)用/解復(fù)用技術(shù)來(lái)調(diào)節(jié)上述通信子網(wǎng)的差異,使會(huì)話層感受不到。
此外傳輸層還要具備差錯(cuò)恢復(fù),流量控制等功能,以此對(duì)會(huì)話層屏蔽通信子網(wǎng)在這些方面的細(xì)節(jié)與差異。
傳輸層面對(duì)的數(shù)據(jù)對(duì)象已不是網(wǎng)絡(luò)地址和主機(jī)地址,而是和會(huì)話層的界面端口。
上述功能的最終目的是為會(huì)話提供可靠的,無(wú)誤的數(shù)據(jù)傳輸。
傳輸層的服務(wù)一般要經(jīng)歷傳輸連接建立階段,數(shù)據(jù)傳送階段,傳輸連接釋放階段3個(gè)階段才算完成一個(gè)完整的服務(wù)過(guò)程。
而在數(shù)據(jù)傳送階段又分為一般數(shù)據(jù)傳送和加速數(shù)據(jù)傳送兩種。
3. 網(wǎng)絡(luò)層
網(wǎng)絡(luò)層的產(chǎn)生也是網(wǎng)絡(luò)發(fā)展的結(jié)果。
在聯(lián)機(jī)系統(tǒng)和線路交換的環(huán)境中,網(wǎng)絡(luò)層的功能沒有太大意義。
當(dāng)數(shù)據(jù)終端增多時(shí),它們之間有中繼設(shè)備相連。
此時(shí)會(huì)出現(xiàn)一臺(tái)終端要求不只是與唯一的一臺(tái)而是能和多臺(tái)終端通信的情況,這就是產(chǎn)生了把任意兩臺(tái)數(shù)據(jù)終端設(shè)備的數(shù)據(jù)鏈接起來(lái)的問題,也就是路由或者叫尋徑。
另外,當(dāng)一條物理信道建立之后,被一對(duì)用戶使用,往往有許多空閑時(shí)間被浪費(fèi)掉。
人們自然會(huì)希望讓多對(duì)用戶共用一條鏈路,為解決這一問題就出現(xiàn)了邏輯信道技術(shù)和虛擬電路技術(shù)。
網(wǎng)絡(luò)層為建立網(wǎng)絡(luò)連接和為上層提供服務(wù),應(yīng)具備以下主要功能:
- 路由選擇和中繼。
- 激活,終止網(wǎng)絡(luò)連接。
- 在一條數(shù)據(jù)鏈路上復(fù)用多條網(wǎng)絡(luò)連接,多采取分時(shí)復(fù)用技術(shù) 。
- 差錯(cuò)檢測(cè)與恢復(fù)。
- 排序,流量控制。
- 服務(wù)選擇。
- 網(wǎng)絡(luò)管理。
4. 數(shù)據(jù)鏈路層
數(shù)據(jù)鏈路可以粗略地理解為數(shù)據(jù)通道。
物理層要為終端設(shè)備間的數(shù)據(jù)通信提供傳輸媒體及其連接。
媒體是長(zhǎng)期的,連接是有生存期的。
在連接生存期內(nèi),收發(fā)兩端可以進(jìn)行不等的一次或多次數(shù)據(jù)通信。
每次通信都要經(jīng)過(guò)建立通信聯(lián)絡(luò)和拆除通信聯(lián)絡(luò)兩過(guò)程。
這種建立起來(lái)的數(shù)據(jù)收發(fā)關(guān)系就叫作數(shù)據(jù)鏈路。
而在物理媒體上傳輸?shù)臄?shù)據(jù)難免受到各種不可靠因素的影響而產(chǎn)生差錯(cuò),為了彌補(bǔ)物理層上的不足,為上層提供無(wú)差錯(cuò)的數(shù)據(jù)傳輸,就要能對(duì)數(shù)據(jù)進(jìn)行檢錯(cuò)和糾錯(cuò)。
數(shù)據(jù)鏈路的建立,拆除,對(duì)數(shù)據(jù)的檢錯(cuò),糾錯(cuò)是數(shù)據(jù)鏈路層的基本任務(wù)。
鏈路層的主要功能:鏈路層是為網(wǎng)絡(luò)層提供數(shù)據(jù)傳送服務(wù)的,這種服務(wù)要依靠本層具備的功能來(lái)實(shí)現(xiàn)。
- 鏈路連接的建立,拆除,分離。
- 幀定界和幀同步。鏈路層的數(shù)據(jù)傳輸單元是幀,協(xié)議不同,幀的長(zhǎng)短和界面也有差別,但無(wú)論如何必須對(duì)幀進(jìn)行定界。
- 順序控制,指對(duì)幀的收發(fā)順序的控制。
- 差錯(cuò)檢測(cè)和恢復(fù)。
還有鏈路標(biāo)識(shí),流量控制等等。
差錯(cuò)檢測(cè)多用方陣碼校驗(yàn)和循環(huán)碼校驗(yàn)來(lái)檢測(cè)信道上數(shù)據(jù)的誤碼,而幀丟失等用序號(hào)檢測(cè)。
各種錯(cuò)誤的恢復(fù)則常靠反饋重發(fā)技術(shù)來(lái)完成。
5. 物理層
物理層雖然處于最底層,卻是整個(gè)計(jì)算機(jī)網(wǎng)絡(luò)的基礎(chǔ)。
物理層為設(shè)備之間的數(shù)據(jù)通信提供傳輸媒體及互連設(shè)備,為數(shù)據(jù)傳輸提供可靠的環(huán)境。
物理層的媒體包括架空明線、平衡電纜、光纖、無(wú)線信道等。通信用的互連設(shè)備指DTE和DCE間的互連設(shè)備。
DTE即數(shù)據(jù)終端設(shè)備,又稱物理設(shè)備,如計(jì)算機(jī)、終端等都包括在內(nèi)。
而DCE則是數(shù)據(jù)通信設(shè)備或電路連接設(shè)備,如調(diào)制解調(diào)器等。
數(shù)據(jù)傳輸通常是經(jīng)過(guò)DTE——DCE,再經(jīng)過(guò)DCE——DTE的路徑。
互連設(shè)備指將DTE、DCE連接起來(lái)的裝置,如各種插頭、插座。
LAN中的各種粗、細(xì)同軸電纜、T型接、插頭,接收器,發(fā)送器,中繼器等都屬物理層的媒體和連接器。
物理層的主要功能:
(1) 為數(shù)據(jù)端設(shè)備提供傳送數(shù)據(jù)的通路,數(shù)據(jù)通路可以是一個(gè)物理媒體,也可以是多個(gè)物理媒體連接而成。
一次完整的數(shù)據(jù)傳輸,包括激活物理連接,傳送數(shù)據(jù),終止物理連接。
所謂激活,就是不管有多少物理媒體參與,都要在通信的兩個(gè)數(shù)據(jù)終端設(shè)備間連接起來(lái),形成一條通路。
(2) 傳輸數(shù)據(jù),物理層要形成適合數(shù)據(jù)傳輸需要的實(shí)體,為數(shù)據(jù)傳送服務(wù)。
一是要保證數(shù)據(jù)能在其上正確通過(guò),二是要提供足夠的帶寬(帶寬是指每秒鐘內(nèi)能通過(guò)的比特(BIT)數(shù)),以減少信道上的擁塞。
傳輸數(shù)據(jù)的方式能滿足點(diǎn)到點(diǎn),一點(diǎn)到多點(diǎn),串行或并行,半雙工或全雙工,同步或異步傳輸?shù)男枰?/p>