




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、TCP和UDP網(wǎng)絡(luò)編程,王 燕 2011年3月9日,ISO/OSI七層參考模型,OSI(Open System Interconnection)參考模型將網(wǎng)絡(luò)的不同功能劃分為7層。 通信實(shí)體的對等層之間不允許直接通信。 各層之間是嚴(yán)格單向依賴。 上層使用下層提供的服務(wù) Service user; 下層向上層提供服務(wù) Service provider。,應(yīng)用層,表示層,物理層,會話層,傳輸層,網(wǎng)絡(luò)層,數(shù)據(jù)鏈路層,處理網(wǎng)絡(luò)應(yīng)用,數(shù)據(jù)表示,主機(jī)間通信,端到端的連接,尋址和最短路徑,介質(zhì)訪問(接入),二進(jìn)制傳輸,OSI各層所使用的協(xié)議,應(yīng)用層:遠(yuǎn)程登錄協(xié)議Telnet、文件傳輸協(xié)議FTP、 超文本傳輸
2、協(xié)議HTTP、域名服務(wù)DNS、簡單郵件傳輸協(xié)議SMTP、郵局協(xié)議POP3等。 傳輸層:傳輸控制協(xié)議TCP(面向連接的可靠的傳輸協(xié)議)、用戶數(shù)據(jù)報(bào)協(xié)議UDP(是無連接的,不可靠的傳輸協(xié)議)。 網(wǎng)絡(luò)層:網(wǎng)際協(xié)議IP、Internet互聯(lián)網(wǎng)控制報(bào)文協(xié)議ICMP、Internet組管理協(xié)議IGMP。,數(shù)據(jù)封裝,OSI參考模型中,對等層協(xié)議之間交換的信息單元統(tǒng)稱為協(xié)議數(shù)據(jù)單元(PDU,Protocol Data Unit)。 OSI參考模型中每一層都要依靠下一層提供的服務(wù)。 為了提供服務(wù),下層把上層的PDU作為本層的數(shù)據(jù)封裝,然后加入本層的頭部(和尾部)。頭部中含有完成數(shù)據(jù)傳輸所需的控制信息。 這樣,數(shù)
3、據(jù)自上而下遞交的過程實(shí)際上就是不斷封裝的過程。到達(dá)目的地后自下而上遞交的過程就是不斷拆封的過程。由此可知,在物理線路上傳輸?shù)臄?shù)據(jù),其外面實(shí)際上被包封了多層“信封”。 但是,某一層只能識別由對等層封裝的“信封”,而對于被封裝在“信封”內(nèi)部的數(shù)據(jù)僅僅是拆封后將其提交給上層,本層不作任何處理。,對等通信示例,對等層實(shí)體之間虛擬通信。 下層向上層提供服務(wù),實(shí)際通信在最底層完成。,TCP/IP模型,TCP/IP起源于美國國防部高級研究規(guī)劃署(DARPA)的一項(xiàng)研究計(jì)劃實(shí)現(xiàn)若干臺主機(jī)的相互通信。 現(xiàn)在TCP/IP已成為Internet上通信的工業(yè)標(biāo)準(zhǔn)。 TCP/IP模型包括4個(gè)層次: 應(yīng)用層 傳輸層 網(wǎng)絡(luò)
4、層 網(wǎng)絡(luò)接口,TCP/IP與OSI參考模型的對應(yīng)關(guān)系,基于TCP(面向連接)的socket編程,服務(wù)器端程序: 1、創(chuàng)建套接字(socket)。 2、將套接字綁定到一個(gè)本地地址和端口上(bind)。 3、將套接字設(shè)為監(jiān)聽模式,準(zhǔn)備接收客戶請求(listen)。 4、等待客戶請求到來;當(dāng)請求到來后,接受連接請求,返回一個(gè)新的對應(yīng)于此次連接的套接字(accept)。 5、用返回的套接字和客戶端進(jìn)行通信(send/recv)。 6、返回,等待另一客戶請求。 7、關(guān)閉套接字。,客戶端程序: 1、創(chuàng)建套接字(socket)。 2、向服務(wù)器發(fā)出連接請求(connect)。 3、和服務(wù)器端進(jìn)行通信(send
5、/recv)。 4、關(guān)閉套接字。,基于UDP(面向無連接)的socket編程,服務(wù)器端(接收端)程序: 1、創(chuàng)建套接字(socket)。 2、將套接字綁定到一個(gè)本地地址和端口上(bind)。 3、等待接收數(shù)據(jù)(recvfrom)。 4、關(guān)閉套接字。,客戶端(發(fā)送端)程序: 1、創(chuàng)建套接字(socket)。 2、向服務(wù)器發(fā)送數(shù)據(jù)(sendto)。 3、關(guān)閉套接字。,套接字的類型,流式套接字(SOCK_STREAM) 提供面向連接、可靠的數(shù)據(jù)傳輸服務(wù),數(shù)據(jù)無差錯(cuò)、無重復(fù)的發(fā)送,且按發(fā)送順序接收。 數(shù)據(jù)報(bào)式套接字(SOCK_DGRAM) 提供無連接服務(wù)。數(shù)據(jù)包以獨(dú)立包形式發(fā)送,不提供無錯(cuò)保證,數(shù)據(jù)可
6、能丟失或重復(fù),并且接收順序混亂。 原始套接字(SOCK_RAW) 原始套接字保存了數(shù)據(jù)包中的完整IP頭,前面兩種套接字只能收到用戶數(shù)據(jù)。因此可以通過原始套接字對數(shù)據(jù)進(jìn)行分析。,Socket相關(guān)接口,Ioctlsocket 控制套接字的模式,例如FIONBIO,0為阻塞模式,非0為非阻塞模式。 select 常用在recv之前以block或non-block方式檢測網(wǎng)絡(luò)上是否有數(shù)據(jù) setsockopt 設(shè)置套接字的選項(xiàng),例如發(fā)送或接收的socket緩沖區(qū)大小 getsockopt 獲取套接字的選項(xiàng),多線程,創(chuàng)建線程 銷毀線程 設(shè)置線程優(yōu)先級 使用Semaphore實(shí)現(xiàn)上傳或下載的暫?;蚶^續(xù) 暫停pause(接口WaitForSingleObject) 繼續(xù)resume(接口ReleaseSemaphore),互斥量,使用互斥量實(shí)現(xiàn)盡可能快上傳文件,需要用到緩存。 1) 當(dāng)一個(gè)線程正在寫入數(shù)據(jù)時(shí),其他線程不能寫,也不能讀。 2) 當(dāng)一個(gè)線程正在讀入數(shù)據(jù)時(shí),其他線程不能寫,但能夠讀。 CreateMutex WaitForSingleObject ReleaseMutex,作業(yè)內(nèi)容,描述:用UDP和TCP兩種方式,編寫C/S結(jié)構(gòu)程序,能上傳下載文
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 肝癌的快速檢測技術(shù)
- 鄂州市九下期中數(shù)學(xué)試卷
- 工廠著裝培訓(xùn)課件
- 福建五年級數(shù)學(xué)試卷
- 2025年03月青島市衛(wèi)生健康系統(tǒng)公開招聘工作人員人數(shù)統(tǒng)計(jì)截至012日1630筆試歷年專業(yè)考點(diǎn)(難、易錯(cuò)點(diǎn))附帶答案詳解
- 2025年06月浙江金華永康市醫(yī)療急救指揮中心招聘編外人員2人筆試歷年專業(yè)考點(diǎn)(難、易錯(cuò)點(diǎn))附帶答案詳解
- 2025至2030寵物衣服產(chǎn)業(yè)行業(yè)市場占有率及投資前景評估規(guī)劃報(bào)告
- 2025至2030超白涂料產(chǎn)業(yè)市場發(fā)展分析及發(fā)展趨勢與投資價(jià)值報(bào)告
- 2025至2030餐飲行業(yè)市場深度研究與戰(zhàn)略咨詢分析報(bào)告
- 電腦怎么弄數(shù)學(xué)試卷
- 社區(qū)工作者招聘考試筆試題庫大全(含答案詳解)
- 碼頭承包經(jīng)營合同
- DB37T2367-2022《回彈法檢測砌筑砂漿抗壓強(qiáng)度技術(shù)規(guī)程》
- 對生活飲用水的衛(wèi)生監(jiān)督
- 2022江蘇省中央財(cái)政補(bǔ)貼型奶牛養(yǎng)殖保險(xiǎn)條款
- 樂山市口腔醫(yī)院門診牙科診所醫(yī)療機(jī)構(gòu)企業(yè)地址名單目錄
- WTO世界貿(mào)易組織概論期末復(fù)習(xí)題
- 外貿(mào)業(yè)務(wù)員KPI考核量表
- 智慧物業(yè)管理系統(tǒng)解決方案
- 幼兒園教育活動(dòng)設(shè)計(jì)與指導(dǎo)幼兒園教育活動(dòng)設(shè)計(jì)的基本模式
- 數(shù)字聲音廣播7-drm技術(shù)系統(tǒng)與二
評論
0/150
提交評論