扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
网络之所以称之为网,就是因为它的庞大体系,不存在孤岛。那么随着IPv6的使用,网络之中却出现了小小的一个岛屿。为了将两个协议版本的网络相互通,我们就需要使用IPv4/IPv6隧道机制来完成这项艰巨的工作,具体是如何做到的呢?接下来我们就详细的讲解一下隧道技术。
隧道技术
在IPv6网络彻底代替IPv4网络之前,总是有一些接入网技术首先具有IPv6的协议栈。一般来说,在过渡前期,我们往往把这些网络比做IPv4海洋中的IPv6小岛。过渡的问题可以因此分成两大类:第一类是解决这些IPv6小岛之间互相通信的问题;第二类是解决IPv6小岛与IPv4的海洋之间通信的问题。
IPv6/IPv4 隧道技术的目的是利用现有的IPv4设施来为IPv6主机服务,使得各个分散的IPv6“孤岛”可以跨越IPv4网络相互通信。在IPv6封包通过IPv4网络时,无论哪种隧道机制都是使用了一个“封包——拆包”过程,即处于发送端的隧道端点将该IPv6封包封装在IPv4包中,将此IPv6包视为IPv4的负载数据,并将该IPv4包头的协议字段设置为41,以说明该IPv4封包的负载是一个IPv6封装包,然后在IPv4网络上传送该封装包。当协议字段标为41的IPv4封装包到达处于接收端的Tunnel端点时,该端点拆掉封装包的IPv4包头,取出IPv6封装包继续处理。在对IPv6包进行IPv4封装时如何确定该IPv4包的源和目的地址是封装的关键问题,现存的IPv4/IPv6隧道机制的主要区别就在于如何确定IPv4封包的地址。
手工配置隧道
手工配置隧道(Configured Tunnel)是一种端到端的机制,需要隧道两端的管理员协同工作来完成隧道的建立。管理员对隧道两端进行配置时,首先应为隧道接口指定两端的IPv4地址,对在此隧道上传递的所有IPv6包进行IPv4封装时,都要从这一配置信息中提取源和目的IPv4地址。其次管理员要设置必要的路由信息,用以决定哪些IPv6包要经过隧道传递。
由于手工配置隧道是IPv6支持的第一个过渡机制,所以在目前被广泛地支持。这种机制不强制要求使用隧道的主机IPv6地址中包含某种固定信息,地址的使用比较灵活。但这种方式的缺点是,人工配置的隧道两端IPv6地址和IPv4地址都需要事先经过协商和设定,才能完成两端的隧道配置,这给接入网技术管理人员带来了极大的负担。手工配置的人工工作量大(每天要处理上万条隧道),导致效率低下,并且容易出现差错。
为了简化建立隧道的工作量,尤其是隧道服务器端的工作量,隧道代理模型被提出。隧道代理系统提供一种简化配置隧道的机制,可以减少繁重的隧道配置工作。隧道代理的思想就是提供专用的服务器作为隧道代理,自动地管理用户发出的隧道请求。用户通过隧道代理能够方便地和IPv6网络建立隧道连接,从而访问外部可用的IPv6资源。隧道代理过渡机制在IPv6早期吸引了更多的IPv6使用者,通过IPv4/IPv6隧道机制使他们能方便快捷地实现IPv6连接,同时也为早期的IPv6提供商提供了一种简便快捷的接入方式。
自动配置隧道
自动配置隧道(Automatic Tunnel)需要静态建立双向的隧道,配置隧道的一方不需要与其他方协同。系统建立隧道的接口或者在IPv6地址中包含IPv4地址信息,这样在隧道对IPv6包进行封装时可以从IPv6地址中提取IPv4地址,并填写IPv4包头; 或者提供一种IPv4寻址方式,利用寻址技术得到对端的IPv4地址。目前常用的自动隧道技术有以下5种。
◆利用IPv4兼容地址的自动隧道技术: 自动隧道能够完成点到多点的连接,这是它的特点。而手动隧道仅仅是点到点的连接。IPv4兼容IPv6自动隧道这种技术能够使隧道自动生成。我们知道,一个隧道需要有一个起点和一个终点,起点和终点确定了以后,那么隧道也就可以确定了。在IPv4兼容IPv6自动隧道中,我们仅仅需要告诉设备隧道的起点,隧道的终点由设备自动生成。为了实现设备自动产生终点的目的,IPv4兼容IPv6自动隧道需要使用一种特殊的地址:IPv4兼容IPv6地址。
◆6over4技术: 利用IPv4组播机制实现虚拟链路,自动建立隧道的机制。使用这种机制的接口利用RFC2461中提出的ND(Neighbor Discovery)协议进行寻址,当需要对一个IPv6包进行封装时,IPv6层发送ND请求报文对目的IPv6地址进行寻址,6over4接口将ND请求报文封装一个IGMP头后发送到IPv4组播域; 在该组播域中如果有另一个6over4接口拥有被请求的IPv6地址,则该接口以同样的方式发出包含其IPv4地址的ND应答报文,查询接口收到该ND应答后就可以从中得到目的接口的IPv4地址。
◆6to4技术: 使用这种机制的接口需要使用6to4地址,其前缀格式为: 2002:IPv4 Addr::/48。这种机制需要对两类路由器进行配置,这两类路由器分别是: (1) 6to4路由器(6to4 Router),作为一个IPv6域的出口路由器,其外出接口为6to4接口; (2) 6to4中继路由器(6to4 Relay Router),作为多个6to4 Router的中继的6to4 Router,通常可以将6to4 Router的缺省路由设置为一个6to4中继路由,通过在这个中继路由器中设置相应的路由信息来连接多个IPv6域。
◆ISATAP(Intra-Site Automatic Tunnel Addressing Protocol)技术: 它是一种站内自动隧道协议。利用ISATAP服务器分配ISATAP前缀。域内主机利用ISATAP接口获得该前缀,组成ISATAP地址前缀: 5EFE:IPv4 addr/64。
◆Teredo技术: Teredo 是一项地址分配和自动的IPv4/IPv6隧道机制,能够跨越IPv4 Internet 实现 IPv6 单播连接。它将IPv6数据包封装在UDP/IPv4数据包中传送。使用特殊的地址格式,除了固定的Teredo前缀外,还将Teredo服务器IPv4地址、客户端的公共IPv4地址以及UDP端口插入IPv6地址中。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者