
iThome
在最近,我們經常會看到「IPv4網路位址即將枯竭」相關的新聞。而這些新聞中,IPv6這字眼一定會伴隨著新聞出現。而IPv6究竟是什麼?這要先從IP開始說起。
網際網路通訊協定(Internet Protocol,IP)是TCP/IP組中的其中一個主要協定,它是一種定義封包如何在網路進行傳送的協定,功用在於定義網路位址及資料的封裝方式。
而目前大多數人使用的通訊協定,就是我們所熟知的IPv4。而IPv6則為其指定的下一代通訊協定,它是為了因應IPv4即將面臨的網路位址不足問題而開發的。兩者在網路位址的差異,IPv4的網路位址能提供4,294,967,296個,IPv6卻能提供到3.4 × 1038個。
除了網路位址數量外,兩者在封包傳送方式上也有所不同。例如,IPv4的傳送方式有單點傳播(Unicast)、多點傳播(Multicast)及廣播(Broadcast),但IPv6則取消了廣播,並新增了任意傳播(Anycast)。除了這些差異,還有個嚴重的問題,那就是IPv4與IPv6並不能互通。
在未來IPv6即將普及,而如何讓網路用戶在轉換到純IPv6的過度期中順利地互連,則為目前的課題。而要在IPv4與IPv6共存的網路下連線,目前有雙協定技術(Dual Stack)與轉換技術(Translation)這2種方式。
以雙協定方式而言,網路節點能同時擁有IPv4與IPv6的網路位址,讓使用者具有連線到2種協定網站能力。但缺點是,使用者需將各網路節點都更換成具雙協定的設備,如某一節點不具雙協定功能,則不能連線至IPv6網路。而轉換技術則能讓IPv4與IPv6的網路位址互相轉換格式,以此達到互相連線的目的。雖然它能夠不改變現有網路環境就能互連,但它有許多缺點。像擴展性太低,能轉換的服務也受到限制。如果要使用DNS、FTP這類應用,需要額外加裝ALG設備才能進行轉換。
目前因為IPv6普及度不高,造成連網節點不足,這讓許多IPv6使用者無法 連線到IPv6網站。所以有人透過IPv4 網路連線到IPv6網站,而這稱為穿隧技術(Tunneling)。
穿隧技術有ISATAP、Teredo、6rd等數種方式。近期最受人推廣的是6rd(IPv6 Rapid Deployment),因為只要ISP業者引進該技術,使用者就能簡單建立IPv6連線。
IPv4與IPv6共存的連線方式
Dual Stack
雙協定技術
該技術是讓能連線上網的設備,譬如:路由器、防火牆、電腦等,同時具有IPv4與IPv6的網路位址。雖然IPv4與IPv6協定並不能互通,但只要連網設備與環境都具有Dual Stack技術,就能同時與純IPv4或純IPv6的網站或主機建立連線。
這技術看似理想,但前提是各網路節點的設備皆需支援Dual Stack,才能讓兩種協定同時共存。不過它沒有真的讓IPv6與IPv4用戶達到互連的目的。
Translation
轉換技術
轉換技術是一種讓IPv4與IPv6互相連線的方式,由於兩者在封包及格式上各有不同的地方,所以無法相互連線。但轉換技術能將網路位址轉換格式,來達到互連的目的。
但該技術的缺點為,一臺轉換技術的設備,能服務的用戶數量並不多。並且,像DNS或FTP這類應用,由於網路位址是用封包中的Payload傳送,像這類應用則需額外加裝ALG(Application Level Gateway)。
Tunneling
穿隧技術
IPv6不論在設備或網路普及度上,都不太足夠。而IPv6使用者在連線到IPv6網站時,有可能因為兩者間的部份網路節點不支援IPv6,而無法連線。此時可以透過穿隧技術,透過Tunnel連線。
Tunnel概念類似VPN,但作法上卻不同,它是將IPv6封包封裝在IPv4封包裡,再透過IPv4網路傳輸到IPv6網路。而目前的穿隧技術中,有6to4、6rd、ISATAP、Teredo等可以選擇。
6rd
能快速布建IPv6的穿隧方式
6rd是IPv6 Rapid Deployment的縮寫,它能夠在IPv4架構下快速布建IPv6網路。但這種穿隧技術,是專門給ISP業者使用,而不是針對一般使用者。架構上,ISP業者通常會在IPv4網路對IPv6網路的節點,建置6rd交換器。而ISP的IPv4使用者在連線到IPv6網路時,則會統一透過6rd交換器,建立Tunnel連線至IPv6網路。這方法只需ISP業者進行設定,使用者不需變動網路環境就能夠建立IPv6連線。
ISATAP
內部網點自動通道定址協定
全名為Intra-Site Automatic Tunnel Addressing Protocol ,屬於穿隧技術的一種。ISATAP適用於企業或校園內部網路 ,只要作業系統支援ISATAP,並在對外的網路節點安裝或是設定ISATAP路由器,即可與IPv6網路建立Tunnel連線。而 ISATAP的優點,在於支援私有IPv4位址與NAT環境,所以管理 者不需更改位址格式,即可快速讓區域網路內的使用者連線至IPv6。
Teredo
支援NAT的穿隧方式
它屬於穿隧技術的一種,同樣是透過IPv4網路,建立Tunnel連線至IPv6網路。其特殊的地方在於,終端節點在這樣的環境下,不需具備公用的IPv4位址,並可輕易穿過單層或多層的NAT環境,與IPv6網路連線。而另一種6to4穿隧技術,並不具備穿透NAT設備的功能。
雖然Teredo能夠讓NAT的用戶連線至IPv6網路,但它喪失了IPv6許多特點,譬如IPv6內建的端對端安全性功能。
Unicast
單點傳播
在網路傳送封包時,粗分成2種方式,一種是單點對單點, 另一種則是單點對多點。而單點傳播就是單點對單點的方式 ,同時也是最基本的傳送方式,其傳送目的位址只有單一目 標。其缺點是,如果要將資料傳送給多個目標時,會因為單 點傳播的特性,而多次將資料從發送方傳遞出去,並消耗不 必要的頻寬。如果網路架構越大,使用單點傳播時所浪費的 頻寬則更為顯著。
Multicast
多點傳播
在網路傳輸封包,多目標傳輸的方式有廣播及多點傳播兩種。廣播的方式是將資料同時傳輸給所有人,但有時這會造成不想接收資料者的困擾。而多點傳播在傳輸上則較廣播有效率,它能夠同時傳輸資料給多個目標,除了避免掉廣播的缺點外,同時也少去了單點傳播重複傳送的頻寬浪費。
而在IPv6的協定中,多點傳播的位址是提供給一組介面使用,使用者需要將一群網路節點設定成多點傳播群組。
Anycast
任意傳播
它是一種網路定址的方式,是指在傳送資料時,能夠同時指定多個介面傳送。而且是一對多的關係,但在傳輸時,對應的群組內只有一個介面會接收到資料。傳送時,封包會根據路徑協定,傳送給路徑最近或最好的介面。Anycast的位址通常都用在辨識路由器,當封包傳送到ISP業者時,會透過該位址,找出最近的路由器傳送。
需注意的是,Anycast的位址不能用在來源或主機位址上。