2003.10.01第22期
  TWNIC最新消息國內外網路動態活動快報網路統計網路專欄前期電子報回首頁


開啟通往IPv6世界的大門-1
雖然目前沒有人可以準確地預估IPv6何時將取代IPv4,或是告訴您何時是企業投資IPv6的最佳時機,但是提早學習及導入IPv6絕對是您最正確的選擇。且在IPv6的學習過程中說不定能夠解決您心中存在已久的網路問題,甚至幫助您發現新的商機,創造出更具競爭力的服務與產品…

                                                                                                            

 

目前網際網路大致是以IPv4為基礎的網路架構,為了能持續利用IPv4上既有的豐富資源,IPv6IPv4網路必須藉由一些互通機制使二個世界的成員互相通訊,以分階段逐步完成IPv4->IPv6的移轉工作。目前常見的互通機制分為三類: 「雙堆疊 (Dual-Stack)」、「通道建立 (Tunneling)」及「轉換 (Translation)」。其中雙堆疊是讓使用者同時可以使用IPv4IPv6網路的技術;通道建立是讓兩台IPv6主機透過現有IPv4網路基礎建設的通訊機制。而目前使用的網際網路協定(諸如:WWWFTPEmail等)大多存在於IPv4的網路中,轉換技術可以讓IPv6的使用者存取IPv4網路上的資料,因此這個機制是在目前過渡時期不可或缺的一個技術。但是使用轉換技術將喪失IPv6的進階功能,因此在完全採用IPv6協定之後轉換技術也將功成身退。本文將介紹PC主機如何利用雙堆疊及通道建立的機制,在現有IPv4網路架構下存取IPv6網路,並簡要說明其原理並輔以範例。由於篇幅限制,本期先以目前最流行的個人電腦作業系統Windows 2000XP為例,於下一期介紹在Linux類型作業系統中的作法。

 

一般用戶若想成為IPv6網路的一部分,首要條件是網路服務供應商(ISP)必須具備「IPv6能力」。什麼叫做「IPv6能力」,對一個ISP來說,需具備以下三點:

1.      提供用戶接取端的IPv6服務

2.      於核心網路部份運行IPv6

3.      與其他ISP進行IPv6訊務交換

 

國內陸續已有許多ISP取得IPv6位址 (請見附錄一),也有ISP已開始提供ADSL及專線用戶IPv6的接取服務(HiNet),並與其他國內外ISP進行訊務交換。但我們可以不必急著提出IPv6服務的申請,先利用雙堆疊及通道建立的技術,在目前的IPv4網路環境下體驗IPv6。這種技術讓您在ISP不提供任何協助的情形下穿隧IPv4的網際網路連接到遠端的IPv6主機或網路,無論您上網的方式為何(ADSLCABLE、撥接、或是專線)都可以使用。

雙堆疊 (Dual-Stack)

雙堆疊是在原有網路層(Network Layer)上,增加一個IPv6堆疊,讓主機同時具備IPv4IPv6通訊能力。IPv4IPv6堆疊可以同時使用,也可以單獨使用其中一個。這種技術可使主機保持彈性,等到網路完全升級到IPv6時,只需移除IPv4堆疊即可。IPv4IPv6堆疊都必須具備一個IP位址,取得位址的方式可為手動設定或是自動設定(IPv4DHCPIPv6Auto-configuration)

圖一. 雙堆疊架構

 

建立通道 (Tunneling)

我們知道網際網路上的通訊是靠路由器(Router)不斷地接力轉送封包來達成。IPv4網路中的雙堆疊節點若送出IPv6封包,此封包將永遠無法到達遠端IPv6網路中的另一個節點(Web伺服器),這是因為IPv4路由器並不認識IPv6標頭及內含的IPv6位址,故無法將封包的傳遞出去。如果我們將IPv6封包封裝在IPv4標頭中(IPv4-Encapsulated IPv6 Packet,如圖二),使IPv4路由器可以藉由判讀取IPv4標頭,進行封包的轉送,待抵達位於IPv4IPv6網路之間的邊緣路由器(Border Router)時,將IPv4標頭移除,以IPv6位址將IPv6封包轉送至IPv6網路中的目的地,上述問題便可迎刃而解。

 

圖二. IPv6封包封裝(Encapsulate)IPv4標頭

 

同樣的道理,二個IPv6網路中的節點,也可以利用通道的方式,穿隧IPv4網路而進行通訊(如圖二)。「通道」的概念就像山洞貫穿二地一樣,使IPv6的世界得以透過現有的IPv4網路相連。

圖二. IPv6通道的建立

 

有了雙堆疊及建立通道的觀念後,我們以實驗來證明上述方法確實可行。以下測試使用的環境是非常簡單,您只要具備一條上網際網路的線路(種類、頻寬不拘)、有公用IP位址(動態或固定皆可)以及Windows NT4.0以後作業系統即可。微軟對IPv6的發展頗為重視,NT4.0以後的作業系統(Windows 2000/XP/2003), 都具備雙堆疊的IPv6支援。

 

