關於IPv6

IPv6基本介紹

什麼是IPv6?

目前網際網路上面所使用的網際網路協定為第四版,稱為IPv4,其使用32個位元定址,定址能力為2的32次方,這樣的定址能力在網路發展剛起步時仍十分充裕,但面對現今與未來,家用與商用電腦甚至於一般設備皆使用網際網路的情況來說,網際網路節點位址明顯不足,為了解決到時無位址可用的問題,國際組織IETF(網際網路工程小組)於是制定了第六版的網際網路協定就稱為IPv6。

IPv6 具備下列各項特性:

較大的位址空間

IPv6 使用128個位元加以定址網際網路節點,定址空間高達2的128次方(32 bits擴充為128 bits),預估地球上的每個人可分到一百萬個IP位址,所以未來從PDA到手機,甚至CD隨身聽、手錶等電子商品都將會有一個獨一無二的IP位址,可以透過網路取得更新資訊或進行遠端遙控等。

整合認證及安全的機制

IPv4 原為提供學校研究單位之用,使用者單純且環境也較為封閉,所以IPv4在設計之初並未考慮安全性問題,資料在網路上並未使用安全機制傳送,因而在早期的Internet時常發生企業或機構網路遭到攻擊、機密數據被竊取等網路安全事件。相較於早期的Internet,現今的網際網路極為普遍,同時伴隨著大量具安全需求資訊之交換,安全性成為任何一種網路技術都必須面對的問題,雖然IPv4以透過網際網路安全協定(IP Security,IPSec)提供安全保護,但架設及管理上都是額外的負擔,有鑑於此,IPv6協定設計時已考量網路安全功能,希望提供內嵌式的點對點安全保護能力,以提供未來網際網路一個更安全的資料交換方式。IPv6係利用Next Header中的Authentication Header及Encrypted Security Payload Header對傳輸的資料進行認證及加密,故未來使用者將不需透過額外的設備或軟體就可以達到網路安全的功效。

較佳的路由效率及最佳化

IPv6 將位址空間使用階層式的方式劃分為Top Level Aggregator Identifier、Next Level Aggregator Identifier、Site Level Aggregator Identifier三層,各層負責授權IP網段給其下層的機構,此種管理方式使得交換的路由資訊可以經由彙整變得非常精簡。此外,IPv6亦支援anycast 的功能,藉由從路由器的路由表中挑選出一台最佳(最短距離或最小花費等)的主機,從而縮短回應時間並將流量負載分散及節省頻寬。

服務品質的保證

IPv6的表頭中,保留了Flow Label的欄位,可和Multiple Protocol Label Switch(MPLS)的技術相配合,不同的資料流對應到不同的Flow Label,可做為服務品質控制的依據。網際網路在早期僅提供資料交換之用,對於資料傳送品質的要求以正確性為第一優先,然而隨著多媒體,網際網路電信服務等在網際網路上遞送,IP 封包提供服務品質的特性成為其一大考驗,IPv6在表頭加入兩項參數,包括資料流種類(Traffic Class)與資料流標記(Flow Label)將有助於服務品質控制機制的設計。

自動設定及行動性的功能

早期電腦無移動性的考量,然而隨著電腦技術的日新月異,手提式電腦,手持式設備幾乎隨手可得,人們對於網際網路支援行動功能的需求日益殷切。因此IPv6也在設計上加入支援行動IP 的機制,以利未來支援行動網際網路。 而支援行動IP機制中的另一項重要特性即藉由網路芳鄰找尋( Neighbor Discovery )與自動定址 (Auto-configuration)機制來簡化使用者IP位址的設定。IPv6網路上的主機可自動取得IP不需透過手動設定。而利用Extension Header的Destinetion Header與Routing Header,將使行動通訊中之路由機制獲得最佳化,解決了三角路由(triangle route)的問題。 自動定址(Auto-configuration)機制包括全狀態自動配置(Stateful Auto-configuration)及無狀態自動配置(Stateless Auto-configuration)。

全狀態自動配置

在IPv4中,動態主機配置協議(Dynamic Host Configuration Protocol,DHCP) 實現了主機IP位址及其相關配置的自動設置。一個DHCP服務器擁有一個IP位址池(IP Pool),主機由DHCP伺服器賦予IP位址並獲得有關的配置信息(例如:Gateway 及 DNS 位址),由此達到自動設置主機IP位址的目的。IPv6 繼承了IPv4的這種自動配置服務,並將其稱為全狀態自動配置 ( Stateful Auto-configuration )。

無狀態自動配置

除了全狀態自動配置,IPv6 還採用了一種被稱為無狀態自動配置(Stateless Auto-configuration)的自動配置服務,如下圖所示。在無狀態自動配置過程中,主機首先啟動IPv6 協定,產生一個Link-local IPv6位址(IEEE已經將網卡MAC位址由48位元改為 EUI-64 格式,即將主機採用的網卡的MAC位址(48 bits)中間加入0xFFFE成為 64 bits。接著主機向該位址發出一個被稱為芳鄰找尋(Neighbor Discovery)的請求,以驗證位址??唯一性。如果請求沒有得到回應,則表明主機自我設置的鏈接本地單點播送位址是唯一的。否則,主機將使用一個隨機產生的介面ID組成一個新的鏈接本地單點播送位址。然後,以該位址為來源位址,主機向本地鏈接中所有路由器多點播送一個被稱為路由器請求(Router Solicitation)的配置信息請求,路由器以一個包含一個可聚合全球單點播送位址和其它相關配置信息的路由器公告回應該請??。主機用它從路由器得到的全局位址首碼加上自己的Interface ID,自動配置IPv6位址,然後就可以與Internet中的其它主機通信了。使用無狀態自動配置,無需手動干預就能夠改變網路中所有主機的IP位址。例如,當企業更換了連接Internet的ISP時,將從新ISP處得到一個新的可聚合全球位址首碼。ISP把這個位址首碼從它的路由器上傳送到企業路由器上。由於企業路由器將周期性地向本地鏈接中的所有主機多點播送路由器公告,因此企業網路中所有主機都將通過路由器公告收到新的位址首碼,此後它們就會自動產生新的IP位址並覆蓋舊的IP位址。對於網管人員而言,在 Re-numbering IP位址時有很大的方便性與效率。

封包表頭處理更有效率

IPv6簡化原先IPv4的表頭設計,雖然IP位址從原來的32位元加長四倍成為128位元,但表頭長度僅成長兩倍且固定長度,因為IPv6將「可選擇性擴充部分」與「IP 切割」的功能刪除成為固定檔頭長度。除此之外亦同時刪除檢查碼(Checksum)並盡可能將每個欄位對齊在位元組上,這樣固定長度與對齊的設計讓表頭簡化許多,在處理封包表頭時將更有有效率。

可擴充性

刪除了原先 IPv4可選擇性擴充部分,IPv6 設計以「下一表頭(Next Header)」的方式來增加表頭的可擴充性。使用者可以透過「下一表頭(Next Header)」的方式自行在表頭中指示下一個表頭的內容以利網路端或是接收端完成特定的工作,其為IPv6可擴充性設計的實施範例,這樣的設計讓IPv6檔頭具更高的擴充性。