IPv6知识概述 - IPv6地址

2023-11-10

IPv6知识概述 - IPv6地址

IPv6地址表示

根据RFC4291,IPv6地址有3中格式:首选格式,压缩表示和内嵌IPv4地址的IPv6地址表示。

首选格式

IPv6的地址长度是128位(bit),将这128位的地址按每16位划分为一个段,将每个段转换成十六进制数字,并用冒号隔开,格式如下:

x:x:x:x:x:x:x:x 	(x表示一个4位十六进制数) 

典型的例子如下所示:
2000:0000:0000:0000:0001:2345:6789:ABCD
IPv6地址每段中的前导0是可以去掉的,但是至少要保证每一段有一个数字。将不必要的前导0去掉后,上述地址可以表示为:
2000:0:0:0:1:2345:6789:ABCD

压缩表示

当一个或多个连续的段内各位全为0时,为了缩短地址长度,用::(双冒号)表示,但是一个IPv6地址中只允许用一次,例如下列地址:
2000::1:2345:6789:abcd
FF01::101
::1
::

内嵌IPv4地址的IPv6地址表示

这是IPv4向IPv6过渡的一种特殊表示方法,在这种表示方法中,IPv6地址的第一部分使用十六进制表示,而IPv4地址部分是十进制格式:

x:x:x:x:x:x:d.d.d.d (d表示IPv4地址中的一个十进制数)

IPv6地址分类

IPv6地址整体上分为三类:单播地址,任播地址,组播地址。
单播地址:一个单播地址对应一个接口,发往单播地址的数据包会被对应的接口接收;
任播地址:一个任播地址对应一组接口,发往任播地址的数据包会被这组接口的其中一个接收,被哪个接口接收由具体的路由协议确定;
组播地址:一个组播地址对应一组接口,发往组播地址的数据包会被这组的所有接口接收;
在这里插入图片描述

单播地址

单播地址只能分配给一个节点上的一个接口,即寻址到该单播地址的数据报文最终会被发送到一个唯一的接口。单播地址可以分为链路本地地址,站点本地地址,可聚合全球单播地址等。

单播地址结构

一个主机接口上的128位IPv6单笔地址一般可以被看做成一个整体来代表这台主机,而当要表示这个主机上的接口所连接的网络时,将这个128位IPv6单播地址分成两部分来表示:
在这里插入图片描述其中各字段的含义如下:

  • Subnet Prefix:n位子网前缀,表示接口所属的网络。
  • Interface ID:接口标识,用以区分连接在一条链路上的不同接口。

可聚合全球单播地址

IPv6公网地址,可聚合全球单播地址前缀的最高3位固定为001,其结构如下图所示:
在这里插入图片描述其中各字段的含义如下:

  • Global Routing Prefix:全球可路由前缀,表示了站点所得到的前缀值。全球可路由前缀是由IANA下属的组织分配给ISP或其他机构的,前3位时001。该部分包含有严格的等级结构,用以区分不同地区,不同等级的机构或者ISP,便于路由聚合。
  • Subnet ID:子网ID,表示全球可路由前缀所代表的站点内的子网。
  • Interface ID:接口标识,用于表示链路上不同的接口,并具有唯一性。接口ID可以有设备随机生成或手动配置,在以太网中还可以按EUI-64格式自动生成。

链路本地地址

链路本地地址的应用范围受限,只能在连接到同一本地链路的节点之间使用。在IPv6邻居节点之间的通信协议中广泛使用了该地址,如邻居发现协议,动态路由协议等。
链路本地地址有固定的格式,如下图所示:
在这里插入图片描述链路本地地址由一个特定的前缀和接口ID两部分组成,它使用了特定的链路本地前缀FE80::/64,同事将接口ID添加在后面作为地址的低64位。
当一个节点启动IPv6协议栈时,节点的每个接口会配置一个链路本地地址。这种机制使得两个连接到同一链路的IPv6节点不需要做任何配置就可以通信。链路本地地址使用固定的前缀FE80::/64,接口ID部分使用EUI-64地址。

站点本地地址

站点本地地址是另一种应用范围受限的地址,它只能在一个站点内使用。目前已被废弃,不再使用。

唯一本地地址

唯一本地赋值的结构如下图所示:
在这里插入图片描述其中各字段的含义如下:
1)固定前缀为FC00::/7
2)L:表示地址的范围,如果取值为1,表示本地范围,0保留
3)Global ID:全球唯一前缀,随机方式生成
4)Subnet ID:划分子网时使用

