網(wǎng)絡(luò)兼容之IPv4與IPv6協(xié)議轉(zhuǎn)換
通常我們說IPv4與IPv6的過度也就是兼容問題,實質(zhì)上就是IPv4與IPv6之間的協(xié)議轉(zhuǎn)換問題?,F(xiàn)在,就以此為話題,我們展開討論。探討一下有關(guān)于IPv4與IPv6協(xié)議轉(zhuǎn)換技術(shù)的內(nèi)容,首先我們來了解 一下他的具體工作方式和特點。
IPv4與IPv6協(xié)議轉(zhuǎn)換技術(shù)
其主要思想是在IPv6節(jié)點與IPv4節(jié)點的通信時需借助于中間的協(xié)議轉(zhuǎn)換服務(wù)器,此協(xié)議轉(zhuǎn)換服務(wù)器的主要功能是把網(wǎng)絡(luò)層協(xié)議頭進行IPv4與IPv6協(xié)議間的轉(zhuǎn)換,以適應(yīng)對端的協(xié)議類型。
優(yōu)點:能有效解決IPv4節(jié)點與IPv6節(jié)點互通的問題。
缺點:不能支持所有的應(yīng)用。
這些應(yīng)用層程序包括:
①應(yīng)用層協(xié)議中如果包含有IP地址、端口等信息的應(yīng)用程序,如果不將高層報文中的IP地址進行變換,則這些應(yīng)用程序就無法工作,如FTP、STMP等。
②含有在應(yīng)用層進行認證、加密的應(yīng)用程序無法在此協(xié)議轉(zhuǎn)換中工作。
SOCKS64
一個是在客戶端里引入SOCKS庫,這個過程稱為“socks化”(socksifying),它處在應(yīng)用層和socket之間,對應(yīng)用層的socket API和DNS名字解析API進行替換;
另一個是SOCKS網(wǎng)關(guān),它安裝在IPv4與IPv6雙棧結(jié)點上,是一個增強型的SOCKS服務(wù)器,能實現(xiàn)客戶端C和目的端D之間任何協(xié)議組合的中繼。當C上的SOCKS庫發(fā)起一個請求后,由網(wǎng)關(guān)產(chǎn)生一個相應(yīng)的線程負責對連接進行中繼。SOCKS庫與網(wǎng)關(guān)之間通過SOCKS(SOCKSv5)協(xié)議通信,因此它們之間的連接是“SOCKS化”的連接,不僅包括業(yè)務(wù)數(shù)據(jù)也包括控制信息;而G和D之間的連接未作改動,屬于正常連接。D上的應(yīng)用程序并不知道C的存在,它認為通信對端是G。
傳輸層中繼(TransportRelay)
與SOCKS64的工作機理相似,只不過是在傳輸層中繼器進行傳輸層的“協(xié)議翻譯”,而SOCKS64是在網(wǎng)絡(luò)層進行協(xié)議翻譯。它相對于SOCKS64,可以避免“IP分組分片”和“ICMP報文轉(zhuǎn)換”帶來的問題,因為每個連接都是真正的IPv4或IPv6連接。但同樣無法解決網(wǎng)絡(luò)應(yīng)用程序數(shù)據(jù)中含有網(wǎng)絡(luò)地址信息所帶來的地址無法轉(zhuǎn)換的問題。
應(yīng)用層代理網(wǎng)關(guān)(ALG)
ALG是Application Level Gateway的簡稱,與SOCKS64、傳輸層中繼等技術(shù)一樣,都是在IPv4與IPv6間提供一個雙棧網(wǎng)關(guān),提供“協(xié)議翻譯”的功能,也就是協(xié)議轉(zhuǎn)換。只不過ALG是在應(yīng)用層級進行協(xié)議翻譯。這樣可以有效解決應(yīng)用程序中帶有網(wǎng)絡(luò)地址的問題,但ALG必須針對每個業(yè)務(wù)編寫單獨的ALG代理,同時還需要客戶端應(yīng)用也在不同程序上支持ALG代理,靈活性很差。顯然,此技術(shù)必須與其它過渡技術(shù)綜合使用,才有推廣意義。
IPv4與IPv6過渡策略總結(jié)
雙棧、隧道是主流
所有的過渡技術(shù)都是基于雙棧實現(xiàn)的
不同的過渡策略各有優(yōu)劣、應(yīng)用環(huán)境不同
網(wǎng)絡(luò)的演進過程中將是多種過渡技術(shù)的綜合
根據(jù)運營商具體的網(wǎng)絡(luò)情況進行分析
由不同的組織或個人提出的IPv4向IPv6平滑過渡策略技術(shù)很多,它們都各有自己的優(yōu)勢和缺陷。因此,***的解決方案是綜合其中的幾種過渡技術(shù),取長補短,同時,兼顧各運營商具體的網(wǎng)絡(luò)設(shè)施情況,并考慮成本的因素,為運營商設(shè)計一套適合于他自己發(fā)展的平滑過渡解決方案。