當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > TCP/IP協(xié)議與OSI協(xié)議詳解
TCP/IP四層模型
TCP/IP是一組協(xié)議的代名詞,它還包括許多協(xié)議,組成了TCP/IP協(xié)議簇。TCP/IP協(xié)議簇分為四層,IP位于協(xié)議簇的第二層(對應(yīng)OSI的第三層),TCP位于協(xié)議簇的第三層(對應(yīng)OSI的第四層)
TCP/IP通訊協(xié)議采用了4層的層級結(jié)構(gòu),每一層都呼叫它的下一層所提供的網(wǎng)絡(luò)來完成自己的需求。這4層分別為:
應(yīng)用層:應(yīng)用程序間溝通的層,如簡單電子郵件傳輸(SMTP)、文件傳輸協(xié)議(FTP)、網(wǎng)絡(luò)遠(yuǎn)程訪問協(xié)議(Telnet)等。
傳輸層:在此層中,它提供了節(jié)點間的數(shù)據(jù)傳送服務(wù),如傳輸控制協(xié)議(TCP)、用戶數(shù)據(jù)報協(xié)議(UDP)等,TCP和UDP給數(shù)據(jù)包加入傳輸數(shù)據(jù)并把它傳輸?shù)较乱粚又校@一層負(fù)責(zé)傳送數(shù)據(jù),并且確定數(shù)據(jù)已被送達(dá)并接收。
互連網(wǎng)絡(luò)層:負(fù)責(zé)提供基本的數(shù)據(jù)封包傳送功能,讓每一塊數(shù)據(jù)包都能夠到達(dá)目的主機(jī)(但不檢查是否被正確接收),如網(wǎng)際協(xié)議(IP)。
網(wǎng)絡(luò)接口層:對實際的網(wǎng)絡(luò)媒體的管理,定義如何使用實際網(wǎng)絡(luò)(如Ethernet、Serial Line等)來傳送數(shù)據(jù)。
OSI七層模型
OSI(Open System Interconnection,開放系統(tǒng)互連)七層網(wǎng)絡(luò)模型稱為開放式系統(tǒng)互聯(lián)參考模型 ,是一個邏輯上的定義,一個規(guī)范,它把網(wǎng)絡(luò)從邏輯上分為了7層。每一層都有相關(guān)、相對應(yīng)的物理設(shè)備,比如路由器,交換機(jī)。OSI 七層模型是一種框架性的設(shè)計方法 ,建立七層模型的主要目的是為解決異種網(wǎng)絡(luò)互連時所遇到的兼容性問題,其主要的功能使就是幫助不同類型的主機(jī)實現(xiàn)數(shù)據(jù)傳輸。它的大優(yōu)點是將服務(wù)、接口和協(xié)議這三個概念明確地區(qū)分開來,通過七個層次化的結(jié)構(gòu)模型使不同的系統(tǒng)不同的網(wǎng)絡(luò)之間實現(xiàn)可靠的通訊。
模型優(yōu)點
建立七層模型的主要目的是為解決異種網(wǎng)絡(luò)互連時所遇到的兼容性問題。它的大優(yōu)點是將服務(wù)、接口和協(xié)議這三個概念明確地區(qū)分開來:服務(wù)說明某一層為上一層提供一些什么功能,接口說明上一層如何使用下層的服務(wù),而協(xié)議涉及如何實現(xiàn)本層的服務(wù);這樣各層之間具有很強(qiáng)的獨(dú)立性,互連網(wǎng)絡(luò)中各實體采用什么樣的協(xié)議是沒有限制的,只要向上提供相同的服務(wù)并且不改變相鄰層的接口就可以了。網(wǎng)絡(luò)七層的劃分也是為了使網(wǎng)絡(luò)的不同功能模塊(不同層次)分擔(dān)起不同的職責(zé),從而帶來如下好處:1. 減輕問題的復(fù)雜程度,一旦網(wǎng)絡(luò)發(fā)生故障,可迅速定位故障所處層次,便于查找和糾錯;2. 在各層分別定義標(biāo)準(zhǔn)接口,使具備相同對等層的不同網(wǎng)絡(luò)設(shè)備能實現(xiàn)互操作,各層之間則相對獨(dú)立,一種高層協(xié)議可放在多種低層協(xié)議上運(yùn)行;3.能有效刺激網(wǎng)絡(luò)技術(shù)革新,因為每次更新都可以在小范圍內(nèi)進(jìn)行,不需對整個網(wǎng)絡(luò)動大手術(shù);4. 便于研究和教學(xué)。
一.物理層(Physical Layer)
O S I 模型的低層或第一層,該層包括物理連網(wǎng)媒介,如電纜連線連接器。物理層的協(xié)議產(chǎn)生并檢測電壓以便發(fā)送和接收攜帶數(shù)據(jù)的信號。在你的桌面P C 上插入網(wǎng)絡(luò)接口卡,你就建立了計算機(jī)連網(wǎng)的基礎(chǔ)。換言之,你提供了一個物理層。盡管物理層不提供糾錯服務(wù),但它能夠設(shè)定數(shù)據(jù)傳輸速率并監(jiān)測數(shù)據(jù)出錯率。網(wǎng)絡(luò)物理問題,如電線斷開,將影響物理層。 用戶要傳遞信息就要利用一些物理媒體,如雙絞線、同軸電纜等,但具體的物理媒體并不在OSI的7層之內(nèi),有人把物理媒體當(dāng)做第0層,物理層的任務(wù)就是為它的上一層提供一個物理連接,以及它們的機(jī)械、電氣、功能和過程特性。如規(guī)定使用電纜和接頭的類型、傳送信號的電壓等。在這一層,數(shù)據(jù)還沒有被組織,僅作為原始的位流或電氣電壓處理,單位是bit比特。
二.?dāng)?shù)據(jù)鏈路層(Datalink Layer)
OSI模型的第二層,它控制網(wǎng)絡(luò)層與物理層之間的通信。它的主要功能是如何在不可靠的物理線路上進(jìn)行數(shù)據(jù)的可靠傳遞。為了保證傳輸,從網(wǎng)絡(luò)層接收到的數(shù)據(jù)被分割成特定的可被物理層傳輸?shù)膸怯脕硪苿訑?shù)據(jù)的結(jié)構(gòu)包,它不僅包括原始數(shù)據(jù),還包括發(fā)送方和接收方的物理地址以及檢錯和控制信息。其中的地址確定了幀將發(fā)送到何處,而糾錯和控制信息則確保幀無差錯到達(dá)。 如果在傳送數(shù)據(jù)時,接收點檢測到所傳數(shù)據(jù)中有差錯,就要通知發(fā)送方重發(fā)這一幀。數(shù)據(jù)鏈路層的功能獨(dú)立于網(wǎng)絡(luò)和它的節(jié)點和所采用的物理層類型,它也不關(guān)心是否正在運(yùn)行 Wo r d 、E x c e l 或使用I n t e r n e t 。有一些連接設(shè)備,如交換機(jī),由于它們要對幀解碼并使用幀信息將數(shù)據(jù)發(fā)送到正確的接收方,所以它們是工作在數(shù)據(jù)鏈路層的。數(shù)據(jù)鏈路層(DataLinkLayer):在物理層提供比特流服務(wù)的基礎(chǔ)上,建立相鄰結(jié)點之間的數(shù)據(jù)鏈路,通過差錯控制提供數(shù)據(jù)幀(Frame)在信道上無差錯的傳輸,并進(jìn)行各電路上的動作系列。數(shù)據(jù)鏈路層在不可靠的物理介質(zhì)上提供可靠的傳輸。該層的作用包括:物理地址尋址、數(shù)據(jù)的成幀、流量控制、數(shù)據(jù)的檢錯、重發(fā)等。 數(shù)據(jù)鏈路層協(xié)議的代表包括:SDLC、HDLC、PPP、STP、幀中繼等。
三.網(wǎng)絡(luò)層(Network Layer)
O S I 模型的第三層,其主要功能是將網(wǎng)絡(luò)地址翻譯成對應(yīng)的物理地址,并決定如何將數(shù)據(jù)從發(fā)送方路由到接收方。 網(wǎng)絡(luò)層通過綜合考慮發(fā)送優(yōu)先權(quán)、網(wǎng)絡(luò)擁塞程度、服務(wù)質(zhì)量以及可選路由的花費(fèi)來決定從一個網(wǎng)絡(luò)中節(jié)點A 到另一個網(wǎng)絡(luò)中節(jié)點B 的佳路徑。由于網(wǎng)絡(luò)層處理,并智能指導(dǎo)數(shù)據(jù)傳送,路由器連接網(wǎng)絡(luò)各段,所以路由器屬于網(wǎng)絡(luò)層。在網(wǎng)絡(luò)中,“路由”是基于編址方案、使用模式以及可達(dá)性來指引數(shù)據(jù)的發(fā)送。 網(wǎng)絡(luò)層負(fù)責(zé)在源機(jī)器和目標(biāo)機(jī)器之間建立它們所使用的路由。這一層本身沒有任何錯誤檢測和修正機(jī)制,因此,網(wǎng)絡(luò)層必須依賴于端端之間的由D L L提供的可靠傳輸服務(wù)。 網(wǎng)絡(luò)層用于本地L A N網(wǎng)段之上的計算機(jī)系統(tǒng)建立通信,它之所以可以這樣做,是因為它有自己的路由地址結(jié)構(gòu),這種結(jié)構(gòu)與第二層機(jī)器地址是分開的、獨(dú)立的。這種協(xié)議稱為路由或可路由協(xié)議。路由協(xié)議包括I P、N o v e l l公司的I P X以及A p p l e Ta l k協(xié)議。 網(wǎng)絡(luò)層是可選的,它只用于當(dāng)兩個計算機(jī)系統(tǒng)處于不同的由路由器分割開的網(wǎng)段這種情況,或者當(dāng)通信應(yīng)用要求某種網(wǎng)絡(luò)層或傳輸層提供的服務(wù)、特性或者能力時。例如,當(dāng)兩臺主機(jī)處于同一個L A N網(wǎng)段的直接相連這種情況,它們之間的通信只使用L A N的通信機(jī)制就可以了(即OSI 參考模型的一二層)。
四.傳輸層(Transport Layer)
O S I 模型中重要的一層。傳輸協(xié)議同時進(jìn)行流量控制或是基于接收方可接收數(shù)據(jù)的快慢程度規(guī)定適當(dāng)?shù)陌l(fā)送速率。除此之外,傳輸層按照網(wǎng)絡(luò)能處理的大尺寸將較長的數(shù)據(jù)包進(jìn)行強(qiáng)制分割。例如,以太網(wǎng)無法接收大于1 5 0 0 字節(jié)的數(shù)據(jù)包。發(fā)送方節(jié)點的傳輸層將數(shù)據(jù)分割成較小的數(shù)據(jù)片,同時對每一數(shù)據(jù)片安排一序列號,以便數(shù)據(jù)到達(dá)接收方節(jié)點的傳輸層時,能以正確的順序重組。該過程即被稱為排序。工作在傳輸層的一種服務(wù)是 T C P / I P 協(xié)議套中的T C P (傳輸控制協(xié)議),另一項傳輸層服務(wù)是I P X / S P X 協(xié)議集的S P X (序列包交換)。
五.會話層(Session Layer)
負(fù)責(zé)在網(wǎng)絡(luò)中的兩節(jié)點之間建立、維持和終止通信。 會話層的功能包括:建立通信鏈接,保持會話過程通信鏈接的暢通,同步兩個節(jié)點之間的對話,決定通信是否被中斷以及通信中斷時決定從何處重新發(fā)送。 你可能常常聽到有人把會話層稱作網(wǎng)絡(luò)通信的“交通警察”。當(dāng)通過撥號向你的 ISP (因特網(wǎng)服務(wù)提供商)請求連接到因特網(wǎng)時,ISP 服務(wù)器上的會話層向你與你的 PC 客戶機(jī)上的會話層進(jìn)行協(xié)商連接。若你的電話線偶然從墻上插孔脫落時,你終端機(jī)上的會話層將檢測到連接中斷并重新發(fā)起連接。會話層通過決定節(jié)點通信的優(yōu)先級和通信時間的長短來設(shè)置通信期限
六.表示層(Presentation Layer)
應(yīng)用程序和網(wǎng)絡(luò)之間的翻譯官,在表示層,數(shù)據(jù)將按照網(wǎng)絡(luò)能理解的方案進(jìn)行格式化;這種格式化也因所使用網(wǎng)絡(luò)的類型不同而不同。表示層管理數(shù)據(jù)的解密與加密,如系統(tǒng)口令的處理。例如:在 Internet上查詢你銀行賬戶,使用的即是一種安全連接。你的賬戶數(shù)據(jù)在發(fā)送前被加密,在網(wǎng)絡(luò)的另一端,表示層將對接收到的數(shù)據(jù)解密。除此之外,表示層協(xié)議還對圖片和文件格式信息進(jìn)行解碼和編碼。
七.應(yīng)用層(Application Layer)
應(yīng)用層也稱為應(yīng)用實體(AE),它由若干個特定應(yīng)用服務(wù)元素(SASE)和一個或多個公用應(yīng)用服務(wù)元素(CASE)組成。每個SASE提供特定的應(yīng)用服務(wù),例如文件運(yùn)輸訪問和管理(FTAM)、電子文電處理(MHS)、虛擬終端協(xié)議(VAP)等。CASE提供一組公用的應(yīng)用服務(wù),例如聯(lián)系控制服務(wù)元素(ACSE)、可靠運(yùn)輸服務(wù)元素(RTSE)和遠(yuǎn)程操作服務(wù)元素(ROSE)等。主要負(fù)責(zé)對軟件提供接口以使程序能使用網(wǎng)絡(luò)服務(wù)。術(shù)語“應(yīng)用層”并不是指運(yùn)行在網(wǎng)絡(luò)上的某個特別應(yīng)用程序 ,應(yīng)用層提供的服務(wù)包括文件傳輸、文件管理以及電子郵件的信息處理。