当前位置: 首页 > news >正文

IPv6地址分类,EUI-64转换规则

      1、可聚合的单全球单播地址Global Unique Address:

      Aggregate global unicast address,前3位是001,即2000::/3,目前IANA已经将一部分可聚合全球单播进行了专门使用,如:2001::/16用于IPV6互联网,2002::/16用于6to4网络

      对于地址的IPV6全球单播地址的划分:3.14(Pi法则)
      3:代表全球路由前缀为3个16位组,即48bit。
      1:代表子网ID部分为1个16位组,即16bit。
      4:代表接口ID部分为4个16位组,即64bit。

      2、链路本地地址:link-local address

      前缀:FE80::/10
      范围:只能在本地链路使用,不能在子网间路由

      3、站点本地地址:site-local address

      IPV6的私网地址,就像IPV4中的私网保留地址一样
      前缀:FD00::/8 其后的56比特用于子网ID 最后64位用于主机ID
      范围:只能在本站点内使用,不能在公网上使用
      如:在本地分配十个子网
      1、FD00:0:0:0001::/64
      2、FD0:0:0:0002::/64
      3、FD0:0:0:0003::/64

      4、组播地址:Multicast

      IPV6中没有广播,用组播来代替,对应于一组接口的地址,且这些接口分属于不同的节点,会被每个接口接收,前8位为1,前缀:FF00::/8         
         1111    1111        4bit           4bit        112bit
     |→固定值←||→标志←| |→范围←|→组ID←|
标志位为0000表示是永久保留的组播地址,分配给各种技术使用,标志位为0001表示是用户可使用的临时组播地址
范围段定义了组播地址的范围,其定义如下:
         十六进制         范围类型
          FF01::1        本地接口范围内
          FF01::2        本地接口范围内
          FF01::3        本地子网范围
          FF01::4        本地管理范围
          FF01::5        本地站点范围  类似组播的私网地址
          FF01::8        组织机构范围
          FF01::E        全球范围  类似组播的公网地址
下面是一些组播指定地址:
FF02::1    all nodes   在本地接口范围的所有节点组播地址
FF02::2    all routers 在本地链路范围的所有路由器组播地址
FF02::5    all ospf routers
FF02::9    all rip routers 所有运行RIP的路由器
FF02::A    all eigrp routers 所有运行eigrp的路由器
FF05::2    在一个站点范围内的所有路由器

测试:路由器上可ping一下组播地址:ping ipv6 ff02:::1

    b.被请求节点的组播地址solicited-node multicast address

      还有一种被请求节点的组播地址solicited-node multicast address,它的前104位是固定的,即:FF02::1:FF00:0000/104,后面24位是单播或者任播的低24位地址。主要用于替代IPv4的ARP来获取邻居的MAC以生成邻居表,并用在局域网中进行地址冲突检测。一种特殊的组播地址,对于节点或路由器的接口上配置的每个单播和任意播地址,都会自动生成一个对应的被请求节点组播地址。注意link-local address也会生成一个被请求节点的组播地址。

FF02::1:FF00:1        全球单播地址对应的被请求节点的组播地址

FF02::1:ff00:300        本地链路单播地址对应的被请求节点的组播地址

工作范围:只在本地链路上有效
特点:1、在本地链路上,被请求节点的组播地址组中通常只包含一个用户
      2、只要知道一个节点的IPV6地址,就能计算出它的被请求节点的组播地址
作用:1、在IPV6中,没有ARP。ICMP代替了ARP的功能,被请求节点的组播地址被节点用来获得相同本地链路上邻居节点的链路层地址
      3、用于重复地址检测DAD,在使用无状态自动配置将某个地址配置为自已的IPV6地址之前,节点利用DAD
         验证在其本地链路上该地址是否已经被使用。
前缀:FF02:0000:0000:0000:0000:0001:FFxx:xxxx/104
      FF02::1:FFxx:xxxx/104
如何产生:被请求节点组播地址的前104位固定,将IP地址的后24位移下来填充到后面就可以了
   例如:IPv6---2001::1234:5678/64
   被请求节点组播地址---FF02::1:FF34:5678/104
   其中FF02::1:FF为固定部分,共104位
组播IP地址到MAC地址的映射:
映射规则:组播MAC地址的前16位固定为0x3333,将组播IPV6地址的后32位直接映射到组播MAC地址的后32位就可以了。
例:IPV6地址为--FF12::1234:5678/64
    对应的组播MAC地址为--3333:1234:5678
    0x3333为固定前缀
