論IPv6地址表達方式尋址模型

時間:2022-12-28 04:20:00

導語:論IPv6地址表達方式尋址模型一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

論IPv6地址表達方式尋址模型

本章在介紹ipv6尋址之前,首先介紹一些與使用IP尋址來標識和定位IP網絡上的節點相關的問題。

多年以來,IP地址被認為是可以在IP網絡上最終唯一并持久的節點標識符。近年中,尤其是隨著下一代IP技術的發展,對于IP地址的這種觀點正在改變。如果我們仍像過去20年中所使用的方法來分配網絡和節點地址,那將是一種不必要和低效的辦法。

本章在介紹了RFC2373(IPv6尋址體系結構)中描述的IP尋址體系結構之后,將首先介紹一些與IP尋址相關的議題。然后將介紹幾種可能的地址分配方法。本章將IPv6尋址分成了以下幾個部分:128位地址的結構和命名及IPv6地址的不同類型(單播、組播和泛播)。

IPv6的設計者們可以只是簡單地在IPv4尋址體系結構中擴大地址空間。但是這樣一來將使我們喪失一個改進IP的巨大機會。對于整個尋址體系結構的修改所帶來的巨大機會,不僅體現在提高地址分配的效率上,同時也體現在提高IP選路性能上。本章將介紹這些改進,第8章對于IPv6選路議題將有更加詳細的介紹。而地址分配、移動網絡技術和自動配置將在第11章中有詳細講解。

RFC2373于1998年7月發表,并廢棄了最早于1995年12月發表的RFC1884(IPv6尋址體系結構)。其中大部分變化源自在最初的RFC后的兩年半中被認為是必需要進行澄清、更正和修改之處。

地址

IPv4與IPv6地址之間最明顯的差別在于長度:IPv4地址長度為32位,而IPv6地址長度為128位。RFC2373中不僅解釋了這些地址的表現方式,同時還介紹了不同的地址類型及其結構。IPv4地址可以被分為2至3個不同部分(網絡標識符、節點標識符,有時還有子網標識符),IPv6地址中擁有更大的地址空間,可以支持更多的字段。

IPv6地址有三類、單播、組播和泛播地址。下一節將對此作更詳細的介紹。單播和組播地址與IPv4的地址非常類似;但IPv6中不再支持IPv4中的廣播地址,而增加了一個泛播地址。本節介紹的是IPv6的尋址模型、地址類型、地址表達方式以及地址中的特例。

地址表達方式

IPv4地址一般以4部分間點分的方法來表示,即4個數字用點分隔。例如,下面是一些合法的IPv4地址,都用十進制整數表示:

10.5.3.1

127.0.0.1

201.199.244.101

IPv4地址也時常以一組4個2位的十六進制整數或4個8位的二進制整數表示,但后一種情況較少見。

IPv6地址長度4倍于IPv4地址,表達起來的復雜程度也是IPv4地址的4倍。IPv6地址的基本表達方式是X:X:X:X:X:X:X:X,其中X是一個4位十六進制整數(16位)。每一個數字包含4位,每個整數包含4個數字,每個地址包括8個整數,共計128位(4×4×8=128)。例如,下面是一些合法的IPv6地址:

CDCD:910A:2222:5498:8475:1111:3900:2020

1030:0:0:0:C9B4:FF12:48AA:1A2B

2000:0:0:0:0:0:0:1

請注意這些整數是十六進制整數,其中A到F表示的是10到15。地址中的每個整數都必須表示出來,但起始的0可以不必表示。

這是一種比較標準的IPv6地址表達方式,此外還有另外兩種更加清楚和易于使用的方式。

某些IPv6地址中可能包含一長串的0(就像上面的第二和第三個例子一樣)。當出現這種情況時,標準中允許用“空隙”來表示這一長串的0。換句話說,地址

2000:0:0:0:0:0:0:1

可以被表示為:

2000::1

這兩個冒號表示該地址可以擴展到一個完整的128位地址。在這種方法中,只有當16位組全部為0時才會被兩個冒號取代,且兩個冒號在地址中只能出現一次。

在IPv4和IPv6的混合環境中可能有第三種方法。IPv6地址中的最低32位可以用于表示IPv4地址,該地址可以按照一種混合方式表達,即X:X:X:X:X:X:d.d.d.d,其中X表示一個16位整數,而d表示一個8位十進制整數。例如,地址

