计算机网络之隧道技术
一.什么是隧道技术
在IPv6出现以后,市面上就有两种网络,一种是基于IPv4搭建起来的网络,一种是基于IPv6搭建起来的网络
IPv6的出现主要是解决IPv4地址不够用的问题,IPv6虽然解决了IPv4地址短缺的问题,同时也带来了它自己的问题
- IPv6出现太晚了,市面上绝大部分网络基础设备都是基于IPv4来搭建的,重构开销大
- IPv6地址普遍长度偏长,记忆不方便
- 兼容性问题,和市面上的大部分软件和网络设备都不兼容
- 实现复杂,由于更长的地址,使得存储和处理开销更大
当然,最大的问题还是怎么尽快的让IPv6投入使用,由于市面上已经有成熟的IPv4架构,所以想把IPv4推翻,然后构建IPv6,开销无异于把网络推翻重建,三大运营商肯定第一个不答应
所以,我们在处理IPv6商用时,更多的是考虑兼容性的问题,也就是“ 6/4共存”问题
处理IPv6和IPv4兼容的问题有三个主要的方式:
- NAT技术:在接口上将IPv6和IPv4互转,然后通信
- 双协议栈:在接口同时创建两个IP地址,一个v4,一个v6
- 隧道技术:利用一个通道,将v6或v4封装数据中,当作数据来传输
二.隧道技术的实现(ENSP)
隧道技术实现是处理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 源地址/地址池 匹配位 目的地址
- 动态路由
- RIP:基于路由跳数
- OSPF:基于链路开销
看上面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已经在全球范围内得到了广泛的应用,几乎所有现有的网络设备和系统都支持IPv4协议。这使得IPv4在互操作性方面具有很大的优势。
- 丰富的地址资源:IPv4使用32位地址,理论上可以提供约43亿个唯一地址。虽然这个地址空间已经相当大,但随着互联网的发展,IPv4仍然面临着地址耗尽的问题。
- 广泛的路由支持:IPv4的路由协议被广泛部署在各种网络设备上,包括路由器、交换机、服务器等。这使得IPv4在网络规划和路由方面具有很大的优势。
IPv4的缺点:
- 地址空间不足:IPv4的地址空间已经接近枯竭,这限制了互联网的发展和新的应用部署。
- 不适应新的需求:随着互联网的发展,人们对网络的需求也在不断变化。IPv4的一些特性,如不支持无状态地址自动配置(SLAAC)、不支持服务质量(QoS)等,已经无法满足新的需求。
IPv6的优点:
- 充足的地址空间:IPv6使用128位地址,理论上可以提供约3.4 x 10^38个唯一地址。这个地址空间非常充足,可以满足未来数十年的需求。
- 支持无状态地址自动配置:IPv6支持无状态地址自动配置(SLAAC),使得主机可以自动获取IP地址,无需手动配置。
- 支持服务质量(QoS):IPv6支持QoS,可以更好地满足不同类型的数据传输需求。
- 更好的安全性:IPv6在设计时考虑了安全问题,加入了一些新的特性,如IPSec,使得网络通信更加安全。
IPv6的缺点:
- 兼容性问题:IPv6与IPv4不兼容,需要进行升级和改造,这可能会对现有的网络设备和软件产生影响。
- 路由问题:虽然IPv6的地址空间较大,但路由表的长度也相应增加,这可能会对路由性能产生影响。
- 实现复杂度:IPv6协议的实现比IPv4复杂,需要更多的计算和资源来支持。
以上就是隧道技术的全部,希望各位同仁斧正