版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、會聚點問題CS模型要求在任何一對進行通信的應用進程中,有一方必須在啟動執(zhí)行后(無限期地)等待對方與其聯(lián)系。這種解決方案減少了下層軟件的復雜性,因為下層協(xié)議不必自己對收到的通信請求做出響應。CS模型應用分類CS模型根據(jù)通信發(fā)起的方向?qū)Τ绦蜻M行分類,即區(qū)別一個程序是客戶還是服務器。一般來說,發(fā)起對等通信的應用程序稱為客戶。特權(quán)為完成計算和返回結(jié)果,服務器軟件擁有系統(tǒng)特權(quán)來訪問受操作系統(tǒng)保護的對象(如文件、數(shù)據(jù)庫、設備或協(xié)議端口),但應注意不要將特權(quán)傳遞給使用服務的客戶。通常服務器含有處理以下安全問題的代碼:鑒別驗證客戶身份授權(quán)判斷某個庫胡是否被允許訪問服務器服務數(shù)據(jù)安全確保數(shù)據(jù)不被無意泄漏或損壞保
2、密防止未經(jīng)授權(quán)訪問信息保護確保網(wǎng)絡應用程序不能濫用系統(tǒng)資源狀態(tài)服務器所維護的與客戶交互活動的信息稱為狀態(tài)息。不保存任何狀態(tài)信息的服務器稱為無狀態(tài)服務器,反之稱為有狀態(tài)服務器。如果應用協(xié)議不能使操作成為冪等(注1)的,就可能不能使無狀態(tài)服務器。有狀態(tài)服務器的條件在理想情況下,只要網(wǎng)絡能可靠地交付所有的報文,并且計算機從不崩潰,則在這種情況下,使服務器為每個進行著的交互保持少量狀態(tài)信息,就可以使交互的報文小些,并使分布式應用更像非分布式應用。創(chuàng)建進程:fork父進程通過fork()創(chuàng)建子進程,返回兩次,一次在父進程,一次在子進程;出錯則返回-1。創(chuàng)建線程:pthread_create在當前進程中,
3、創(chuàng)建一個新的線程,與當前運行的線程并發(fā)執(zhí)行。執(zhí)行新程序:exec系列當前進程映像替換成新的程序文件,而且該程序通常main函數(shù)開始執(zhí)行。多路轉(zhuǎn)接:select確定一個或多個描述符的狀態(tài)(可讀性、可寫性、錯誤狀態(tài)),實現(xiàn)對多個描述符狀態(tài)的并發(fā)“監(jiān)聽”??捎糜趯崿F(xiàn)單線程的并發(fā)。等待子進程終止:wait父進程通過調(diào)用wait()而阻塞,并等待子進程終止。當有子進程終止時,父進程可獲得子進程的退出狀態(tài),清理子進程的殘余數(shù)據(jù),并從阻塞中返回。socket應用調(diào)用socket創(chuàng)建一個新的套接字,該新的套接字用于網(wǎng)絡通信,并返回該套接字的描述符。connect創(chuàng)建一個套接字后,客戶程序調(diào)用connect以便
4、同遠程服務器建立主動的連接,并通過描述符來傳輸數(shù)據(jù)。send(sendto)客戶和服務器使用send在TCP上傳輸數(shù)據(jù)??蛻舫J褂胹end傳輸請求,而服務器使用send傳輸應答。recv(recvfrom)客戶和服務器使用recv在TCP上接收數(shù)據(jù)。服務器通過其接收客戶端請求,而客戶端通過其來接收應答。close客戶或服務器一旦結(jié)束使用某個套接字,便調(diào)用close將該套接字撤銷(引用為0時注1)。bind應用程序使用bind為一個套接字指定本地端點地址。對于TCP/IP協(xié)議,端點地址使用sockaddr_in結(jié)構(gòu),它包含了IP地址和協(xié)議端口號。listen面向連接的服務器調(diào)用listen將一個
5、套接字置為被動模式,并使其準備接受傳入連接。accept對于TCP套接字,服務器將調(diào)用accept以獲取所指明的套接字的下一個傳入連接請求。循環(huán)、無連接服務器(UDP)1、創(chuàng)建套接字并將其綁定到所提供服務的熟 知端口上;2、重復地讀取來自客戶的請求,構(gòu)造響應, 按照應用協(xié)議向客戶發(fā)回響應。循環(huán)、面向連接服務器(TCP)1、創(chuàng)建套接字并將其綁定到它所提供服務的熟知端口上。2、將該端口設置為被動模式,使其準備為服務器所用。3、從該套接字上接受下一個連接請求,獲得該連接的新的 套接字。4、重復地讀取來自客戶的請求,構(gòu)造響應,按照應用協(xié)議 向客戶發(fā)回響應。5、與某個特定的客戶完成交互時,關閉連接,并返
6、回步驟 3以接受新的連接。并發(fā)、面向連接服務器(TCP)主1.創(chuàng)建套接字并將其綁定到所提供服務的熟知地 址上主2.將該端口設置為被動模式,使其準備為服務器 所用主3.反復阻塞等待接受請求以便接收來自客戶的下 一個連接請求,并創(chuàng)建新的從進程來處理響應從1.針對主進程傳遞來的連接請求開始從2.用該連接與客戶進行交互:讀取請求并發(fā)回響 應從3.關閉連接并退出,在處理完來自客戶的所有請 求后,從進程就退出單線程、并發(fā)服務器(TCP)1、創(chuàng)建套接字并將其綁定到這個服務的熟知端口上。將該套接字加到一個表中,該表中的項為可以進行IO的描述符;2、使用多路轉(zhuǎn)接技術(shù)在已有套接字上等待IO;3、如果最初的套接字準
7、備就緒,通過接受連接請求獲得下一個連接,并將這個新的套接字加入到表中,該表中的項是可以進行IO的描述符;4、如果是最初的套接字以外的某些套接字準備就緒,就讀下一個請求,構(gòu)造并發(fā)送響應;多協(xié)議服務器一個多協(xié)議服務器的設計允許設計者創(chuàng)建一個單一的過程,此過程響應某個給定服務的請求,響應該過程的調(diào)用,而不必關心這些請求是來自UDP還是TCP。多協(xié)議服務器允許設計者將某個給定服務的所有代碼封裝到一個程序里,這樣就消除了重復,并且也更容易協(xié)調(diào)各種變化。多服務、多協(xié)議服務器可以選擇一種多服務的實現(xiàn)方法來構(gòu)建多服務服務器,以減少需要執(zhí)行的服務器的數(shù)量;可以使用多協(xié)議以便把無連接和面向連接的服務結(jié)合進一個服務
8、器中。程序員可以使用并發(fā)進程或線程實現(xiàn)一種并發(fā)的、多服務服務器,也可以在單執(zhí)行線程中使用多路轉(zhuǎn)接技術(shù)以提供表面上的并發(fā)性。從進程/線程預分配當使用預分配時,服務器在啟動時就創(chuàng)建若干個并發(fā)的從線程/進程。預分配避免了在每次請求到達時創(chuàng)建進程的開銷,因而降低了服務器時延,同時允許在處理一個請求時,與另一個請求相關聯(lián)的I/O活動也在重疊進行。延遲分配技術(shù)當使用延遲分配技術(shù)時,服務器開始將循環(huán)地處理每個請求。僅當處理要花大塊時間時,服務器才創(chuàng)建一個并發(fā)的從線程/進程來處理該請求。這種時延允許主服務器在創(chuàng)建一個進程或切換環(huán)境前,先檢查有無差錯并處理一些短的請求。預分配與延遲分配統(tǒng)一的基礎兩者基于同一原理:通過把服務器的并發(fā)等級從當前活躍的請求數(shù)目中分離出來,設計人員可獲得靈活性并提高服務器效率。封裝將一個IP數(shù)據(jù)報放進一個網(wǎng)絡分組或幀以便在下層的網(wǎng)絡上發(fā)送它。封裝涉及網(wǎng)絡接口如何使用分組交換硬件。隧道技術(shù)是指使用高層傳輸網(wǎng)絡服務運送來自另一個服務的分組或報文。區(qū)別當IP直接使用硬件發(fā)送數(shù)據(jù)報時,它將每個數(shù)據(jù)包封裝進一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年溫室大棚施工與智能化溫室設施維護保養(yǎng)合同3篇
- 二零二五版朝陽區(qū)校園保安服務與校園食品安全合同3篇
- 2025年度高端健身器材租賃服務合同3篇
- 2025年度消防報警系統(tǒng)安裝及調(diào)試服務合同范本6篇
- 2025年度新型環(huán)保材料銷售代理合作協(xié)議4篇
- 二零二五年度抹灰工程施工安全防護合同4篇
- 工程保證金合同(2篇)
- 土工施工方案
- 2025年度新能源汽車電池殼體模具研發(fā)制造合同4篇
- 2025年上海市閔行區(qū)中考數(shù)學一模試卷
- 2025中國人民保險集團校園招聘高頻重點提升(共500題)附帶答案詳解
- 重癥患者家屬溝通管理制度
- 法規(guī)解讀丨2024新版《突發(fā)事件應對法》及其應用案例
- 銷售提成對賭協(xié)議書范本 3篇
- 勞務派遣招標文件范本
- 信息安全意識培訓課件
- Python試題庫(附參考答案)
- 碳排放管理員 (碳排放核查員) 理論知識考核要素細目表三級
- 小學二年級數(shù)學口算練習題1000道
- 納布啡在產(chǎn)科及分娩鎮(zhèn)痛的應用
評論
0/150
提交評論