计算机网络-IPv6地址规范与分类

昨天学习了IPv6的基础概念,了解了IPv6的由来以及地址格式,今天继续学习下IPv6的地址分类与表示。

一、IPv6地址缩写规范

IPv6地址的长度为128 bit。一般用冒号分割为8段,每一段16 bit,每一段内用十六进制表示。

IPv6地址格式
IPv6地址格式

那128bit的概念是怎样的?

  • IPv4地址数量为2^32次方=4294967296个地址
  • IPv6地址数量为2^128次方=2^96次数 * 2^32次方,夸张地说地球上每一粒沙子都可以分配一个IPv6地址

这里还涉及到一个十六进制的转换。

二进制是一种基数为2的数制系统,它仅使用两个符号(数字)来表示数值:0和1。在二进制中,每一位(bit)都有特定的权重,并且这些权重是以2的幂次方递增的,二进制是从右向左数,右边是低位。

十进制(Decimal)是我们日常生活中最常用的一种数制系统,其基数(base)为10,即逢10进1。在十进制中,每一位数的值由其所在的位置(称为位权)决定,并且可以用0到9这十个阿拉伯数字来表示任何数值,如0,1,2,3,4,5,6,7,8,9。

十六进制(Hexadecimal)是一种逢16进1的数制系统,广泛应用于计算机科学、数字电路设计等领域。它使用16个符号来表示数值,这些符号包括0到9的阿拉伯数字以及A到F的字母(其中A代表10,B代表11,C代表12,D代表13,E代表14,F代表15)。

十进制十六进制二进制
000
111
2210
3311
44100
55101
66110
77111
881000
991001
10A1010
11B1011
12C1100
13D1101
14E1110
15F1111

再以上面的地址示例:2001:0DB8:2345:CD30:1230:4567:89AB:CDEF

  • 每一段为16bit,但是只看到了4个数字,因此每个数字或字母表示4个bit,IPv6地址二进制换算:
  • 2001:2-->0010,0-->0000,0-->0000,1-->0001
  • 0DB8:0000 1101 1011 1000
  • 0010000000000001:0000110110111000:........

如果IPv6地址都写成128bit的方式表达是不是很难记得住地址呢?所以这里需要采用标准的缩写规范。

  • 每组16 bit的单元中的前导0可以省略,但是如果16 bit单元的所有比特都为0,那么至少要保留一个“0”字符;拖尾的0不能被省略。
  • 一个或多个连续的16 bit字符为0时,可用“::”表示,但整个IPv6地址缩写中只允许有一个“::”。
IPv6缩写规范
IPv6缩写规范

简单说就是每一段里面如果是左边有0可以省略,如果一段都是0可以缩写为:0:,如果有多段16bit都为0可以缩写为::,但是在一个地址中只能用一个::表示。

二、IPv6地址分类

根据IPv6地址前缀,可将IPv6地址分为为单播地址组播地址任播地址。IPv6没有定义广播地址(Broadcast Address)。在IPv6网络中,所有广播的应用层场景将会被IPv6组播所取代。

IPv6地址分类
IPv6地址分类

2.1 单播地址

单播地址(Unicast Address):标识一个接口,目的地址为单播地址的报文会被送到被标识的接口。IPv6的单播地址和IPv4的单播地址是一个意思,但是又有一些不同。

单播地址的类型:

  • 全球单播地址
  • 唯一本地地址
  • 链路本地地址
  • 环回地址:0:0:0:0:0:0:0:1/128 或者::1/128,与IPv4中的127.0.0.1作用相同
  • 未指定地址:0:0:0:0:0:0:0:0/128 或者::/128。该地址作为某些报文的源地址,比如作为重复地址检测时发送的邻居请求报文(NS)的源地址,或者DHCPv6初始化过程中客户端所发送的请求报文的源地址。

一个IPv6单播地址可以分为如下两部分:

  • 网络前缀(Network Prefix):n bit,相当于IPv4地址中的网络ID。
  • 接口标识(Interface Identify):(128-n)bit ,相当于IPv4地址中的主机ID。

常见的IPv6单播地址如全球单播地址、链路本地地址等,要求网络前缀和接口标识必须为64 bit。

单播地址格式
单播地址格式

网络前缀:

一般实际情况下,公网IPv6的网络前缀是运营商分配。 网络前缀

IPv6单播地址接口标识: 生成接口标识一般有几种方式:

  • 手工配置
  • 系统自动生成
  • 通过IEEE EUI-64规范生成

接口标识的长度为64 bit,用于标识链路上的接口。在每条链路上,接口标识必须唯一。接口标识有许多用途,最常见的用法就是黏贴在链路本地地址前缀后面,形成接口的链路本地地址。或者在无状态自动配置中,黏贴在获取到的IPv6全球单播地址前缀后面,构成接口的全球单播地址。

IEEE EUI-64规范生成接口标识
IEEE EUI-64规范生成接口标识
2.1.1 全球单播地址

