網(wǎng)絡(luò)程序設(shè)計(jì)_第1頁(yè)
網(wǎng)絡(luò)程序設(shè)計(jì)_第2頁(yè)
網(wǎng)絡(luò)程序設(shè)計(jì)_第3頁(yè)
網(wǎng)絡(luò)程序設(shè)計(jì)_第4頁(yè)
網(wǎng)絡(luò)程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩62頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

網(wǎng)絡(luò)應(yīng)用程序設(shè)計(jì)網(wǎng)絡(luò)程序設(shè)計(jì)概述計(jì)算機(jī)網(wǎng)絡(luò)概述網(wǎng)絡(luò)模型網(wǎng)絡(luò)協(xié)議服務(wù)方式網(wǎng)絡(luò)編程模式Linux編程基礎(chǔ)計(jì)算機(jī)網(wǎng)絡(luò)概述計(jì)算機(jī)網(wǎng)絡(luò)就是把分布在不同地點(diǎn)的多個(gè)計(jì)算機(jī)物理地連接起來(lái),按照網(wǎng)絡(luò)協(xié)議互相通信,以共享軟件、硬件和數(shù)據(jù)資源為目標(biāo)的系統(tǒng)。計(jì)算機(jī)互連通常有兩種方式:有線連接:雙絞線、同軸電纜、電話線、光纖,無(wú)線連接:微波、紅外線和毫米波、光波、地球衛(wèi)星通信等。計(jì)算機(jī)網(wǎng)絡(luò)概述計(jì)算機(jī)之間的通信是通過(guò)通信協(xié)議實(shí)現(xiàn)的。這是因?yàn)橛?jì)算機(jī)網(wǎng)絡(luò)中可能存在不同地區(qū)、不同的網(wǎng)絡(luò)提供商、不同種類(lèi)的計(jì)算機(jī),在其上運(yùn)行的操作系統(tǒng)也不盡相同,它們?cè)跈C(jī)器字長(zhǎng)、信息的表示方法等多方面都存在差異,這些都會(huì)影響計(jì)算機(jī)之間的通信所以要制定一定的規(guī)則來(lái)協(xié)調(diào)差異。這些規(guī)則稱為通信協(xié)議。計(jì)算機(jī)網(wǎng)絡(luò)的功能數(shù)據(jù)通信資源共享遠(yuǎn)程傳輸集中管理實(shí)現(xiàn)分布式計(jì)算負(fù)荷均衡計(jì)算機(jī)網(wǎng)絡(luò)的應(yīng)用信息服務(wù)通信與協(xié)作服務(wù)交易服務(wù)與電子商務(wù)休閑娛樂(lè)服務(wù)計(jì)算服務(wù)分布式控制系統(tǒng)計(jì)算機(jī)集成與制造系統(tǒng)計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展簡(jiǎn)史計(jì)算機(jī)網(wǎng)絡(luò)的產(chǎn)生和發(fā)展經(jīng)歷了從簡(jiǎn)單到復(fù)雜、從單機(jī)系統(tǒng)到多機(jī)系統(tǒng)的發(fā)展過(guò)程,其演變過(guò)程可分為三個(gè)階段:以單計(jì)算機(jī)為中心的聯(lián)機(jī)系統(tǒng);計(jì)算機(jī)—計(jì)算機(jī)網(wǎng)絡(luò);網(wǎng)絡(luò)體系結(jié)構(gòu)標(biāo)準(zhǔn)化。計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展簡(jiǎn)史1、以單計(jì)算機(jī)為中心的聯(lián)機(jī)系統(tǒng)

