版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、TCP和UDP網(wǎng)絡(luò)編程教案TCP和UDP網(wǎng)絡(luò)編程20XX年3月9日ISO/OSI七層參考模型OSI(Open System Interconnection)參考模型將網(wǎng)絡(luò)的不同功能劃分為7層。通信實(shí)體的對(duì)等層之間不允許直接通信。各層之間是嚴(yán)格單向依賴。上層使用下層提供的服務(wù) Service user;下層向上層提供服務(wù) Service provider。應(yīng)用層表示層物理層會(huì)話層傳輸層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層處理網(wǎng)絡(luò)應(yīng)用數(shù)據(jù)表示主機(jī)間通信端到端的連接尋址和最短路徑介質(zhì)訪問(wèn)(接入)二進(jìn)制傳輸OSI各層所使用的協(xié)議 應(yīng)用層:遠(yuǎn)程登錄協(xié)議Telnet、文件傳輸協(xié)議FTP、 超文本傳輸協(xié)議HTTP、域名服務(wù)DN
2、S、簡(jiǎn)單郵件傳輸協(xié)議SMTP、郵局協(xié)議POP3等。 傳輸層:傳輸控制協(xié)議TCP(面向連接的可靠的傳輸協(xié)議)、用戶數(shù)據(jù)報(bào)協(xié)議UDP(是無(wú)連接的,不可靠的傳輸協(xié)議)。 網(wǎng)絡(luò)層:網(wǎng)際協(xié)議IP、Internet互聯(lián)網(wǎng)控制報(bào)文協(xié)議ICMP、Internet組管理協(xié)議IGMP。數(shù)據(jù)封裝OSI參考模型中,對(duì)等層協(xié)議之間交換的信息單元統(tǒng)稱為協(xié)議數(shù)據(jù)單元(PDU,Protocol Data Unit)。OSI參考模型中每一層都要依靠下一層提供的服務(wù)。為了提供服務(wù),下層把上層的PDU作為本層的數(shù)據(jù)封裝,然后加入本層的頭部(和尾部)。頭部中含有完成數(shù)據(jù)傳輸所需的控制信息。這樣,數(shù)據(jù)自上而下遞交的過(guò)程實(shí)際上就是不斷封
3、裝的過(guò)程。到達(dá)目的地后自下而上遞交的過(guò)程就是不斷拆封的過(guò)程。由此可知,在物理線路上傳輸?shù)臄?shù)據(jù),其外面實(shí)際上被包封了多層“信封”。但是,某一層只能識(shí)別由對(duì)等層封裝的“信封”,而對(duì)于被封裝在“信封”內(nèi)部的數(shù)據(jù)僅僅是拆封后將其提交給上層,本層不作任何處理。數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)協(xié)議頭對(duì)等通信示例“你好你好”“Hello”傳真?zhèn)髡嬷袊?guó)中國(guó)教師教師翻譯翻譯秘書(shū)秘書(shū)“Hallo”“Hello”傳真?zhèn)髡娴聡?guó)德國(guó)教師教師翻譯翻譯秘書(shū)秘書(shū)對(duì)交談內(nèi)容的共識(shí)對(duì)交談內(nèi)容的共識(shí)用英語(yǔ)對(duì)話用英語(yǔ)對(duì)話使用傳真通信使用傳真通信P3P2P1物理通信線路物理通信線路 對(duì)等層實(shí)體之間虛擬通信。對(duì)等層實(shí)體之間虛擬通信。 下層向上層提供服務(wù)
4、,實(shí)際通信在最底層完成。下層向上層提供服務(wù),實(shí)際通信在最底層完成。TCP/IP模型 TCP/IP起源于美國(guó)國(guó)防部高級(jí)研究規(guī)劃署(DARPA)的一項(xiàng)研究計(jì)劃實(shí)現(xiàn)若干臺(tái)主機(jī)的相互通信。 現(xiàn)在TCP/IP已成為Internet上通信的工業(yè)標(biāo)準(zhǔn)。 TCP/IP模型包括4個(gè)層次: 應(yīng)用層 傳輸層 網(wǎng)絡(luò)層 網(wǎng)絡(luò)接口應(yīng)用層表示層會(huì)話層傳輸層物理層數(shù)據(jù)鏈路層網(wǎng)絡(luò)層OSI參考模型應(yīng)用層傳輸層網(wǎng)絡(luò)接口網(wǎng)絡(luò)層TCP/IP模型TCP/IP與OSI參考模型的對(duì)應(yīng)關(guān)系基于TCP(面向連接)的socket編程服務(wù)器端程序:1、創(chuàng)建套接字(socket)。2、將套接字綁定到一個(gè)本地地址和端口上(bind)。3、將套接字設(shè)為監(jiān)
5、聽(tīng)模式,準(zhǔn)備接收客戶請(qǐng)求(listen)。4、等待客戶請(qǐng)求到來(lái);當(dāng)請(qǐng)求到來(lái)后,接受連接請(qǐng)求,返回一個(gè)新的對(duì)應(yīng)于此次連接的套接字(accept)。5、用返回的套接字和客戶端進(jìn)行通信(send/recv)。6、返回,等待另一客戶請(qǐng)求。7、關(guān)閉套接字??蛻舳顺绦颍?、創(chuàng)建套接字(socket)。2、向服務(wù)器發(fā)出連接請(qǐng)求(connect)。3、和服務(wù)器端進(jìn)行通信(send/recv)。4、關(guān)閉套接字?;赨DP(面向無(wú)連接)的socket編程服務(wù)器端(接收端)程序:1、創(chuàng)建套接字(socket)。2、將套接字綁定到一個(gè)本地地址和端口上(bind)。3、等待接收數(shù)據(jù)(recvfrom)。4、關(guān)閉套接字。
6、客戶端(發(fā)送端)程序:1、創(chuàng)建套接字(socket)。2、向服務(wù)器發(fā)送數(shù)據(jù)(sendto)。3、關(guān)閉套接字。套接字的類(lèi)型 流式套接字(SOCK_STREAM)提供面向連接、可靠的數(shù)據(jù)傳輸服務(wù),數(shù)據(jù)無(wú)差錯(cuò)、無(wú)重復(fù)的發(fā)送,且按發(fā)送順序接收。 數(shù)據(jù)報(bào)式套接字(SOCK_DGRAM)提供無(wú)連接服務(wù)。數(shù)據(jù)包以獨(dú)立包形式發(fā)送,不提供無(wú)錯(cuò)保證,數(shù)據(jù)可能丟失或重復(fù),并且接收順序混亂。 原始套接字(SOCK_RAW) 原始套接字保存了數(shù)據(jù)包中的完整IP頭,前面兩種套接字只能收到用戶數(shù)據(jù)。因此可以通過(guò)原始套接字對(duì)數(shù)據(jù)進(jìn)行分析。Socket相關(guān)接口Ioctlsocket 控制套接字的模式,例如FIONBIO,0為阻
7、塞模式,非0為非阻塞模式。 select 常用在recv之前以block或non-block方式檢測(cè)網(wǎng)絡(luò)上是否有數(shù)據(jù)setsockopt 設(shè)置套接字的選項(xiàng),例如發(fā)送或接收的socket緩沖區(qū)大小getsockopt 獲取套接字的選項(xiàng)多線程 創(chuàng)建線程 銷(xiāo)毀線程 設(shè)置線程優(yōu)先級(jí) 使用Semaphore實(shí)現(xiàn)上傳或下載的暫?;蚶^續(xù) 暫停pause(接口WaitForSingleObject) 繼續(xù)resume(接口ReleaseSemaphore)互斥量 使用互斥量實(shí)現(xiàn)盡可能快上傳文件,需要用到緩存。 1) 當(dāng)一個(gè)線程正在寫(xiě)入數(shù)據(jù)時(shí),其他線程不能寫(xiě),也不能讀。 2) 當(dāng)一個(gè)線程正在讀入數(shù)據(jù)時(shí),其他線程不能寫(xiě),但能夠讀。 CreateMutex WaitForSingleObject ReleaseMutex作業(yè)內(nèi)容 描述:用UDP和TCP兩種方式,編寫(xiě)C/S結(jié)構(gòu)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 石河子大學(xué)《園林藝術(shù)原理》2022-2023學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《水污染控制工程》2021-2022學(xué)年期末試卷
- 石河子大學(xué)《管理學(xué)》2021-2022學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《城市規(guī)劃原理》2023-2024學(xué)年第一學(xué)期期末試卷
- 沈陽(yáng)理工大學(xué)《伺服系統(tǒng)》2022-2023學(xué)年第一學(xué)期期末試卷
- 沈陽(yáng)理工大學(xué)《面向?qū)ο蟪绦蛟O(shè)計(jì)》2021-2022學(xué)年期末試卷
- 沈陽(yáng)理工大學(xué)《機(jī)械工程控制基礎(chǔ)》2021-2022學(xué)年期末試卷
- 沈陽(yáng)理工大學(xué)《非線性光學(xué)原理及應(yīng)用》2022-2023學(xué)年第一學(xué)期期末試卷
- 沈陽(yáng)理工大學(xué)《城市規(guī)劃原理》2021-2022學(xué)年第一學(xué)期期末試卷
- 國(guó)能 售電合同
- 8《安全記心上》第1課時(shí) 教學(xué)設(shè)計(jì)-2024-2025學(xué)年道德與法治三年級(jí)上冊(cè)統(tǒng)編版
- 2024年人教版小學(xué)六年級(jí)數(shù)學(xué)(上冊(cè))期中考卷附答案
- 2024年“日常生活突發(fā)事故急救知識(shí)及處理方法”考試題庫(kù)(附含答案)
- 遙感概論課件
- 中核匯能吉林能源有限公司考試題庫(kù)
- 2024年4月21日四川省事業(yè)單位聯(lián)考《綜合知識(shí)》試題
- 政府會(huì)議備忘錄格式范文
- 2024版車(chē)位租賃合同
- 《中國(guó)飲食文化》課件-中國(guó)飲食文化溯源
- 可編程邏輯控制器(PLC)行業(yè)市場(chǎng)調(diào)研分析報(bào)告
- QCT1168-2022汽車(chē)用電動(dòng)空氣壓縮機(jī)性能要求及臺(tái)架試驗(yàn)方法
評(píng)論
0/150
提交評(píng)論