6to4

首先介紹連接IPv6網路最快速且容易的方法-6to4。它是一種自動建立通道(Automatic Tunneling, 相對於手動建立通道Configured Tunneling)的機制,而使用者不需要預先設定通道的目的地。無論使用何種通道建立方法,第一步必須先知道IPv6位址。6to4IPv6位址是由合法的IPv4位址所組成,其格式及組成方式如下:

 

2002:[以十六進位表示的IPv4位址]::/48

 

範例:

IPv4位址 –211.74.131.157 (轉換至16進位為 d3.4a.83.9d)

IPv6位址首碼(prefix) – 2002:d34a:839d::/48 (剩下80位元可供內部網路定址之用,如果您將16位元分配給區域網路,則最多可定義2^16=65536個網路,每一個網路中可以定義2^64部主機。)

 

Tip:

IPv6位址總長度為128位元,相較於IPv4的小數點與十進位(Dot-Decimal)IPv6是以4個十六位元碼共8組的冒號與十六進位(Colon-Hexadecimal)方法表示之。雙冒號出現時表示全部為0的縮寫

 

6to4主機之間的通訊

6to4的運作包含三個元件:6to4主機、6to4路由器、以及6to4中繼路由器。6to4主機即雙堆疊的終端節點,而6to4路由器負責將進行IPv4的標頭的封裝工作,使IPv6封包在IPv4網路上繞行無礙。抵達目的端之6to4路由器後,再將IPv4標頭移除,留下IPv6封包進繼續繞送到遠端目的地6to4主機(運作過程如圖三)

圖三. 6to4主機之間的通訊

 

透過6to4路由器的協助,6to4主機可以跟網際網路上其他的6to4主機通訊。但由於必須仰賴IPv4位址於網際網路上進行繞送,所以通訊二端的6to4路由器至少需具備一個公用的IPv4位址。

 

6to4主機與IPv6網路之間的通訊

以上的通訊僅限於6to4主機之間,也就是IPv6位址首碼為2002:IPv6位址。要使6to4主機與「純」IPv6網路(首碼為3ffe:6Bone2001:的其他IPv6網路)進行通訊,則必需透過6to4中繼路由器 (relay router) 的協助。6to4中繼路由器連接IPv4與純IPv6網路,它可以協助將6to4路由器送來的封包轉送到IPv6網路中(當然還必須先移除IPv4標頭),如圖四所示。

圖四. 6to4主機與IPv6網路之間的通訊

 

IPv66to4實作:

 

[Windows XP/2003]

STEP 1. 啟動IPv6

當您啟動Windows XPIPv6功能時(於命令提示字元下輸入ipv6 install),系統其實已自動進行下列三個步驟,為您做好6to4的準備作業:

1.      在您的主機上自動產生6to4位址,並將位址指定給一個名為6to4通道虛擬介面(6to4 Tunneling Pseudo-Interface)上,其介面識別碼為3(如主機上有多張具有公用IPv4位址的介面卡,將分別產生多個6to4位址)

2.      自動建立2002::/16路由於6to4通道虛擬介面。此舉將所有6to4的訊務交由6to4通道虛擬介面轉送,並在轉送前加上IPv4標頭。(6to4主機具有合法IPv4位址的時候,它可以同時扮演6to4路由器。)

3.      自動進行6to4.ipv6.microsoft.comDNS查詢以取得微軟提供之6to4中繼路由器的IPv4位址。

 

 

STEP 2. 6to4主機之間的通訊

大功告成後,我們以ping (XP/2003中您可以使用pingping6,但在Windows 2000則必須使用後者)來試試是否能連線到筆者位於辦公室的另外一部6to4主機。

文字方塊:  

 

 

筆者家中使用的ISPSeednet,辦公室的ISPHiNet,可見6to4主機可以穿越不同的IPv4網路互相通訊。

 

STEP 3. 6to4主機與IPv6網路之間的通訊

再來試試主機能否與IPv6網路連結。請開啟您的流覽器,進入這個Kame Project網站www.kame.net。如果您看到的是一隻搖頭晃腦的烏龜(Kame),就表示您已成功的以IPv6連線到該網站。

 

文字方塊: 如果您看到的是一隻搖頭晃腦的烏龜(Kame),就表示成功了.

 

 

STEP 4. 觀察路由

現在我們利用追蹤路由指令(XP/2003中您可以使用tracerttracert6,在Windows 2000則必須使用後者)觀察封包的傳送路徑。可以看到封包是先送到微軟的中繼路由器(2002:開頭),再轉送到6Bone網路(3ffe:開頭),最後轉到IPv6網路(2001:),抵達www.kame.net

Tip:

6Bone是全球第一個國際性IPv6實驗網路,於1996年開始運作。詳細資料請參閱6Bone網站: www.6bone.net

 

STEP 5. 指定6to4中繼路由器