20世紀(jì)60年代以前用戶可遠(yuǎn)地的終端(Terminal)上輸入自己的程序和數(shù)據(jù),由主機(jī)進(jìn)行處理后再由通信線路將結(jié)果返回給用戶終端。這種系統(tǒng)也稱為終端—計(jì)算機(jī)網(wǎng)絡(luò),是早期計(jì)算機(jī)網(wǎng)絡(luò)的主要形式。計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展簡(jiǎn)史缺點(diǎn):主機(jī)負(fù)荷較重,效率較低;通信線路的利用率低;集中控制方式,可靠性低計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展簡(jiǎn)史為了盡量克服以上的缺點(diǎn),當(dāng)時(shí)人們又開(kāi)發(fā)了一些提高使用效率的技術(shù),對(duì)后來(lái)網(wǎng)絡(luò)技術(shù)的發(fā)展具有很大的啟發(fā)作用。多點(diǎn)通信線路計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展簡(jiǎn)史終端集中器和前端處理機(jī)計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展簡(jiǎn)史2、計(jì)算機(jī)—計(jì)算機(jī)網(wǎng)絡(luò)從20世紀(jì)60年代中期到70年代中期第一種形式是通過(guò)通信線路將主計(jì)算機(jī)連接起來(lái),主機(jī)既承擔(dān)數(shù)據(jù)處理,又承擔(dān)通信工作。計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展簡(jiǎn)史第二種形式是把通信從主機(jī)分離出來(lái),設(shè)置通信控制處理機(jī)CCP(CommunicationControlProcessor)主機(jī)間的通信通過(guò)的中繼功能間接進(jìn)行。由CCP組成的傳輸網(wǎng)絡(luò)稱通信子網(wǎng)。計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展簡(jiǎn)史3、網(wǎng)絡(luò)體系結(jié)構(gòu)的標(biāo)準(zhǔn)化 依據(jù)標(biāo)準(zhǔn)化水平可分為兩個(gè)階段:各計(jì)算機(jī)制造廠商網(wǎng)絡(luò)結(jié)構(gòu)標(biāo)準(zhǔn)化 例如:IBM公司在SNA(SystemNetworkArchitecture)、DEC公司公布了DNA(數(shù)字網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu))Univac公司公布了DCA(數(shù)據(jù)通信體系結(jié)構(gòu))、Burroughs(寶來(lái))公司公布了BNA(寶來(lái)網(wǎng)絡(luò)體系結(jié)構(gòu))等。計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展簡(jiǎn)史國(guó)際網(wǎng)絡(luò)體系結(jié)構(gòu)標(biāo)準(zhǔn)化

1977年國(guó)際標(biāo)準(zhǔn)化組織(ISO)制定了“開(kāi)放系統(tǒng)互聯(lián)參考模型”(OSI)。OSI模型并沒(méi)有真正流行開(kāi)來(lái),為什么呢?糟糕的提出時(shí)間糟糕的技術(shù)糟糕的實(shí)現(xiàn)糟糕的策略層次(layer)協(xié)議(protocol)

接口(interface)

體系結(jié)構(gòu)(architecture)協(xié)議、層次、接口與體系結(jié)構(gòu)的概念層次是人們對(duì)復(fù)雜問(wèn)題處理的基本方法;將總體要實(shí)現(xiàn)的很多功能分配在不同層次中;對(duì)每個(gè)層次要完成的服務(wù)及服務(wù)要求都有明確規(guī)定;不同的系統(tǒng)分成相同的層次;不同系統(tǒng)的最低層之間存在著“物理”通信;不同系統(tǒng)的對(duì)等層次之間存在著“虛擬”通信;對(duì)不同系統(tǒng)的對(duì)等層之間的通信有明確的通信規(guī)定;高層使用低層提供的服務(wù)時(shí),并不需要知道低層服務(wù)的具體實(shí)現(xiàn)方法。

