ipv6

长期以来,全球 IPv4 地址耗尽令人担忧,今天这一时刻终于来临。负责英国、欧洲、中东和部分中亚地区互联网资源分配的欧洲网络协调中心(RIPE NCC)宣布,其最后的 IPv4 地址空间储备池在 11 月 25 日 UTC + 1 15:35 完全耗尽,所有 43 亿个 IPv4 地址已分配完毕。这意味着没有更多的 IPv4 地址可以分配给 ISP 和其他大型网络基础设施提供商。
全球ipv4地址正式耗尽 --infoQ

Beginner-s-Guide-to-IPv6-min

上面的提到的是来自infoQ的一篇报道,那为什么要用到 ipv6 呢,根本原因是 ipv4 地址耗尽的问题。
IPv6 的头部字段,和 IPv4 差别巨大(可以猜测到,IPv6 和 IPv4 无法兼容)



IPv6 报文头部更精简了,字段更少了,对比起 IPv4,有以下几个地方值得注意:

  • IPv6 报文头部是定长(固定为 40 字节),IPv4 报文头部是变长的。这个意味着,写代码处理 IPv6 数据报文的效率会提高很多:)
  • IPv6 中 Hop Limit 字段含义类似 IPv4 的 TTL。
  • IPv6 中的 Traffic Class 字段含义类似 IPv4 中的 TOS(Type Of Service)。
  • IPv6 的报文头部取消了校验和字段。取消这个字段也是对 IPv4 协议的一个改进。当 IPv4 报文在网路间传输,每经过一个路由器转发就是修改 TTL 字段,就需要重新计算校验和,而由于数据链路层 L2 和传输层 L4 的校验已经足够强壮,因此 IPv6 取消这个字段会提高路由器的转发效率。值得一提的是,在 IPv6 协议下,传输层 L4 协议 UDP、TCP 是强制需要进行校验和的(IPv4 是可选的)。
  • IPv6 报文头部中的 Next Header 字段表示“承载上一层的协议类型”或者“扩展头部类型”。这里的含义与 IPv4 有很大的差别,需要加以解释:

当 IPv6 数据报文承载的是上层协议 ICMPv6、TCP、UDP 等的时候,Next Header 的值分别为 58、6、17,这个时候和 IPv4 报文头部中的 Protocol 字段很类似。
当不是以上 3 种协议类型的时候,IPv6 报文头部紧接的是扩展头部。扩展头部是 IPv6 引入的一个新的概念,每个 IPv6 的数据报文可以承载 0 个或多个扩展头部,扩展头部通过链表的形式组织起来。当 IPv6 数据报文承载着扩展头部的时候,Next Header 的数值为扩展头部的类型值。

ipv4/ipv6 关键差异

IPv4 IPv6
地址长度 32位 128位
地址表示方式 点分十进制 冒号十六进制
头部长度 可变头部长度 定长头部
校验机制 使用校验和保证数据完整性 去掉IP层的校验和,完整性交给上层保证
头部选项 头部包含可选字段 去掉了选项字段,改为扩展头部
安全性 无安全机制(IPSec在IP层之外实现) 提供认证和加密机制(IPSec inbuilt)
链路层地址映射 ARP协议 NDP协议
广播机制 包含广播地址 没有广播机制

邻居发现协议 NDP(对应于 IPv4 里面的 ARP 协议)


红色部分在ipv6中去除了。

ipv6 地址语法

一个 IPv6 的地址使用冒号十六进制表示方法:128 位的地址每 16 位分成一段,每个 16 位的段用十六进制表示并用冒号分隔开,例如:
一个普通公网 IPv6 地址:2001:0D12:0000:0000:02AA:0987:FE29:9871
IPv6 地址支持压缩前导零的表示方法,例如上面的地址可以压缩表示为:
2001:D12:0:0:2AA:987:FE29:9871
为了进一步精简 IPv6 地址,当冒号十六进制格式中出现连续几段数值 0 的位段时,这些段可以压缩为双冒号的表示,例如上面的地址还可以进一步精简表示为:
2001:D12::2AA:987:FE29:9871
又例如 IPv6 的地址 FF80:0:0:0:FF:3BA:891:67C2 可以进一步精简表示为:
FE80::FF:3BA:891:67C2
这里值得注意的是,双冒号只能出现一次。
IPv6 地址的号段划分和前缀表示法

IPv6 的地址类型

IPv6 地址分三种类型

1、单播,对应于 IPv4 的普通公网和私网地址
2、组播,对应于 IPv4 的组播(多播)地址
3、任播,IPv6 新增的地址概念类型

IPv6 单播地址

1、全球单播地址
前缀 2000::/3,相当于 IPv4 的公网地址(IPv6 的诞生根本上就是为了解决 IPv4 公网地址耗尽的问题)。这种地址在全球的路由器间可以路由。

IPv6全球单播地址

2、链路本地地址
前缀 FE80::/10,顾名思义,此类地址用于同一链路上的节点间的通信,主要用于自动配置地址和邻居节点发现过程。Windows 和 Linux 支持或开启 IPv6 后,默认会给网卡接口自动配置一个链路本地地址。也就是说,一个接口一定有一个链路本地地址。

链路本地地址


fe80::de1e ....
注意,很容易会把链路本地地址和 IPv4 的私网 / 内网地址对应起来,其实链路本地地址对应于 IPv4 的 APIPA 地址,也就是 169.254 开头的地址(典型场景就是 windows 开启自动获取地址而获取失败后自动分配一个 169.254 的地址)。

3、唯一本地地址
前缀 FC00::/7,相当于 IPv4 的私网地址(10.0.0.0、172.16.0.0、192.168.0.0),在 RFC4193 中新定义的一种解决私网需求的单播地址类型,用来代替废弃使用的站点本地地址。