唯一本地地址具有以下特性:
1)具有全球唯一前缀
2)可用于构建VPN
3)具有众所知周的前缀,边界路由器可以很容易对其过滤
4)其地址与ISP分配的地址无关,任何人都可以随意使用
5)一旦出现路由泄露,不会与Internet路由产生冲突,因为其是全球唯一的
6)在应用中,上层协议将其当成全球单播地址对待,简化上层协议

特殊地址

特殊地址主要有两类:未指定地址和环回地址。

  • 未指定地址
    全0,表示某一地址不可用,特别时在报文中的源地址为指定时使用。未指定地址不能用于目的地址。
  • 环回地址
    与IPv4的127.0.0.1功能相同,只在节点内部有效。当路由器收到目的地址是其环回地址的报文时,不能再向链路上转发。

IEEE EUI-64接口ID

EUI-64接口ID时IEEE定义的一种64位的扩展唯一标识符。目前IPv6单播地址基本上都要求接口标识符为64位。IEEE EUI-64格式的接口标识符是从接口的链路层地址(MAC地址)变化而来的。IPv6地址中的接口标识符是64位,而MAC地址是48位,因此需要在MAC地址的中间位置(从高位开始的第24位后)插入十六进制数FFFE(1111111111111110)。为了确保这个从MAC地址得到的接口标识符是唯一的,还要将Universal/Local (U/L)位(从高位开始的第7位)设置为“1”。最后得到的这组数就作为EUI-64格式的接口标识符。如下图所示:
在这里插入图片描述

组播地址

组播地址基本机构

所谓组播,是指一个源节点发送的单个数据报文能被特定的多个目的节点接收到。在IPv6网络中,组播地址有特定的前缀FF::/8来标识,其结构如下图所示:
在这里插入图片描述其中各字段含义如下:
1)Flgs(标志):该段有4位,|0|R|P|T|

  • Flgs的高1位为保留位,必须设置为0;
  • T位如果为置0表示永久分配或者是well-known组播地址,如果置1表示临时分配动态的地址,不固定。
  • P位如果置1的话表示此组播地址是一个基于单播前缀的ipv6组播地址,默认为0,如果P位设置为1,那么T位必须为1。
  • R位如果置1的话表示此组播地址是一个内嵌RP地址的ipv6组播地址,默认为0。

2)Scop(范围):该字段占有4位,用来限制组播数据流在网络中发送的范围。

  • 0 reserved
  • 1 Interface-Local scope–节点本地范围
  • 2 Link-Local scope–链路本地范围
  • 3 reserved
  • 4 Admin-Local scope-管理本地范围
  • 5 Site-Local scope–站点本地范围
  • 6 (unassigned)
  • 7 (unassigned)
  • 8 Organization-Local scope-组织本地范围
  • 9 (unassigned)
  • A (unassigned)
  • B (unassigned)
  • C (unassigned)
  • D (unassigned)
  • E Global scope–全局范围的
  • F reserved

3)Group ID(组ID):该字段长度为112位,用以标识组播组。

被请求节点组播地址

在IPv6组播地址中,有一种特别的组播地址,被称为请求节点组播地址(Solicitted-node Address)。被请求节点组播地址时一种具有特殊用途的地址,主要用于在重复地址检测和获取邻居节点的链路层地址时,代替IPv4中使用的广播地址。
被请求节点组播地址由前缀FF02::1:FF00::/104和单播地址的最后24位组成,如下图所示:
在这里插入图片描述对于节点或路由器的接口上配置的每个单播和任播地址,都自动启用一个对应的被请求节点组播地址。被请求节点组播地址使用范围为链路本地。

众所周知的组播地址

IPv6具有一些众所周知的组播地址,他们具有特殊的含义,如下表所示:

组播地址 范围 含义 描述
FF01::1 节点 所有节点 在本地接口范围的所有节点
FF01::2 节点 所有路由器 在本地接口范围的所有路由器
FF02::1 链路本地 所有节点 在本地链路范围的所有节点
FF02::2 链路本地 所有路由器 在本地链路范围的所有路由器
FF02::5 链路本地 OSPF路由器 所有OSPF路由器组播地址
FF02::6 链路本地 OSPF DR路由器 所有OSPF的DR路由器组播地址
FF02::9 本地链路 RIP路由器 所有RIP路由器组播地址
FF02::13 本地链路 PIM路由器 所有PIM路由器组播地址
FF05::2 站点 所有路由器 在一个站点范围内的所有路由器