層次接口是同一結(jié)點(diǎn)內(nèi)相鄰層之間交換信息的連接點(diǎn);同一個(gè)結(jié)點(diǎn)的相鄰層之間存在著明確規(guī)定的接口,低層向高層通過(guò)接口提供服務(wù);只要接口條件不變、低層功能不變,低層功能的具體實(shí)現(xiàn)方法與技術(shù)的變化不會(huì)影響整個(gè)系統(tǒng)的工作。接口一個(gè)功能完備的計(jì)算機(jī)網(wǎng)絡(luò)需要制定一整套復(fù)雜的協(xié)議集;網(wǎng)絡(luò)協(xié)議是按層次結(jié)構(gòu)來(lái)組織的;網(wǎng)絡(luò)層次結(jié)構(gòu)模型與各層協(xié)議的集合稱為網(wǎng)絡(luò)體系結(jié)構(gòu);網(wǎng)絡(luò)體系結(jié)構(gòu)對(duì)計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)該實(shí)現(xiàn)的功能進(jìn)行了精確的定義;體系結(jié)構(gòu)是抽象的,而實(shí)現(xiàn)是指能夠運(yùn)行的一些硬件和軟件。網(wǎng)絡(luò)體系結(jié)構(gòu)各層之間相互獨(dú)立;靈活性好;各層都可以采用最合適的技術(shù)來(lái)實(shí)現(xiàn);易于實(shí)現(xiàn)和維護(hù);有利于促進(jìn)標(biāo)準(zhǔn)化。

層次結(jié)構(gòu)研究方法的優(yōu)點(diǎn)網(wǎng)絡(luò)模型所謂模型化的方法,就是用功能上等價(jià)的開(kāi)發(fā)系統(tǒng)模型代替實(shí)際開(kāi)放系統(tǒng)。模型化的方法按兩部進(jìn)行:第一步研究開(kāi)放式的系統(tǒng)的基本成分和涉及它們的組織及功能,構(gòu)造開(kāi)放系統(tǒng)互連的順序式的七層模型,即應(yīng)用層、表示層、會(huì)話層、傳輸層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層和物理層。第二步在七層模型的框架內(nèi)詳細(xì)和精確地描述抽象開(kāi)放系統(tǒng)的功能,構(gòu)成開(kāi)放系統(tǒng)互連的服務(wù)和協(xié)議。OSI參考模型在制定計(jì)算機(jī)網(wǎng)絡(luò)標(biāo)準(zhǔn)方面,起著很大作用的兩大國(guó)際組織是:

國(guó)際電報(bào)與電話咨詢委員會(huì)(ConsultativeCommitteeonInternationalTelegraphandTelephone,CCITT);

國(guó)際標(biāo)準(zhǔn)化組織(InternationalStandardsOrganization,ISO)。CCITT與ISO的工作領(lǐng)域是不同的:

CCITT主要是考慮通信標(biāo)準(zhǔn)的制定;

ISO主要是考慮信息處理與網(wǎng)絡(luò)體系結(jié)構(gòu)。在OSI中的“開(kāi)放”是指只要遵循OSI標(biāo)準(zhǔn),一個(gè)系統(tǒng)就可以與位于世界上任何地方、同樣遵循同一標(biāo)準(zhǔn)的其他任何系統(tǒng)進(jìn)行通信;OSI標(biāo)準(zhǔn)中,采用的是三級(jí)抽象:

?體系結(jié)構(gòu)(architecture);

?服務(wù)定義(servicedefinition);

?協(xié)議說(shuō)明(protocolspecification)。OSI參考模型體系結(jié)構(gòu)開(kāi)放系統(tǒng)的層次結(jié)構(gòu)、層次之間的相互關(guān)系及各層所包括的可能的服務(wù);作為一個(gè)框架來(lái)協(xié)調(diào)和組織各層協(xié)議的制定;對(duì)網(wǎng)絡(luò)內(nèi)部結(jié)構(gòu)最精煉地概括與描述。服務(wù)定義詳細(xì)地說(shuō)明了各層所提供的服務(wù);某一層的服務(wù)就是該層及其以下各層的一種能力;低層的服務(wù)是通過(guò)接口向上一層提供的;各層所提供的服務(wù)與這些服務(wù)是如何實(shí)現(xiàn)的無(wú)關(guān);定義了層與層之間的接口與各層使用的原語(yǔ),但不涉及接口是具體實(shí)現(xiàn)的。協(xié)議說(shuō)明OSI標(biāo)準(zhǔn)中的各種協(xié)議明確地定義了:應(yīng)該發(fā)送什么樣的控制信息;如何解釋這個(gè)控制信息。協(xié)議的規(guī)程說(shuō)明具有最嚴(yán)格的約束。OSI參考模型OSI開(kāi)放系統(tǒng)互連參考模型將整個(gè)網(wǎng)絡(luò)的通信功能劃分成七個(gè)層次,每個(gè)層次完成不同的功能。這七層由低層至高層分別是:物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、運(yùn)輸層、會(huì)話層、表示層和應(yīng)用層。