4、环回地址
0:0:0:0:0:0:0:1 或::1,等同于 IPv4 的 127.0.0.1

5、过渡地址
就是在 IPv6 的某一些十六进制段内嵌这 IPv4 的地址,例如 IPv6 地址中 64:ff9b::10.10.10.10,此 IPv6 地址最后 4 个字节内嵌一个 IPv4 的地址,这类地址主要用于 IPv6/IPv4 的过渡技术中。

IPv6部署现状

  • IPv6使用比例比较高的几个国家/地区:
    1、印度(57%)比利时(54%)美国(50%)德国(41%)马来(37%)希腊(36%)日本(30%)巴西(29%)
    2、使用率超过5%的国家有55个
    3、中国目前只有3.9%
  • 移动运营商
    1、 印度(JIO 87% Vodafone 45.9%)
    2、美国(T-Mobile 93 % Sprint 70%)
    3、 日本(Softbank 34%)
  • IPv6路由
    全球BGP路由数据库中,由54154个AS,其中13947(25.8%)通告了IPv6的前缀,其中243个只通告了IPv6前缀。
  • 运营商骨干网
    除非洲,中东国家,拉美少数国家和中国外,其他国家的运营商骨干网都完成了IPv6的部署。

IPv6 过渡方案

为什么 IPv6 已经发展了十几年了,目前在我们的工作和生活中还是比较少接触和使用。这里的原因是非常的复杂,有技术上障碍,因为 IPv6 和 IPv4 是两个完全不兼容的协议(在极少数的特定场景可以实现兼容),如果要从支持 IPv4 升级到 IPv6,无论是应用程序用客户端、服务器程序端、路由器等等,都要同时支持 IPv6 才能解决问题,这个的升级改造需要花费的成本是巨大的。而且,正是由于技术上的升级花费大量的人力物力,无论是运营商还是互联网服务商,一方面要重视用户的体验问题,这个肯定不能强制客户更新换代硬件设备和软件,另一方面也要维护自身的投资和利益,更愿意去选择利用现有技术降低 IPv4 地址耗尽带来的压力,例如 NAT 的广泛应用,就是 IPv6 推广使用的一个重要的“障碍”。

1、双栈技术

简介:

  • 设备同时支持IPv4/IPv6协议栈
  • 如果通信双方都支持IPv6,则使用IPv6,否则使用IPv4
  • 最简单直接的过渡方案
    特点:
  • 不能解决根本的IPv4地址耗尽的问题
  • 现实网络中,双栈技术需要和其他过渡技术配合一起使用


2、隧道技术

当前的网络是以 IPv4 为主,因此尽可能地充分利用 IPv4 网络进行 IPv6 通信是十分好的手段之一。隧道技术就是这样子的一种过渡技术。
隧道将 IPv6 的数据报文封装在 IPv4 的报文头部后面(IPv6 的数据报文是 IPv4 的载荷部分),IPv6 通信节点之间传输的 IPv6 数据包就可以穿越 IPv4 网络进行传输。隧道技术的一个很重要的优点是透明性,通过隧道进行通信的两个 IPv6 节点(或者节点上的应用程序)几乎感觉不到隧道的存在。
简介:

  • 当前网络是以ipv4为主,新增的IPv6网络形成彼此不通的孤岛网络
  • IPv6孤岛通过隧道技术联通。
    关键技术:
  • IP隧道:IPv6 over IPv4
  • 边界路由器支持双栈协议
  • 边界路由器之间,通过MP-BGP交换IPv6路由信息
  • 边界路由器之间,通过隧道技术在IPv4网络上转发IPv6数据包


    隧道技术

3、转换技术

解决问题:

  • IPv6-only 客户端如何访问IPv4-only的网络
  • 运营商用户侧网络的兼容性技术。
    技术:
  • DNS64/NAT64
  • 464XLAT
方案一:DNS64/NAT64

DNS64
1、 当DNS 查询记录AAAA为空时,用A记录合成一个IPv6地址。
2、 合成地址的第一部分只想NAT64的地址前缀,第二部分嵌入A记录中的IPv4地址
NAT64
1、NAT64网关将DNS64的合成地址转换为IPv4地址后向外发送,并维持 IPv4和IPv6的MAP表
2、NAT64网关接收到外部的IPv4包后,根据MAP表将IPv4包转换为IPv6包发送给IPv6 only 的客户端。

其实就是子网内用IPv6,出口用IPv4.


When-NAT64-is-used-SMALL
方案二:464XLAT

也是为了客户端 IPv6-only 网络访问 IPv4服务端的方式。
但不是有 DNS64/NAT64 方式了吗?不不不,万一,客户端绕过DNS 阶段,直接访问 8.8.8.8 怎么办呢?
解决方案:

  • XLAT Customer-side translator
    客户端操作系统之上,将IPv4包转成IPv6
  • PLAT Provider-side translator
    运营商的本地网关上,将IPv6包转换为IPv4包

支持范围:

  • 操作系统:Android 4.3 以上,Windows10
  • 支持的运营商 T-mobile;Orange
  • 苹果明确表示不支持,要求APP在IPv6网络下正常工作。


    464XLAT

    这种技术把运营商网络搞的超级复杂,而且这种方式就是在对 IPv4 做妥协。

国内三大运营商对兼容性方案做的支持程度还是不够,主要推崇IPv6-only。
国内运营商在服务端没有 IPv6 的情况下都会请求失败!!!(IPv6兼容性在国外比较常见)

参考:
https://www.infoq.cn/article/vpDCmupCW3MEv3L2kx41
https://www.infoq.cn/article/zgkJXORjQiTEUBifd3pi

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容