freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

簡(jiǎn)易代理服務(wù)器的設(shè)計(jì)—免費(fèi)計(jì)算機(jī)畢業(yè)設(shè)計(jì)論文-文庫(kù)吧

2024-11-11 16:30 本頁(yè)面


【正文】 r 與 Intra的橋梁, 代理 服務(wù)器在實(shí)際應(yīng)用中發(fā)揮著極其重要的作用。它可用于多個(gè)目的,最基本的功能是連接 ; 此外還包括安全性、緩存、內(nèi)容過(guò)濾、訪(fǎng)問(wèn)控制管理等功能。在 代理 服務(wù)器的眾多功能中,安全性是一個(gè)突出且敏感的功能。絕大多數(shù)企業(yè)、部門(mén)在使用 代理 服務(wù)器的時(shí)候,都會(huì)考慮這個(gè)問(wèn)題,把它作為選購(gòu) 代理 服務(wù)器產(chǎn)品的重要依據(jù)。目前市場(chǎng)上流行的 代理 服務(wù)器,像 Microsoft Proxy Server、 Netscape Proxy Server、 Win Gate 等 國(guó)外的產(chǎn)品, 功能和性能等方面都還不錯(cuò), 我們正好可以通過(guò)借鑒它們產(chǎn)品的優(yōu)點(diǎn) , 開(kāi)發(fā)一個(gè)具有自主產(chǎn)權(quán)的代理服務(wù)器產(chǎn)品。而且 從保證安全性的角度出發(fā), 我們也 很有 必要開(kāi)發(fā)一個(gè)自己的 代理 服務(wù)器。 除了上面的因素外,通過(guò)一個(gè)簡(jiǎn)單的代理程序的開(kāi)發(fā),我們能從實(shí)現(xiàn)過(guò)程中學(xué)習(xí)到網(wǎng)絡(luò)通信和網(wǎng)絡(luò)編程的基礎(chǔ)知識(shí),加深理解和掌握我們所使用的開(kāi)發(fā)語(yǔ)言。另外,我們也能從中學(xué)習(xí)到正確的程序開(kāi)發(fā)流程,積累程序開(kāi)發(fā)經(jīng)驗(yàn),為以后更深課題的研究打好基礎(chǔ)。 本課題的研究方法 此 代理 服務(wù)器 系統(tǒng) 將是 建立在 Windows NT 平臺(tái)上 的網(wǎng)絡(luò)應(yīng)用程序設(shè)計(jì)。由于需要服務(wù)器為其他許多稱(chēng)為客戶(hù)的主機(jī)提供服務(wù),而客戶(hù)主機(jī)又可以隨時(shí)打開(kāi)和關(guān)閉,在選擇網(wǎng)絡(luò)應(yīng)用程序體系結(jié)構(gòu)時(shí)就 采用支持這些特點(diǎn)的客戶(hù)機(jī) /服務(wù)器結(jié)構(gòu)。還將運(yùn)用 Windows 下網(wǎng)絡(luò)編程的標(biāo)準(zhǔn)接口 WinSock , 因?yàn)樗试S兩個(gè)或多個(gè)應(yīng)用程序在相同機(jī)器上,或者是通過(guò)網(wǎng)絡(luò)相互交流,它是真正協(xié)議無(wú)關(guān)的接口。為了便于直接使用 Windows 提供的網(wǎng)絡(luò)編程接口,我們 使用 Microsoft Visual C++ 作為開(kāi)發(fā)工具 ,利用 MFC 類(lèi)庫(kù)中提供的兩個(gè) Socket 類(lèi) 第 2 頁(yè) 共 20頁(yè) CAsyncSocket 和 Csocket。 使用 這兩個(gè) Socket 類(lèi) , 我們可以 運(yùn) 用面向?qū)ο蟮姆椒▉?lái)進(jìn)行 Socket 編程,而且它們還分別在較低和較高層次上封裝了 Windows Sockets API,為程序員開(kāi)發(fā) Socket 程序提供了便利。 2 理論基礎(chǔ) 代理服務(wù)器 代理服務(wù)器 的 英文全稱(chēng)是 Proxy Server,其功能就是代理網(wǎng)絡(luò)用戶(hù)去取得網(wǎng)絡(luò)信息。形象的說(shuō):它是網(wǎng)絡(luò)信息的中轉(zhuǎn)站。 很多人不知不覺(jué)中 就在用代理服務(wù)器共享上網(wǎng),比如 sygate,wingate,isa,ccproxy,NT 系統(tǒng)自帶的網(wǎng)絡(luò)共享等,它們可以提供企業(yè)級(jí) 的文件緩存,復(fù)制和地址過(guò)濾等服務(wù)。 在一般情況下,我們使用網(wǎng)絡(luò)瀏覽器直接去連接其他 Inter 站點(diǎn)取得網(wǎng)絡(luò)信息時(shí),須送出Request 信號(hào)來(lái)得到回答,然后對(duì)方再把信息以 bit 方式傳送回來(lái)。代理服務(wù)器是介于瀏覽器和 Web 服務(wù)器之間的一臺(tái)服務(wù)器,有了它之后,瀏覽器不是直接到 Web 服務(wù)器去取回網(wǎng)頁(yè)而是向代理服務(wù)器發(fā)出請(qǐng)求, Request 信號(hào)會(huì)先送到代理服務(wù)器,由代理服務(wù)器來(lái)取回瀏覽器所需要的信息并傳送給你的瀏覽器。而且,大部分代理服務(wù)器都具有緩沖的功能,就好 像 一個(gè)大的 Cache,它有很大的存儲(chǔ)空間,它不斷將新 取得數(shù)據(jù)儲(chǔ)存到它本機(jī)的存儲(chǔ)器上,如果瀏覽器所請(qǐng)求的數(shù)據(jù)在它本機(jī)的存儲(chǔ)器上已經(jīng)存在而且是最新的,那么它就不重新從 Web服務(wù)器取數(shù)據(jù),而直接將存儲(chǔ)器上的數(shù)據(jù)傳送給用戶(hù)的瀏覽器,這樣就能顯著提高瀏覽速度和效率 。 更重要的是: Proxy Server (代理服務(wù)器 )是 Inter鏈路級(jí)網(wǎng)關(guān)所提供的一種重要的安全功能,它的工作主要在開(kāi)放系統(tǒng)互聯(lián) (OSI)模型的對(duì)話(huà)層。主要的功能有: 連接 Inter 與 Intra 充當(dāng)防火墻:因?yàn)樗袃?nèi)部網(wǎng)的用戶(hù)通過(guò)代理服務(wù)器訪(fǎng)問(wèn)外界時(shí),只映射為一個(gè) IP地址,所以外界不 能直接訪(fǎng)問(wèn)到內(nèi)部網(wǎng);同時(shí)可以設(shè)置 IP地址過(guò)濾,限制內(nèi)部網(wǎng)對(duì)外部的訪(fǎng)問(wèn)權(quán)限;另外,兩個(gè)沒(méi)有互聯(lián)的內(nèi)部網(wǎng),也可以通過(guò)第三方的代理服務(wù)器進(jìn)行互聯(lián)來(lái)交換信息。 節(jié)省 IP開(kāi)銷(xiāo):前面所講,所有用戶(hù)對(duì)外只占用一個(gè) IP,所以不必租用過(guò)多的 IP 地址,降低網(wǎng)絡(luò)的維護(hù)成本。這樣,局域局內(nèi)沒(méi)有與外網(wǎng)相連的眾多機(jī)器就可以通過(guò)內(nèi)網(wǎng)的一臺(tái)代理服務(wù)器連接到外網(wǎng),大大減少費(fèi)用。當(dāng)然也有它不利的一面,如許多網(wǎng)絡(luò)黑客通過(guò)這種方法隱藏自己的真實(shí) IP 地址,而逃過(guò)監(jiān)視。 提高訪(fǎng)問(wèn)速度:本身帶寬較小,通過(guò)帶寬較大的 proxy 與目標(biāo)主機(jī)連接。而且 通常代理服務(wù)器都設(shè)置一個(gè)較大的硬盤(pán)緩沖區(qū),當(dāng)有外界的信息通過(guò)時(shí),同時(shí)也將其保存到緩沖區(qū)中,當(dāng)其他用戶(hù)再訪(fǎng)問(wèn)相同的信息時(shí),則直接由緩沖區(qū)中取出信息,傳給用戶(hù),從而達(dá)到提高訪(fǎng)問(wèn)速度的目 的 。 第 3 頁(yè) 共 20頁(yè) 防止攻擊 : 隱藏自己的真實(shí)地址信息,還可隱藏自己的 IP,防止被黑客攻擊。通過(guò)分析指定 IP地址,可以查詢(xún)到網(wǎng)絡(luò)用戶(hù)的目前所在地。例如,大家在一些論壇上看到,論壇中明確標(biāo)出了發(fā)帖用戶(hù)目前所在地,這就是根據(jù)論壇會(huì)員登錄時(shí)的 IP 地址解析的。還有平日里我們最為常用的顯 IP版 ,在 “ 發(fā)送消息 ” 窗口中,可以查看對(duì)方的 IP 及解析出的地理 位置。而當(dāng)我們使用相應(yīng)協(xié)議的代理服務(wù)器后,就可以達(dá)到隱藏自己當(dāng)前所在地地址的目的了 。 突破 IP訪(fǎng)問(wèn)限制:使用它 可以訪(fǎng)問(wèn)一些有 IP禁止訪(fǎng)問(wèn)的服務(wù)器 , 因?yàn)榉怄i只禁止了你和目標(biāo)服務(wù)器的連接,但并沒(méi)有禁止你與代理服務(wù)器的連接 以及代理服務(wù)器與目標(biāo)服務(wù)器的連接。 代理服務(wù)器有許多種,大體來(lái)說(shuō)有 HTTP,FTP,SOCKS 代理 三種,其中又分透明代理和不透明代理。其中透明代理一般是網(wǎng)關(guān),是硬件 ,所以不討論透明代理。當(dāng)機(jī)器通過(guò)代理服務(wù)器上網(wǎng)時(shí)。通訊是分兩次的,先是機(jī)器和代理服務(wù)器通訊,再是代理服務(wù)器和目的地址通訊。機(jī)器 和代理服務(wù)器通訊時(shí),目的 IP 是代理服務(wù)器的 IP。代理服務(wù)器和目的地址通訊時(shí),源 IP 是代理服務(wù)器的 IP,當(dāng) 然 外部的數(shù)據(jù)也是一樣的 。 在內(nèi)網(wǎng)中,出現(xiàn)的 IP 數(shù)據(jù),全是內(nèi)網(wǎng)和代理服務(wù)器的IP。因此,從 IP包頭是看不出任何與外面通訊的信息的。只有從數(shù)據(jù)中才能看到。 目前的代理服務(wù)技術(shù) 代理服務(wù)技術(shù)是在一臺(tái) PC 機(jī)上安裝一套代理軟件,主要用于用戶(hù)對(duì)Inter 資源的訪(fǎng)問(wèn)。 ICS 即 Inter 連接共享( Inter Connection Sharing)的英文簡(jiǎn)稱(chēng),是 Windows 系統(tǒng)針對(duì)家庭網(wǎng)絡(luò)或小型的 Intra 網(wǎng)絡(luò)提供的一種 Inter 連接共享服務(wù)。它實(shí)際上相當(dāng)于一種網(wǎng)絡(luò)地址轉(zhuǎn)換器,所謂網(wǎng)絡(luò)地址轉(zhuǎn)換器就是當(dāng)數(shù)據(jù)包向前傳遞的過(guò)程中,可以轉(zhuǎn)換數(shù)據(jù)包中的 IP地址和 TCP/UCP 端口等地址信息。有了網(wǎng)絡(luò)地址轉(zhuǎn)換器,家庭網(wǎng)絡(luò)或小型的辦公網(wǎng)絡(luò)中的電腦就可以使用私有地址,并且通過(guò)網(wǎng)絡(luò)地址轉(zhuǎn)換器將私有地址轉(zhuǎn)換成 ISP 分配的單一的公用 IP 地址從而實(shí)現(xiàn)對(duì) Inter 的連接。 ICS 方式也稱(chēng)之為 Inter 轉(zhuǎn)換連接。例如有 軟件: Wingate, Winproxy 等。 NAT 即網(wǎng)絡(luò)地址轉(zhuǎn)換( Network Address Translator),從廣義上講, ICS也是使用了一種 NAT 技術(shù),不過(guò)我們這里討論的 NAT 是指將運(yùn)行 Windows 2021 Server 的計(jì)算機(jī)作為 IP 路由器,通過(guò)它在局域網(wǎng)和 Inter 主機(jī)間轉(zhuǎn)發(fā)數(shù)據(jù)包從而實(shí)現(xiàn) Inter 的共享。 NAT 方式也稱(chēng)之為 Inter 的路由連接。網(wǎng)絡(luò)地址轉(zhuǎn)換 NAT 通過(guò)將專(zhuān)用內(nèi)部地址轉(zhuǎn)換為公共外部地址,對(duì)外隱藏了內(nèi)部管理的 IP 地址。這樣,通過(guò)在內(nèi)部使用非注冊(cè)的 IP 地址,并將它們轉(zhuǎn)換為一小部 第 4 頁(yè) 共 20頁(yè) 分外部注冊(cè)的 IP 地址,從而減少了 IP 地址注冊(cè)的費(fèi)用。同時(shí),這也隱藏了內(nèi)部網(wǎng)絡(luò)結(jié)構(gòu),從而降低了內(nèi)部網(wǎng)絡(luò)受到攻擊的風(fēng)險(xiǎn)。 例如有 軟件: WinRoute,Sygate。 Socket 面向連接的編程模型 代理服務(wù)器既然是雙向的客戶(hù)機(jī) /服務(wù)器模型,它工作時(shí)通常有一個(gè)公共的規(guī)則需要遵守,通信雙方需要共同遵守這個(gè)規(guī)則才能保證通信的有效進(jìn)行,如需要量傳輸大量語(yǔ)音信息時(shí)須采用一種無(wú)須建立連接的傳輸方式,在這種方式下,數(shù)據(jù)可以以較快的速度傳輸。而當(dāng)需要確保數(shù)據(jù)準(zhǔn)確無(wú)誤地到達(dá)時(shí),則應(yīng)采用面向連接的傳輸方式。代理服務(wù)器就要求采用這種方式,在這種模型下,當(dāng)服務(wù)器程序的套接字創(chuàng)建并初始化完畢時(shí),它先進(jìn) 入休眠狀態(tài),直到有客戶(hù)機(jī)向該服務(wù)器程序提出連接請(qǐng)求。這時(shí),服務(wù)器程序被“喚醒”,并開(kāi)始響應(yīng)客戶(hù)機(jī)提出的連接請(qǐng)求。這時(shí)雙方協(xié)商數(shù)據(jù)由誰(shuí)來(lái)接收和由誰(shuí)來(lái)發(fā)送,在數(shù)據(jù)傳輸完畢時(shí),雙方再分別關(guān)閉連接,釋放因創(chuàng)建套接字而占用的資源,面向連接的編程模型示意圖如下: 圖 1面向連接的編程模型 服務(wù)器方 客戶(hù)方Soket () , 建立流式套接字 , 返回套字句柄 li s ten _ s o c k e t .Bin d () , 關(guān)聯(lián)一個(gè)本地地址到套接字 li s ten _ s o c k e t .List e n () , 設(shè)置 b a c k log 值 , 進(jìn)入監(jiān)聽(tīng)狀態(tài) .Ac c p e t () , 等待接受客戶(hù)連接請(qǐng)求 .建立連接 , accept 函數(shù)返回 , 得到新的套接字 , 如 msg _ s o c k e t .Recv ()/ Send () , 在新套接字上收發(fā)數(shù)據(jù) , 直到完成交換Clo s e s o c k e t () , 關(guān)閉新的套接字 .Clo s e s o c k e t () , 關(guān)閉監(jiān)聽(tīng)套接字 ,服務(wù)結(jié)束 .Socket () , 建立流式套接字 .Conn ect () , 將套接字與服務(wù)器連接 .Recv ()/ s e n d () , 在套接字上收發(fā)數(shù)據(jù) , 直到數(shù)據(jù)完成交換 .Clo s e s o c k e t () , 關(guān)閉此套接字 , 結(jié)束 TCP 對(duì)話(huà) . 第 5 頁(yè) 共 20頁(yè) 上面的示意圖向我們顯示了面向連接的服務(wù)器程序和客戶(hù)程序的創(chuàng)建與結(jié)束過(guò)程。首先服務(wù)器端創(chuàng)建監(jiān)聽(tīng)套接字,并為它關(guān)聯(lián)一個(gè)本地地址(指定 IP地址和端口號(hào)),然后進(jìn)入監(jiān)聽(tīng)狀態(tài)準(zhǔn)備接收客戶(hù)端的連接請(qǐng)求。為了接受客戶(hù)端的連接請(qǐng)求,服務(wù)器必須調(diào)用 accept 函數(shù)。 客戶(hù)端創(chuàng)建套接字后即可調(diào)用 connect 函數(shù)去試圖連接服務(wù)器監(jiān)聽(tīng)套接字。當(dāng)服務(wù)器端的 accept 函數(shù)返回后, connect 函數(shù)也返回。此時(shí)客戶(hù)端使用socket 函數(shù)創(chuàng)建的套接字,服務(wù)器端使用 accept 函數(shù)創(chuàng)建的套接字,雙方就可以通信了。 當(dāng)數(shù)據(jù)完成交換后,客戶(hù)程序和服務(wù)器程序都會(huì)分別關(guān)閉創(chuàng)建的套接字句柄以完成雙方的對(duì)話(huà),至此程序服務(wù)結(jié)束。 Winsock庫(kù) Winsock 是 Windows 下網(wǎng)絡(luò)編程的標(biāo)準(zhǔn)接口,它允許兩個(gè)或多個(gè)應(yīng)用程序在相同機(jī)器上,或者是通過(guò)網(wǎng)絡(luò)相互交流。 Winsock庫(kù)的裝 入時(shí)是對(duì) Winsock DLL版本的進(jìn)行選擇 ,每個(gè) Winsock應(yīng)用程序 都 必須加載 與之 相應(yīng)的版本的 Winsock DLL。如果沒(méi)有加載,將返回 SOCKET_ERROR,加載的函數(shù)是 WSAStartup,其定義如下: int WSAStartup(WORD wVersionRequested,LPWSADATA lpWSAData)。 它的第一個(gè)參數(shù)就是要加載的庫(kù)版本,第二個(gè)參數(shù)是用來(lái)返回 DLL 庫(kù)的詳細(xì)信息的。 winsock 的尋址方式 因?yàn)?Winsock 要兼容多個(gè)協(xié)議,所以必須使用通用的尋址方式。 TCP/IP使用地址和端口號(hào)來(lái)指定一個(gè)地址,但是其它協(xié)議也許采用不同的形式。如果Winsock 強(qiáng)迫使 用特定的尋址方式,添加其他協(xié)議就不大可能了。在 Winsock中,應(yīng)用程序員通過(guò) SOCKADDR_IN 結(jié)構(gòu)來(lái)指定 IP地址和端口號(hào)。定義如下: Struct sockaddr_in{ short sin_family。 u_short sin_port。 struct in_addr sin_addr。 har sin_zero[8]。 }。 應(yīng)用程序可以使用 i_addr函數(shù)將一個(gè)小數(shù)點(diǎn)分隔的 十進(jìn)制 IP地址字符串轉(zhuǎn)化成由 32 位二進(jìn)制數(shù)表示的 IP 地址。 i_ntoa 函數(shù)將一個(gè)網(wǎng)絡(luò)字節(jié)順序的 32 位 IP 地址轉(zhuǎn)化字符串。注意: i_addr 返回的 32 位二進(jìn)制數(shù)是用網(wǎng)絡(luò)順序存儲(chǔ)的。 第 6 頁(yè) 共 20頁(yè) 字節(jié)順序 字節(jié)順序是長(zhǎng)度跨越多個(gè)字節(jié)的數(shù)據(jù)被存儲(chǔ)的順序,分為小尾順序和大尾順序, TCP/IP 統(tǒng)一規(guī)定使用大尾順序方式傳輸數(shù)據(jù),即網(wǎng)絡(luò)字節(jié)順序 ,它的字節(jié)順序是最重要的字節(jié)首先存儲(chǔ) 。 Winsock 提供了一些函數(shù)來(lái)處理本地機(jī)器的字節(jié)順序和網(wǎng)絡(luò)字節(jié)順序的轉(zhuǎn)換, htons 將主機(jī)字節(jié)順序轉(zhuǎn)化到 TCP/IP 網(wǎng)絡(luò)字節(jié)順序, ntohs 將 網(wǎng)絡(luò)字節(jié)順序轉(zhuǎn)化到主機(jī)字節(jié)順序,此外還有 htonl 和 ntohl。這 API 數(shù)據(jù)都是平臺(tái)無(wú)關(guān)的。使用它們可以保證程序正確運(yùn)行在所有機(jī)器上。 系統(tǒng)基本套接字調(diào)用 創(chuàng)建和關(guān)閉套接字- socket()和 closesocket() 應(yīng)用程序在使用套接字前,首先必須擁有一個(gè)套接字,系統(tǒng)調(diào)用 socket()向應(yīng)用程序提供創(chuàng)建套接字的手段 ,如果成功將返回套接字句柄,如果創(chuàng)建失敗,返回 INVALID_SOCKET(即 1)。當(dāng)不使用此套接字時(shí),應(yīng)該用
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1