win7系統(tǒng)下載
當(dāng)前位置: 首頁(yè) > 網(wǎng)絡(luò)技術(shù)教程 > 詳細(xì)頁(yè)面

TCP/IP基礎(chǔ) TCP/IP工作模型

發(fā)布時(shí)間:2022-12-18 文章來(lái)源:深度系統(tǒng)下載 瀏覽:

網(wǎng)絡(luò)技術(shù)是從1990年代中期發(fā)展起來(lái)的新技術(shù),它把互聯(lián)網(wǎng)上分散的資源融為有機(jī)整體,實(shí)現(xiàn)資源的全面共享和有機(jī)協(xié)作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計(jì)算機(jī)、存儲(chǔ)資源、數(shù)據(jù)資源、信息資源、知識(shí)資源、專家資源、大型數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)、傳感器等。 當(dāng)前的互聯(lián)網(wǎng)只限于信息共享,網(wǎng)絡(luò)則被認(rèn)為是互聯(lián)網(wǎng)發(fā)展的第三階段。

介紹 OSI 模型
我們已經(jīng)知道 TCP/IP 能夠應(yīng)用在不同的網(wǎng)路﹐這就必須要有一套大家都遵守的的標(biāo)準(zhǔn)才能保證彼此能夠溝通。因?yàn)閿?shù)據(jù)通訊領(lǐng)域的專用屬于和技術(shù)實(shí)在太廣泛了﹐沒(méi)有任何一位電腦專家能夠熟悉全部的內(nèi)容。 
因此必須有一套公認(rèn)而且通用的參考架構(gòu)以供厘清各項(xiàng)標(biāo)準(zhǔn)。在我們了解 TCP/IP 協(xié)定之前﹐有一個(gè)公認(rèn)的網(wǎng)路模型我們必須要先了解的﹐它就是由 International Standardization Organisation (ISO) 于1978年開(kāi)始開(kāi)發(fā)的一套標(biāo)準(zhǔn)架構(gòu)﹕Reference Model for Open System Interconnection (OSI) 模型。OSI 常被引用來(lái)說(shuō)明數(shù)據(jù)通訊協(xié)定的結(jié)構(gòu)及功能﹐成為討論通訊時(shí)代共同依據(jù)﹐已經(jīng)被通訊界廣泛實(shí)用且有一致的認(rèn)知了。
OSI 把數(shù)據(jù)通訊的各種功能分為七個(gè)層級(jí)﹐各司其職﹐但有相互依存﹑合作。但在功能上﹐它們又可以被劃分為兩組﹕
· 網(wǎng)路群組﹕由實(shí)體層﹑資料連接層﹑和網(wǎng)路層組成。
· 使用者群組﹕由傳送層﹑會(huì)談層﹑表現(xiàn)層﹑和應(yīng)用層組成。
您可以從下圖看各個(gè)協(xié)定層的排列關(guān)系﹕
應(yīng)用層 (Application)
表現(xiàn)層 (Presentation)
會(huì)談層 (Session)
傳送層 (Transport)
網(wǎng)路層 (Network)
資料連接層 (Data Link)
實(shí)體層 (Physical)
OSI 參考模型
OSI 提供了一個(gè)很有用的模式去解釋各個(gè)不同層面的網(wǎng)路協(xié)定﹐這些協(xié)定就像堆積木一樣﹐層層疊上去﹐因此此一架構(gòu)常被稱為堆疊(stack)﹐或是協(xié)定堆疊。每一個(gè)協(xié)定都只和與之對(duì)應(yīng)的協(xié)定溝通﹐然后將結(jié)構(gòu)向相鄰的協(xié)定解釋。彼此之間如何傳送資料都有必然的協(xié)定﹐而且層層相扣﹐共同協(xié)力完成任務(wù)。各層無(wú)需知道其他層是如何工作的﹐只關(guān)心相同層級(jí)的協(xié)定就行﹔但層與層之間卻有一套既定協(xié)議相互交換處理結(jié)果。這樣有一個(gè)很明顯的好處是﹕這留給各層都有自己的設(shè)計(jì)與發(fā)展空間﹐當(dāng)某一層要進(jìn)行協(xié)定更新﹐其他層無(wú)需同時(shí)被修改。
下面分別對(duì)各個(gè)曾經(jīng)做一個(gè)簡(jiǎn)單的描述﹕
實(shí)體層(Physical Layer)