例:所有节点的组播地址:FF02::0001
    对应的组播MAC地址:3333:0000:0001

      c.组播地址到MAC地址的映射:

      组播地址是在网络层中应用,在以太网中,还需要链路层来封装传输数据帧,所以需要将组播地址映射成MAC地址。IPv4中,其映射关系是前24位固定为0100.5E,第25位为0,然后再加上组播地址的低23位。而在IPv6中,映射关系是前16位固定为3333,再加上组播地址的低32位,构成了48位MAC地址。如组播地址为FF02::1111:AAAA:BBBB,则对应的MAC地址为3333.AAAA.BBBB。

      5、任播地址Anycast address:

      若某个数据包的目标地址是任播地址,该数据包将被发送到路由意义上最近的一个网络接口,即one-to-nearest(一到近)模式,如:Mobile方面的特性,移动设备漫游到其他区域,不必接入原始的接入点,只需要找到最近的即可。用于表示一组不同节点的接口。

      为了和单播地址区分,任播地址一般约定64位接口ID为全0。与IPv4不同,全0的网络地址和全1的广播地址不能分配给设备使用在,而IPv6主机位全是0的任播地址和全1的地址是能供设备使用的。


       6、必须的IPV6地址:

      一旦节点启用IPV6,那么接口就会自动生成下列地址
      1、本地链路地址
      2、回环地址::1
      3、所有节点多播地址FF02::1
      4、如果是路由器,还会有FF02::2
      5、被请求节点的组播地址
      注意:串口和loopback口会借用以太口的MAC地址来生成link-local地址。

      7、内嵌入IPv4的兼容地址:

      过渡技术一般分为三类:双协议栈技术、协议转换技术、隧道技术,其中双协议栈一般用于在IPv4网络中建立IPv6自动隧道,从而将IPv6孤岛连接起来,在IPv6侧使用兼容地址,IPv4侧提取兼容地址中的v4地址信息,构建IPv4报头,然后对IPv6进行封装。常见的兼容地址有:::FFFF/96+32位IPv4;6to4使用2002:IPv4:子网ID:接口ID;ISATAP隧道使用固定前缀:0000:5EFE:IPv4

      8、EUI-64:Exteded Unique Interface-64

      EUI-64 地址使用 U/L 和 I/G 位的方式与 IEEE 802 地址相同,用于网络适配器的传统接口标识可使用称为 IEEE 802 地址的 48 位地址。此地址由 24 位公司 ID(也称为制造商 ID)和 24位扩展ID(也称为底板 ID)组成。

      公司 ID(唯一指派给每个网络适配器的制造商)和底板 ID(在装配时唯一指派给每个网络适配器)的组合,即可生成全局唯一的 48 位地址。这个 48 位地址也称为物理地址、硬件地址或媒体访问控制(MAC) 地址。

      从图中看出:就是先把前24位的公司ID和后24位扩展ID中间插入了FFFE,再把第7位反转,使48位变成了64位,从原来MAC地址的三组变成了4组。

       但在Windows中,为了私密性,不使用EUI-64转换规则,将接口ID随机化了我们看到随机标识符是enabled:

netsh interface ipv6 show global

      启用EUI-64,可以用以下命令(管理员模式下运行):

netshell interface ipv6 set global randomizeidentifiers=disable store=persistent

      华为交换机上启用eui-64并配置IP地址:

ipv6 enable
ipv6 address 2001::1/64 eui-64
ipv6 address FE80::1 link-local
dis ipv6 interface G0/0/0

相关文章:

IPv6地址分类,EUI-64转换规则

1、可聚合的单全球单播地址Global Unique Address: Aggregate global unicast address,前3位是001,即2000::/3,目前IANA已经将一部分可聚合全球单播进行了专门使用,如:2001::/16用于IPV6互联网,…...

Nginx安装部署

什么是Nginx? Nginx(发音同engine x)是一款由俄罗斯程序员Igor Sysoev所开发轻量级的网页服务器、反向代 理服务器以及电子邮件(IMAP/POP3)代理服务器。 Nginx 因具有高并发(特別是静态资源)、 占用系统资…...

物联网|按键实验---学习I/O的输入及中断的编程|读取I/O的输入信号|中断的编程方法|轮询实现按键捕获实验-学习笔记(13)

文章目录 实验目的了解擒键的工作原理及电原理图 STM32F407中如何读取I/O的输入信号STM32F407对中断的编程方法通过轮询实现按键捕获实验如何利用已有内工程创建新工程通过轮询实现按键捕获代码实现及分析1 代码的流程分析2 代码的实现 Tips:下载错误的解决 实验目的 了解擒键…...

Hadoop-HDFS的Namenode及Datanode(参考Hadoop官网)

HDFS有什么特点,被设计做什么 Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。有一下几个特点: HDFS是一个高度容错性的系统,具有高容错、高可靠性、高扩展性的特点,适合部…...

C:通过alarm发送信号

