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

正文內(nèi)容

畢業(yè)設(shè)計-簡易代理服務(wù)器的設(shè)計—論文-文庫吧

2024-11-11 17:42 本頁面


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