應(yīng)用進程跨越網(wǎng)絡(luò)的通信_第1頁
應(yīng)用進程跨越網(wǎng)絡(luò)的通信_第2頁
應(yīng)用進程跨越網(wǎng)絡(luò)的通信_第3頁
應(yīng)用進程跨越網(wǎng)絡(luò)的通信_第4頁
應(yīng)用進程跨越網(wǎng)絡(luò)的通信_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

應(yīng)用編程接口API當(dāng)某個應(yīng)用進程啟動系統(tǒng)調(diào)用時,控制權(quán)就從應(yīng)用進程傳遞給了系統(tǒng)調(diào)用接口。此接口再將控制權(quán)傳遞給計算機的操作系統(tǒng)。操作系統(tǒng)將此調(diào)用轉(zhuǎn)給某個內(nèi)部過程,并執(zhí)行所請求的操作。內(nèi)部過程一旦執(zhí)行完畢,控制權(quán)就又通過系統(tǒng)調(diào)用接口返回給應(yīng)用進程。

應(yīng)用進程的控制權(quán)和操作系統(tǒng)的控制權(quán)進行轉(zhuǎn)換的一個接口,即應(yīng)用編程接口API。第1頁/共14頁第一頁,共15頁。應(yīng)用編程接口API舉例BerkeleyUNIX操作系統(tǒng)定義了一種API,它又稱為插口接口(socketinterface)。微軟公司在其操作系統(tǒng)中采用了插口接口API,形成了一個稍有不同的API,并稱之為WindowsSocket,簡稱WinSock。AT&T

為其UNIX系統(tǒng)V定義了一種API,簡寫為TLI(TransportLayerInterface)。目前幾種可供應(yīng)用程序使用TCP/IP的應(yīng)用編程接口:第2頁/共14頁第二頁,共15頁。應(yīng)用進程接入網(wǎng)絡(luò)TCPTCP應(yīng)用進程因特網(wǎng)由操作系統(tǒng)控制插口,又稱為API應(yīng)用進程通過插口接入到網(wǎng)絡(luò)

第3頁/共14頁第三頁,共15頁。插口應(yīng)用進程使用網(wǎng)絡(luò)進行通信時發(fā)出系統(tǒng)調(diào)用,請求操作系統(tǒng)為其創(chuàng)建“插口”,以便把網(wǎng)絡(luò)通信所需要的系統(tǒng)資源分配給該應(yīng)用進程。操作系統(tǒng)為這些資源的總和用一個號碼來表示,并把此號碼返回給應(yīng)用進程。應(yīng)用進程所進行的網(wǎng)絡(luò)操作都必須使用這個號碼。通信完畢后,應(yīng)用進程通過一個關(guān)閉插口的系統(tǒng)調(diào)用通知操作系統(tǒng)回收與該“號碼”相關(guān)的所有資源。第4頁/共14頁第四頁,共15頁。插口和API的區(qū)別

插口和應(yīng)用編程接口API是性質(zhì)不同的接口。插口是應(yīng)用進程和網(wǎng)絡(luò)之間的接口,因為插口既包含有運輸層與應(yīng)用層之間的端口號,又包含有機器的IP地址。API是應(yīng)用程序和操作系統(tǒng)之間的接口,是從程序設(shè)計的角度定義了許多標(biāo)準的系統(tǒng)調(diào)用函數(shù)。應(yīng)用進程只要使用標(biāo)準的系統(tǒng)調(diào)用函數(shù)就可得到操作系統(tǒng)的服務(wù)。第5頁/共14頁第五頁,共15頁。注意

在插口以上的進程是受應(yīng)用程序控制的,而在插口以下的TCP協(xié)議軟件以及TCP使用的緩存和一些必要的變量等,則受計算機操作系統(tǒng)的控制。只要應(yīng)用程序使用TCP/IP協(xié)議進行通信,它就必須通過插口與操作系統(tǒng)交互并請求其服務(wù)。應(yīng)用程序的開發(fā)者對插口以上的應(yīng)用進程具有完全的控制,但對插口以下的運輸層卻只有少量的控制。第6頁/共14頁第六頁,共15頁。服務(wù)器工作方式

