IPv6那些事儿

374 阅读6分钟

Ipv6那些事儿

这是一篇关于Ipv6的扫盲博客,阅读此篇的人有助于快速建立起对于Ipv6的知识体系,做到心里有数。不过讲Ipv6之前,我们需要讲讲Ipv4,

网际协议版本4(英语:Internet Protocol version 4,缩写:IPv4,又称互联网通信协议第四版)是网际协议开发过程中的第四个修订版本,也是此协议第一个被广泛部署和使用的版本。其后继版本为IPv6,直到2011年,IANA IPv4位址完全用尽时,IPv6仍处在部署的初期。 IPv4在IETF于1981年9月发布的 RFC 791 中被描述,此RFC替换了于1980年1月发布的 RFC 760。 IPv4是一种无连接的协议,操作在使用分组交换的链路层(如以太网)上。此协议会尽最大努力交付数据包,意即它不保证任何数据包均能送达目的地,也不保证所有数据包均按照正确的顺序无重复地到达。这些方面是由上层的传输协议(如传输控制协议)处理的。

来自维基百科:zh.wikipedia.org/wiki/IPv4

Ipv4主要是4组10进制数字组成,主要分为5类,当然正常人只会涉及3段,这里我们就不去深入其中的原理了,就简单展示了下分类。

A类:0~127

B类:128~191

C类:192~223

这里其实还涉及到一个知识点:在这么多IP里面其实有一些是不能存在于外网的,比如127.0.0.1,192.168.1.1,172.0.0.0/32之类的,这些这里就不过多叙述。

扯到这里时机就成熟了,也就该引出为什么需要Ipv6了,因为地址枯竭了。那么IPv4到底一共有多少个IP地址呢?答案是2的32次方,也就是约42.9亿个,很明显这已经满足不了互联网的发展需求。

从20世纪80年代起,一个很明显的问题是IPv4地址在以比设计时的预计更快的速度耗尽。这是创建分类网络、无类别域间路由,和最终决定重新设计基于更长地址的互联网协议(IPv6)的主要诱因。

当然除了ipv6还会使用一些黑科技,比如Nat模式就是现阶段各大公司所采取的主要方案之一。

NAT是“Network Address Translation”的缩写,中文意思是“网络地址转换”,它允许一个整体机构以一个公用IP(Internet Protocol)地址出现在Internet上。顾名思义,它是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术。

NAT在外部公网(internet)上正常使用可以使多台计算机共享Internet连接。通过这种方法,申请一个合法IP地址,就把整个局域网中的计算机通过NAT接入到了Internet中。

再不好理解,我们可以上一个图来解释(这样内网无论多少机器都可以,不过建议不要太偷懒,毕竟请一个专业的网络运维成本也很高):

image.png

什么是Ipv6

是网络层协议的一种。它的主要任务,就是根据源主机和目的主机的地址,进行数据的传送。而Ipv6则是在Ipv4的基础上,解决了其容量问题,同时具有更快的数据传输速度,更加安全性, IPv6 从头到尾都是建立在安全的基础上的,在网络层认证与加密数据并对 IP 报文进行校验,为用户提供客户端到服务端的数据安全,保证数据不被劫持。

基本结构

IPv6二进位制下为128位长度,以16位为一组,每组以冒号“:”隔开,可以分为8组,每组以4位十六进制方式表示。例如:2001:0db8:86a3:08d3:1319:8a2e:0370:7344 是一个合法的IPv6地址。同时ip6是支持地址映射的当在ipv4的地址前加入::ffff:即可完成映射。转换机制我们下方叙述。

数据包

IPv6数据包由两个主要部分组成:头部和负载。而其头部的基本格式和IPV4的相差无几,也是会携带源地址,目标地址,协议版本等信息,而其唯一不同的就是流标签(是IPv6数据报中新增的一个字段,占20位,可用来标记报文的数据流类型,以便在网络层区分不同的报文。)。

