Windows網(wǎng)絡(luò)編程 第2版 課件 1.3.1 協(xié)議軟件接口_第1頁
Windows網(wǎng)絡(luò)編程 第2版 課件 1.3.1 協(xié)議軟件接口_第2頁
Windows網(wǎng)絡(luò)編程 第2版 課件 1.3.1 協(xié)議軟件接口_第3頁
Windows網(wǎng)絡(luò)編程 第2版 課件 1.3.1 協(xié)議軟件接口_第4頁
Windows網(wǎng)絡(luò)編程 第2版 課件 1.3.1 協(xié)議軟件接口_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

網(wǎng)絡(luò)編程技術(shù)1.3.1協(xié)議軟件接口本講要點:1.協(xié)議軟件接口的特點2.套接字的基本概念3.套接字的位置與內(nèi)容本講要點1.了解協(xié)議軟件接口的特點2.掌握套接字的基本概念3.熟悉套接字對原有I/O操作的擴(kuò)展功能010203套接字基本概念目錄/Contents套接字對原有I/O操作的擴(kuò)展TCP/IP協(xié)議軟件接口1.TCP/IP協(xié)議軟件接口操作系統(tǒng)應(yīng)用程序TCP/IP實現(xiàn)?TCP/IP協(xié)議軟件接口要特別注意協(xié)議軟件接口的“接口”功能1.TCP/IP協(xié)議軟件接口分配用于通信的本地資源指定本地和遠(yuǎn)程通信端點(客戶端)啟動連接(服務(wù)器端)等待連接到來發(fā)送或接收數(shù)據(jù)判斷數(shù)據(jù)何時到達(dá)產(chǎn)生緊急數(shù)據(jù)處理到來的緊急數(shù)據(jù)從容終止連接處理來自遠(yuǎn)程端點的連接終止異常終止通信處理錯誤條件或連接異常終止連接結(jié)束后釋放本地資源現(xiàn)象:TCP/IP標(biāo)準(zhǔn)沒有規(guī)定應(yīng)用軟件與TCP/IP協(xié)議軟件如何接口的細(xì)節(jié),只建議了所需的功能集。1.TCP/IP協(xié)議軟件接口特點:不精確指明目的:使得協(xié)議的兼容性強(qiáng),可以運(yùn)行在多廠商的環(huán)境之中。TCP/IP的設(shè)計者盡量避免使用任何一家廠商的內(nèi)部數(shù)據(jù)表示。TCP/IP標(biāo)準(zhǔn)盡量避免讓接口使用那些只在某一家廠商的操作系統(tǒng)中可用的特征1.TCP/IP協(xié)議軟件接口兩種基本方法:設(shè)計者發(fā)明一種新的系統(tǒng)調(diào)用,應(yīng)用程序用它們來訪問TCP/IP;列舉出所有的概念性操作為每個操作指定一個名字和參數(shù)將每個操作實現(xiàn)為一個系統(tǒng)調(diào)用設(shè)計者使用一般的I/O調(diào)用訪問TCP/IP擴(kuò)充一般的I/O原語兩種方法綜合問題:如何訪問TCP/IP協(xié)議?1.TCP/IP協(xié)議軟件接口Linux系統(tǒng)的I/O模型一般模式:打開——讀/寫——關(guān)閉步驟:①調(diào)用“打開”獲得對文件或設(shè)備的使用權(quán),并返回整型的文件描述符,此后使用它對該文件或設(shè)備進(jìn)行I/O操作;②多次調(diào)用“讀/寫”傳輸數(shù)據(jù);③所有傳輸操作完成后,用戶調(diào)用“關(guān)閉”,通知操作系統(tǒng)已經(jīng)完成了對某個對象的使用。1.TCP/IP協(xié)議軟件接口TCP/IP的角色: 相當(dāng)于一種新的I/O操作,但比普通應(yīng)用程序與傳統(tǒng)的I/O操作的相互作用復(fù)雜得多。網(wǎng)絡(luò)應(yīng)用程序要解決的問題:1.網(wǎng)間進(jìn)程的標(biāo)識問題。2.多重協(xié)議的識別問題。3.多種通信服務(wù)的選擇問題。問題:如何擴(kuò)充一般的I/O操作?010203套接字基本概念目錄/Contents套接字對原有I/O操作的擴(kuò)展TCP/IP協(xié)議軟件接口套接字,在網(wǎng)絡(luò)通信中是支持TCP/IP網(wǎng)絡(luò)通信的基本操作單元,可以看作是一個接口,該接口在操作系統(tǒng)控制下幫助本地主機(jī)建立或擁有的應(yīng)用程序與其它(遠(yuǎn)程)應(yīng)用進(jìn)程之間發(fā)送和接收數(shù)據(jù)。2.套接字基本概念socket的抽象表示

作為連接應(yīng)用程序和協(xié)議實現(xiàn)的橋梁,Socket在應(yīng)用程序中創(chuàng)建,通過綁定應(yīng)用程序所在的IP地址和端口號,與系統(tǒng)的協(xié)議實現(xiàn)建立關(guān)系??蛻舳朔?wù)器插口(port)2.套接字基本概念Berkeley套接字時間:20世紀(jì)80年代早期資助方:遠(yuǎn)景研究規(guī)劃局(AdvancedResearchProjectsAgency,ARPA)研究方:加利福尼亞大學(xué)伯克利分校產(chǎn)品:套接字接口(套接字API)方法:擴(kuò)充已有的系統(tǒng)調(diào)用增加新的系統(tǒng)調(diào)用2.套接字基本概念2.套接字基本概念套接字接口層的位置與內(nèi)容010203套接字基本概念目錄/Contents套接字對原有I/O操作的擴(kuò)展TCP/IP協(xié)議軟件接口3.套接字對原有I/O操作的擴(kuò)展標(biāo)識一個完整的網(wǎng)絡(luò)通信的五元組問題:進(jìn)行網(wǎng)絡(luò)I/O操作的兩個進(jìn)程在不同機(jī)器上,如何建立它們之間的聯(lián)系?本地IP地址,本地端口號遠(yuǎn)端IP地址,遠(yuǎn)端端口號協(xié)議3.套接字對原有I/O操作的擴(kuò)展五元組在客戶-服務(wù)器應(yīng)用中的體現(xiàn)客戶端:(主動一方)

①服務(wù)器的IP地址:知道向誰請求服務(wù) ②客戶機(jī)的IP地址:讓服務(wù)器知道把數(shù)據(jù)傳送給誰 ③服務(wù)器的端口號:知道服務(wù)器上究竟是誰來提供服務(wù) ④客戶端的端口號:服務(wù)器知道最終把數(shù)據(jù)傳送到哪 ⑤使用的傳輸層服務(wù):要求可靠的傳輸,還是不可靠的傳輸?服務(wù)器:(被動方,與客戶端類似)3.套接字對原有I/O操作的擴(kuò)展套接字類型

①流式套接字(SOCK_STREAM):提供面向連接的、可靠的字節(jié)流服務(wù),用于TCP。

②數(shù)據(jù)報套接字(SOCK_DGRAM):

提供無連接的,不可靠的數(shù)據(jù)報服務(wù),用于UDP。

③原始套接字(SOCK_RAW):

允許對較低層的協(xié)議,如IP、ICMP直接訪問。問題:網(wǎng)絡(luò)協(xié)議有很多種,如何建立一種通用機(jī)制以支持多種協(xié)議?3.套接字對原有I/O操作的擴(kuò)展3.套接字對原有I/O操作的擴(kuò)展socket編程步驟建立一個socket

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論