在介绍 IPv4 到 IPv6 过渡技术之前,我们先来简单了解一下 IPv4 和 IPv6。什么是 IPv4?IPv4 全称为 Internet Protocol version 4,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,IP 地址是一个 32 位的二进制数,算下来其实也只有 2^32 个地址,这些地址中有分为 A、B、C、D、E 5 类,而比较常用的只有 B 类 和 C 类,这两类地址算起来数量就更加有限,在加上现在互联网迅猛的发展,在 2011 年 2 月 3 日 IANA 中 IPv4 地址池已全部耗尽,这就严重制约了互联网的发展。而对于 IPv6 来说,是用于替代 IPv4 的下一代 IP 协议,IPv6 地址长度是 128 位,长度是 IPv4 地址的 4 倍,IPv6 具体有多少地址呢?IPv6 128 位的地址长度可以提供 3.402823669 × 10³⁸ 个地址,小编的数学不好,算不出来到底有多少,就借用一句话来形容,IPv6 可以为全世界每一粒沙子分配一个地址。这要是分配的是 GirlFriend 那该多好啊,这样工程师就能构建更厉害的技术,小编也能拥有一个 GF 了。

IPv6 VS IPv6

除了充沛的 IP 地址数量,IPv6 相比 IPv4 还有其他诸多的优势。

更快的传输速度

快、更快、非常快,这是现在互联网长期的追求,而 IPv6 是固定报头,不像 IPv4 那样携带一堆冗长的数据,简短的报头提升了网络数据转发的效率。并且由于 IPv6 的路由表更小,聚合能力更强,保证了数据转发的路径更短,极大的提高了转发效率。

更安全的传输方式

安全虽然越来越多的网站正在开启 SSL,但是依旧有大量的网站没有采用 HTTPS 。在 IPv4 协议中并没有强制使用 IPSec加密数据,导致网站明文传输泄漏数据,而 IPv6 则是直接集成了 IPSec,在网络层认证与加密数据,为用户提供端到端的数据安全,保证数据不被劫持。

对移动端更加友好

现在手机等移动设备可以说已经成为许多人不可缺少的一部分了, IPv6 协议可以增强移动终端的移动特性、安全特性、路由特性,同时降低网络部署的难度和投资。

即插即用

同样与 IPv4 相比, IPv6 增加了自动配置以及重配置技术,对于 IP 地址等信息实现自动增删更新配置,提升 IPv6 的易管理性。

IPv4 到 IPv6 的过渡技术

IPv6 在 1992 年被提出,到现在已经二十多年,IPv6 技术的发展已经很成熟,那么 IPv4 能否一下全部切换到 IPv6 呢,答案肯定是否定的。主要因为 IPv6 不是 IPv4 的改进,IPv6 是一个全新的协议,在链路层是不同的网络协议,不能直接进行通信。而且目前几乎都是在使用 IPv4,所以这种转换可能会持续很久。

目前,IETF 已经成立了专门的工作组,研究 IPv4 到 IPv6 的转换问题,并且已提出了很多方案,我们先介绍其中几种。

双栈技术

IPv4 和 IPv6 有功能相近的网络层协议,都是基于相同的硬件平台,同一个主机同时运行 IPv4 和 IPv6 两套协议栈,具有 IPv4/IPv6 双协议栈的结点称为双栈节点,这些结点既可以收发 IPv4 报文,也可以收发 IPv6 报文。它们可以使用 IPv4 与 IPv4 结点互通,也可以直接使用 IPv6 与 IPv6 结点互通。双栈节点同时包含 IPv4 和 IPv6 的网络层,但传输层协议(如 TCP 和 UDP)的使用仍然是单一的。

双栈技术具体有哪些优缺点呢?

优点:

  1. 处理效率高、无信息丢失
  2. 互通性好、网络规划简单
  3. 充分发挥 IPv6 协议的所有优点,更小的路由表、更高的安全性等。
  4. 资源占用多,运维复杂。

