專題文章

IPv6跟現階段IP位址配發差異與發展技術介紹

作者:網管 於 2015-02-10
16832
次閱讀
專題文章

2012年以前,網際網路使用的IPv4(Internet Protocol version 4)網路通訊協定,所能提供的網路IP數量約有43億個(共有2的32次方=4,294,967,296個IP位址),當面臨發放枯竭的窘境時,唯有導入使用新一代IPv6網路通訊協定才能提供未來足夠的網路位址。

IPV6網頁清單

IPv6不僅提供更多的IP位址數量(共有2的128次方=340,282,366,920,938,463,463,374,607,431,768,211,456個IP位址),同時也加入IP自動配置(Auto-configuration)、內建安全的加密碼制、以及提供網路連線服務品質之功能(Quality of service)。

IPv6在服務品質方面穩定、安全、以及更適於串流等方面的特性,使其比IPv4更適合如VoIP網路電話等線上即時多媒體類型的網頁應用,也更能安心地透過網路傳輸機密資料。

但是IPv6與IPv4存在不相通的問題,解決的主流技術主要包括IPv4/IPv6雙協定(Dual Stack)、IPv6隧道服務(IPv6 Tunneling)及IPv4/IPv6協定轉換(Translation)。藉由雙協定可以逐步由IPv4移轉至IPv4與IPv6共存互通,最後再形成以IPv6為主的網路,為世界上主要推動的技術,其他兩種方法則有效能瓶頸問題,在短期過渡上可提供做為輔助。

IPv6的推動將需要一段不短的時間,藉由設備汰舊換新採用符合IPv6規範設備,以及系統開發更新置換支援IPv6程式碼,以時間換取空間,降低IPv6移轉成本,是當前最重要且應立即執行的工作。

IPv4網路位址核發方式主要有固定位址配置及動態位址配置兩種。固定位址配置需要手動設定,主要應用於伺服器主機及網路設備,動態位址配置大多透過DHCP協定(Dynamic Host Configuration Protocol),由DHCP伺服器進行位址核發。

IPv6網路除保留手動設定固定位址的機制外,另提出無狀態定址自動配置(Stateless Address Autoconfiguration , SLAAC)的全新技術,可直接由路由器直接核發Prefix給用戶端主機,不需要再透過DHCP伺服器,主機得到Prefix後將結合自動產生的Host ID而產生IPv6位址。

透過SLAAC技術核發IPv6 Prefix時不會同時提供DNS伺服器位址,雖然後來修訂的SLAAC RDNSS技術已解決這個問題,但系統支援程度尚未普及。變通的方案是結合DHCPv6伺服器來提供DNS資訊,稱為Stateless DHCPv6。還有一種方式是將位址配置及DNS伺服器位址的提供均由DHCP負責,稱為Stateful DHCPv6,這個方式與傳統IPv4的DHCP相近,但仍有部分差異。

IPv6位址自動核發技術在DNS伺服器位址提供方面較為複雜,甚至部分作法可能無法提供DNS資訊給用戶端主機。幸運的是,在雙協定網路架構下,主機透過IPv4 DNS就可以查詢解析網址的IPv6位址,沒有IPv6 DNS伺服器也不會造成問題。等慢慢過渡到純IPv6的環境,相信到時候IPv6 DNS的問題早已有了更好的解決方案。

以下針對各種不同的IPv6位址配置技術提供進一步說明:

人工配置位址(適合網路設備及網站伺服器主機):

與IPv4網路設定固定位址的做法相同,逐台主機人工配置IPv6位址、預設閘道與DNS伺服器位址。一般而言,路由器與DMZ伺服器的IPv6位址建議採用人工配置,以方便於防火牆設定資安政策,IPv6位址尾碼可以選擇與IPv4位址相同,便於管理及記憶。在使用固定位址的DMZ網段,建議要關閉RA (Router Advertisement)的發送,以避免成為資安漏洞。

SLAAC+RDNSS(目前較適合智慧物件連網):

無狀態位址自動配置(Stateless Address Auto-configuration, SLAAC)是IPv6通訊協定才有的功能,做法是透過定期經由Multicast發出Router Advertisement (RA)的封包,網路上的主機經由RA會收到IPv6 Prefix(也就是Network ID)及Default Gateway的資訊,主機組合收到的Prefix及自動產生的Host ID(主機識別碼)即為該主機的IPv6位址。由於位址核發後即不再持續管理這個位址的使用情形,所以稱為「無狀態」。
上述提到的主機識別碼(Host ID)有兩種產生方式,一種是使用EUI-64運算法,從主機的MAC address轉換而來,另一種是使用亂數法產生。選擇使用哪一種方式的控制權在主機本身,以微軟作業系統為例,Win 7內定使用亂數法,Windows XP使用EUI-64,如要改變,可藉由cmd命令列介面使用下列指令修改:
  • 使用EUI-64計算Host IP:
    netsh interface ipv6 set global randomizeidentifiers=disabled
  • 使用亂數法計算Host IP:
    netsh interface ipv6 set global randomizeidentifiers=enabled
SLAAC不支援發送DNS伺服器位址,雖然新修訂的SLAAC RDNSS標準已解決這個問題,但目前Cisco IOS及Windows作業系統均尚未支援。電腦主機對外連線大多透過DNS進行網域名稱與IP位址的解析,缺乏DNS將對網路頁連線造成極大不便。智慧物件通常不需要主動對外連網,網路環境也越單純越好,SLAAC標準將有助於物件連網的發展。

SLAAC+Stateless DHCPv6 (適合不須嚴格進行資安查核管理場所)

這個做法是結合SLAAC及DHCPv6進行無狀態位址自動配置,RA負責IPv6位址及Default Gateway指配,DHCPv6則提供DNS伺服器位址及其他資訊(如NTP)。實作上是在路由器上設定發送O-bit為1的RA封包,用戶端主機收到RA會再向DHCPv6伺服器請求DNS伺服器位址,但Windows XP不支援DHCPv6,需外掛DHCPv6程式(http://klub.com.pl/dhcpv6/)。
SLAAC的機制並不會進行IPv6位址的更新維護及使用追蹤,所以稱為無狀態DHCPv6定址(Stateless DHCPv6)。在資安管理上不易由IPv6位址追蹤到使用者,因此比較適合不須嚴格進行資安查核管理的場所使用,例如私人家裡。

Stateful DHCPv6(適合需要嚴格進行資安查核管理場所)

在這個做法裡RA只負責提供Default Gateway,IPv6位址配置(包括Prefix、Host ID)及DNS伺服器位址等資訊均由DHCPv6負責。實作上是設定RA封包的M-bit及O-bit均為1,用戶端主機收到RA會再向DHCPv6伺服器請求IPv6位址及DNS伺服器位址。(Windows XP需外掛DHCPv6程式,http://klub.com.pl/dhcpv6/)
由於DHCPv6會記錄IPv6位址與MAC位址的對應表,並經由定期位址更新維護使用紀錄,所以稱為全狀態DHCPv6位址自動配置(Stateful DHCPv6),對於需要嚴格進行資安查核管理場所是比較恰當的做法。由於DHCPv6無法提供Default Gateway的資訊,所以Stateful DHCPv6仍需要與RA配合運作,將來DHCPv6可能會發展出提供Default Gateway的機制,這樣就不需要RA的協助。

以上資料部份引自http://www.myhome.net.tw/2012_09/p03.htm