首页 > 其他分享 >三种过渡到IPv6的隧道模式

三种过渡到IPv6的隧道模式

时间:2022-12-08 21:33:01浏览次数:58  
标签:6over4 隧道 6VPE 三种 IPv4 IPv6 路由 路由器

隧道模式直接利用现有IPv4网络实现与IPv6网络的通信。

1、6PE

在核心网络是IPv4网络的情况下,如果要构建一个IPv6网络,可以通过在支持IPv6协议的边界路由器之间建立IPv6隧道,由这些隧道充当支持IPv6协议的点到点的连接。在这些边界路由器之间交换的IPv6分组可以封装在IPv4分组中,透明地在骨干网上传输。但这种方案在网络伸缩性方面不是太理想。为解决这个问题,可采用MPLS技术。在启动MPLS的IPv4骨干网上传输IPv6数据包。这个解决方案称为IPv6提供商边界路由器(6PE),它提供了一种可伸缩的IPv6早期部署的解决方方法。它有以下一些特点。

IPv6协议仅在特定PE路由器上实施。PE路由器使用多协议BGP(MP-BGP)会话在骨干网上交换IPv6路由信息。MPLS标签被PE路由器赋给IPv6路由,并直接在PE路由器之间交换,类似于VPN路由。另外,使用两层MPLS标签在MPLS骨干网上传输IPv6数据包。标签栈中的第一个标签是出口PE路由器的指定LDP标签。标签栈中的第二个标签是指定PE IPv6标签。

三种过渡到IPv6的隧道模式_Ipv6

ISP可以利用现有的IPv4骨干网为其用户的IPv6网络提供接入能力。主要思想是:用户的IPv6路由信息转换为带有标签的IPv6路由信息,并且通过IBGP会话扩散到ISP的IPv4骨干网中。在转发IPv6报文时,当流量进入骨干网的隧道时,首先会被打上标签。当ISP想利用自己原有的IPv4/MPLS网络具备IPv6流量交换能力时,仅升级PE路由器就可以实现。对运营商而言,使用6PE特性作为IPv6过渡技术是一个高效的解决方案,实施风险比较低。

2、6VPE

6VPE的技术原理来源于IPv4中的BGP+MPLS+VNP,虽然叫作“IPv6VPN Provider Edge”,但并不是专门用来为IPv6用户提供VPN服务的一种技术。在6VPE技术中,用户网络(CE)采用的地址族既可以是IPv4也可以是IPv6,骨干网同样既可以是IPv4网络也可以是IPv6网络,因此,可以说6VPE是对IPv4BGP+MPLS+VPN的一种扩展。

6VPE的路由分发过程与6PE类似,也分为6个步骤:

  1. 由IPv4/IPv6 IGP(如OSPF/OSPFv3、ISIS/ISISv6等)建立路由器之间的路由关系,将6VPE路由器的回环地址通知全网IP及其他6VPE路由器。
  2. 通过IPv4/IPv6的标签分发协议(如LDP、RSVP-TE等)建立6VPE路由器之间的LSP,即建立6VPE路由器之间的MPLS隧道。
  3. 6VPE路由器与IPv4/IPv6网络的CE路由器之间交换路由信息(通过IPv4/IPv6路由协议或配置静态路由)。
  4. 6VPE路由器之间通过MP-BGP的扩展属性为各个VPN中的地址前缀发布路由可达性信息,并分配标签。如果6VPE路由器连接的用户网络使用IPv4协议,则路由可达性信息使用VPN-IPv4地址族;如果6VPE路由器连接的用户网络使用IPv6协议,则路由可达性信息使用新定义的VNP-IPv6地址族。
  5. 6VPE路由器根据从CE及远端6VPE路由器发来的IPv6地址前缀可达性信息形成与不同VPN相关的IPv4/IPv6 VRF。
  6. 6VPE路由器将IPv4/IPv6路由可达信息通过IPv4/IPv6路由协议分发给IPv4/IPv6 CE节点。

综上所述,6VPE定义了新的VPN-IPv6地址族,可以说6VPE的路由、标签信息的发布以及数据的转发过程与IPv4 MPLS VPN基本相同,这样也实现了从IPv4 VPN到IPv6 VPN的平滑过渡——只需要PE路由器支持VPN-IPv6地址族,并在建立BGP连接时使用上面所述的AFI/SAFI编码值进行BGP协商。

3、6over4

6over4的主要目的是让没有通过物理链路直接连接到IPv6路由器的IPv6主机能拥有IPv6主机的所有功能。它需要IPv4网络具有组播功能,以模拟虚拟的本地链路。如需要到其他链路的IPv6路由,则至少需要一个连接到相同IPv4网络的IPv6路由器具有6over4功能。

6over4可以实现在同一个IPv4网络内的所有主机能通过ND协议自动发现,同时,还可以通过路由协议自动学习到其他链路的路由信息。