在這層里面您必須作出一些機(jī)械和電子方面的決定﹐也就是要定義出在終端和網(wǎng)絡(luò)之間要使用的設(shè)備。同時(shí)﹐采用何種布線也要在這里決定出來(lái)>這層實(shí)際是定義了應(yīng)用在網(wǎng)路傳輸中的各種設(shè)備規(guī)格﹐以及如何將硬體所攜載的信號(hào)轉(zhuǎn)換成電腦可以理解的電子信號(hào)( 0 和 1 )﹐這通常都是設(shè)備上面之韌體(Firmware)的功能。這些規(guī)格一般是由硬體的生產(chǎn)廠商制定的﹐比如﹕數(shù)據(jù)線的接腳﹑電壓﹑波長(zhǎng)﹑相位﹑等等。
例如網(wǎng)線﹑網(wǎng)路卡﹑電話線﹐等等﹐都是屬于實(shí)體層的范疇﹐也就是用來(lái)連接兩臺(tái)電腦的可以攜帶數(shù)據(jù)的媒體﹕可以是銅線﹑也可以是紅外線﹑也可以是光學(xué)纖維。我們常見(jiàn)的實(shí)體層是用來(lái)連接辦公室網(wǎng)路的 Ethernet 和 Token Ring 線路﹐或者是連接 modem 的電話線。而機(jī)器上的網(wǎng)路卡﹐或是連接遠(yuǎn)端的 modem ﹐都能夠?qū)⑽锢砻襟w上面的電子脈沖轉(zhuǎn)換成電腦所能讀得懂的 0 和 1。
資料連接層(Data Link Layer)

在這層指定了要采用的信息單元 (message unit﹐通常在 LAN上面的信息單元被稱為 frame﹐翻譯為“訊框”或“框包”)﹐還有它們的格式﹑以及如何通過(guò)網(wǎng)絡(luò)。每一個(gè) frame 都會(huì)被賦予一個(gè) MAC 位址碼和偵錯(cuò)監(jiān)測(cè)值(checksum)。
Ethernet 的 Data Link Layer Frame 看起來(lái)如下圖﹕