0:0:0:0:0:0:10.0.0.1

就是一個合法的IPv4地址。把兩種可能的表達方式組合在一起,該地址也可以表示為:

::10.0.0.1

由于IPv6地址被分成兩個部分—子網前綴和接口標識符,因此人們期待一個IP節點地址可以按照類似CIDR地址的方式被表示為一個攜帶額外數值的地址,其中指出了地址中有多少位是掩碼。即,IPv6節點地址中指出了前綴長度,該長度與IPv6地址間以斜杠區分,例如:

1030:0:0:0:C9B4:FF12:48AA:1A2B/60

這個地址中用于選路的前綴長度為60位。

尋址模型

IPv6尋址模型與IPv4很相似。每個單播地址標識一個單獨的網絡接口。IP地址被指定給網絡接口而不是節點,因此一個擁有多個網絡接口的節點可以具備多個IPv6地址,其中任何一個IPv6地址都可以代表該節點。盡管一個網絡接口能與多個單播地址相關聯,但一個單播地址只能與一個網絡接口相關聯。每個網絡接口必須至少具備一個單播地址。

這里有一個非常重要的聲明和一個非常重要的例外。這個聲明與點到點鏈路的使用有關。在IPv4中,所有的網絡接口,其中包括連接一個節點與路由器的點到點鏈路(用許多撥號Internet連接中),都需要一個專用的IP地址。隨著許多機構開始使用點到點鏈路來連接其分支機構,每條鏈路均需要其自己的子網,這樣一來消耗了許多地址空間。在IPv6中,如果點到點鏈路的任何一個端點都不需要從非鄰居節點接受和發送數據的話,它們就可以不需要特殊的地址。即,如果兩個節點主要是傳遞業務流,則它們并不需要具備IPv6地址。

為每個網絡接口分配一個全球唯一的單播地址的要求阻礙了IPv4地址的擴展。一個提供通用服務的服務器在高需求量的情況下可能會崩潰。因此,IPv6地址模型中又提出了一個重要的例外:如果硬件有能力在多個網絡接口上正確地共享其網絡負載的話,那么多個網絡接口可以共享一個IPv6地址。這使得從服務器擴展至負載分擔的服務器群成為可能,而不再需要在服務器的需求量上升時必須進行硬件升級。

下面將要討論的組播和泛播地址也與網絡接口有關。一個網絡接口可以具備任意類型的多個地址。

地址空間

RFC2373中包含了一個IPv6地址空間“圖”,其中顯示了地址空間是如何進行分配的,地址分配的不同類型,前綴(地址分配中前面的位值)和作為整個地址空間的一部分的地址分配的長度。

在IPv6地址分配中需要注意幾點。首先,在RFC1884中,地址空間的四分之一被用于兩類不同地址:八分之一是基于供應商的單播地址,而另八分之一是基于地理位置的單播地址。人們希望地址的分配可以根據網絡服務供應商或者用戶所在網絡的物理位置進行。基于供應商的集聚,正如它最初的名字一樣,要求網絡從提供Internet接入的供應商那里得到可集聚的IP地址。但是,這種方法對于具有距離較遠的分支機構的大型機構來說并不是一種完美的解決辦法,因為其中許多分支機構可能會使用不同的供應商。基于供應商的集聚將為這些大單位帶來更多的IP地址管理問題。

SteveDeering提議把基于地理位置的地址分配方法作為SIP(SIPP的前身,在第4章中有介紹)中的一種辦法。這些地址與基于供應商的地址不同,以一種非常類似IPv4的方法分配地址。這些地址與地理位置有關,且供應商將不得不保留額外的路由器來支持IPv6地址空間中可集聚部分外的這些網絡。

ISP實際上并不贊同這個解決方案,因為管理基于地理位置的尋址將大大增加復雜性(和花費)。另一方面,難以對基于供應商的地址進行配置和重配置也引起許多對基于供應商的分配方案的反對。如果沒有廣泛使用基于IPv4自動配置方案(如DHCP),那么所有機構的網絡將會存在巨大的管理問題。盡管IPv6對于自動配置功能有著更好的支持,但并沒有將地理位置的分配方法最終融合進去。

注意,絕大部分的地址空間并沒有分配,地址分配的第一部分被保留了下來。