域名系统

Pv6地址在域名系统中为执行正向解析表示为AAAA记录(所谓4A记录,类似地,IPv4表示为A记录(A record));反向解析在ip6.arpa(原先是ip6.int)下进行,在这里地址空间为半字节16进制数字格式。这种模式在RFC 3596给与了定义。

例如我们反查一下qq的ipv4地址,可以通过dig AAAA www.qq.com命令完成,目前来说很多库也支持类似的操作,不过这玩意儿对于大多数人来说是不需要的。

 ~  dig AAAA www.qq.com

; <<>> DiG 9.10.6 <<>> AAAA www.qq.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11428
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 3, ADDITIONAL: 15

;; QUESTION SECTION:
;www.qq.com.      IN  AAAA

;; ANSWER SECTION:
www.qq.com.   600 IN  CNAME ins-r23tsuuf.ias.tencent-cloud.net.
ins-r23tsuuf.ias.tencent-cloud.net. 600 IN AAAA 2402:4e00:1020:1404:0:9227:71a3:83d2
ins-r23tsuuf.ias.tencent-cloud.net. 600 IN AAAA 2402:4e00:1020:1404:0:9227:71ab:2b74

;; AUTHORITY SECTION:
tencent-cloud.net.  111436  IN  NS  ns-open3.qq.com.
tencent-cloud.net.  111436  IN  NS  ns-open2.qq.com.


;; ADDITIONAL SECTION:
ns-open3.qq.com.  351 IN  A 121.51.167.100
ns-open2.qq.com.  513 IN  AAAA  2402:4e00:8020:100::10f

;; Query time: 27 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Mon Oct 24 23:51:32 CST 2022
;; MSG SIZE  rcvd: 453

IPsec协议

简单来说就是默认消息加密,不想ipv4的消息,如果不通过ssl等手段是无法加密的。

互联网安全协议(英语:Internet Protocol Security,缩写:IPsec)是一个协议包,透过对IP协议的分组进行加密和认证来保护IP协议的网络传输协议族(一些相互关联的协议的集合)。

一、认证头(AH),为IP数据报提供无连接数据完整性、消息认证以及防重放攻击保护;

二、封装安全载荷(ESP),提供机密性、数据源认证、无连接完整性、防重放和有限的传输流(traffic-flow)机密性;

三、安全关联(SA),提供算法和数据包,提供AH、ESP操作所需的参数。

四、密钥协议(IKE),提供对称密码的钥匙的生存和交换。

如何开启Ipv6

关于如何配置Ipv6,这里博主参考了腾讯云的官网文章即完成了配置,地址如下:cloud.tencent.com/document/pr…

这里需要注意的就是:

  • 安全组放开Ipv6的流量。
  • 部分机器配置完成需要重启,建议直接重启。

当我们配置完成之后可以使用如下验证方式(如果遇到失败的情况,可能需要 重启网卡):

ping6 240c::6666 
ping6 www.qq.com

如果返回如下则意味着配置成功。

image.png

未来趋势

总的来说Ipv6的普及,是未来不可阻挡的趋势,越来越的国家与行业开始接入并使用Ipv6,其无论是在速度,安全性等方面都是可圈可点的,特别是在Ipv6可以构建一个较为干净的网络环境,特别适合未成年人所使用。截止目前,我们已有7.09亿Ipv6活跃用户位居世界第二

image.png

随着IPv6的普及与推进,我相信会有更多的应用选择接入其中,同时这里面将蕴藏无限机会,比如IPv6的网络安全,这将是其普及之后将要面对的首要问题,所以作为开发者的我们也需要及时去了解它们。

参考

[1] zh.wikipedia.org/wiki/IPv6 IPv6维基百科

[2] info.support.huawei.com/info-finder… 什么是IPsec?

[3] www.china-ipv6.cn/#/ 国家IPv6发展监测平台

[4] ipw.cn/ 网站校验平台(可验证IPv6是否有效)