分層的主要目的:將網(wǎng)絡(luò)技術(shù)中的復(fù)雜問(wèn)題盡量簡(jiǎn)單化。將網(wǎng)絡(luò)中不同的功能由不同的層次來(lái)完成,從而令各層次間相互影響的程度盡量降低。OSI參考模型物理層:利用傳輸介質(zhì)為通信的網(wǎng)絡(luò)結(jié)點(diǎn)之間建立、管理和釋放物理連接;實(shí)現(xiàn)比特流的透明傳輸,為數(shù)據(jù)鏈路層提供數(shù)據(jù)傳輸服務(wù);物理層的數(shù)據(jù)傳輸單元是比特。數(shù)據(jù)鏈路層:在物理層提供的服務(wù)基礎(chǔ)上,數(shù)據(jù)鏈路層在通信的實(shí)體間建立數(shù)據(jù)鏈路連接;傳輸以“幀”為單位的數(shù)據(jù)包;采用差錯(cuò)控制與流量控制方法,使有差錯(cuò)的物理線路變成無(wú)差錯(cuò)的數(shù)據(jù)鏈路。

OSI參考模型網(wǎng)絡(luò)層:通過(guò)路由選擇算法為分組通過(guò)通信子網(wǎng)選擇最適當(dāng)?shù)穆窂?;為?shù)據(jù)在結(jié)點(diǎn)之間傳輸創(chuàng)建邏輯鏈路;實(shí)現(xiàn)擁塞控制、網(wǎng)絡(luò)互連等功能。傳輸層:向用戶提供可靠端到端(end-to-end)服務(wù);處理數(shù)據(jù)包錯(cuò)誤、數(shù)據(jù)包次序,以及其他一些關(guān)鍵傳輸問(wèn)題;傳輸層向高層屏蔽了下層數(shù)據(jù)通信的細(xì)節(jié),是計(jì)算機(jī)通信體系結(jié)構(gòu)中關(guān)鍵的一層。會(huì)話層負(fù)責(zé)維護(hù)兩個(gè)結(jié)點(diǎn)之間的傳輸鏈接,以便確保點(diǎn)到點(diǎn)傳輸不中斷;管理數(shù)據(jù)交換。OSI參考模型表示層:用于處理在兩個(gè)通信系統(tǒng)中交換信息的表示方式;數(shù)據(jù)格式變換;數(shù)據(jù)加密與解密;數(shù)據(jù)壓縮與恢復(fù)。應(yīng)用層為應(yīng)用程序提供了網(wǎng)絡(luò)服務(wù);應(yīng)用層需要識(shí)別并保證通信對(duì)方的可用性,使得協(xié)同工作的應(yīng)用程序之間的同步;建立傳輸錯(cuò)誤糾正與保證數(shù)據(jù)完整性的控制機(jī)制。OSI參考模型OSI參考模型分層的優(yōu)點(diǎn):簡(jiǎn)化了網(wǎng)絡(luò)通信設(shè)計(jì)的復(fù)雜性。根據(jù)所完成的處理或技術(shù)上明顯的不同來(lái)劃分層次,每一層的功能是固定的和具體的,要求也比較明確。由于采用了分層技術(shù),在結(jié)構(gòu)、硬件或軟件方面出現(xiàn)了某些新技術(shù)或新方法的時(shí)候,很容易對(duì)某一層進(jìn)行更新。OSI參考模型分層的原則:網(wǎng)中各結(jié)點(diǎn)都具有相同的層次;不同結(jié)點(diǎn)的同等層具有相同的功能;同一結(jié)點(diǎn)內(nèi)相鄰層之間通過(guò)接口通信;每一層可以使用下層提供的服務(wù),并向其上層提供服務(wù);不同結(jié)點(diǎn)的同等層通過(guò)協(xié)議來(lái)實(shí)現(xiàn)對(duì)等層之間的通信。OSI參考模型OSI模型的貢獻(xiàn):提出層次結(jié)構(gòu)服務(wù)透明性靈活性好結(jié)構(gòu)上可分割開(kāi)易于實(shí)現(xiàn)和維護(hù)能促進(jìn)標(biāo)準(zhǔn)化工作三個(gè)概念服務(wù)接口協(xié)議網(wǎng)絡(luò)協(xié)議網(wǎng)絡(luò)協(xié)議是為網(wǎng)絡(luò)數(shù)據(jù)交換而制定的規(guī)則、約定與標(biāo)準(zhǔn);網(wǎng)絡(luò)協(xié)議的三要素:語(yǔ)義、語(yǔ)法與時(shí)序;語(yǔ)義:用于解釋比特流的每一部分的意義;語(yǔ)法:語(yǔ)法是用戶數(shù)據(jù)與控制信息的結(jié)構(gòu)與格式,以及數(shù)據(jù)出現(xiàn)的順序的意義;時(shí)序:事件實(shí)現(xiàn)順序的詳細(xì)說(shuō)明。網(wǎng)絡(luò)協(xié)議數(shù)據(jù)交換方式線路交換最早出現(xiàn)在電話系統(tǒng)中,早期的計(jì)算機(jī)網(wǎng)絡(luò)就是采用此方式來(lái)傳輸數(shù)據(jù)的,數(shù)字信號(hào)經(jīng)過(guò)變換成為模擬信號(hào)后才能在線路上傳輸。報(bào)文交換是一種數(shù)字化網(wǎng)絡(luò)。當(dāng)通信開(kāi)始時(shí),源機(jī)發(fā)出的一個(gè)報(bào)文被存儲(chǔ)在交換器里,交換器根據(jù)報(bào)文的目的地址選擇合適的路徑發(fā)送報(bào)文,這種方式稱做存儲(chǔ)一轉(zhuǎn)發(fā)方式。分組交換采用報(bào)文傳輸,但它不是以不定長(zhǎng)的報(bào)文作為傳輸?shù)幕締挝?,而是將一個(gè)長(zhǎng)的報(bào)文劃分為許多定長(zhǎng)的報(bào)文分組,以分組作為傳輸?shù)幕締挝弧l`活性高且傳輸效率高。

TCP/IP參考模型的發(fā)展在TCP/IP協(xié)議研究時(shí),并沒(méi)有提出參考模型;1974年Kahn定義了最早的TCP/IP參考模型;20世紀(jì)80年代Leiner、Clark等人對(duì)TCP/IP參考模型進(jìn)一步的研究;TCP/IP協(xié)議一共出現(xiàn)了6個(gè)版本,后3個(gè)版本是版本4、版本5與版本6;目前我們使用的是版本4,它的網(wǎng)絡(luò)層IP協(xié)議一般記作IPv4;版本6的網(wǎng)絡(luò)層IP協(xié)議一般記作IPv6(或IPng,IPnextgeneration);IPv6被稱為下一代的IP協(xié)議。TCP/IP參考模型開(kāi)放的協(xié)議標(biāo)準(zhǔn);獨(dú)立于特定的計(jì)算機(jī)硬件與操作系統(tǒng);獨(dú)立于特定的網(wǎng)絡(luò)硬件,可以運(yùn)行在局域網(wǎng)、廣域網(wǎng),更適用于互連網(wǎng)中;統(tǒng)一的網(wǎng)絡(luò)地址分配方案,使得整個(gè)TCP/IP設(shè)備在網(wǎng)中都具有惟一的地址;標(biāo)準(zhǔn)化的高層協(xié)議,可以提供多種可靠的用戶服務(wù)。TCP/IP參考模型

TCP/IP協(xié)議的特點(diǎn)TCP/IP參考模型各層的功能

應(yīng)用層(applicationlayer)傳輸層(transportlayer)互連層(internetlayer)主機(jī)-網(wǎng)絡(luò)層(host-to-networklayer)

TCP/IP參考模型TCP/IP參考模型與OSI參考模型的對(duì)應(yīng)關(guān)系

TCP/IP參考模型主機(jī)-網(wǎng)絡(luò)層參考模型的最低層,負(fù)責(zé)通過(guò)網(wǎng)絡(luò)發(fā)送和接收IP數(shù)據(jù)報(bào);允許主機(jī)連入網(wǎng)絡(luò)時(shí)使用多種現(xiàn)成的與流行的協(xié)議,如局域網(wǎng)的Ethernet、令牌網(wǎng)、分組交換網(wǎng)的X.25、幀中繼、ATM協(xié)議等;當(dāng)一種物理網(wǎng)被用作傳送IP數(shù)據(jù)報(bào)的通道時(shí),就可以認(rèn)為是這一層的內(nèi)容;充分體現(xiàn)出TCP/IP協(xié)議的兼容性與適應(yīng)性,它也為T(mén)CP/IP的成功奠定了基礎(chǔ)。TCP/IP參考模型互連層相當(dāng)OSI參考模型網(wǎng)絡(luò)層無(wú)連接網(wǎng)絡(luò)服務(wù);處理互連的路由選擇、流控與擁塞問(wèn)題;IP協(xié)議是無(wú)連接的、提供“盡力而為”服務(wù)的網(wǎng)絡(luò)層協(xié)議。TCP/IP參考模型傳輸層主要功能是在互連網(wǎng)中源主機(jī)與目的主機(jī)的對(duì)等實(shí)體間建立用于會(huì)話的端-端連接;傳輸控制協(xié)議TCP是一種可靠的面向連接協(xié)議;用戶數(shù)據(jù)報(bào)協(xié)議UDP是一種不可靠的無(wú)連接協(xié)議。

TCP/IP參考模型應(yīng)用層應(yīng)用層協(xié)議主要有:網(wǎng)絡(luò)終端協(xié)議Telnet;文件傳輸協(xié)議FTP;簡(jiǎn)單郵件傳輸協(xié)議SMTP;域名系統(tǒng)DNS;簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議SNMP;超文本傳輸協(xié)議HTTP。TCP/IP參考模型層次數(shù)量與內(nèi)容選擇不是很好,會(huì)話層很少用到,表示層幾乎是空的,數(shù)據(jù)鏈路層與網(wǎng)絡(luò)層有很多的子層插入;尋址、流控與差錯(cuò)控制在每一層里都重復(fù)出現(xiàn),降低系統(tǒng)效率;數(shù)據(jù)安全性、加密與網(wǎng)絡(luò)管理在參考模型的設(shè)計(jì)初期被忽略了;參考模型的設(shè)計(jì)更多是被通信的思想所支配,不適合于計(jì)算機(jī)與軟件的工作方式;嚴(yán)格按照層次模型編程的軟件效率很低。OSI參考模型與TCP/IP參考模型的比較在服務(wù)、接口與協(xié)議的區(qū)別上不很清楚,一個(gè)好的軟件工程應(yīng)該將功能與實(shí)現(xiàn)方法區(qū)分開(kāi),參考模型不適合于其他非TCP/IP協(xié)議族;TCP/IP參考模型的主機(jī)-網(wǎng)絡(luò)層本身并不是實(shí)際的一層;物理層與數(shù)據(jù)鏈路層的劃分是必要和合理的,而TCP/IP參考模型卻沒(méi)有做到這點(diǎn)。

對(duì)TCP/IP參考模型評(píng)價(jià)面向連接服務(wù)與無(wú)連接服務(wù)在網(wǎng)絡(luò)體系結(jié)構(gòu)中討論的服務(wù)可以分為通信子網(wǎng)對(duì)網(wǎng)絡(luò)中數(shù)據(jù)傳輸所提供的服務(wù),與整個(gè)網(wǎng)絡(luò)系統(tǒng)為用戶提供的服務(wù);通信子網(wǎng)的服務(wù)是指通信子網(wǎng)對(duì)主機(jī)間數(shù)據(jù)傳輸?shù)男屎涂煽啃运峁┑谋WC機(jī)制;通信服務(wù)可以分為兩大類(lèi):面向連接服務(wù)(connect-orientedservice);

無(wú)連接服務(wù)(connectlessservice)。

理解網(wǎng)絡(luò)服務(wù)需要注意的問(wèn)題面向連接服務(wù)與無(wú)連接服務(wù)對(duì)實(shí)現(xiàn)服務(wù)的傳輸可靠性與協(xié)議復(fù)雜性有很大的影響;根據(jù)主機(jī)間數(shù)據(jù)傳輸?shù)目煽啃砸蠛托实牟煌?,設(shè)計(jì)者可以選擇面向連接服務(wù)與無(wú)連接服務(wù)的類(lèi)型;在網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)母鲗?,如物理層、?shù)據(jù)鏈路層、網(wǎng)絡(luò)層與傳輸層都會(huì)涉及面向連接服務(wù)與無(wú)連接服務(wù)的問(wèn)題。面向連接服務(wù)的特點(diǎn)面向連接服務(wù)的數(shù)據(jù)傳輸過(guò)程必須經(jīng)過(guò)連接建立、連接維護(hù)與釋放連接的三個(gè)過(guò)程;面向連接服務(wù)的在數(shù)據(jù)傳輸過(guò)程中,各分組可以不攜帶目的結(jié)點(diǎn)的地址;面向連接服務(wù)的傳輸連接類(lèi)似一個(gè)通信管道,發(fā)送者在一端放入數(shù)據(jù),接收者從另一端取出數(shù)據(jù);面向連接數(shù)據(jù)傳輸?shù)氖瞻l(fā)數(shù)據(jù)順序不變,傳輸可靠性好,但是協(xié)議復(fù)雜,通信效率不高。無(wú)連接服務(wù)的特點(diǎn)無(wú)連接服務(wù)的每個(gè)分組都攜帶完整的目的結(jié)點(diǎn)地址,各分組在系統(tǒng)中是獨(dú)立傳送的;無(wú)連接服務(wù)中的數(shù)據(jù)傳輸過(guò)程不需要經(jīng)過(guò)連接建立、連接維護(hù)與釋放連接的三個(gè)過(guò)程;數(shù)據(jù)分組傳輸過(guò)程中,目的結(jié)點(diǎn)接收的數(shù)據(jù)分組可能出現(xiàn)亂序、重復(fù)與丟失的現(xiàn)象;無(wú)連接服務(wù)的可靠性不好,但是協(xié)議相對(duì)簡(jiǎn)單,通信效率較高。確認(rèn)和重傳機(jī)制的特點(diǎn)

網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)目煽啃砸话阃ㄟ^(guò)確認(rèn)和重傳機(jī)制保證;確認(rèn)是指數(shù)據(jù)分組的接收結(jié)點(diǎn)在正確地接收到每個(gè)分組后,要求向發(fā)送結(jié)點(diǎn)發(fā)回接收分組的確認(rèn)信息;在規(guī)定的時(shí)間內(nèi),如果發(fā)送結(jié)點(diǎn)沒(méi)有接收到接收結(jié)點(diǎn)的確認(rèn)信息,就認(rèn)為該數(shù)據(jù)分組發(fā)送失敗,發(fā)送結(jié)點(diǎn)重新發(fā)送該數(shù)據(jù)分組;確認(rèn)和重傳機(jī)制可以提高數(shù)據(jù)傳輸?shù)目煽啃?,但是它需要制定較為復(fù)雜的確認(rèn)和重傳協(xié)議,并且需要增加網(wǎng)絡(luò)額外的通信負(fù)荷,占用網(wǎng)絡(luò)帶寬。服務(wù)類(lèi)型與服務(wù)質(zhì)量通信協(xié)議四種類(lèi)型:面向連接與確認(rèn)服務(wù);面向連接與不確認(rèn)服務(wù);無(wú)連接與確認(rèn)服務(wù);無(wú)連接與不確認(rèn)服務(wù)。設(shè)計(jì)者可以根據(jù)不同的通信要求,決定選擇不同的服務(wù)類(lèi)型。

網(wǎng)絡(luò)編程模式C/S模型網(wǎng)絡(luò)應(yīng)用的標(biāo)準(zhǔn)模型是C/S模型C/S模型是非對(duì)稱模型服務(wù)器客戶端客戶端響應(yīng)請(qǐng)求響應(yīng)請(qǐng)求…網(wǎng)絡(luò)編程模式網(wǎng)絡(luò)程序的執(zhí)行過(guò)程服務(wù)程序啟動(dòng)客戶程序啟動(dòng)客戶端與服務(wù)器建立連接客戶端發(fā)送請(qǐng)求服務(wù)器處理請(qǐng)求,返回響應(yīng)服務(wù)器斷開(kāi)連接,等待下一個(gè)請(qǐng)求客戶端和服務(wù)器的啟動(dòng)順序并不固定,通常情況下服務(wù)程序一直處于運(yùn)行狀態(tài)面向連接的方式循環(huán)服務(wù)器模型網(wǎng)絡(luò)編程模式服務(wù)器模型循環(huán)服務(wù)器任一時(shí)刻只處理一個(gè)客戶機(jī)請(qǐng)求,處理請(qǐng)求過(guò)程中下一請(qǐng)求等待節(jié)省服務(wù)器資源,響應(yīng)時(shí)間長(zhǎng),適合處理非耗時(shí)請(qǐng)求并發(fā)服務(wù)器并發(fā)執(zhí)行,每收到一個(gè)連接請(qǐng)求創(chuàng)建一個(gè)進(jìn)程處理該連接,服務(wù)器繼續(xù)等待下一連接響應(yīng)速度快,占用系統(tǒng)資源多典型C/S程序模型建立連接發(fā)送請(qǐng)求返回響應(yīng)創(chuàng)建網(wǎng)絡(luò)端點(diǎn)(socket)連接客戶端(connect)客戶端發(fā)送請(qǐng)求(write)客戶端接收響應(yīng)(read)客戶端創(chuàng)建網(wǎng)絡(luò)端點(diǎn)(socket)綁定服務(wù)器地址和端口(bind)監(jiān)聽(tīng)端口(listen)接受客戶端連接(accept)接收客戶端請(qǐng)求(read)回送響應(yīng)(write)服務(wù)器典型網(wǎng)絡(luò)編程模式簡(jiǎn)單C/S模型程序示例client.cserver.cLinux編程基礎(chǔ)程序設(shè)計(jì)步驟編輯源程序編譯源程序調(diào)試源程序編輯vi(vim)使用GUI文本編輯器-geditLinux編程基礎(chǔ)編譯源程序(單個(gè)源文件編譯)編譯器gcc-GNUC/C++編譯器編譯源程序gcc–chello.c(單個(gè)源文件可以跳過(guò)這一步)生成可執(zhí)行文件gcchello.c–ohello

Linux編程基礎(chǔ)編譯源程序(多個(gè)源文件編譯)編譯源程序-生成目標(biāo)文件(*.o)gcc–c1.cgcc–c2.c鏈接-生成可執(zhí)行文件gcc–ohello1.o2.o

g++hello.cpp-ohelloLinux編程基礎(chǔ)編譯源程序(使用makefile)編譯makefilemake–fmakefilemakefile文件格式文件的依賴關(guān)系target:components TAB規(guī)則(TAB不能省略)hello.mak#hello.makhello:1.o2.o g

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論