可以通过alarm定时发送SIGALRM信号&#xff1a; #include <unistd.h> unsigned int alarm(unsigned int seconds); alarm()函数用来在seconds秒之后安排发送一个SIGALRM信号&#xff0c;如果seconds为0&#xff0c;将取消所有已设置的闹钟请求。alarm()函数的返回值是以前…...

如何将 dubbo filter 拦截器原理运用到日志拦截器中?

业务背景 我们希望可以在使用日志拦截器时&#xff0c;定义属于自己的拦截器方法。 实现的方式有很多种&#xff0c;我们分别来看一下。 拓展阅读 java 注解结合 spring aop 实现自动输出日志 java 注解结合 spring aop 实现日志traceId唯一标识 java 注解结合 spring ao…...

【java】【maven】【基础】MAVEN安装配置介绍

目录 1 下载 2 安装-windows为例 3 配置环境变量 3.1 JAVA_HOME 3.2 MAVEN_HOME 3.3 PATH 3.4 验证 4 MAVEN基础概念 4.1 仓库概念 4.2 坐标概念 4.2.1 打开网址 4.2.2 输入搜索内容junit 4.2.3 找到对应API名称点击 4.2.4 点击对应版本 4.2.5 复制MAVEN坐标 4.3 配置…...

【C语言进阶】指针的高级应用(下)

文章目录 一、指针数组与数组指针1.1 指针数组与数组指针的表达式 二、函数指针2.1 函数指针的书写方式 三、二重指针与一重指针3.1 二重指针的本质3.2 二重指针的用法3.3 二重指针与数组指针 总结 一、指针数组与数组指针 (1)指针数组的实质是一个数组&#xff0c;这个数组中存…...

【uniapp APP隐藏顶部的电量,无线,时间状态栏与导航栏】

uniapp APP隐藏顶部的电量&#xff0c;无线&#xff0c;时间状态栏 如下代码配置&#xff08;在一个页面设置这个段代码&#xff0c;所有页面都会消失&#xff09; onShow() {// #ifdef APP-PLUS// 隐藏顶部电池,时间等信息 plus.navigator.setFullscreen(true);//隐藏虚拟按…...

微信小程序前后页面传值

微信小程序前后页面传值 从前一个页面跳转到下一个页面&#xff0c;如何传递参数&#xff1f;从后一个页面返回前一个页面&#xff0c;如何回调参数&#xff1f; 向后传值 从前一个页面跳转到下一个页面并传值。 前页面&#xff1a;在跳转链接中添加参数并传递 wx.navigat…...

没有jodatime,rust里怎么比较两个日期(时间)的大小呢?

关注我&#xff0c;学习Rust不迷路&#xff01;&#xff01; 在 Rust 中&#xff0c;比较两个日期的大小有多种方法。以下是列举的四种常见方法&#xff1a; 1. 使用 PartialOrd trait&#xff1a; use chrono::prelude::*;fn main() {let date1 NaiveDate::from_ymd(2022,…...

【雕爷学编程】Arduino动手做(186)---WeMos ESP32开发板18

37款传感器与模块的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&#x…...

C语言假期作业 DAY 14

一、选择题 1、有以下函数&#xff0c;该函数的功能是&#xff08; &#xff09; int fun(char *s) {char *t s;while(*t);return(t-s); } A: 比较两个字符的大小 B: 计算s所指字符串占用内存字节的个数 C: 计算s所指字符串的长度 D: 将s所指字符串复制到字符串t中 答案解析 …...

Maven-生命周期及命令

关于本文 ✍写作原因 之前在学校学习的时候&#xff0c;编写代码使用的项目都是单体架构&#xff0c;导入开源框架依赖时只需要在pom.xml里面添加依赖&#xff0c;点一下reload按钮即可解决大部分需求&#xff1b;但是在公司使用了dubbo微服务架构之后发现只知道使用reload不足…...

常温超导:AI在研发中的潜力

目录 引言&#xff1a;1. 常温超导的挑战&#xff1a;2. AI在材料研究中的作用&#xff1a;3. AI在理论模型中的作用&#xff1a;4. AI与实验室合作的潜力&#xff1a;结论&#xff1a; 引言&#xff1a; 常温超导一直被认为是科学界的“圣杯”&#xff0c;可以在室温条件下实…...

【C++】开源:Eigen3矩阵与线性代数库配置使用

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍Eigen3矩阵与线性代数库配置使用。 无专精则不能成&#xff0c;无涉猎则不能通。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&…...

OpenMesh 网格简化算法(基于边长度)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 网格简化的算法有很多种,基于边结构进行简化的方法便是其中一种方式。此类算法主要关注于它们如何选择要收缩的边,并且似乎都是为流形表面设计的,尽管边缘收缩也可以用于非流形表面,但往往会存在变形较大的问题…...

FFmpeg解码详细流程

