熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Linux下IPV4和IPV6的互操作性研究

2013-11-13 15:38:08  來源: Oracle 

  作為向下一代互聯網絡協議過渡的重要步驟國際的IPv試驗網bone在年成立了現在bone已經擴展到全球多個國家和地區成為IPv研究者開發者和實踐者的主要平台CERNET國家網絡中心於月加入bone同年月成為其骨干網成員電子科大作為教育網的西南主節點在得到Nokia的IPv路由器之後積極參與IPv技術研究我們先查閱研究了大多數與IPv有關的RFC文檔和相關技術資料並且在此基礎上進行了很多網絡實驗該文先簡單闡述了IPV的必要性和IPV到IPV升級轉換的機制然後詳細闡明了在Linux操作系統下進行的IPv網絡實驗及其結論並附有相關參考文獻書目
  
  一使用IPv的必要性
  
    現在運行的因特網協議IPv存在其固有的局限性一是地址問題IPv的地址只有這意味著總的地址數大約是並且還有許多地址是不可用的按照目前網絡的發展趨勢年之間IPv的地址就會耗盡必須用另一種地址方案來替代它二是IPv提供的服務局限性IPv盡它的最大努力來傳送信息包但是它不會保證提供給上層的服務是可靠的沒有QoS(服務質量)的概念這些問題都是IPv的薄弱環節致命弱點另外因特網不斷提出對移動性安全性以及多媒體業務的支持等問題IPv都無法解決這樣就迫使我們必須引入下一帶因特網協議IPv
  
  二IPv和IPv的互操作
  
    要將現在的IPV網絡升級到IPV網絡不可能所有的機器在同時啟用IPV協議棧配置好IPV地址安裝好IPV應用程序所以必須實現IPV網絡與IPV網絡之間的互操作及平滑升級機制IPv到IPv的升級轉換機制的首要條件是允許IPv和IPv主機互操作其次是在相互依賴性很小的情況下使IPv的主機和路由器能在因特網中快速發展第三是轉換對端用戶系統管理員和網絡實施者來說易於理解和執行IPv轉換機制是一套主機和路由器執行的協議機制有一套定址和配置的操作指導方案盡可能減少轉換過程中造成的破壞IPv轉換機制的主要目標如下
    · 可增加的升級和擴展性:單個IPv的主機和路由器可在不需要其它的主機和路由器同時升級的情況下單獨升級成IPv新的IPv主機和路由器可以後再一台台的安裝成IPv
    ·最小的升級依賴性將主機升級成IPv的唯一先決條件是域名服務器必須先升級以處理IPv地址記錄
    ·方便的尋址當IPv的主機和路由器升級到IPv他們必須繼續用原來的地址他們不需要指定新的地址管理者不需制定新的地址分配方案
    ·很低的啟動開銷將IPv系統升級成IPv很少或幾乎不需要准備工作
    IPv轉換機制確保IPv主機能和任何因特網上的IPv通信直到IPv被淘汰並在那時允許在小范圍內互相通信這個特征保護了用戶已經在IPv上的巨大投入並使得IPv不會將IPv孤立
    基於以上原因IPv主機和路由器上與Ipv主機和路由器現在廣泛采用了如下兩種互操作的機制隧道技術和雙IP協議棧技術
    
  A.隧道技術
  
    隧道提供了一種利用IPv路由基礎上傳輸IPv包的方法隧道應用於下面幾種應用中路由器到路由器主機到路由器主機到主機和路由器到主機
    路由器到路由器和主機到路由器隧道技術都是將IPv包傳到路由器隧道的終點是中間路由器必須將IPv包解出並且轉發到它的目的地隧道終點的地址必須由配置隧道節點的配置信息獲得這種類型的隧道稱作人工配置隧道
    當利用隧道到達IPv的主干網時如果一個在IPv網絡和IPv網絡邊界的IPv/IPv路由器的IPv地址已知時那麼隧道的端點可以配置為這個路由器這個隧道的配置可以被寫進路由表中作為缺省路由這就是說所有IPv目的地址符合此路由的都可以使用這條隧道這種隧道就是默認配置的隧道
    主機到主機和路由器到主機隧道技術都是將IPv包傳到主機的可以用IPv包的信息獲得終點地址隧道入口創建一個IPv封裝頭並傳送包隧道出口解包去掉IPv更新IPv處理IPv隧道入口節點需要保存隧道信息如MTU等如果用於目的節點的IPv地址是與IPv兼容的地址隧道的IPv地址可以自動從IPv地址繼承下來因此也就不需要人工配置這種隧道也就稱為自動隧道
    IPv兼容的IPv地址格式如下
        
  
  B.雙IP協議棧方式
  
    雙協議棧方式包括提供IPv和IPv協議棧的主機和路由器雙協議棧工作方式的簡單描述如下
    ·如果應用程序使用的目的地址是IPv地址那麼將使用IPv協議棧
    ·如果應用程序使用的目的地址是兼容IPv的IPv地址那麼IPv就封裝到IPv
    ·如果目的地址是另一種類型的IPv地址那麼就使用IPv地址可能封裝在默認配置的隧道中
    雙協議棧的缺省IP包發送算法為
  a 如果IP包的目的地址是IPv地址
    如果目的站點在可達鏈路上直接發送
    如果目的站點不可達要麼送往在線路由器要麼不可達
  b 如果IP包的目的地址是IPv兼容的IPv地址
    如果目的站點在可達鏈路上直接發送IPv
    如果目的站點處於offlink)如果有可達IPv路由器則封裝在IPv包中發往IPv路由器)如果有可達IPv路由器則不封裝直接發送)如果沒有可達路由器則不可達
  c 如果IP包的目的地址是純IPv地址
    如果目的站點在 可達鏈路上直接發送IPv
    如果目的站點處於offlink)如果有可達IPv路由器則直接發送到路由器如果目的地通過手動隧道可達並且鏈路上有可達IPv路由器則封裝成IPv目的IP地址為隧道終點地址鏈路地址為可達路由器的鏈路地址)否則為不可達
  d 在線/離線的確定
    IPv使用子網掩碼確定IPv使用鄰居發現協議兩者共同使用的是如果目的地址是IPv地址則使用  RFC比較兩者的掩碼如果目的地址是IPv兼容的IPv地址則使用低位目的地址的子網掩碼比較如果是  IPv純地址則使用鄰居發現協議
  
  三Linux下IPv網絡研究實驗
  
    我們在研究了大量IPv協議(主要的IPv RFC文檔)之後進行了一系列的IPv研究實驗現詳細敘述如下
  
  .Pv研究實驗平台的選擇
  
    在國內有幾所大學已經或正在進行IPv實驗研究並且建立了CERNET IPv實驗床我們在與CERNET IPv實驗床的老師和同學取得聯系並進行了交流實驗床網絡中心最初的組網是通過主機配置FreeBSD來完成的年開始用的是FreeBSD現在是FreeBSD都有此外有些科研人員也開始采用linux進行實驗路由器現在采用的是Nokia的IP還有FreeBSD+Mrtd的主機電子科大作為教育網西南地區的主節點也得到了Nokia捐贈的IPv路由器在此基礎之上我們通過分析比較研究各種操作系統最後選定用linux作為IPv主機和路由器研究實驗平台具體原因如下
  A. Linux作為開放的操作系統其原代碼完全公開具有很強的靈活性現在有很多自由軟件聯盟為Linux免費開發如件故Linux具有很強的生命力和活力而其他大部分由個別公司開發的操作系統一方面原代碼不公開無法根據自己的要求修改內核其公司的發展的興衰很大程度上影響該操作系統的發展
  B. Linux操作系統很先進一直跟蹤關注網絡的發展用Linux組建Internet網絡建立網站進行網絡開發研究都是很好的選擇並且其內核從開始就已經開始支持IPv技術了這等於就為我們提供了IPv協議棧原代碼  我們可以利用其共享代碼做IPv的研究開發
  
  .Linux主機IPv協議支持技術研究
  
    在選定了實驗平台之後我們就著手進行一系列的IPv實驗主要針對在已大量安裝了IPv的主機和路由器情況下如何成功地兼容地升級到IPv如何運用在IPv主機和路由器上與Ipv主機和路由器成功互操作以及如何建立配置IPv主機和路由器在進行IPv實驗之前我們根據網上查詢資料及對Linux內核分析研究了如何建立IPv主機包括安裝協議棧網絡工具及網絡程序現以Redhat Linux為例詳細說明其具體步驟如下
  
  A.支持IPv協議的新內核的編譯
  
    要讓操作系統支持IPv就要安裝IPv協議棧Redhat的內核為版本可支持IPv但是安裝缺省不支持由於協議棧在操作系統中是處於核心地位的必須重新編譯新的內核才能安裝上新的協議棧其具體步驟如下
    )以root身份登陸進入源碼所在的目錄cd /usr/src/linux
    )運行 make clean清除一些可能過期的中間代碼
    ) 然後配置內核選項make menuconfig 或者 make xmenuconfig運行make menuconfig後將下面的支持IPv的選項選上其他內核選項請根據系統的具體情況作出符合系統的選擇
     Code maturity level options
       Prompt for development and/or incomplete code/drivers Yes
     Networking options
       Packet socket               yes
       Unix domain sockets            yes
       TCP/IP networking             yes
       The IPv protocol             yes
       IPv: enable EUI token format      yes
       IPv: disable provider based address    yes
     File systems
       / procfilesy
From:http://tw.wingwit.com/Article/program/Oracle/201311/17046.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.