玩轉下一代因特網協議”IPV6″

安全劍客發表於2020-09-26
IPv6複雜而不失優雅,擁有眾多新功能,它像一輛嶄新的蘭博基尼與一部引人入勝的未來主義小說的新奇組合。但願你閱讀本章的感受與我編寫時一樣。

IPv6被稱為“下一代因特網協議",最初開發它旨在解決IPv4面臨的地址耗盡危機。你可能知道IPv6的一些皮毛,但為提供靈活性、效率、容量和最佳化的功能,開發人員一直在不斷改進它,以滿足人們日益增長的需求。相比於IPv6, IPv4的容量太小了,這就是IPv4終將退出歷史舞臺的原因所在。

IPv6報頭和地址結構經過了全面修改;在IPv6中,反思IPv4後補充的眾多功能已成為標準的一部分。IPv6 整裝待發,為滿足龐大的因特網需求作好了充分準備。我保證本章簡單易懂;事實上,你可能發現閱讀本章是種享受一我在編寫時 就有這樣的感覺!

玩轉下一代因特網協議”IPV6″玩轉下一代因特網協議”IPV6″

為何需要IPv6

為何需要IPv6呢?簡單地說,是因為我們需要通訊,而當前的系統無法真正滿足這種需求一就像快馬郵遞無法與航空郵遞比肩。只要看看為節省頻寬和IP地址投入了多少時間和精力,就能明白這一點。為避免地址耗盡,甚至發明了變長子網掩碼( VLSM )。

連線到網路的使用者和裝置每天都在增加,這不是壞事,而是好事,它讓我們找到了隨時與更多人交流的新途徑。事實上,這是人類的基本需求。但前景並不樂觀,正如我在本章開頭指出的,我們當前進行通訊依賴的是IPv4,而IPv4地址即將耗盡。從理論上說,IPv4提供的地址只有43億左右,但並非每一個地址都可供我們使用。使用無類域間路由選擇( CIDR )和網路地址轉換(NAT),確實可以推遲IPv4地址耗盡的時間,但這些地址也會在幾年內耗盡。在中國,還存在大量個人和公司未連線到因特網上。有很多報告提供了各種數字,但只要想想全球當前有大約68 億人口,而據估計大約只有10%多-點兒的人連線到了因特網,你就會相信我並非危言聳聽。

上述統計數字揭示了一個殘酷的事實,鑑於IPv4的容量,人均一臺電腦都不可能,更不用說配備在電腦上的其他IP裝置了。我就有幾臺計算機,別人很可能也是這樣。這還沒有包括電話、膝上型電腦、遊戲控制檯、傳真機、路由器、交換機以及我們日常使用的眾多其他裝置!我應該說得很明白了,我們必須採取措施,以免地址被耗盡,最終人們無法彼此通訊,而這種措施就是實現IPv6。

IPv6 的優點和用途

那麼,IPv6有何神奇之處呢?它真能讓我們脫離即將到來的困境嗎?真的值得從IPv4 升級到IPv6嗎?這些問題都很好一你可能還想到了其他一些問題。當然,有那麼一群人,他們患有久經考驗和眾所周知的“拒絕改變綜合徵”,但絕不要聽他們的。倘若很多年前人們接受了這些人的觀點,那麼現在還在用快馬遞信,人們需要等待數週甚至數月才能收到。相反,你只需知道答案絕對是肯定的。IPv6不僅提供了大量地址(3.4x10*8, 這絕對足夠了),還內建了眾多其他的功能,值得花資金、時間和精力遷移到IPv6。

當今的網路和因特網有眾多建立IPv4時沒有預見到的需求;為滿足這些需求,我們使用了一些附加功能,但實現起來比較困難,倘若它們是標準的組成部分,實現起來將容易得多。IPv6 對這些功能作了改進,並將其納人標準。一個這方面的新標準是IPSec,它提供了端到端安全性。

另一個優點是移動性。顧名思義,它允許裝置在網路之間漫遊,而不會中斷連線。但最令人震撼的是效率更高了。首先, IPv6分組報頭包含的欄位減少了一半,且所有欄位都與64位邊界對齊,這極大地提高了處理速度一相比於 IPv4, 查詢速度要快得多!原來包含在IPv4報頭中的很多資訊都刪除了,但可在基本報頭欄位後面新增可選的擴充套件報頭,將這些資訊或其一部分加入報頭。