GUA(Global Unicast Address,全球单播地址),也被称为可聚合全球单播地址。该类地址全球唯一,用于需要有互联网访问需求的主机,相当于IPv4的公网地址。

GUA
GUA
2.1.2 唯一本地地址

ULA(Unique Local Address,唯一本地地址)是IPv6私网地址,只能够在内网中使用。该地址空间在IPv6公网中不可被路由,因此不能直接访问公网。

ULA
ULA
2.1.3 链路本地地址

LLA(Link-Local Address,链路本地地址)是IPv6中另一种应用范围受限制的地址类型。LLA的有效范围是本地链路,前缀为FE80::/10。

LLA
LLA

就是全球单播地址类似于IPv4公网地址,全球唯一;唯一本地地址可以在公司内网使用,不能跨越路由器;链路本地地址,就是只在本地链路生效,一般情况下采用自动生成通过IEEE EUI-64规范。

2.2 组播地址

组播地址(Multicast Address):标识多个接口,目的地址为组播地址的报文会被送到被标识的所有接口。只有加入相应组播组的设备接口才会侦听发往该组播地址的报文。因为IPv6没有广播因此一些场景使用组播来实现。

IPv6组播地址标识多个接口,一般用于一对多的通信场景,IPv6组播地址只可以作为IPv6报文的目的地址。

  • Flags:用来表示永久或临时组播组。0000表示永久分配或众所周知,0001表示临时的。
  • Scope:表示组播组的范围。
  • Group ID:组播组ID。
组播地址
组播地址
组播地址格式
组播地址格式

以太网传输单播IP报文时,目的MAC是下一跳的MAC地址,但是在传输组播报文时需要使用组播MAC地址。

组播MAC地址
组播MAC地址

被请求节点地址: 当一个节点具有了单播或任播地址,就会对应生成一个被请求节点组播地址,并且加入这个组播组。该地址主要用于邻居发现机制和地址重复检测功能。被请求节点组播地址的有效范围为本地链路范围。

被请求节点地址
被请求节点地址

被请求节点组播组地址的应用场景举例:在IPv6中,ARP及广播都被取消,当设备需要请求某个IPv6地址对应的MAC地址时,设备依然需要发送请求报文,但是该报文是一个组播报文,其目的IPv6地址是目标IPv6单播地址对应的被请求节点组播地址,由于只有目标节点才会侦听这个被请求节点组播地址,所以该组播报文可以被目标节点所接收,同时不会占用其他非目标节点的网络性能。

简单说就是一个类似于广播地址,用于判断地址是否冲突等等。

2.3 任播地址

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

任播地址标识一组网络接口(通常属于不同的节点)。任播地址可以作为IPv6报文的源地址,也可以作为目的地址。

任播地址
任播地址

总结:今天知识比较多,主要学习了IPv6的地址缩写规范,二进制转换以及一些特殊地址。将IPv6地址分为为单播地址组播地址任播地址。IPv6没有定义广播地址(Broadcast Address)。在IPv6网络中,所有广播的应用层场景将会被IPv6组播所取代。单播地址包括:全球单播地址GUA、唯一本地地址ULA、链路本地地址LLA,因此在ipv6中一个接口可以拥有多个ipv6地址。每一个单播地址都会自动生成一个被请求节点的组播地址用于ARP功能,类似于广播地址。

如果对文章感兴趣欢迎微信搜索公众号:不喜欢热闹的孩子 不喜欢热闹的孩子

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/4354.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【kettle004】kettle访问本地MySQL数据库并处理数据至execl文件

一直以来想写下基于kettle的系列文章,作为较火的数据ETL工具,也是日常项目开发中常用的一款工具,最近刚好挤时间梳理、总结下这块儿的知识体系。 熟悉、梳理、总结下MySQL关系数据库相关知识体系 kettle访问MySQL数据库并处理数据至execl文件…

详解SPI、I2C、UART、I2S、GPIO、SDIO、CAN

总线,总线,总要陷进里面。这世界上的信号都一样,但是总线却成千上万,让人头疼。 总的来说,总线有三种:内部总线、系统总线和外部总线。内部总线是微机内部各外围芯片与处理器之间的总线,用于芯片一级的互连;而系统总线是微机中各插件板与系统板之间的总线,用于插件板一…

为什么要进行人脸识别?

人脸识别技术被广泛应用于各种场景和行业,其主要目的包括但不限于以下几点: 1. **安全验证**:人脸识别可以用作身份验证的一种方式,确保只有授权人员才能进入特定的区域或访问敏感信息。例如,用于解锁手机或电脑、进入…

Linux---为什么会有粘滞位?

在前面已经讲过目录的rwx权限: 可读权限(r): 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容. 有可写权限(w):如果目录没有可写权限,则无法在目录中创建文件, 也无法在目录中删除文件.可执行权限(x): 如果目录没有可执行权限, 则无法cd到…

D-Wave 推出快速退火功能,扩大量子计算性能增益

内容来源:量子前哨(ID:Qforepost) 文丨浪味仙 排版丨沛贤 深度好文:1400字丨6分钟阅读 摘要:量子计算公司 D-Wave 宣布在其 Leap™ 实时量子云服务中的所有量子处理单元 (QPU) 上推出新的快速退火功能。…

