1. 程式人生 > >IPv4如何轉換為IPv6?

IPv4如何轉換為IPv6?

導讀 ipv6已經逐漸在應用,現在已經有很多的運營商支援ipv6,前天我們也釋出瞭如何讓電腦使用ipv6地址?有很多朋友在問?ipv6有什麼作用,它的表示方式是什麼,今天我們來一起來詳細瞭解下ipv6相關計算與轉換。

IPv4如何轉換為IPv6?IPv4如何轉換為IPv6?

一、什麼是ipv6?

我們現在用的是ipv4的地址是32位,例如這樣的,59.123.123.123。總數大約有43億個左右,地球上每個人平均分不了一個,更別說每臺電腦了,還要減去內網專用的192、170地址段,就更少了,到現在為止,就更少了。隨著科技的進步與物聯網的發展,ipv4顯然已經滿足不了要求了,嚴重約束了網際網路的應用與發展,所以ipv6應運而生。

那什麼是ipv6呢?

IPv6是Internet Protocol Version 6的縮寫,其中Internet Protocol譯為“網際網路協議”。IPv6是用於替代現行版本IP協議(IPv4)的下一代IP協議,號稱可以為全世界的每一粒沙子編上一個網址。

較之IPv4使用的32位地址,IPv6使用128位地址:

按照地址數的計算方法,我們可以計算出IPv6能夠提供的地址數為:

2^128-1個(大約340萬億個)

IPV6地址極為豐富,幾乎是取之不盡的,號稱地球上的每一粒沙子都能分配到自己的地址,更不用說每臺手機、電腦了,連冰箱、洗衣機都能擁有屬於自己獨一無二的ip地址了,一下子就高大上了不少。

二、ipv6的好處

ipv6有什麼用,這也是很多朋友在問,其實ipv6的好處還是挺多的。

1、擁有使用不完的ip地址數量

128位的ipv6擁有大量的ip地址,為將來數十年提供了足夠的IP地址,巨大的地址空間為數十億新裝置提供了全球唯一地址,就是老百姓也可以擁有公網ip了,在ipv4時期,由於地址有限,只有企業才能申請公網,我們使用的網路都是私有地址,而ipv6,每個裝置都可以擁有公網ip,那麼擁有了公網能幹啥呢?

作用非常多,比如我們專案監控,可以直接用公網ip地址訪問了,就能很好的解決監控中遠端控制訪問問題,異地監控集中控制也就不用那麼麻煩了。

對於企業或個人也可以搭建伺服器,使用唯一標識的ipv6地址就可以訪問這個伺服器了,共享檔案極其簡單。

2、多等級層次有助於路由聚合,提供了路由的效率和可擴充套件性

可以有更快的速度,這個呢,用專業的話講,人類無法感受到的微小的速度提升,但畢竟還是快了。

3、能夠更有效的處理移動性和安全機制

更加安全,以前大家會經常莫名其妙的中木馬或者病毒,這個在IPv6裡會明顯減少。

4、會讓智慧家居和物聯網迎來最好的時代。

難以想象,手機、電腦、汽車、電視、空調、機器人、、、都分到了一個獨一無二ip後,會是怎樣的,物聯網發展將會只受想象力的限制。

三、ipv6的表示方式

IPV6地址的表示採用16進位制的表示方法。將128bit分為8組,每組16位元,用4個16進位制數表示,各組之間用":"隔開,每組中最前面的0可以省略,但每組必須得有一個數。

1、冒分十六進位制表示法

格式為 X:X:X:X:X:X:X:X,其中每個X代表16個bit,以十六進位制顯示,如下面這些:

ip一:ABCD:EF01:2345:6789:ABCD:EF01:2345:6789

ip二:FEDC:BA98:7654:3210:FEDC:BA98:7654:3210

ip三:1080:0:0:0:8:800:200C:417A

2、0位壓縮表示法

在某些情況下,一個IPv6地址中問可能包含很長的一段0,可以把連續的一段0壓縮為“::”。但為保證地址解析的唯一性,地址中”::”只能出現一次,例如:

1080:0:0:0:8:800:200C:417A =1080::8:800:200C:417A

FF01:0:0:0:0:0:0:101=FF01::101

FF01:0:0:0:0:0:0:1101 = FF01::1101

0:0:0:0:0:0:0:1 = ::1

0:0:0:0:0:0:0:0 = ::

3、內嵌IPv4地址表示法

為了實現IPv4-IPv6互通,IPv4地址會嵌入IPv6地址中,此時地址常表示為:X:X:X:X:X:X:d.d.d.d,

也就是前6組用冒分十六進位制表示,後二組用十進位制表示,而最後32bit地址則使用IPv4的點分十進位制表示,例如::192.168.0.1與就是一個典型的例子 。

四、如何將ipv4轉換為ipv6地址?

上面我們提到了,ipv4地址要與ipv6地址互通,需要將ipv4轉換為ipv6地址。

舉例:

如果IPv4的一個地址為135.75.43.52,現有32位地址,那麼如何轉換為ipv6呢?

1、非標準轉換:

只需要在ip地址前面6組共96位補充0即可,即

0000:0000:0000:0000:0000:0000:135.75.43.52

也就是::135.75.43.52(內嵌IPv4表示法)

2、標準轉換

135.75.43.52 按十六進位制算出即87.4B.2B.34,

而87.4B.2B.34串地址一組還是8位,所以需要兩組v4地址合成v6地址,

再把前96位補零,它可以被轉化為

0000:0000:0000:0000:0000:0000:874B:2B34或者::874B:2B34。

補充下:十進位制如何轉化為16進位制?

這裡弱電君有必要補充下十進位制如何轉化為16進位制,在ipv6時代,可能會經常需要用到。

方法是:十進位制數除以16,反向取餘數,除到不能除為止。當然大家聽到這個方法可能是一頭霧水,我們具體來看下舉例計算過程。

例如10進位制的ipv4地址:135.75.43.52 ,化成16進位制的。

為了方便大家瞭解原理,具體計算過程可以看下圖:
IPv4如何轉換為IPv6?IPv4如何轉換為IPv6?
16進位制的10、11、12、13、14、15分別用A、B、C、D、E、F來表示。

所以十進位制的135.75.43.52 最終得出的是十六進位制87.4B.2B.34,轉成ipv6就是::874B:2B34。當然也是可以通過工具直接轉換。

原文來自: https://www.linuxprobe.com/ipv4-to-ipv6.ht