雖然XP貼心的為我們完成了6to4中繼路由器的設定,但並無法因此保證您能夠連接上全球所有IPv6網路,端看6to4.ipv6.microsoft.com這部預設中繼路由器所連接的IPv6網路及該網路與其他網路的路由交換設定。如果您想連接的某個IPv6位址不通,可以將XP預設的6to4中繼路由器更換掉,也許可以達到目的,附錄二提供了一些公用的6to4中繼路由器列表。例如我們選定日本KDDI提供的中繼路由器,則可利用netsh指令進行更改。(Windows2000中請使用6to4cfg -R kddilab.6to4.jp)

更改完成後再一次用tracert觀察到www.kame.net的傳送路徑,發現比原先少了四個跳躍點(Hop)。這是因為該主機所在的WIDE Project網路與新的中繼路由器kddilab.6to4.jp非常接近的緣故。

 

 

[Windows 2000]

STEP 1. 啟動IPv6

Windows 2000系統的使用者必須先安裝IPv6套裝工具,才可以使用IPv6IPv6套裝工具可於微軟網站取得,位置在http://msdn.microsoft.com/downloads/sdks/platform/tpipv6

須注意您的Windows 2000版本需為Service Pack 1以上。要確定目前電腦中的Service Pack版本編號,請在「我的電腦」圖示上按滑鼠「右鍵」並選取「內容」。

 

下載後請執行該檔案,並依預設值在\ipv6kit下進行解壓縮。解壓縮完成後請進入命令提示列視窗,並於\ipv6kit下輸入setup –x,以進一步解開我們想要編輯的檔案hotfix.inf。依據不同的Service Pack版本,請修改檔案中[Version]區段的NTServicePackVersion參數。

Service Pack 1

NTServicePackVersion=256

Service Pack 2

NTServicePackVersion=256 改成 512

Service Pack 3

NTServicePackVersion=256 改成 768

 

修改完畢後請儲存檔案並執行hotfix.exe,系統將會要求重新開機。請在開機後開啟您的網路連線,並按滑鼠「右鍵」進入「內容」更改選單。選擇「安裝」新的「通訊協定」,按下「新增」選擇「由磁片安裝」,輸入「\ipv6kit」為檔案複製來源。按下確定,選擇「Microsoft IPv6 Protocol」,完成新通訊協定的安裝。更詳細的安裝說明可參考HiNet IPv6網站: http://www.ipv6.hinet.net

 

附錄一. 已取得IPv6位址之國內ISP及單位

(資料來源http://www.twnic.net.tw/ipstats/asiaipv6.php)

                            單位名稱

類別

IPv6網址範圍

核發日期

HiNet

ISP

2001:0238::/32

2000.02.08

教育部學術網路 (TANet)

ISP

2001:0288::/32

2000.10.06

中研院計算中心 (ASNET)

ISP

2001:0C08::/32

2002.07.11

台灣電訊 (TTN)

ISP

2001:0C50::/32

2002.08.12

NBEN計畫 (國科會)

研究單位

2001:0C58::/32

2002.08.27

中華電信研究所 (CHTTL)

研究單位

2001:0CA0::/32

2002.10.02

台灣網路交換中心 (TWIX)

交換中心

2001:07FA:0001::/48

2002.10.24

數位聯合 (SeedNet)

ISP

2001:0CD8::/32

2002.12.09

台灣固網 (TFN)

ISP

2001:0D20::/32

2003.03.13

台灣網路資訊中心(TWNIC)

網路重要基礎設施

2001:0DC1::/32

2003.03.31

 

 

 

 

 

  

Domain Name/IP 位址

地點

備註

2002:c058:6301::

192.88.99.1

自動抓取最近的6to4中繼路由器

任一傳播(Anycast) 6to4中繼路由器位址 (請參考 RFC-3068)

6to4.ipv6.microsoft.com

美西

對外開放

6to4.kfu.com

美西

對外開放

ipv6-lab-gw.cisco.com

美西

需向Cisco申請

6to4.ipv6.aarnet.net.au

澳洲

僅對澳洲及鄰近地區開放

kddilab.6to4.jp

日本

對外開放

6to4.ipv6.ascc.net

台灣

對外開放 / 實驗性

6to4.ipng.unix.za.net

南非

對外開放

6to4.ipv6.bt.com

英國

對外開放

skbys-00-00.6to4.xs26.net

斯洛伐克

對外開放

6to4.ipv6.uni-leipzig.de

德國

對外開放 / 實驗性

6to4.ipv6.fh-regensburg.de

德國

對外開放 / 實驗性

6to4.ipng.nl

荷蘭

對外開放

 

附錄二. 公開之6to4中繼路由器列表

(資料來源 http://www.kfu.com/~nsayer/6to4/,須以Netscape流覽)

 

 

TWNIC IP

謝佳男
訂閱電子報:
檢索:
財團法人台灣網路資訊中心
臺北市羅斯福路二段9號4樓之2 Website:www.twnic.net.tw
Tel:+886-2-2341-1313 Fax:+886-2-2396-8832 E-mail:service@twnic.net.tw
版權聲明,禁止未經授權轉貼節錄