Java 网络编程之TCP(五):分析服务端注册OP_WRITE写数据的各种场景(二)

接上文 二、注册OP_WRITE写数据 服务端代码: import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.channels.SelectableChannel; import java.nio.channels.SelectionKey; import java.nio.channels.S…

RFC 6071: IP Security (IPsec) and Internet Key Exchange (IKE) Document Roadmap

![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/96882d1fb67b4383bc77c4dd421f7b

【一刷《剑指Offer》】面试题 10:二进制中 1 的个数

力扣对应题目链接:191. 位1的个数 - 力扣(LeetCode) 牛客对应题目链接:二进制中1的个数_牛客题霸_牛客网 一、《剑指Offer》内容 核心考点 :二进制计算。 二、分析问题 1、循环检查二进制位 可以直接循环检查给定数字…

Springboot实现国际化以及部署Linux不生效问题

1、在application.properties 添加以下配置: #国际化配置 spring.messages.basenamei18n/messages/messages spring.messages.fallback-to-system-localefalse 2、添加配置文件在 resources目录下 如下图所示: 这个国际化文件命名有个坑,必须…

胸部X光图像分类:因果视角

Chest X-ray Image Classification: A Causal Perspective 摘要 这篇论文提出了一种新的方法来处理胸部X射线(CXR)分类问题,将因果推理融入到基于深度学习的方法中。尽管近年来深度学习在CXR分类方面取得了许多进展,但确保这些算…

【接口测试】JMeter接口关联测试

‍‍1 前言 我们来学习接口管理测试,这就要使用到JMeter提供的JSON提取器和正则表达式提取器了,下面我们来看看是如何使用的吧。 2 JSON提取器 1、添加JSON提取器 在线程组右键 > 添加 > 后置处理器 > JSON提取器 2、JSON提取器参数说明 N…

在浏览器中查看Revit模型:原理及实现

Greg Schleusner AIA 有一天向我提到,业内许多人认为带有 SVF2 的 Autodesk Viewer 是建筑模型最强大、性能最强的在线查看器之一,并且想知道开源 VIM 查看器和格式如何比较。 可以使用NSDT 3DConvert的 Revit插件 上传你的模型并在线查看预览&#xff…

怎么通过PHP语言实现远程控制棋牌室

怎么通过PHP语言实现远程控制棋牌室呢? 本文描述了使用PHP语言调用HTTP接口,实现控制棋牌室,通过专用的包间控制器,来实现包间内所有电器以及门锁的独立控制。 可选用产品:可根据实际场景需求,选择对应的规…

BetterDisplay Pro for Mac:显示器校准软件

BetterDisplay Pro for Mac是一款出色的显示器校准软件,旨在提升你的视觉体验。它提供了准确的显示器参数调整,包括亮度、对比度、色温和色域等,让你的显示器呈现更真实、清晰、细腻的图像。此外,软件还提供多种预设模式和自定义选…

遥感雷达波段的原理及应用

雷达波段是不同波长的组。每一种都有其独特的穿透地球表面的能力。它们还可以揭示环境的不同方面。 雷达频段在电磁频谱内具有特定的频率范围。这些波段由 L-、S-、C- 和 X-波段等字母表示。稍后会详细介绍这一点。 什么是合成孔径雷达? 合成孔径雷达 (SAR) 是一…

后台图书管理系统:SSM整合开发案例

代码已经完善,文章内容会在后续补充 代码地址(https://javazhang.lanzn.com/ig8tf1wd2aba 密码:1234) 1.1 .SpringConfig 代码 Configuration ComponentScan({"com.itheima.service" }) PropertySource("classpath:jdbc.properties") Import({JdbcConfig…

【STM32+HAL】读取电池电量

一、准备工作 有关CUBEMX的初始化配置,参见我的另一篇blog:【STM32HAL】CUBEMX初始化配置 有关定时器触发ADC模式配置,详见【STM32HAL】ADC采集波形实现 有关软件触发ADC模式配置,详见【STM32HAL】三轴按键PS2摇杆 二、所用工具…

如何替代传统的方式,提高能源企业敏感文件传输的安全性?

能源行业是一个关键的基础设施领域,它涉及能源的勘探、开采、生产、转换、分配和消费。随着全球经济的发展和人口的增长,能源需求持续上升,这对能源行业的可持续发展提出了挑战。能源行业的传输场景多种多样,需要重点关注能源企业…

【热门话题】Chrome 插件研发详解:从入门到实践

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 Chrome 插件研发详解:从入门到实践一、引言二、Chrome 插件基础概念…

应用实战 | 别踩白块小游戏,邀请大家来PK挑战~

“踩白块会输”是一个简单的微信小程序游戏,灵感来自当年火热的别踩白块游戏,程序内分成三个模块:手残模式、经典模式和极速模式,分别对应由易到难的三种玩法,可以查看游戏排名。动画效果采用JS实现,小程序…