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