在IPv6出現以後,市面上就有兩種網路,一種是基於IPv4搭建起來的網路,一種是基於IPv6搭建起來的網路
IPv6的出現主要是解決IPv4地址不夠用的問題,IPv6雖然解決了IPv4地址短缺的問題,同時也帶來了它自己的問題
當然,最大的問題還是怎麼儘快的讓IPv6投入使用,由於市面上已經有成熟的IPv4架構,所以想把IPv4推翻,然後構建IPv6,開銷無異於把網路推翻重建,三大運營商肯定第一個不答應
所以,我們在處理IPv6商用時,更多的是考慮相容性的問題,也就是「 6/4共存」問題
處理IPv6和IPv4相容的問題有三個主要的方式:
隧道技術實現是處理IPv4和IPv6的相容性的問題,
所以環境要麼是IPv6中間夾雜IPv4區域,要通過在IPv4上新建隧道來貫通IPv6的傳輸
又或是IPv4中夾雜IPv6區域,要通過IPv6上建隧道來貫通IPv4的傳輸
由於IPv4占主導地位,所以實驗案例使用IPv4中夾雜IPv6,IPv6區域新建隧道
網路拓撲圖如上,實驗的目的是PC5能夠Ping通PC4
仔細觀察上圖就可以發現在IPv4的通訊中,必須要通過IPv6的區域,所以隧道一定是開在IPv6的區域
在構建隧道前,一定要保證兩個IPv4區域內部是通的,IPv6區域是通的
程式碼如下:
AR8
interface GigabitEthernet0/0/0
ip address 137.100.37.254 255.255.255.0
interface GigabitEthernet0/0/1
ip address 137.100.38.1 255.255.255.0
interface GigabitEthernet0/0/2
ospf 1
area 0.0.0.0
network 137.100.37.0 0.0.0.255
network 137.100.38.0 0.0.0.255
AR10
ripng 1
q
ipv6
interface GigabitEthernet0/0/0
ip address 137.100.38.2 255.255.255.0
interface GigabitEthernet0/0/1
ipv6 enable
ipv6 address 6001:200::1/64
ripng 1 enable
q
ospf 1
area 0.0.0.0
network 137.100.38.0 0.0.0.255
AR11
ripng 1
q
ipv6
int g0/0/0
ipv6 enable
ipv6 add 6001:200::2 64
ripng 1 enable
int g0/0/1
ipv6 enable
ipv6 add 6001:300::1 64
ripng 1 enable
q
AR12
ripng 1
q
ipv6
interface GigabitEthernet0/0/1
ip address 137.100.39.1 255.255.255.0
interface GigabitEthernet0/0/0
ipv6 enable
ipv6 address 6001:300::2/64
ripng 1 enable
q
ospf 1
area 0.0.0.0
network 137.100.39.0 0.0.0.255
AR13
interface GigabitEthernet0/0/0
ip address 137.100.39.2 255.255.255.0
interface GigabitEthernet0/0/1
ip address 137.100.40.254 255.255.255.0
interface GigabitEthernet0/0/2
ospf 1
area 0.0.0.0
network 137.100.39.0 0.0.0.255
network 137.100.40.0 0.0.0.255
設定了這些程式碼後,內部的網路是通了的
現在就需要來建立隧道了,隧道是建立在AR10和AR12之間
建立隧道的前提是IPv6的資料段是Ping通的
隧道技術的原理是把另外一種IP封裝成資料傳輸,現在IPv6就需要承載傳輸,所以IPv4的就會被封裝到IPv6的封包中
在正常的IPv4區域傳輸時,到那個路由器取決於mac地址,如果下一跳不是目的IP,則繼續封裝mac地址,到了目的IP後拆掉IP地址層,然後讀取資料
在隧道中的傳輸到路由器時拆掉mac地址層後,需要判斷是否時目的IPv6地址,如果不是,就根據目的IPv6地址封裝IPv6,到了目的IPv6地址時,再拆掉IPv6地址層,根據IPv4地址繼續封裝mac地址,直到到達目的IPv4,然後讀取資料
弄清楚原理以後,就來搭建隧道了
先搭建AR10到AR12的隧道:
interface Tunnel0/0/0
ip address 192.168.1.1 255.255.255.0
tunnel-protocol ipv4-ipv6
source 6001:200::1
destination 6001:300::2
建立隧道也是一個虛擬的介面Tunel
新增虛擬介面的IPv4地址,隧道是貫通IPv4網路的,所以IPv4之間通訊就需要給隧道設定IPv4地址,反之就是IPv6
選擇隧道協定IPv4-IPv6,意思是將IPv4資料框封裝到IPv6中去
soure是源地址的意思,也可以理解為隧道的起點路由器介面地址
destination是目的地址,也可以理解為隧道的終點路由器介面地址
然後就是要注意隧道地址在網路上通訊,也需要使用相關的設定保證隧道地址也是可以在區域內除了直連與其它路由器通訊的
主流的方式就兩種:
IP route-static 源地址/地址池 匹配位 目的地址
看上面AR10和AR12的設定,IPv4的通訊我使用的是OSPF協定,所以隧道也需要OSPF協定宣告後通訊
隧道是雙向的,所以需要在AR12上也新建隧道
程式碼:
interface Tunnel0/0/0
ip address 192.168.1.1 255.255.255.0
tunnel-protocol ipv4-ipv6
source 6001:200::1
destination 6001:300::2
正常的IPv4區域傳輸:
如上
這是正常的IPv4的傳輸,可以看到抓的的協定一共有4個部分,分別對應TCP/IP的四層模型
然後我們看看隧道中抓到的IPv4通訊:
綜上:
正常的IPv4傳輸一共有四個部分,分別對應TCP/IP的四層模型
而隧道傳輸有五個部分,但是也是對應TCP/IP四層模型,只不過隧道中轉也是處於第三層傳輸層,及IPv4和IPv6部分
IPv4和IPv6是網際網路協定(IP)的兩種版本,它們各自具有一些優點和缺點。
IPv4的優點:
IPv4的缺點:
IPv6的優點:
IPv6的缺點:
以上就是隧道技術的全部,希望各位同仁斧正