分析一下代理IP的工作原理!代理ip一般使用公網(wǎng)IP接入互聯(lián)網(wǎng),采用雙網(wǎng)卡結(jié)構(gòu)。
網(wǎng)絡(luò)1(假設(shè)為公網(wǎng))的終端a訪問網(wǎng)絡(luò)2(假設(shè)為公司內(nèi)網(wǎng))的終端B,其發(fā)送的訪問數(shù)據(jù)包的目的地址為終端B的內(nèi)部IP地址..
當網(wǎng)絡(luò)1的代理ip網(wǎng)關(guān)接收到終端A發(fā)送的接入數(shù)據(jù)包時,它檢查其目的地址。如果目的地址屬于網(wǎng)絡(luò)2的地址,則封裝數(shù)據(jù)包。根據(jù)代理ip技術(shù)的不同,封裝方法也不同。同時,代理ip網(wǎng)關(guān)將構(gòu)造一個新的代理ip數(shù)據(jù)包,封裝后的原始數(shù)據(jù)包將作為代理ip數(shù)據(jù)包的有效載荷。代理ip數(shù)據(jù)分組的目的地址是網(wǎng)絡(luò)2的代理ip網(wǎng)關(guān)的外部地址。
網(wǎng)絡(luò)1的代理ip網(wǎng)關(guān)向互聯(lián)網(wǎng)發(fā)送代理ip分組。因為代理ip分組的目的地址是網(wǎng)絡(luò)2的代理ip網(wǎng)關(guān)的外部地址,所以分組將通過因特網(wǎng)中的路由被正確地發(fā)送到網(wǎng)絡(luò)2的代理ip網(wǎng)關(guān)。
網(wǎng)絡(luò)2的代理ip網(wǎng)關(guān)對接收到的數(shù)據(jù)包進行檢查,如果發(fā)現(xiàn)該數(shù)據(jù)包是網(wǎng)絡(luò)1的代理ip網(wǎng)關(guān)發(fā)送的,則可以確定該數(shù)據(jù)包是代理ip數(shù)據(jù)包,并對該數(shù)據(jù)包進行解包。
包拆包的過程主要是先剝離代理ip包的包頭,然后對包進行逆向處理,恢復(fù)成原來的包。
第二網(wǎng)絡(luò)的代理ip網(wǎng)關(guān)將恢復(fù)后的原始數(shù)據(jù)包發(fā)送給目標終端B,由于原始數(shù)據(jù)包的目標地址是終端B的IP,所以數(shù)據(jù)包可以正確地發(fā)送給終端B,從終端B的角度來看,它接收到的數(shù)據(jù)包與終端a直接發(fā)送的數(shù)據(jù)包是一樣的。
終端B到終端A的數(shù)據(jù)包處理過程與上述過程相同,使得兩個網(wǎng)絡(luò)中的終端可以相互通信。
從上面的描述可以發(fā)現(xiàn),代理ip網(wǎng)關(guān)處理數(shù)據(jù)包時,有兩個參數(shù)對于代理ip通信非常重要:原始數(shù)據(jù)包的目的地址(代理ip目的地址)和遠程代理ip網(wǎng)關(guān)的地址。根據(jù)代理ip目的地址,代理ip網(wǎng)關(guān)可以判斷哪些包由代理ip處理,不需要處理的包通常可以直接轉(zhuǎn)發(fā)到上級路由。
遠程代理ip網(wǎng)關(guān)地址指定被處理的代理ip分組的目的地地址,即在代理ip隧道的另一端的代理ip網(wǎng)關(guān)地址。因為網(wǎng)絡(luò)通信是雙向的,所以當與代理ip通信時,隧道兩端的代理ip網(wǎng)關(guān)必須知道代理ip目的地址和相應(yīng)的遠程代理ip網(wǎng)關(guān)地址。