IPv6从入门到精通

1c49925efa2c3d7c4266d42245d996d3.gif

正文共:1234 字 12 图,预估阅读时间:2 分钟

IPv6(Internet Protocol Version 6,互联网协议版本6)是网络层协议的第二代标准协议(IPv6协议规范),也被称为IPng(IP Next Generation,下一代互联网协议),它是IPv4的升级版本,和IPv4之间最显著的区别就是IP地址的长度从32比特位增加到了128比特位。

像我们配置IPv4地址时,IP地址的掩码长度为1-32位,也就是最多有2的32次方个IPv4地址。当然,这么表述也不严谨,IPv4地址的第一位不能是0,这一下就少了256分之一的地址。

d0b5d78b328be59d5211e7d9dbdde3d1.png

而配置IPv6地址时,我们有了更丰富的配置方式,比如IPv6支持有状态地址配置、无状态地址配置和手工配置。

327f97e2071c9d9f6314368f859d85c6.png

有状态地址配置一般指从DHCPv6服务器获取IPv6地址及相关信息的方式,也就是dhcp-alloc。

无状态地址配置是指主机根据自己的链路层地址及路由器发布的前缀信息自动配置IPv6地址及相关信息。

189de829d205e401e8b7f20292ad2dfd.png

这里我们可以看到IPv6地址被表示为以冒号(:)分隔的一连串十六进制数。完整的IPv6地址被分为8组,每组的16比特位用4个十六进制数来表示,组和组之间用冒号隔开。

可以看到,上图中的IPv6地址只有5组,其实这是为了简化IPv6地址表示而采用的一种处理方式,也就是每组中的前面几个“0”可以省略,而且如果地址中包含一组或连续多组均为0的组,则可以用双冒号“::”来代替。那如果我们把IPv6地址FE80::20C:29FF:FE0B:96B7还原成完整的IPv6地址应该是FE80:0000:0000:0000:020C:29FF:FE0B:96B7。

需要注意的是,在一个IPv6地址中只能使用一次双冒号“::”,否则当设备将“::”转变为0以恢复成128位地址时,将无法确定“::”所代表的0的个数。

f9d1ffc900e83c3f1bdbb13f410abbec.png

同时,我们也发现这两个IPv6地址都是以FE80打头的,这种属于链路本地地址,默认前缀为FE80::/10,二进制格式为:1111(F)1110(E)10(补上后面6位就是80),所以第一组数字范围介于FE80-FEBF的都是链路本地地址,主要用于实现与本链路上其他主机的通信,是不能作为全球单播地址使用的。类似的可以理解为IPv4地址里面的127.0.0.0/8

所以,不要单纯以为只有FE80打头的是,不信看下面这张图。

bb4c43b129392a9a2ae56b27f9f1557e.png

这里就提到了手工配置IPv6地址,从上图中可以看到,地址前缀的表示方式为:IPv6地址/前缀长度。其中,前缀长度是一个十进制数(取值范围为1-128),表示IPv6地址最左边多少位为地址前缀。

在手工配置IPv6地址时,需要配置地址前缀与接口标识。其中,地址前缀相当于IPv4地址中的网络号码字段部分,接口标识相当于IPv4地址中的主机号码部分。

以fe11::1703:1/120为例,地址前缀为fe11::1703:0/120,前缀长度为120,也可以称之为子网;接口标识为1,完整的接口标识为00000001(二进制)、01(十六进制)。

每个接口可以有多个IPv6地址,像下面这样。

193e0e033b71ef2437d2c0a64403d837.png

然后我们给另一台路由器配置一个本地地址,可以看到VSR2是没有全球单播地址的。

7cc42a27551aec1e0d669f7528dd7da5.png

然后我们测试一下两台主机的互通情况。

fe602a23534c891760a4b93ee8f04e82.png

简单理解一下,源IP地址和目的IP地址都必须为全球单播地址,主机间是无法通过链路本地地址进行通信的。

65a2259761481747dee0959ff2dc0957.png

查看IPv6路由表,可以看到FE80::/10的下一跳是本地,另一个特殊的::1/128就是本地环回地址,还有一个特殊的FF00::/8就是组播地址了。

手工配置IPv6地址的另一种方式是采用EUI-64格式,这也算是一种半自动的方式,其中接口的IPv6地址的前缀需要手工配置,而接口ID则由接口自动生成。

a0be1b70d3b7d3c5d08dc055e3bd8af5.png

看着后面这一串好长啊,其实接口ID是由MAC地址根据一定的规则生成,且此接口ID具有全球唯一性。

f23e5d8e466ed5661df4fd970af0e412.png

查看一下接口的MAC地址,可以发现采用EUI-64格式生成的IPv6地址的后6位和MAC地址是一致的,具体算法就不可得知了。但是接口ID由MAC地址产生,并且接口ID始终不变,这就存在了一定的安全隐患。

当接口下配置了多个全球单播地址时,手工配置的全球单播地址(包括采用EUI-64格式形成的全球单播地址)的优先级高于自动生成的全球单播地址。如果在接口已经自动生成全球单播地址的情况下,手工配置前缀相同的全球单播地址,不会覆盖之前自动生成的全球单播地址。如果删除手工配置的全球单播地址,设备还可以使用自动生成的全球单播地址进行通信。

好了,到这里你应该已经熟练掌握了IPv6地址的基本知识点,我们最后测试一下VSR1和VSR2的通信吧。

82e42a80d0238bc81a076c808c5923f4.png

可以看到,在进行ping测试时,会显示所使用的源地址信息。

ecf2a1c2cf81638830466bbfe14d481d.gif

长按二维码
关注我们吧

d4cca3e99547b1b897da69205ce22942.jpeg

fa569e4e69dd0597404c2be89352d898.png

硬盘空间大一点!再大一点!!

Android4也能跑Linux了,Linux Deploy了解一下!

一条100M宽带 + 一条200M宽带 = 300M,怎么就有人不信呢?

如果没有负载均衡,普通路由器怎么实现叠加两条宽带的带宽?

SRv6的网络编程实现

常用VPN性能对比测试(IPsec、L2TP VPN、SSL VPN、L2TP over IPsec等)

没想到啊,竟然万物皆可EVE-NG!

一篇能解决90%以上SSL VPN问题的武林秘籍

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Danileaf_Guo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值