介绍 FFmpeg的 libavcodec 模块完成音视频多媒体的编解码模块。老版本的 FFmpeg 将avcodec_decode_video2()作为视频的解码函数 API&#xff0c;将avcodec_decode_audio4()作为音频的解码函数 API&#xff1b;从 3.4版本开始已经将二者标记为废弃过时 API&#xff08;attribut…...

人工智能的缺陷

首先从应用层面理解什么是人工智能&#xff0c;目前人工智能主流应用面包括&#xff1a;自然语言处理领域&#xff0c;代表为chatgpt&#xff0c;我们能用其进行日常交流&#xff0c;问题答疑&#xff0c;论文书写等。计算机视觉领域&#xff0c;代表为人脸识别&#xff0c;现在…...

基于ASP.NET MVC开发的、开源的个人博客系统

推荐一个功能丰富、易于使用和扩展的开源博客&#xff0c;可以轻松地创建和管理自己的博客。 项目简介 基于.Net Framework 4.5开发的、开源博客系统&#xff0c;具有丰富的功能&#xff0c;包括文章发布、分类、标签、评论、订阅、统计等功能&#xff0c;同时也可以根据需要…...

【LeetCode】对称二叉树 平衡二叉树

对称二叉树 即先判断根节点的左右子树相不相同&#xff0c;相同时&#xff0c;再判断左孩子的左子树和右孩子的右子树比较&#xff0c;左孩子的右子树和右孩子的左子树&#xff08;当两个都相同时才是对称的&#xff09;.....依次递推&#xff0c;过程中并设置一些不满足相同的…...

区块链和WEB3.0有哪些基础知识呢

区块链基础知识 常用区块链基础知识包括&#xff1a; &#xff08;1&#xff09;区块链概念&#xff1a;区块链是一种去中心化的分布式账本技术&#xff0c;它通过加密算法和共识机制保证了数据的安全性和不可篡改性。区块链中的每一个区块都包含了前一个区块的哈希值&#x…...

七、封装(1)

本章概要 包的概念 代码组织创建独一无二的包名冲突定制工具库使用 import 改变行为使用包的忠告 访问控制&#xff08;Access control&#xff09;&#xff08;或者_隐藏实现&#xff08;implementation hiding&#xff09;_&#xff09;与“最初的实现不恰当”有关。 所有优…...

问题解决和批判性思维是软件工程的重要核心

软件工程的重心在于问题解决和批判性思维&#xff08;合理设计和架构降低复杂度&#xff09;&#xff0c;而非仅局限于编程。 许多人误以为软件工程就只是编程&#xff0c;即用编程语言编写指令&#xff0c;让计算机按照这些指令行事。但实际上&#xff0c;软件工程的内涵远超…...

【EI/SCOPUS征稿】2023年通信网络与机器学习国际学术会议(CNML 2023)

2023年通信网络与机器学习国际学术会议&#xff08;CNML 2023&#xff09; 2023 International Conference on Communication Networks and Machine Learning 随着数据流量的显著增长&#xff0c;新的通信应用程序不断出现&#xff0c;并产生更多的数据流量&#xff0c;这些数…...

算法-岛屿数量

给你一个由 1&#xff08;陆地&#xff09;和 0&#xff08;水&#xff09;组成的的二维网格&#xff0c;请你计算网格中岛屿的数量。 岛屿总是被水包围&#xff0c;并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外&#xff0c;你可以假设该网格的四条边…...

Crescent QuickPak Crack

Crescent QuickPak Crack Crescent QuickPak是一个32位ActiveX组件的综合集合&#xff0c;用于使用Visual Basic开发应用程序&#xff0c;这将减少开发时间并提高生产力。Crescent QuickPak包含Internet功能&#xff0c;用于打开、读取和解析IIS日志文件&#xff0c;将日志文件…...

六、ESP32数码管显示数字

1. 本节课的成功 2. 数码管 为什么会亮呢? 答:里面就是LED灯...

【Kubernetes】当K8s出现问题时,从哪些方面可以排查

前言 kubernetes&#xff0c;简称K8s&#xff0c;是用8代替名字中间的8个字符“ubernete”而成的缩写。是一个开源的&#xff0c;用于管理云平台中多个主机上的容器化的应用&#xff0c;Kubernetes的目标是让部署容器化的应用简单并且高效&#xff08;powerful&#xff09;,Kub…...

[ MySQL ] — 库和表的操作

目录 库的操作 创建数据库 语法&#xff1a; 使用&#xff1a; 字符集和校验规则 查看系统默认字符集以及校验规则 查看数据库支持的字符集 查看数据库支持的字符集校验规则 校验规则对数据库的影响 操纵数据库 查看数据库 显示创建语句 修改数据库 删除数据库 备…...