任播地址

IPv6特有的地址类型,用于标识一组网络接口。但是与组播地址不同,路由器会将目的地址为任播地址的数据报文,发送给距本路由器最近的一个网络即可。任播适合于“One-to-One-of-Many”的通信场合,接收方只要时一组接口中的任意一个即可。
任播地址从单播地址空间中进行分配,使用单播地址的格式。仅通过地址本身,节点时无法区分任播地址和单播地址的,所以,节点必须使用明确的配置而知名它是一个任播地址。目前,任播地址仅被用做目的地址,且仅分配给路由器。

接口上的IPv6地址

IPv6的一个优点就是在节点的一个接口上可以配置多个IPv6地址,包括单播地址,组播地址等。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IPv6知识概述 - IPv6地址 的相关文章

  • 第八章 确认访问用户身份的认证

    第八章 确认访问用户身份的认证 8 1 何为认证 在计算机安全和网络通信的背景下 认证是 确认实体 如用户 计算机系统 服务 身份真实性的过程 认证是确保系统只对合法用户或实体开放访问权限的一种关键机制 在网络通信中 认证通常涉及验证用户或
  • 分辨公网IP和内网IP的方法

    公网IP一般就是对外的访问地址 内网IP就是对内的访问地址 两者的使用范围是不一样的 那如果区分客户网络的IP地址是公网IP地址还是内网IP地址呢 公网IP的地址范围是很广泛的 我们可以先了解下内网IP 因为内网IP的地址段相对是局限的 一
  • 【网络安全】00后程序员,找 Bug 赚了 6,700,000元!他是怎么挖洞致富的?

    19岁 很多人正是上大学 仍伸手向父母要生活费的年纪 可有一位 00 后阿根廷少年 Santiago Lopez 靠自学成才 赚取了 100 万美元 折合人民币约 670 万元 的 Bug 赏金 成为世界上第一个白帽黑客的百万富翁 美元 少
  • 通过一个寒假能学会黑客技术吗?看完你就知道了

    一个寒假能成为黑客吗 资深白帽子来告诉你 如果你想的是学完去美国五角大楼内网随意溜达几圈 想顺走一点机密文件的话 劝你还是趁早放弃 但是成为一名初级黑客还是绰绰有余的 你只需要掌握好渗透测试 Web安全 数据库 搞懂web安全防护 SQL注
  • 广告竞价策略:激发广告变现潜能的关键

    在数字化时代 广告已经成为企业推广品牌 产品和服务的关键手段之一 为了最大程度地发挥广告的效果 广告竞价策略成为广告主和数字营销专业人士关注的焦点 通过巧妙运用竞价策略 广告主可以在激烈的市场竞争中脱颖而出 实现广告变现的潜能 admaoy
  • 网络基础面试题(二)

    11 什么是网桥 防火墙的端口防护是指什么 网桥是一种网络设备 用于连接两个或多个局域网 LAN 并转发数据包 它能够根据MAC地址来识别和转发数据 提高网络的传输效率和安全性 防火墙的端口防护是指对防火墙上的各个端口进行保护和限制 只允许
  • 浅谈能耗系统在马来西亚连锁餐饮业的应用

    1 背景信息 Background 针对连锁餐饮业能耗高且能源管理不合理的问题 利用计算机网络技术 通讯技术 计量控制技术等信息化技术 实现能源资源分类分项计量和能源资源运行监管功能 清晰描述各分店总的用能现状 实时监测各供电回路的电压 电
  • 网络空间安全女生就业,怎么学?

    我实验室的学长们基本都是以红队和复现为主 如果学校好点可能还有更多的选择 如果想在这个方向深入下去 推荐流程是先打两年CTF 把大概的技术方向摸一摸 大一的话 如果学校还不错 那就优先建议打好基础 包括C语言 Python一类 建议把CTF
  • 基于成本和服务质量考虑的不确定性下,电动汽车充电网络基础设施需求预测和迭代优化的分层框架研究(Python代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Python代码 数据
  • WEB前端常见受攻击方式及解决办法总结

    一个网址建立后 如果不注意安全问题 就很容易被人攻击 下面讨论一下集中漏洞情况和放置攻击的方法 一 SQL注入 所谓的SQL注入 就是通过把SQL命令插入到web表单提交或输入域名或页面请求的查询字符串 最终达到欺骗服务器执行恶意的SQL命
  • 【网安神器篇】——WPScan漏洞扫描工具

    目录 一 Wordpress简介 二 WPScan介绍 三 安装 四 获取token 1 注册账号 2 拿到token 五 使用教程 1 常用选项 2 组合命令 1 模糊扫描 2 指定扫描用户 3 插件漏洞扫描 4 主题漏洞扫描 5 Tim
  • 网络安全(黑客)自学启蒙

    一 什么是网络安全 网络安全是一种综合性的概念 涵盖了保护计算机系统 网络基础设施和数据免受未经授权的访问 攻击 损害或盗窃的一系列措施和技术 经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 作
  • 网络安全基础知识面试题库

    1 基于路由器的攻击手段 1 1 源IP地址欺骗式攻击 入侵者从外部传输一个伪装成来自内部主机的数据包 数据包的IP是 内网的合法IP 对策 丢弃所有来自路由器外端口 却使用内部源地址的数据包 1 2 源路由攻击 入侵者让数据包循着一个不可
  • 网络安全(黑客)自学启蒙

    一 什么是网络安全 网络安全是一种综合性的概念 涵盖了保护计算机系统 网络基础设施和数据免受未经授权的访问 攻击 损害或盗窃的一系列措施和技术 经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 作
  • 使用C++对ipv6地址进行比较运算

    由于 IPV6 地址有 16 个字节 并且它们没有数据类型可以在 C 中存储它 我想存储 IPV6 地址 并在 IPv6 地址之间进行一些比较 请让我知道该怎么做 您可以将它们存储为普通数组unsigned char就像你在 C 中所做的那
  • 使用 PHP 检查 IPv4/IPv6 地址是否已启动

    我有一个 IPv4 地址 前任 172 19 20 21 我曾经这样做过 fs fsockopen ip port errno errstr 3 if fs error SSC is down return Redirect to gt w
  • PHP:如何检测 IPv6 是否在 IPV6 范围内?

    我有一个 ipv6 范围 但我不知道如何检测 SERVER REMOTE ADDRESS 是否在 ipv6 范围内 需要帮忙 谢谢 检查地址是否在范围内的最简单方法是将地址和范围限制转换为二进制 然后使用普通的比较运算符 first in
  • 如何更改 IPV6 地址的字节顺序(从网络到主机,反之亦然)?

    我知道ntoh s l and hton s l 适用于 2 和 4 字节的整数 现在 我面临着转换 16 个字节长的 IPv6 地址的问题 是否有用于此目的的现成函数 TIA Jir 我不确定ntoh and hton与 IPv6 相关
  • 匹配有效 IPv6 地址的正则表达式

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 我在编写匹配有效 IPv6 地址的正则表达式时遇到问题 包括压缩形式的地址 使用 或从每
  • Python 中的反向 DNS 查找

    如果我有一个类似 2001 4860 4860 8888 的 IP 地址 如何获得 foo ip6 arpa 格式的完全限定域名 编辑 到目前为止 两个解决方案都给了我 google public dns a google com 也许反向

随机推荐

  • 用Linux搭建chrony服务器同步时间

    准备工作 在准备之前需要准备两台虚拟机 一台当做服务器使用 另一台当作虚拟机客户端使用 具体方法 鼠标右键某一个虚拟机 gt 点击管理 gt 点击克隆 提示 克隆好虚拟机后 记得修改主机名和IP地址 不然就和第一台冲突了 修改IP地址 使用
  • Tomcat源码:CoyoteAdapter、Valve#invoke、ApplicationFilterChain

    前文 Tomcat源码 启动类Bootstrap与Catalina的加载 Tomcat源码 容器的生命周期管理与事件监听 Tomcat源码 StandardServer与StandardService Tomcat源码 Container接
  • 通过百度驾车API计算一天的总行程

    前提 我们在校车上安装了GPS定位器 每5秒发送一次GPS信息到服务器后台 表结构是这个样子的 名称 行驶日志表 代码 log bus drive 注释 维护行驶日志记录 名称 代码 数据类型 限定 注释 主键 bus drive id l
  • Linux简答

    1 静态库和动态库 2 gcc编译四个阶段 预处理 编译 汇编和链接 标准I O提供了三种类型的缓冲 分别是 单缓冲 双缓冲 循环缓冲 3 Vim的三种模式 命令模式 插入模式 底行模式 i键 进入编译模式 ctrl v 进入可视模式 ES
  • 并发编程系列之volatile内存语义

    前言 前面介绍顺序一致性模型时 我们提到了程序如果正确的同步就会具备顺序一致性 这里所说的同步泛指广义上的同步 其中包括就包括同步原语volatile 那么volatile声明的变量为什么就能保证同步呢 这又是如何实现的呢 今天就让我们一起
  • js混淆与反混淆

    介绍几种js混淆方式 1 eval混淆 js中的eval 方法 就是一个js语言的执行器 它能把字符串解析成javascript的语法进行执行 简单来说就是把原本的js代码当成eval方法的参数 据说此方法出来的第一天就被破解了 修改一下代
  • 用java实现数组单元素操作

    题目 1 如果字符串中的字符为大写字母 则转换为小写字母 2 如果字符串中的字符为小写字母 则直接输出 3 如果字符串中的字符不是字母 则过滤掉 首先明确如何输入字符数组 import java util Scanner class put
  • Web项目中使用容器对象

    要是使用Maven构建项目 首先需要加入Maven依赖
  • 以太坊的RPC机制

    1 go语言的RPC机制 RPC Remote Procedure Call 远程过程调用 是一种通过网络从远程计算机程序上请求服 务 而不需要了解底层网络细节的应用程序通信协议 RPC协议构建于TCP或UDP 或者是 HTTP 之上 允许
  • linux set o,Linux Set 和 shopt 命令

    用set命令可以设置各种shell选项或者列 出shell变量 单个选项设置常用的特性 在某些选项之后 o参数将特殊特性打开 在某些选项之后使用 o参数将关闭某些特性 不带任何参数的set命 令将显示shell的全部变量 除非遇到非法的选项
  • 报这样的错误 error: #35: #error directive: "Please select first th 解决方法

    右键点击工程名 选择第一个options for target 下面选择C C 在define文本框中输入 USE STDPERIPH DRIVER STM32F10X MD MD根据你选择的机种更换为LD或HD
  • 暴击事件

    在许多场景中 我们可能会遇到需要处理一种快速多次触发某事件 并处于某种阈值时 执行某一指定操作 例如 双击 即快速按鼠标左键两次 或更多击 连按键盘某键 某方法被执行数次等 其中 双击有对应的事件可以注册 然而 更多的情况是没有的类似事件方
  • JS中'true'==true为什么返回false

    相等操作符在转换不同的数据类型时 相等和不相等操作符遵循下列基本规则 如果有一个操作数是布尔值 则在比较相等性之前先将其转换为数值 false转换为0 而true转换为1 如果一个操作数是字符串 另一个操作数是数值 在比较相等性之前先将字符
  • OLED拼接屏连接方法,需要注意哪些事项?

    OLED拼接屏是由多个OLED屏幕拼接而成的大屏幕 可以用于展示大型广告 信息发布 舞台背景等场合 在拼接OLED屏幕时 需要注意接法 以确保整个屏幕的显示效果和稳定性 首先 需要选择合适的OLED屏幕 一般来说 拼接屏幕的每个单元都应该是
  • PHP 23种设计模式

    设计模式的目的 重用性 相同功能的代码 不用多次编写 可读性 编程规范性 便于其他程序员的阅读和理解 可扩展性 当需要增加新的功能时 非常的方便 称为可维护 可靠性 当我们增加新的功能后 对原来的功能没有影响 使程序呈现高内聚 低耦合的特性
  • redis 3.0的集群部署

    文章转载自 http hot66hot iteye com blog 2050676 转载请注明出处 http hot66hot iteye com admin blogs 2050676 最近研究redis cluster 正好搭建了一个
  • 使用ChatGPT的gpt-3.5-turbo模型, PHP接入代码

  • CAN 总线通信 简要概括

    CAN 通信总线协议 简要概括 CAN 介绍 CAN 类型 高速 CAN 低速 CAN CAN 总线系统结构 CAN bus通信帧 CAN 基本数据帧结构 CAN 硬件设计 CAN 介绍 CAN Controller Area Networ
  • 2022年Python面试题汇总【面试官爱问】

    2022年Python面试题汇总 常问 1 请你讲讲python获取输入的方式 以及python如何打开文件 2 Python数据处理的常用函数 3 请你说说python传参传引用 4 请你说说python和java的区别 5 Python
  • IPv6知识概述 - IPv6地址

    IPv6知识概述 IPv6地址 IPv6地址表示 根据RFC4291 IPv6地址有3中格式 首选格式 压缩表示和内嵌IPv4地址的IPv6地址表示 首选格式 IPv6的地址长度是128位 bit 将这128位的地址按每16位划分为一个段