當然,還有前面說過的海量地址(3.4x10*),但這些地址來自何方呢?難道是魔術師變出來的?

我的意思是說這麼多的地址必須有出處!這是因為IPv6 提供的地址空間非常大,即地址很長一比IPv4長4倍。IPv6地址長128 位,但不用擔心,在以後,我會剖析這種地址的各個部分,讓你知道它是什麼樣的。新增的長度讓地址空間可包含更多的層次,從而提供了更靈活的編址架構。這還提高了路由選擇的效率和可擴充套件性,因為可以更有效地聚合地址。IPv6還允許主機和網路有多個地址,這對亟須改善可用性的企業來說顯得尤其重要。另外,IPv6還更廣泛地使用了組播通訊(一臺裝置向很多主機或一組選 定的主機傳送資料),這也將提高網路的效率,因為通訊目標方更具體了。

IPv4大量地使用廣播,這會導致很多問題,其中最糟糕的是可怕的廣播風暴不受控制地四處轉發廣播可能耗盡所有頻寬,導致整個網路癱瘓。廣播令人討厭的另一點是,它會導致網路中的每臺裝置都中斷。廣播傳送後,每臺裝置都必須停下手中的工作,對廣播作出響應,而不管廣播是否是傳送給它的。

令人欣喜的是,IPv6 沒有廣播的概念,它使用組播。IPv6 還支援另外兩種通訊:單播和任意播,其中單播與IPv4中相同,而任意播是新增的。任意播可將同一個地址分配給多臺裝置,而向該地址傳送資料流時,它會被路由到共享該地址的最近主機。

IPv6地址及其表示

理解IPv4地址的結構和用法至關重要,對IPv6地址來說亦如此。你知道,IPv6 地址長128位,這比IPv4地址長得多,因此除了要以新方式使用IPv6地址外,IPv6 地址管理起來也更復雜。但不用擔心,這裡將解釋IPv6 地址的組成部分、如何書寫及其眾多常見的用法。IPv6地址剛開始看起來可能有些神秘,但很快你就會掌握它!

正如你看到的,IPv6地址確實長得多,但除此之外,還有什麼不同呢?首先,注意到它包含8組(而不是4組)數字,且用冒號而不是句點分隔。且慢,地址中還有字母!與MAC地址一樣, IPv6地址是用十六進位制表示的,因此可以這樣說: IPv6 地址包含8個用冒號分隔的編組,每組16位,並用十六進位制表示。這已經很拗口了,而你可能還未嘗試大聲朗讀!

你肯定想組建測試IPv6的網路,因此這裡指出另外一點: 使用Web 瀏覽器連線到IPv6裝置的HtTP連線時,必須將IPv6地址用方括號括起。為什麼呢?因為冒號已被瀏覽器用來指定埠號。如果不用方括號將地址括起,瀏覽器將無法識別地址。

下面是一個這樣的例子: .

http://[2001 : 0db8: 3c4d:0012 :0000:0000:1234: 56ab]/default .htm1

顯然,在可能的情況下,你更願意使用名稱來指定目的地(如),但必須接受這樣的事實:有時候,不得不咬緊牙關,輸人地址,雖然這樣做無疑很痛苦。顯然,實現IPv6時,DNS也極其重要。

注意:在IPv6地址中,每個欄位包含4個十六進位制字母(16位),欄位之間用冒號分隔。

簡化表示

好訊息是,書寫這些大型地址時,有很多簡寫方式。其中之一是可省略地址的某些部分,但必須遵守一些規則。首先,可省略各個欄位中的前導零。這樣做後,前面的示例地址將變成下面這樣:

2001 : db8: 3c4d: 12 :0:0:1234: 56ab

這顯然要好得多一至少無需書寫所有多餘的零了!但對於只包含零的欄位,該如何辦呢?也可將它們省略一至少是其中的一部分。還是以前面的地址為例,可省略兩個只包含零的相鄰欄位,並用兩個冒號替代它們,如下所示:

2001 : db8: 3c4d:12 ::1234: 56ab

