IPv6的地址类型

IPv6地址总长度为128bit,被分为8组,每组为4个十六进制数,用冒号分隔:

例如:FC00:0123:4567:8901:ABFD:0987:0000:0023

可缩写为:FC00:0123:4567:8901:ABFD:0987::23

IPv6中取消了v4中的广播,新增了任意播

😈单播地址:

标识一个接口,目的地址为单播地址的报文会发送到被标识的的接口,且在V6,一个接口能够配置多个地址,并不是v4中的子地址

全局单播地址:

单播地址由前缀、子网ID和接口标识组成

前缀对应v4中网络位,接口ID对应主机位

全局路由前缀:这是运营商给分配的,一般只用48bit

子网:拿到全局路由前缀,可以用子网ID来划分子网,一般子网ID使用18bit,类似v4的子网划分,预留64bit主机位

主机位:用于标识一个设备

链路本地地址(一个广播域内):

当配置v6地址将自动生成一个链路本地地址,该地址专本用来和相同链路上的其他主机通信,每一个ipv6接口都必须具备一个本地链路地址

前10比特固定为FE8,后64位直接将接口ID(单播地址的主机位)填到这里

第一组数化为2进制是这样的(1111 1110 10|xx xxxx)所以像FEB0::也是链路地址

FEB0 =(1111 1110 10|11 0000)前十位不能变后面随便变

唯一本地地址:

唯一本地地址,概念上类似于IPv4中的私网地址,仅能够在本地网络使用,在IPv6Internet上不可被路由。

特殊单播地址:

未指定地址:

0:0:0:0:0:0:0:0/128 或者 ::/128。

该地址作为某些报文的源地址,比如作为重复地址检测时发送的邻居请求报文(NS)的源地址,或者DHCPV6初始化过程中客户端所发送的请求报文的源地址。

环回地址:

0:0:0:0:0:0:0:1/128 或者::1/128.

与IPv4中的127.0.0.1作用相同,用于本地回环,发往:/1的数据包实际上就是发给本地,可用于本地协议栈回环测试。

接口标识的生成方法(主机位):

手工配置:建议在服务器和重要的网络设备上

系统通过软件自动生成:保护主机的私密性

根据 IEEE EUI-64规范自动生成(最常见)

EUI-64是如何产生主机位的?

主要是依靠mac地址,但mac地址只有48位该怎么拓展到64位呢?

通过在mac地址中间插入FFFE来补充却是的16位,注意mac地址的第7个bit要取反

比如:

mac:0012-3400-ABCD

mac二进制:0000 0000 0001 0010 - 0011 0100 0000 0000 - 1010 1011 1100 1101

转化为主机地址,第7bit取反↓

0000 0010 0001 0010 - 0011 0100 (1111 1111 1111 1110) 0000 0000 - 1010 1011 1100 1101

↑(FFFE)↑

EUI-64接口地址:0215:34FF:FE00:ABCD

至此成功将mac转为ip地址:

0012-3400-ABCD --->0215:34FF:FE00:ABCD

👿组播地址:

标识多个交口,目的地址为组播地址的报文会被送到被标示的所有接口,只有加入组播组的设备才会处理本报文

地址范围:FF:: / 8(由FF开头的)

开头后4个bit的1/0代表临时组播/永久组播

再后4为代表组播的范围具体看图片

还有一些预定义的组播地址:

节点范围内:

FF01::1 所有节点的组播地址

FF01::2 所有路由器的组播地址

链路范围内:

FF02::1 所有节点的组播地址

FF02::2 素有路由器的组播地址

FF02::1:FFXX:XXXX(后24比特根据地址填写) 被请求节点组播地址

FF02::5 OSFP路由器组播地址

FF02::6 OSPF的DR路由器组播地址

FF02:😄 所有PIM路由器组播地址

IPV6组播对应的组播MAC

当发送组播时,不光ip地址要是组播地址,MAC地址也要时组播地址,那要如何映射呢?

IPv6组播mac地址要以33-33开头,后32bit用对应的组播IPv6地址填充,如:

ipv6组播:   FF02:0000:0000:0000:0000:0000:0000:0001

对应的组播mac:33-33-00-00-00-01

😡任播地址:

任播地址标识一组网络接口(通常属于不同的节点)。目标地址是任播地址的数据包将发送给其中路由意义上最近的一个网络接口。(任意播地址只能作为目标地址,不能作为源地址)

相关推荐
路溪非溪11 分钟前
Wireshark抓取以太网MAC帧并进行分析
linux·网络·驱动开发·wireshark
阿正的梦工坊11 分钟前
JavaScript 函数组合(Compose & Pipe)详解
开发语言·javascript·网络
rainbow72424415 分钟前
AI学习路线分享:通用型认证与算法认证学习体验对比
人工智能·学习·算法
夜瞬22 分钟前
NLP学习笔记10:Transformer 架构——从编码器、解码器到自注意力
笔记·学习·自然语言处理
像一只黄油飞27 分钟前
第二章-04-数据类型
笔记·python·学习·零基础
liulian091629 分钟前
【Flutter For OpenHarmony】Flutter 三方库 flutter_local_notifications 的鸿蒙化适配指南
flutter·华为·学习方法·harmonyos
elseif12329 分钟前
初学者必背【考点清单(大全)】【上篇】
开发语言·c++·笔记·学习·循环结构·分支结构·考纲
234710212732 分钟前
4.17 学习笔记
开发语言·软件测试·笔记·python·学习
heimeiyingwang35 分钟前
【架构实战】Docker容器网络模型详解
网络·docker·架构
red_redemption1 小时前
自由学习记录(167)
学习·pawn是客体·pcontroller是主体·world是概念体