6over4技术定义了将IPv6组播地址映射成IPv4组播地址的方法。这样,ND协议、路由协议便可以通过6over4隧道穿越IPv4网络进行传输,实现IPv6路由协议、邻居发现、自动配置等功能。

6over4是一种自动建立隧道的机制,在IPv4的多播域上承载IPv6的链路本地地址。与6to4不同的是,6over4利用IPv4的多播机制来实现虚拟链路,这种机制要求节点必须支持组播,并且要求节点内采用这种机制的主机和路由器都支持6over4。将IPv6的链路本地地址映射到IPv4的多播域,并且支持邻居发现,相当于IPv4的多播机制模拟IPv6的邻居发现功能。一旦发现IPv6的邻居,IPv6的主机就自动建立隧道通过IPv4网络。一台6over4的路由器在站点内广播它的IPv6网络前缀,这种机制不需要IPv4兼容的地址或手工配置的隧道,适用于一个站点的内部。当采用6over4的站点通过一台支持6over4的路由器与外界相连时,站点内的主机可以和外部IPv6站点进行通信。

具体的操作中需要注意如下两个问题。

  • MTU:在IPv4域内的IPv6数据报的缺省MTU大小是1480B。因为IPv4的最小报头是20B,加上1480B正好是1500B,达到网络层数据报的最大值。当然,也可以通过路由通知消息来改变MTU的大小,或者进行手动配置,以更适合当前节点和链路的情况。有时,IPv6数据报的MTU对于一些中间的IPv4网络来说可能太大,这种情况下需要对IPv4数据报进行分片。由于中间节点的情况较难控制,因此在封装IPv6数据报的IPv4报文中不能设置为不分片。
  • 数据报封装格式:6over4隧道的封装和一般隧道的数据报的封装一样,也是把IPv6数据报作为IPv4报文的载荷进行封装的,并加上IPv4的20B的最小报头,或者带有可选项的IPv4报头。

6over4隧道适用于IPv4网络中的IPv6孤立主机之间的通信,由于缺少支持IPv4多播功能的网络,6over4很少使用。

标签:6over4,隧道,6VPE,三种,IPv4,IPv6,路由,路由器
From: https://blog.51cto.com/key3feng/5923487

相关文章

  • Redis的三种模式
    一、主从复制1.1主从复制的概念主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(Master),后者称为从节点(Slave);数据的复制是单向的,只......
  • 监控Kubernetes集群证书过期时间的三种方案
    前言Kubernetes中大量用到了证书,比如ca证书、以及kubelet、apiserver、proxy、etcd等组件,还有kubeconfig文件。如果证书过期,轻则无法登录Kubernetes集群,重则整......
  • dojo,jquery,mootools三种框架实现的ajax效果
    经常在微BLOG上,或者象tudou,ku6等视频网站上,看到"查看评论"的按钮,点后就显示列表,是AJAX效果的,找到老外的一篇文,讲这个实现:​​​http://davidw......
  • 红队隧道应用篇之CS正反向连接突破内网(二)
    正向连接环境拓扑图操作步骤在CS客户端新建一个TCP协议的监听,监听端口为4444创建无状态木马(WindowsExecutable(S)),选择上述建立的TCP监听器,随后将无状态木......
  • JUC6 中断机制与线程通信三种让线程等待和唤醒的方法:
    1.线程中断1.1什么是线程中断①.一个线程不应该由其他线程来强制中断或停止,而是应该由线程自己自行停止,所以,Thread.stop、Thread.suspend、Thread.resume都已经被废......
  • 隧道代理怎么用啊?隧道代理GO语言代码示例
    经常做数据采集的人对隧道代理肯定不陌生,但对于新手小白而言,有可能还是属于未涉及的领域,今天就来看看隧道代理(动态请求)利用GO语言要如何写代码。普通模式packagemainimport......
  • ipv6正则表达式
    ^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]......
  • 红队隧道应用篇之Netsh端口转发
    简介netsh是从Windows2000开始就有的一个用于配置网络设备的命令行工具其中netshinterfaceportproxy是一个配置网络代理的命令,可以配置ipv4或ipv6的端口转发代理以......
  • 三种基本排序方法之选择排序、冒泡排序、插入排序
    前言三种最基本的排序方法:选择排序、冒泡排序、插入排序。这些排序并不是学习数据结构时才碰到的,早在学习C++时教材上就有介绍。现在正在学习数据结构,复习并且自己动手实......
  • 数组:内存分析及三种初始化
    数组(堆和栈的关系)内存分析:通常我们说的分析java内存,指的是分析java的堆内存(heapmemory),稍微扩展点,还可能涉及到持久带内存(jre7以前)或者Metaspace(jre8以后)。.一般的垃圾......