服務(wù)器可工作在兩種不同的方式:循環(huán)方式(iterativemode):計算機一次只運行一個服務(wù)器進程。當(dāng)有多個客戶進程請求服務(wù)時,服務(wù)器進程就按請求的先后順序依次做出響應(yīng)。并發(fā)方式(concurrent):計算機同時運行多個服務(wù)器進程,而每一個服務(wù)器進程都對某個特定的客戶進程做出響應(yīng)。第7頁/共14頁第七頁,共15頁。無連接循環(huán)服務(wù)器

使用無連接的UDP的服務(wù)器通常都工作在循環(huán)方式,其主要特點是:一個服務(wù)器在同一時間只能向一個客戶提供服務(wù)。UDP服務(wù)器UDP客戶臨時端口熟知端口UDP客戶臨時端口UDP客戶臨時端口一次一個客戶服務(wù)器只使用一個熟知端口。每一個客戶則使用自己創(chuàng)建的臨時端口(端口號自己設(shè)定)。第8頁/共14頁第八頁,共15頁。無連接循環(huán)服務(wù)器處理請求服務(wù)器收到客戶的請求后,就發(fā)送UDP用戶數(shù)據(jù)報響應(yīng)該客戶。但對其他客戶發(fā)來的請求則暫時不予理睬,這些請求都在服務(wù)器端的隊列中排隊等候服務(wù)器的處理。當(dāng)服務(wù)器進程處理完畢一個請求時,就從隊列中讀取來自下一個客戶的請求,然后繼續(xù)處理。第9頁/共14頁第九頁,共15頁。面向連接并發(fā)服務(wù)器

面向連接并發(fā)服務(wù)器特點:服務(wù)器在同一時間可向多個客戶提供服務(wù)。TCP是面向連接的,因此在服務(wù)器和多個客戶之間必須建立多條TCP連接,而每一條TCP連接要在其數(shù)據(jù)傳送完畢后才能釋放。使用TCP的服務(wù)器只能有一個熟知端口。因此主服務(wù)器在熟知端口等待客戶發(fā)出的請求。一旦收到客戶的請求,就立即創(chuàng)建一個從屬服務(wù)器,并指明從屬服務(wù)器使用臨時端口和該客戶建立TCP連接,然后主服務(wù)器繼續(xù)在原來的熟知端口等待向其他客戶提供服務(wù)。第10頁/共14頁第十頁,共15頁。面向連接并發(fā)服務(wù)器的特點TCPTCP客戶臨時端口臨時端口TCP客戶臨時端口TCP客戶臨時端口主服務(wù)器TCP連接熟知端口僅用于接受服務(wù)請求創(chuàng)建從屬服務(wù)器主服務(wù)器有時又稱為父服務(wù)器,而從屬服務(wù)器又稱為子服務(wù)器。

第11頁/共14頁第十一頁,共15頁。進程通過系統(tǒng)調(diào)用接口進行通信的過程服務(wù)器recvfrom(…)socket(…)bind(…)recvfrom(…)無限制重復(fù)socket(…)若需要就重復(fù)sendto(…)進程sendto(…)close(…)客戶請求響應(yīng)1.無連接循環(huán)服務(wù)器第12頁/共14頁第十二頁,共15頁。2.面向連接并發(fā)服務(wù)器

服務(wù)器read(…)socket(…)bind(…)接受插口=accept(…)無限制重復(fù)socket(…)若需要就重復(fù)write(…)進程close(接受插口)close(…)客戶請求響應(yīng)listen(監(jiān)聽插口)fork(…)connect(…)write(…)read(…)close(監(jiān)聽插口)若需要就重復(fù)連接請求主服務(wù)器close(接受插口)從屬服務(wù)器第13頁/共14頁第十三頁,共15頁。感謝您的觀看。第14頁/共14頁第十四頁,共15頁。內(nèi)容總結(jié)應(yīng)用編程接口API。當(dāng)某個應(yīng)用進程啟動系統(tǒng)調(diào)用時,控制權(quán)就從應(yīng)用進程傳遞給了系統(tǒng)調(diào)用接口。應(yīng)用進程使用網(wǎng)絡(luò)進行通信時發(fā)出系統(tǒng)調(diào)用,請求操

溫馨提示

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

評論

0/150

提交評論