缺点:

  1. 无法实现 IPv4 和 IPv6 互通
  2. 对网络设备要求较高,内部网络改造牵扯比较大,周期性相比较较长。

隧道技术

隧道技术指将另外一个协议数据包的报头直接封装在原数据包报头前,从而可以实现在不同协议的网络上直接进行传输,这种机制用来在 IPv4 网络之上连接 IPv6 的站点,站点可以是一台主机,也可以是多个主机。隧道技术将 IPv6 的分组封装到 IPv4 的分组中,或者把 IPv4 的分组封装到 IPv6 的分组中,封装后的 IPv4 分组将通过 IPv4 的路由体系传输或者 IPv6 的分组进行传输。

隧道技术的优缺点则为:

优点:

  1. 无信息丢失
  2. 网络运维相比较简单
  3. 容易实现,只要在隧道的入口和出口进行修改

缺点:

  1. 隧道需要进行封装解封装,转发效率低。
  2. 无法实现 IPv4 和 IPv6 互通
  3. 无法解决 IPv4 短缺问题
  4. NAT 兼容性不好

NAT-PT 技术

NAT-PT 技术附带协议转换器的网络地址转换器。是一种纯 IPv6 节点和 IPv4 节点间的互通方式,所有包括地址、协议在内的转换工作都由网络设备来完成。NAT-PT 包括静态和动态两种,两者都提供一对一的 IPv6 地址和 IPv4 地址的映射,只不过动态 NAT-PT 需要一个 IPv4 的地址池进行动态的地址转换。NAT-PT 技术有个最大的优点就是不需要进行 IPv4、IPv6 节点的升级改造,而缺点也是十分明显的。缺点是 IPv4 节点访问 IPv6 节点的实现方法比较复杂,网络设备进行协议转换、地址转换的处理开销较大一般在其他互通方式无法使用的情况下使用。

总结

无论哪种技术,我们都要从以下几个方面考虑,周期性、成本、技术难度、部署的便捷性。按照目前分析的过渡技术,双栈技术以及隧道技术是相比较易用性更高,也更容易实现。作为国内领先的数据云服务厂商,又拍云在 2016 年便开始投入 IPv6 的建设,为客户提供智能化的 IPv6 服务,无需进行配置修改,即可实现 IPv4 到 IPv6 的网关转换,客户和终端用户能够早一步享受 IPv6 更稳定、快速的网络质量。

 

推荐阅读:

开启 IPv6 新时代,升级后的 IPv6 厉害在哪?​

一文读懂 IPv4 到 IPv6 的过渡技术的更多相关文章

  1. 一文读懂高性能网络编程中的I/O模型

    1.前言 随着互联网的发展,面对海量用户高并发业务,传统的阻塞式的服务端架构模式已经无能为力.本文(和下篇<高性能网络编程(六):一文读懂高性能网络编程中的线程模型>)旨在为大家提供有用的 ...

  2. 从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路

    本文原作者阮一峰,作者博客:ruanyifeng.com. 1.引言 HTTP 协议是最重要的互联网基础协议之一,它从最初的仅为浏览网页的目的进化到现在,已经是短连接通信的事实工业标准,最新版本 HT ...

  3. [转帖]从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路

    从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路   http://www.52im.net/thread-1709-1-2.html     本文原作者阮一峰,作者博客:r ...

  4. 一文读懂HTTP/2及HTTP/3特性

    摘要: 学习 HTTP/2 与 HTTP/3. 前言 HTTP/2 相比于 HTTP/1,可以说是大幅度提高了网页的性能,只需要升级到该协议就可以减少很多之前需要做的性能优化工作,当然兼容问题以及如何 ...

  5. 一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现

    一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现 导读:近日,马云.马化腾.李彦宏等互联网大佬纷纷亮相2018世界人工智能大会,并登台演讲.关于人工智能的现状与未来,他们提出了各自的观点,也引 ...

  6. 一文读懂 深度强化学习算法 A3C (Actor-Critic Algorithm)

    一文读懂 深度强化学习算法 A3C (Actor-Critic Algorithm) 2017-12-25  16:29:19   对于 A3C 算法感觉自己总是一知半解,现将其梳理一下,记录在此,也 ...

  7. [转帖]MerkleDAG全面解析 一文读懂什么是默克尔有向无环图

    MerkleDAG全面解析 一文读懂什么是默克尔有向无环图 2018-08-16 15:58区块链/技术 MerkleDAG作为IPFS的核心数据结构,它融合了Merkle Tree和DAG的优点,今 ...

  8. [转帖]一文读懂 HTTP/2

    一文读懂 HTTP/2 http://support.upyun.com/hc/kb/article/1048799/ 又小拍 • 发表于:2017年05月18日 15:34:45 • 更新于:201 ...

  9. 一文读懂HDMI和VGA接口针脚定义

    一文读懂HDMI和VGA接口针脚定义 摘自:http://www.elecfans.com/yuanqijian/jiekou/20180423666604.html   HDMI概述 HDMI是高清 ...