很好一使用兩個冒號替代了相連的全零欄位。這樣做時必須遵守如下規則:只能替換相連的全零欄位一次。因此,如果地址中有4個全零的欄位,但它們彼此不相鄰,則不能全部替換它們;請記住,這裡的規則是隻能替換相連的全零欄位一次。請看下面的地址:

2001 :0000:0000:0012 : 0000: 0000:1234:56ab

不能將其簡化成下面這樣:

2001: :12::1234: 56ab

相反,最多隻能將其簡化成這樣:

2001: :12:0:0:1234:56ab

為什麼呢?因為如果替換兩次,裝置見到該地址後,將無法判斷每對臂號代表多少個欄位。路由器見到這個錯誤的地址後,將發出這樣的疑問:我是將每對冒號都替換為兩個全零欄位呢,還是將第一對冒號替換為3個全零欄位,並將第二對冒號替換為1個全零欄位?路由器無法回答這個問題,因為它沒有所需的資訊。

地址型別

我們熟悉IPv4單播地址、廣播地址和組播地址,它們指定了要與哪臺裝置( 至少是多少臺裝置)通訊。但前面說過,IPv6 改變了這種三重唱局面,新增了任意播;另外,由於廣播效率低下,IPv6不再支援它。

下面介紹這些IPv6地址型別和通訊方法的功能。

單播地址目標地址為單播 地址的分組被傳輸到單個介面。為均衡負載,位於多臺裝置中的多個介面可使用相同的地址,但這種地址被稱為任意播地址。單播地址分多種,但這裡不詳細介紹。

全域性單播地址這是典型的可路由的公有地址,與IPv4 中的單播地址相同。全域性地址以200:/3打頭。

鏈路本地地址類似於 IPv4私有地址,也是不可路由的,它們以FE80:/10打頭。可將它們視為一種便利的工具,讓你能夠為召開會議而組建臨時LAN,或建立小型LAN,這些LAN不與因特網相連,但需要在本地共享檔案和服務。

唯一的本地地址這些 地址也是不可在因特網路由的,但也基本上是全域性唯一的, 因此不太可能重複使用它們。唯一的本地地址設計用於替代場點本地地址,因此它們的功能幾乎與IPv4私有地址相同:支援在整個場點內通訊,可路由到多個本地網路。場點本地地址已於2004年9月廢除。

組播地址與 IPv4中一樣,目標地址為組播地址的分組被傳輸到該組播地址表示的所有介面。

這種地址有時也被稱為一對多地址。IPv6組播地址很容易識別,它們總是以FF打頭。

任意播地址與組播地址一樣,任意播地址也標識多個裝置的多個介面,但有一個很大的差別:任意播分組只被傳輸到一個介面一根據路由 選擇距離確定的最近介面。這種地址的特殊之處在於,可將單個任意播地址分配給多個介面。這種地址被稱為“一對最近"地址。

你可能會問,在IPv6中,是否有保留的特殊地址,因為IPv4有這樣的地址。答案是很多,下面就介紹它們!

特殊地址

下面列出一些絕對應該牢記的地址範圍,因為我們總是會用到它們。它們都是特殊地址或保留用於特定目的的地址,但不同於IPv4, IPv6提供的地址非常多,因此保留一些不會有任何害處。

0:0:0:0:0:0:0:0 (::)相當於IPv4地址0.0.0.0,通常在使用有狀態DHCP配置時,用作主機的源地址。

0:0:0:0:0:0:0:1 (::1)相當於 IPv4地址127.0.0.1。

00:0:0:0:0:0:192.168.100.1在同時支援 IP4和IPv6的網路中,從IPv4地址轉換而來的IPv6地址通常這樣書寫。

2000:/3全域性單播地址範圍。

FCO0::/7唯一的本地單播 地址範圍。

FE80:/10鏈路本地單播地址範圍。

FF00::/8組播地址範圍。

3F:F::/32保留舉例和編寫文件時使用。

2001:0DB8::/32保留舉例和編寫文件時使用。

2002::/16保留供6to4隧道技術使用。6to4 隧道技術是一種從IPv4遷移到IPv6的方法,讓IPv6分組能夠透過IPv4網路進行傳輸,而無需配置顯式的隧道。

原文地址:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2724369/,如需轉載,請註明出處,否則將追究法律責任。

相關文章