找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2271|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

TCP/IP模型

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:108615 發(fā)表于 2016-3-13 17:17 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
1 OSI參考模型
  談到網(wǎng)絡(luò)不能不談OSI參考模型,雖然OSI參考模型的實(shí)際應(yīng)用意義不是很大,但其的確對(duì)于理解網(wǎng)絡(luò)協(xié)議內(nèi)部的運(yùn)作很有幫助,也為我們學(xué)習(xí)網(wǎng)絡(luò)協(xié)議提供了一個(gè)很好的參考。在現(xiàn)實(shí)網(wǎng)絡(luò)世界里,TCP/IP協(xié)議棧獲得了更為廣泛的應(yīng)用。
  1.1 OSI參考模型的分層結(jié)構(gòu)
  OSI參考模型(OSI/RM)的全稱是開放系統(tǒng)互連參考模型(Open System Interconnection Reference Model,OSI/RM),它是由國(guó)際標(biāo)準(zhǔn)化組織(International Standard Organization,ISO)提出的一個(gè)網(wǎng)絡(luò)系統(tǒng)互連模型。
  OSI參考模型采用分層結(jié)構(gòu),如圖1-1所示。
 圖1-1  OSI參考模型  在這個(gè)OSI七層模型中,每一層都為其上一層提供服務(wù)、并為其上一層提供一個(gè)訪問(wèn)接口或界面。
  不同主機(jī)之間的相同層次稱為對(duì)等層。如主機(jī)A中的表示層和主機(jī)B中的表示層互為對(duì)等層、主機(jī)A中的會(huì)話層和主機(jī)B中的會(huì)話層互為對(duì)等層等。
  對(duì)等層之間互相通信需要遵守一定的規(guī)則,如通信的內(nèi)容、通信的方式,我們將其稱為協(xié)議(Protocol)。
  我們將某個(gè)主機(jī)上運(yùn)行的某種協(xié)議的集合稱為協(xié)議棧。主機(jī)正是利用這個(gè)協(xié)議棧來(lái)接收和發(fā)送數(shù)據(jù)的。
  OSI參考模型通過(guò)將協(xié)議棧劃分為不同的層次,可以簡(jiǎn)化問(wèn)題的分析、處理過(guò)程以及網(wǎng)絡(luò)系統(tǒng)設(shè)計(jì)的復(fù)雜性。
  OSI參考模型的提出是為了解決不同廠商、不同結(jié)構(gòu)的網(wǎng)絡(luò)產(chǎn)品之間互連時(shí)遇到的不兼容性問(wèn)題。但是該模型的復(fù)雜性阻礙了其在計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域的實(shí)際應(yīng)用。與此對(duì)照,后面我們將要學(xué)習(xí)的TCP/IP參考模型,獲得了非常廣泛的應(yīng)用。實(shí)際上,也是目前因特網(wǎng)范圍內(nèi)運(yùn)行的唯一一種協(xié)議。
  
  1.2 OSI參考模型中各層的作用
  在OSI參考模型中,從下至上,每一層完成不同的、目標(biāo)明確的功能。
  1、物理層(Physical Layer)
  物理層規(guī)定了激活、維持、關(guān)閉通信端點(diǎn)之間的機(jī)械特性、電氣特性、功能特性以及過(guò)程特性。該層為上層協(xié)議提供了一個(gè)傳輸數(shù)據(jù)的物理媒體。
  在這一層,數(shù)據(jù)的單位稱為比特(bit)。
  屬于物理層定義的典型規(guī)范代表包括:EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-45等。
  2、數(shù)據(jù)鏈路層(Data Link Layer)
 數(shù)據(jù)鏈路層在不可靠的物理介質(zhì)上提供可靠的傳輸。該層的作用包括:物理地址尋址、數(shù)據(jù)的成幀、流量控制、數(shù)據(jù)的檢錯(cuò)、重發(fā)等。
  在這一層,數(shù)據(jù)的單位稱為幀(frame)。
  數(shù)據(jù)鏈路層協(xié)議的代表包括:SDLC、HDLC、PPP、STP、幀中繼等。
  3、網(wǎng)絡(luò)層(Network Layer)
  網(wǎng)絡(luò)層負(fù)責(zé)對(duì)子網(wǎng)間的數(shù)據(jù)包進(jìn)行路由選擇。此外,網(wǎng)絡(luò)層還可以實(shí)現(xiàn)擁塞控制、網(wǎng)際互連等功能。
  在這一層,數(shù)據(jù)的單位稱為數(shù)據(jù)包(packet)。
  網(wǎng)絡(luò)層協(xié)議的代表包括:IP、IPX、RIP、OSPF等。
  4、傳輸層(Transport Layer)
  傳輸層是第一個(gè)端到端,即主機(jī)到主機(jī)的層次。傳輸層負(fù)責(zé)將上層數(shù)據(jù)分段并提供端到端的、可靠的或不可靠的傳輸。此外,傳輸層還要處理端到端的差錯(cuò)控制和流量控制問(wèn)題。
  在這一層,數(shù)據(jù)的單位稱為數(shù)據(jù)段(segment)。
  傳輸層協(xié)議的代表包括:TCP、UDP、SPX等。
  5、會(huì)話層(Session Layer)
  會(huì)話層管理主機(jī)之間的會(huì)話進(jìn)程,即負(fù)責(zé)建立、管理、終止進(jìn)程之間的會(huì)話。會(huì)話層還利用在數(shù)據(jù)中插入校驗(yàn)點(diǎn)來(lái)實(shí)現(xiàn)數(shù)據(jù)的同步。
  會(huì)話層協(xié)議的代表包括:NetBIOS、ZIP(AppleTalk區(qū)域信息協(xié)議)等。
  6、表示層(Presentation Layer)
  表示層對(duì)上層數(shù)據(jù)或信息進(jìn)行變換以保證一個(gè)主機(jī)應(yīng)用層信息可以被另一個(gè)主機(jī)的應(yīng)用程序理解。表示層的數(shù)據(jù)轉(zhuǎn)換包括數(shù)據(jù)的加密、壓縮、格式轉(zhuǎn)換等。
  表示層協(xié)議的代表包括:ASCII、ASN.1、JPEG、MPEG等。
  7、應(yīng)用層(Application Layer)
  應(yīng)用層為操作系統(tǒng)或網(wǎng)絡(luò)應(yīng)用程序提供訪問(wèn)網(wǎng)絡(luò)服務(wù)的接口。
  應(yīng)用層協(xié)議的代表包括:Telnet、FTP、HTTP、SNMP等。
  1.3 OSI參考模型中的數(shù)據(jù)封裝過(guò)程
   圖1-2  OSI參考模型中的數(shù)據(jù)封裝過(guò)程  如圖1-2所示,在OSI參考模型中,當(dāng)一臺(tái)主機(jī)需要傳送用戶的數(shù)據(jù)(DATA)時(shí),數(shù)據(jù)首先通過(guò)應(yīng)用層的接口進(jìn)入應(yīng)用層。在應(yīng)用層,用戶的數(shù)據(jù)被加上應(yīng)用層的報(bào)頭(Application Header,AH),形成應(yīng)用層協(xié)議數(shù)據(jù)單元(Protocol Data Unit,PDU),然后被遞交到下一層-表示層。
  表示層并不"關(guān)心"上層-應(yīng)用層的數(shù)據(jù)格式而是把整個(gè)應(yīng)用層遞交的數(shù)據(jù)包看成是一個(gè)整體進(jìn)行封裝,即加上表示層的報(bào)頭(Presentation Header,PH)。然后,遞交到下層-會(huì)話層。
  同樣,會(huì)話層、傳輸層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層也都要分別給上層遞交下來(lái)的數(shù)據(jù)加上自己的報(bào)頭。它們是:會(huì)話層報(bào)頭(Session Header,SH)、傳輸層報(bào)頭(Transport Header,TH)、網(wǎng)絡(luò)層報(bào)頭(Network Header,NH)和數(shù)據(jù)鏈路層報(bào)頭(Data link Header,DH)。其中,數(shù)據(jù)鏈路層還要給網(wǎng)絡(luò)層遞交的數(shù)據(jù)加上數(shù)據(jù)鏈路層報(bào)尾(Data link Termination,DT)形成最終的一幀數(shù)據(jù)。
  當(dāng)一幀數(shù)據(jù)通過(guò)物理層傳送到目標(biāo)主機(jī)的物理層時(shí),該主機(jī)的物理層把它遞交到上層-數(shù)據(jù)鏈路層。數(shù)據(jù)鏈路層負(fù)責(zé)去掉數(shù)據(jù)幀的幀頭部DH和尾部DT(同時(shí)還進(jìn)行數(shù)據(jù)校驗(yàn))。如果數(shù)據(jù)沒有出錯(cuò),則遞交到上層-網(wǎng)絡(luò)層。
  同樣,網(wǎng)絡(luò)層、傳輸層、會(huì)話層、表示層、應(yīng)用層也要做類似的工作。最終,原始數(shù)據(jù)被遞交到目標(biāo)主機(jī)的具體應(yīng)用程序中。
  
  2 TCP/IP參考模型
  ISO制定的OSI參考模型的過(guò)于龐大、復(fù)雜招致了許多批評(píng)。與此對(duì)照,由技術(shù)人員自己開發(fā)的TCP/IP協(xié)議棧獲得了更為廣泛的應(yīng)用。如圖2-1所示,是TCP/IP參考模型和OSI參考模型的對(duì)比示意圖。
 圖2-1  TCP/IP參考模型  2.1 TCP/IP參考模型的層次結(jié)構(gòu)
  TCP/IP協(xié)議棧是美國(guó)國(guó)防部高級(jí)研究計(jì)劃局計(jì)算機(jī)網(wǎng)(Advanced Research Projects Agency Network,ARPANET)和其后繼因特網(wǎng)使用的參考模型。ARPANET是由美國(guó)國(guó)防部(U.S.Department of Defense,DoD)贊助的研究網(wǎng)絡(luò)。最初,它只連接了美國(guó)境內(nèi)的四所大學(xué)。隨后的幾年中,它通過(guò)租用的電話線連接了數(shù)百所大學(xué)和政府部門。最終ARPANET發(fā)展成為全球規(guī)模最大的互連網(wǎng)絡(luò)-因特網(wǎng)。最初的ARPANET于1990年永久性地關(guān)閉。
  TCP/IP參考模型分為四個(gè)層次:應(yīng)用層、傳輸層、網(wǎng)絡(luò)互連層和主機(jī)到網(wǎng)絡(luò)層。如圖2-2所示。
  圖2-2  TCP/IP參考模型的層次結(jié)  在TCP/IP參考模型中,去掉了OSI參考模型中的會(huì)話層和表示層(這兩層的功能被合并到應(yīng)用層實(shí)現(xiàn))。同時(shí)將OSI參考模型中的數(shù)據(jù)鏈路層和物理層合并為主機(jī)到網(wǎng)絡(luò)層。下面,分別介紹各層的主要功能。
  
  1、主機(jī)到網(wǎng)絡(luò)層
  
  實(shí)際上TCP/IP參考模型沒有真正描述這一層的實(shí)現(xiàn),只是要求能夠提供給其上層-網(wǎng)絡(luò)互連層一個(gè)訪問(wèn)接口,以便在其上傳遞IP分組。由于這一層次未被定義,所以其具體的實(shí)現(xiàn)方法將隨著網(wǎng)絡(luò)類型的不同而不同。
  
  2、網(wǎng)絡(luò)互連層
  網(wǎng)絡(luò)互連層是整個(gè)TCP/IP協(xié)議棧的核心。它的功能是把分組發(fā)往目標(biāo)網(wǎng)絡(luò)或主機(jī)。同時(shí),為了盡快地發(fā)送分組,可能需要沿不同的路徑同時(shí)進(jìn)行分組傳遞。因此,分組到達(dá)的順序和發(fā)送的順序可能不同,這就需要上層必須對(duì)分組進(jìn)行排序。
  網(wǎng)絡(luò)互連層定義了分組格式和協(xié)議,即IP協(xié)議(Internet Protocol)。
  網(wǎng)絡(luò)互連層除了需要完成路由的功能外,也可以完成將不同類型的網(wǎng)絡(luò)(異構(gòu)網(wǎng))互連的任務(wù)。除此之外,網(wǎng)絡(luò)互連層還需要完成擁塞控制的功能。
  
  3、傳輸層
  
  在TCP/IP模型中,傳輸層的功能是使源端主機(jī)和目標(biāo)端主機(jī)上的對(duì)等實(shí)體可以進(jìn)行會(huì)話。在傳輸層定義了兩種服務(wù)質(zhì)量不同的協(xié)議。即:傳輸控制協(xié)議TCP(transmission control protocol)和用戶數(shù)據(jù)報(bào)協(xié)議UDP(user datagram protocol)。
  
  TCP協(xié)議是一個(gè)面向連接的、可靠的協(xié)議。它將一臺(tái)主機(jī)發(fā)出的字節(jié)流無(wú)差錯(cuò)地發(fā)往互聯(lián)網(wǎng)上的其他主機(jī)。在發(fā)送端,它負(fù)責(zé)把上層傳送下來(lái)的字節(jié)流分成報(bào)文段并傳遞給下層。在接收端,它負(fù)責(zé)把收到的報(bào)文進(jìn)行重組后遞交給上層。TCP協(xié)議還要處理端到端的流量控制,以避免緩慢接收的接收方?jīng)]有足夠的緩沖區(qū)接收發(fā)送方發(fā)送的大量數(shù)據(jù)。
       UDP協(xié)議是一個(gè)不可靠的、無(wú)連接協(xié)議,主要適用于不需要對(duì)報(bào)文進(jìn)行排序和流量控制的場(chǎng)合。
  
  4、應(yīng)用層
  TCP/IP模型將OSI參考模型中的會(huì)話層和表示層的功能合并到應(yīng)用層實(shí)現(xiàn)。
  應(yīng)用層面向不同的網(wǎng)絡(luò)應(yīng)用引入了不同的應(yīng)用層協(xié)議。其中,有基于TCP協(xié)議的,如文件傳輸協(xié)議(File Transfer Protocol,F(xiàn)TP)、虛擬終端協(xié)議(TELNET)、超文本鏈接協(xié)議(Hyper Text Transfer Protocol,HTTP),也有基于UDP協(xié)議的。


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表