随机推荐

  1. 洛谷 P1786 帮贡排序 题解

    P1786 帮贡排序 题目背景 在absi2011的帮派里,死号偏多.现在absi2011和帮主等人联合决定,要清除一些死号,加进一些新号,同时还要鼓励帮贡多的人,对帮派进行一番休整. 题目描述 目前 ...

  2. [题解向] Luogu2146[NOI2015]软件包管理器

    #\(\mathcal{\color{red}{Description}}\) \(Link\) 一道\(zz\)的树剖题\(qwq\). #\(\mathcal{\color{red}{Soluti ...

  3. 【Beta】Scrum Meeting 7 & 与助教谈话

    前言 Beta阶段第7次会议在5月12日22:00由PM在大运村一公寓三层召开, 时长30min. 任务分配 姓名 今日任务 明日任务 困难 周博闻 修复修改密码问题#54添加主页公告栏 #57(调整 ...

  4. 在线生成安卓APP图标

    移动应用图标/启动图生成工具,一键生成所有尺寸的应用图标/启动图 在线生成安卓APP图标生成 图标在 线 在线图标 安卓图标 生成图标 https://icon.wuruihong.com/ 在线pn ...

  5. scrapy中的Pipeline

    当Item在Spider中被收集之后,它将会被传递到Item Pipeline,这些Item Pipeline组件按定义的顺序处理Item. 每个Item Pipeline都是实现了简单方法的Pyth ...

  6. VUE-013-为elementUI 设置 tootip 宽度

    在表格显示列表中,通常添加 :show-overflow-tooltip="true" 以显示不能完全展示的单元格文案提示.单通常显示为全屏宽度,不易查看,可通过设置全局的样式,进 ...

  7. 【jmeter】使用jmeter进行测试-示例

    介绍 jmeter主要用于负载测试,详细信息可以参见Google. 这里使用一个简单的示例,来介绍jmeter的使用. 涉及的功能点包括: HTTP HEADER配置 HTTP Request配置 J ...

  8. 关于OpenGPU.org

    今天是心情沉重的一天. OpenGPU.org,作为当年中国图形学界首屈一指的论坛,曾经创造过日访问破万的记录,而且汇聚了中国所有的图形行业的精英,大家畅所欲言,为整个中国图形学业界分享了无数宝贵的资 ...

  9. RestHighLevelClient查询es

    本篇分享的是es官网推荐的es客户端组件RestHighLevelClient的使用,其封装了操作es的crud方法,底层原理就是模拟各种es需要的请求,如put,delete,get等方式:本篇主要 ...

  10. Spring MVC -- 单元测试和集成测试

    测试在软件开发中的重要性不言而喻.测试的主要目的是尽早发现错误,最好是在代码开发的同时.逻辑上认为,错误发现的越早,修复的成本越低.如果在编程中发现错误,可以立即更改代码:如果软件发布后,客户发现错误 ...