摘要:通信專業互聯網技術考試SOCKS64技術:SOCKS64技術是原有SOCKS協議IETFRFC1928的擴展,相當于IP層的代理。這種機制不需要修改DNS或者做地址映射,可用于多種環境,但是需要采用SOCKS代理服務器,并在客戶端安裝支持SOCKS代理的軟件,對于用戶來講不是透明的。
8.5.2 SOCKS64技術
SOCKS64技術是原有SOCKS協議IETFRFC1928的擴展,相當于IP層的代理。這種機制不需要修改DNS或者做地址映射,可用于多種環境,但是需要采用SOCKS代理服務器,并在客戶端安裝支持SOCKS代理的軟件,對于用戶來講不是透明的。其原理如圖4-51所示,它增加了兩個新的功能部件SOCKS Lib和Gateway,它們構成了網關機制。SOCKSLib是在客戶機一端引人的,它位于應用層和Socket層之間,可以替代應用程序的SocketAPI和DNS域名解析API。在SOCKSLib中有一個DNS域名解析代表,它在源節點(客戶機C)全權代表到中繼服務器(網關G)的域名解析行為。Gateway是安裝在IPv6和IPv4雙棧網關上的一個增強型的SOCKS服務器,可以完成客戶機C(IPvX)和目的地D之間的任何協議組合類型的中繼。當SOCKSLib調用中繼時,由父Gateway生成一個Gateway進程(線程)來負責中繼連接。

在S0CKS5中規定,IPv4地址、IPv6地址和域名的全限定域名(FQDN)信息可以用在SOCKS協議格式的地址類型(ATYP域)。SOCKS64技術就是利用這一點,通過DNS域名解析代表將FQDN信息用在ATYP域中,從客戶機C傳到網關G來指出目的地D的位?Gateway應用層置。為此,SOCKS64技術也和BIA技術一樣使用了IPv4中未使用的保留地址(稱之為偽IP地址),并在SOCKSLib(客戶機C處)中引人一個映射表來管理偽IP地址和FQDN之間的映射。
客戶機C的IPvX使用SOCKS64技術通過雙棧網關G的IPvX/IPvY與目的主機D的IPvY通信的過程如下:
源節點(客戶機C)上的應用盡力通過調用DNS域名解析函數來獲得目的節點(目的地D)的IP地址信息。這時,目的地D的邏輯主機名(即FQDN)信息作為被調用的AH的一個參數傳遞給應用的SOCK SLib。
FQDN信息被注冊到SOCKSLib中的一個映射表內。SOCK SLib選擇一個偽IP地址回復給應用。
應用利用收到的偽IP地址信息組織一個Socket,并將Socket用作AH的一個參數來調用Socket API啟動通信,
由于SOCKSLib已經取代了這些SocketAPI,真正的Socket函數將不再調用,而是先檢査Socket的IP地址信息。如果該地址是偽IP地址?則從映射表中獲取與該偽IP地址相匹配的登記過的FQDN信息。通過與調用的SocketAPI相匹配的SOCKS命令(例如與connect對應的CONNECT命令),FQDN信息被傳送到中繼服務器(網關G)上的Gate way。
Gateway通過接收到的FQDN信息調用真正的DNS域名解析API從一個DNS處獲得一個真IP地址,并利用真IP地址信息創建一個Socket。Gateway再將Socket用作API的一個參數來調用SocketAPI與目的地D通信。
編輯推薦:
通信工程師備考資料免費領取
去領取
專注在線職業教育25年