代理服務器只代理特定協議的傳輸。訊雷下載有可能使用BT協議、FTP協議,ED2k協議,TD協議等,這些都是常用代理所不支持的。
如果您的機器具有一個合法的 Internet IP 地址, 或者您利用自己機器上的調制解調器撥號上網, 可
以自由和 Internet 上任何主機溝通, 那麼您通常不必關心 SOCKS5 協議。
SOCKS5 協議對於處在內部網絡中的機器, 需要透過網絡中某些可以聯通外部 Internet 的機器訪問
外部時,有用。
SOCKS5 是一個代理協議,它在使用 TCP/IP協議通訊的前端機器和服務器機器之間扮演一箇中介角色
,使得內部網中的前端機器變得能夠訪問Internet網中的服務器,或者使通訊更加安全。
SOCKS5 服務器通過將前端發來的請求轉發給真正的目標服務器, 模擬了一個前端的行爲。在這裏,
前端和SOCKS5之間也是通過TCP/IP協議進行通訊,前端將原本要發送給真正服務器的請求發送給SOCKS5服
務器,然後SOCKS5服務器將請求轉發給真正的服務器。SOCKS5服務器在將通訊請求發送給真正服務器的過
程中,對於請求數據包本身不加任何改變。SOCKS5服務器接收到真正服務器的響應後,也原樣轉發給前端
。
因此,SOCKS5 協議是一種代理協議,對於各種基於 TCP/IP的應用層協議都能夠適應,幾乎是萬能的
。它雖然不能理解自己轉發的數據的內部結構,但是它能夠忠實地轉發通訊包,完成協議本來要完成的功
能。
與SOCKS5協議不同,HTTP代理是通過HTTP協議進行的,HTTP代理服務器軟件瞭解通訊包的內部結構,
在轉發過程中還要對通訊進行某種程序的修改和轉換。和HTTP代理協議不同,SOCKS5實際上是一個傳輸層
的代理協議。
我們可以想象,如果每個具體的應用層協議都要設計對應的代理協議表達辦法,一個特定的代理服務
器無論如何也支持不過來那麼多新出現的協議。因此,可以說SOCKS5的出現緩解了各種具體協議需要專門
設計代理協議的困難局面。
不過,並不是凡是使用基於TCP/IP協議的應用協議的軟件,都可以無條件地透過SOCKS5服務器進行通
訊,還要求前端軟件本身具有SOCKS5的接口,才能利用SOCKS5代理服務器。
一個支持SOCKS5協議的前端,通常具有兩種運行狀態:
1)直接通訊狀態,不使用SOCKS5接口。這時的通訊是針對最終服務器進行的。
2)SOCKS5 狀態。 使用 SOCKS5 接口將本來要發送給最終服務器的請求發送給 SOCKS5 服務器。在前
端和 SOCKS5 服務器進行初始化會話的時候,前端告訴了 SOCKS5 服務器關於最終服務器的 IP 地址和端
口信息,所以 SOCKS5服務器能夠忠實按照前端的要求啓動和最終服務器的通訊過程。