13-7 IPv6 協定
13-7-1 IPv6 與 IPv4 協定 自從 1990 年網際網路風行之後,網路專家們漸漸感覺到所使用的 IP(IPv4,Version 4)通訊協定已不敷使用。尤其隨著應用層次的提高,IP 網路不再只提供檔案傳送及遠端登入等簡單的應用,更進一步處理有關資料庫系統的查詢與更新,也進入電子商務的應用。因此,有必要再發展出功能更完整的通訊系統,『IPv6』(IP Version 6)就在這迫切需求之下被發展出來。首先,我們用下列幾點來介紹 IPv6 如何彌補 IPv4 的不足。 IPv6 提供更寬廣的 IP 定址空間。IPv4 用 32 位元(4 個位元組)來表示 IP 位址空間,也漸不能滿足目前網際網路上主機電腦連結的成長。IPv6 提供 128 位元(16 個位元組) 的空間來表示 IP 位址。 (1) IPv6 提供認證服務。一般 IP 封包在傳送當中,每經過一個中途路由器就必須被拆裝和重新包裝,又要經過許多不可預測的路由器(無法事先預估)。而且,為了要使封包能順利到達目的地,在封包上又無法做太多的保護措施。也就這樣,任何有心人士,皆可輕易地在網路上窺視,甚至竄改他人資料,使傳送的訊息失去正確性,尤其企業內的區域網路對資訊安全的需求更高,所以更為困擾。早期,跨區域的區域網路連接都透過專線,但為了節省費用及符合出差人員能以較快速、較便宜的連線,目前都希望能直接透過網際網路連線,如『虛擬私人網路』(Virtual Private Network, VPN)。雖然目前有許多技術可以克服,譬如,使用『通道技術』(Tunneling Technique)來保護資料在 IP 網路上不被偷竊,但這類技術大多必須利用上一層通訊協(TCP)定來完成,而且並非每一部路由器都提供到上一層的服務(一般路由器只提供到 IP 層服務)。IPv6 提供認證的功能,未經認證通過的連線, IPv6 路由器將不給予轉送或拆封,以保證資料的隱密性,也不需要透過上層協定的處理。 (2) IPv6 提供『流量標籤』(Flow Label)。一般 IPv4 網路上,封包每經過中途路由器,路由器只負責將封包轉送到適當的路徑上,並未做任何的紀錄。在 IPv6 網路上,每一個封包提供一個流量標籤,同一筆資料串列給予相同的標籤號碼,因此可以做流量控制及統計。 (3) IPv6 提供『訊務等級』(Traffic Class)分類。雖然在 IPv4 封包上有提供 ToS(Type of Service),但有關 QoS(Quality of Service)的服務都由上層通訊軟體所提供,ToS 幾乎沒有發揮功能。IPv6 提供『訊務等級』的分類,再配合流量標籤使用,就可以依照每一個封包的服務性質,給予路徑選擇的優先次序及適合路徑,便可達到 QoS 的需求。 (4) IPv6 減少封包分段(Fragmentation)的機率。在 IPv4 的協定裡,每個封包大小並未嚴格限制,當封包經由不同網路存取層(Network Access Layer, NAL)時,會將封包分割成不同區段,並給予相同的分段號碼(Fragment Number),好讓對方接收到後,依照相同的分段號碼,再組合回原來封包(向上/向下多功能)。但在同一序列的封包可能經由不同的 NAL 傳輸,其中若有任一封包沒有到達目的,則將使整串列資料失效,而全部都必須重傳。因此,在 IPv6 協定裡只允許傳送中的起始和終點可以做分割和組合,減少中途路由器的分割動作,不但可以減少中途路由器的負擔,對傳輸效率也較高。 (5) IPv6 簡化封包標頭。不像 IPv4 的標頭裡存放太多欄位,IPv6 捨棄不必要的欄位,作較有效率的處理。 13-7-2 IPv6 封包格式 圖 13-30 為 IPv6 的封包格式,各欄位功能如下: (1) 版本(Version):表示本封包的 IP 版本,如 IPv6 的值為 6。 (2) 交通流量等級(Traffic Class):標示該封包的流量等級,等級愈高者優先轉送。可區分為 16 個等級,0 ~ 7 可以提供回應壅塞(如 TCP),8 ~ 15 則不提供回應壅塞(如壅塞時便拋棄該封包)。等級 0 ~ 7 所提供之服務如下:
(3) 流量標籤(Flow Label):同一筆資料給予相同的標籤,可作為流量控制。 (4) 承載長度(Payload Length):本封包所承載資料的長度。表示承載其他通訊軟體(TCP 或 UDP 等封包)的長度。 (5) 下一標頭(Next Header):此欄位類似 IPv4 的 Protocol 欄位,表示本封包所承載的標頭型態,如 TCP 或 UDP 等等。 (6) 跳躍次數(Hop Limit):類似 IPv4 上的 TTL 欄位,每經過一個路由器其值就被減一,如路由器發現該值為一時,便將封包丟棄。在 IPv6 的封包標頭上沒有 Checksum 檢查,因此,路由器計算跳躍值後不用再重新計算 Checksum。 (7) 來源位址(Source Address):以 128 個位元(16 個位元組)表示。 (8) 目的位址(Destination Address):以 128 個位元(16 個位元組)表示。 圖 13-30 IPv6 封包格式 13-7-3 IPv6 位址格式 IPv6 用 128 位元(16 個位元組)來表示位址,比 IPv4 增加許多,表示方法也相對複雜。IPv4 只將位址區分為兩個部份:網路號碼和主機號碼,但 IPv6 就有更多型態的區分。首先我們來看如何書寫這 128 位元,將其分成 8 組位置,每組 16個位元又區分為 4 個字元,每個字元(4 個位元)以 16 進位法表示。如下面格式:
例如:A2E5:56EF:906B:4590:12EC:D532:7812:0001 在 IPv6 位址表示中常有許多組為 0 的情形,為了簡化組內數值都為 0 時,以「::」來表示,例如:
緊接著,我們來看 IPv6 的位址型態。在 IPv4 協定之下,將主機位址都設定為 1 時,表示針對這個網路號碼之下的所有主機廣播。但廣播封包容易造成風暴,嚴重影響網路效能。IPv6 不再使用這任意廣播的方式,而是使用『所有節點』的多點廣播位址。多重節點廣播並非所有節點都會處理廣播訊息,而是有關聯的節點才會處理,如此就可以減低所有節點對廣播訊息的處理。IPv6 將位址型態區分為下列三種: (1) 單一廣播位址(Unicast Address) (2) 任一廣播位址(Anycast Address) (3) 多點廣播位址(Multicast Address) 以下分別介紹各種型態,對於 IPv6 前置位址以『prefix/prefix-length』表示之,例如: 2000::/3 表示該 IPv6 位址的前置碼長度為 3,第一組字元為(0010),其餘皆為 0。 (A) 單一廣播位址(Unicast Address) 單一廣播型態如同 IPv4 一樣,對每一個主機而言,都有一個獨一無二的位址。但 IPv6 採用 64 位元的介面位址,取代 IPv4 的主機位址。IPv6 期望如同 48 位元之 Ethernet 位址一樣可崁入硬體介面上。單一廣播可區分為四種位址型態:
以下分別介紹各位址格式之特性: (a) 可集合式整體位址(Aggregatable Global Address) 一般主機或網路設備都可被指定一個或一個以上以上的整體位址(Global Address),以便與其他電腦設備區分。它的位址格式如圖 13-31 所示,我們將 128 位址區分為三個部份,第一部份(Provider)表示網路連接的供應者,指一般的 ISP 位址;第二部分為區域,讓使用者自行區分網路,也就是一般所言的次網路。第三部份為主機,計有 64 位元,也希望使用類似 Ethernet 位址的方法。各欄位功能如下: 圖 13-31 可集合式整體位址格式
(b) 地區本地位址(Site-Local Address) 只要能在某特定區域裡自行構成網路,就可以使用 IPv6 的地區本地定址格式,對於該地區內所用的位址格式不同於整體位址(Global Address)(類似 IPX 定址),IP 路由器不會將該類封包轉送出去,只在地區內廣播。至於需要轉送到地區外,則必須使用整體位址。它的位址格式如圖 13-32 所示。其固定前置碼為 FEC0::/10,並允許地區內再劃分多個小地區,因此有 Subnet-ID 欄位來表示次地區的編碼。Interface-ID 也是 64 位元組來表示。(但 IPv6 對 IPX 及 NASP 有另外定義位址) 圖 13-32 地區本地位址格式 (c)鏈路本地位址(Link-Local Address) 鏈路本地位址的特性類似地區本地位址,但鏈路本地位址是指在每一鏈路上而非地區,因此無法再區分次區域。鏈路本地位址可被自動規劃於任何網路介面上,並用來發現鄰近端點的協定或無狀態轉換的自動規劃使用。任何端點在本地網路上可用該位址互相通訊。路由器也不會將該類封包轉送出去,它的封包格式如圖 13-33 所示,其前置碼為 FE80::/10。 圖 13-33 鏈路本地位址格式 (d) IPv4 相容(IPv4-Compatible)之位址格式 依目前 IPv4 的網路要轉換到 IPv6,可能需要一段長的時間,不僅封包格式需要修改,通訊協定也必須更新。因此,首先讓兩種協定能夠相容,再漸進式慢慢更新。IPv4 有 32 位元位置格式,IPv6 有 128 位元,其中介面位址為 64 位元,我們可將 IPv4 的 32 位元置入 64 位元的介面位址,所剩之位元皆放 0,如圖 13-34 所示。 圖 13-34 IPv4 相容之 IPv6 格式 (B) 任一廣播位址(Anycast Address) 在任一廣播位址型態下,一個位址可屬於多個介面共同使用,這些介面也允許在不同的端點上,當廣播任一廣播位址時,同一位址的介面都可收到。一般最常用是在路由器之間的廣播,不屬於該位址的網路設備就不用去拆裝封包,所以較 IPv4 的廣播方式更節省頻寬。圖 13-35 為次網路之路由器(Subnet router)的任一廣播位址格式,它是由可伸縮的前置碼(Prefix)欄位來代表次網路的位址。 圖 13-35次網路路由器任一廣播位址格式 (C) 多點廣播位址(Multicast Address) 多點廣播可以指定較多的位址,可以針對若干個端點廣播,不像任一廣播只針對一個端點廣播。如採用多點廣播位址型式,IPv6 可向一組介面位址廣播,而每一個介面位址可以在不同的端點上。位址格式如圖 13-36 所示,它的前置碼為FF00::/8;Lifetime 欄位表示該包產生的時機,其中 "0" 表示該位址為永久式(Permanent Unicast Address);"1" 表示該位址為暫時性的(Temporary Unicast Address),使用後便不存在。另 Scope 欄位表示位址型態:"1" 表示端點位址(Node Address);"2" 表示鏈路(Link)位址;"5" 表示地區(Site);"8" 表示組織(Organization);"E" 表示整體(Global)位址。但在 IPv6 規格裡有一些特殊的多點廣播位址如下:
圖 13-36 多點廣播位址格式 13-7-4 ICMPv6 協定 如同 IPv4 上的 ICMP 一樣,ICMPv6(Internet Control Message Protocol version 6)也是包裝在 IPv6 封包內(Next header = 58),用來測試或回報 IPv6 網路訊息。例如,某一路由器由於某種原因無法處理 IPv6 封包時,便發送該原因類別的 ICMPv6 給原始發送封包者,再由它做適當的處理。而其封包型態也如同 IPv4 包含終點無法到達、封包太大、時間超過、參數問題、回聲要求、以及回聲回應等。其封包格式也如同 ICMPv4(如圖 13-15)。
|
翻轉工作室:粘添壽
電腦網路與連結技術:
翻轉電子書系列:
|