Data Link Layer Frame 結(jié)構(gòu)
數(shù)據(jù)在實(shí)體層是以bit為單位來(lái)傳輸?shù)末o資料連接層要制定不同網(wǎng)路形態(tài)的資料框包格式﹐確保數(shù)據(jù)能夠在不同的網(wǎng)路實(shí)體(比如﹕同軸電纜﹑雙絞線﹑光纖﹑電話數(shù)據(jù)線﹑等等)上進(jìn)行資料傳送。有一個(gè) Binary Synchronous Communications 協(xié)定﹐會(huì)判定出一個(gè)框包如果在丟失的情況下﹐要等待多久會(huì)被重新發(fā)送﹐以及如何處理重發(fā)的框包和封包確認(rèn)。這個(gè)協(xié)定也是在這層里面定義。我們通常用來(lái)?yè)芙由暇W(wǎng)的 PPP 協(xié)定就是在這層里面定義的﹔同時(shí)﹐一般給 Mainframe 使用的 xDLC 協(xié)定也屬于這里的范圍。
資料連接層通常會(huì)管轄以下的功能﹕
· 網(wǎng)路卡的實(shí)體位址(Physical Address)﹐也被稱為MAC(Media Access Control) Address
· 虛擬電路(Virtual Circuit)連接和邏輯連結(jié)(Logical Link)的建立和結(jié)束
· 控制框包的傳送和錯(cuò)誤檢測(cè)方式
· 框包的傳送及接收順序和傳遞方式
· 判定框包的建立及重組分界
· 檢測(cè)框包的確認(rèn)﹐以及在得不到回應(yīng)或重復(fù)發(fā)送的情形下進(jìn)行修復(fù)的程序
· 處理實(shí)體層的轉(zhuǎn)換和管理
· 對(duì)接收框包進(jìn)行檢錯(cuò)和確認(rèn)
· 檢查發(fā)送框包的實(shí)體位址以確保資料能正確的被送抵目的地之網(wǎng)路層
在 IEEE802 標(biāo)準(zhǔn)里面﹐還將資料連接層再劃分為兩層﹕Media Access Control 和 Logical Link Control ﹐請(qǐng)參閱下表﹕
IEEE 802 / 803.x 標(biāo)準(zhǔn)
總體來(lái)說(shuō)﹐這層的工作就是保證一個(gè)無(wú)錯(cuò)誤的物理上的數(shù)據(jù)傳輸。
網(wǎng)路層(Network Layer)
這層就好比是一個(gè)中間人界乎于網(wǎng)絡(luò)功能和使用者功能之間。它會(huì)定義出封包在網(wǎng)路中移動(dòng)的路由和其處理過(guò)程﹐這層還決定了網(wǎng)路是如何進(jìn)行管理功能的﹐比如﹐發(fā)送狀態(tài)信息給接點(diǎn)和規(guī)范封包的流動(dòng)等。
網(wǎng)路層的主要功能是讓封包(packet)在不同的網(wǎng)路之間成功地進(jìn)行傳遞。它規(guī)定了網(wǎng)路的定址方式﹐及處理資料在不同網(wǎng)路之間的傳遞方式﹑處理子網(wǎng)路之間的傳遞﹑決定路由路徑﹑網(wǎng)路環(huán)境﹑資料處理順序﹑等等工作。
發(fā)送端電腦在封包被傳送出去之前﹐都會(huì)先為其建立 header ﹐作為在網(wǎng)路或子網(wǎng)間進(jìn)行路由的依據(jù)。網(wǎng)路層在辨認(rèn)和處理資料的時(shí)候﹐會(huì)忽略由高層協(xié)定制定的定義﹐只負(fù)責(zé)為數(shù)據(jù)在一個(gè)或多個(gè)網(wǎng)路間建立﹑維護(hù)﹑和終止連接。
網(wǎng)路層通常都有如下的這些功能﹕
· 如果封包不是屬于同一個(gè)網(wǎng)路的時(shí)候﹐會(huì)將之交由 router 處理
· 控制數(shù)據(jù)流量﹐當(dāng) router 的緩沖區(qū)飽和的時(shí)候﹐會(huì)通知數(shù)據(jù)傳輸設(shè)備使用其它路徑或暫停發(fā)送封包
· 當(dāng)封包體積超過(guò) router 的 MTU (Maximum Transmission Unit) 數(shù)值的時(shí)候﹐允許 router 對(duì)封包進(jìn)行重組后再進(jìn)行傳送。(一些所謂的增加 modem上網(wǎng)速度的軟體﹐就是因?yàn)榭梢詫?duì)電腦的 MTU 數(shù)值進(jìn)行最佳化﹐盡量減少 router 的封包重組﹐以達(dá)到最高的數(shù)據(jù)傳輸效率。)
· 負(fù)責(zé) MAC 位址和網(wǎng)路位址(如 IP 位址﹑IPX 位址)之間的解釋和轉(zhuǎn)換
一個(gè)有趣的事情是﹐網(wǎng)路層還能將底層協(xié)定(網(wǎng)路功能)對(duì)上層協(xié)定(使用者功能)躲起來(lái)。這樣﹐在網(wǎng)路的使用者就可以使用不同種類的硬體了。這是非常好的事情﹐假如您用來(lái)建網(wǎng)的材料都不盡相同的話。
傳送層(Transport Layer)
在這層﹐將會(huì)設(shè)定如何控制節(jié)點(diǎn)之間的資料傳遞﹐還有錯(cuò)誤檢測(cè)和修正的方法。
由于大多數(shù)網(wǎng)路﹐如 Ethernet 和 Token Ring等﹐由于物理上面的限制﹐一次所通過(guò)的數(shù)據(jù)流通常只有數(shù)千 byte 而已(IP 封包最大體積為 65536 bytes)﹐然而許多需要在網(wǎng)路中傳輸?shù)馁Y料都會(huì)超過(guò)這個(gè)數(shù)值。傳送層的主要功能是確保電腦資料正確的傳送到目的地。它的工作就是“打包”﹐也就是將電腦資料變成封包的形態(tài)﹐再賦以一定的檢測(cè)手段﹐將資料正確的傳到目的電腦﹐然后再將封包重組回資料。封包如果殘缺則進(jìn)行重發(fā)﹐也能夠?qū)⒅貜?fù)的封包剔除。
傳送層可以等資料收集到足夠大的數(shù)量的時(shí)候才發(fā)送出去,并非應(yīng)用程式每次產(chǎn)生一個(gè)數(shù)據(jù)就進(jìn)行一次傳送,也就能減少了不必要的傳輸次數(shù)﹐以保證高效率的傳輸﹔反之,當(dāng)應(yīng)用程式產(chǎn)生大資料量數(shù)據(jù)時(shí),則將之分拆成較小的封包再進(jìn)行傳送。
傳送層的主要功能有﹕
· 接管由上層協(xié)定傳來(lái)的資料﹐并進(jìn)行“分拆”和“打包”等工作。
· 利用點(diǎn)對(duì)點(diǎn)的方式進(jìn)行資料傳送和回應(yīng)的確認(rèn)。
· 在得到接收端之資料緩沖區(qū)飽和信息之后﹐暫時(shí)停止資料發(fā)送。
· 能在單一位址上處理不同的程式協(xié)定(如ftp﹑http﹑telnet等)﹐并分別進(jìn)行追蹤及轉(zhuǎn)換。
會(huì)談層(Session Layer)
這層定義了如何連接和掛斷連接﹐和在網(wǎng)路上面的數(shù)據(jù)如何交換。
這層所負(fù)責(zé)的是建立和管理電腦與電腦之間的溝通模式﹐也就是在資料真正進(jìn)行傳送之前設(shè)定并建立好連線。這里定義了連線的請(qǐng)求和結(jié)束﹑傳送和接收狀態(tài)的設(shè)定﹑等等動(dòng)作。
當(dāng)節(jié)點(diǎn) A 要建立和節(jié)點(diǎn) B 的連線的時(shí)候﹐ 會(huì)先發(fā)出“連線請(qǐng)求”訊息, 若對(duì)方接受連線,則回應(yīng)“建立請(qǐng)求”訊息﹐然后雙方就建立好一個(gè)會(huì)談了﹔當(dāng)會(huì)談結(jié)束的時(shí)候﹐也是先由節(jié)點(diǎn) A 送出一個(gè)“結(jié)束請(qǐng)求”信息﹐等對(duì)方確認(rèn)這個(gè)請(qǐng)求之后﹐那么會(huì)談也就真正結(jié)束了。
會(huì)談層的功能主要有這些﹕
· 允許程式以電腦名稱注冊(cè)成為網(wǎng)路上唯一的位址。
· 在電腦之間建立﹑監(jiān)測(cè)﹑和結(jié)束虛擬電路(Virtual Circuit)。
· 負(fù)責(zé)電腦之間的信息同步﹐監(jiān)測(cè)資料溝通狀態(tài)﹐并對(duì)錯(cuò)誤信息做出處理。
會(huì)談層為不同的程式以及與之對(duì)應(yīng)的位于另一臺(tái)電腦的程式﹐提供了可靠的溝通渠道。在某些溝通渠道中使用的是 half-duplex(半雙工﹐即單向) 的模式﹐有些則使用 full-duplex(全雙工﹐即雙向) 的模式﹐為程式之間協(xié)定好共同認(rèn)可的模式﹐并進(jìn)行同步和管理等責(zé)任﹐都是會(huì)談層所肩負(fù)起的。
表現(xiàn)層(Presentation Layer)
在這層﹐定義了數(shù)據(jù)的語(yǔ)法(syntax)﹑變更﹑和格式。當(dāng)應(yīng)用程式的語(yǔ)法和格式都不同的時(shí)候﹐這層還將定義了如何翻譯這些不同。
如果您想將您的 PC 通過(guò)網(wǎng)路連接 mainframe 電腦﹐那您就必須使用合適的 mainframe 文字串﹐通常會(huì)是 EBCDIS(External Binary Coded Decimal for Interchange Code)﹐然而您的 PC 使用的卻是 ASCII 碼(American Standard Code for Information Interchange)﹐這兩種編碼格式是截然不同的。表現(xiàn)層則是主要負(fù)責(zé)在不同機(jī)器之間進(jìn)行編碼轉(zhuǎn)換。

【相關(guān)文章】

  • TCP/IP攻擊原理分析總結(jié)
  • TCP/IP協(xié)議數(shù)據(jù)報(bào)結(jié)構(gòu)詳解
  • 通過(guò)連接實(shí)例解讀TCP/IP協(xié)議
責(zé)任編輯: 雪花(TEL:(010)68476636-8008)

網(wǎng)絡(luò)的神奇作用吸引著越來(lái)越多的用戶加入其中,正因如此,網(wǎng)絡(luò)的承受能力也面臨著越來(lái)越嚴(yán)峻的考驗(yàn)―從硬件上、軟件上、所用標(biāo)準(zhǔn)上......,各項(xiàng)技術(shù)都需要適時(shí)應(yīng)勢(shì),對(duì)應(yīng)發(fā)展,這正是網(wǎng)絡(luò)迅速走向進(jìn)步的催化劑。

本文章關(guān)鍵詞: TCP IP 工作模型