分析代理IP的工作原理,代理IP一般使用公網IP接入互聯網,采用雙網卡結構。
網絡1的終端a(假設為公網)接入網絡2的終端B(假設為公司內部網),其發送的接入數據包的目的地址為終端B的內部IP地址。
當網絡1的代理IP網關接收到終端A發送的接入分組時,它檢查其目的地址。如果目的地址屬于網絡2的地址,則封裝數據包。根據代理ip技術的不同,封裝方式也有所不同。同時,代理ip網關將構造一個新的代理ip數據包,并且將封裝的原始數據包用作代理ip數據包的有效載荷。代理IP數據包的目的地址是網絡2的代理IP網關的外部地址。
網絡1的代理IP網關向因特網發送代理IP分組。因為代理IP分組的目的地址是網絡2的代理IP網關的外部地址,所以該分組將通過因特網中的路由被正確地發送到網絡2的代理IP網關。
網絡2的代理IP網關對接收到的數據包進行檢查,如果發現該數據包是網絡1的代理IP網關發送的,則可以確定該數據包是代理IP數據包,并對該數據包進行解包。
解包的過程主要是先剝離代理ip包的報頭,然后對包進行反向處理,使其恢復到原來的包。
第二網絡的代理IP網關將恢復后的原始數據包發送到目標終端B。由于原始數據包的目標地址是終端B的IP,因此可以將數據包正確發送到終端B。從終端B的角度看,它接收到的數據包和終端A直接發送的數據包是一樣的。
終端B到終端A的數據包處理過程與上述過程相同,從而使兩個網絡中的終端能夠相互通信。
從上面的描述可以發現,代理ip網關在處理數據包時,有兩個參數對于代理ip通信是非常重要的:原始數據包的目的地址(代理ip目的地址)和遠程代理ip網關的地址。根據代理IP目的地址,代理IP網關可以確定哪些數據包是由代理IP處理的,不需要處理的數據包通常可以直接轉發到上級路由。
遠程代理ip網關地址指定已處理的代理ip數據包的目的地址,即代理ip隧道另一端的代理ip網關地址。由于網絡通信是雙向的,在與代理IP通信時,隧道兩端的代理IP網關必須知道代理IP目的地址和對應的遠程代理IP網關地址。