IPv6(二)

文章目录

  • IPv6地址类型
    • 单播
    • 组播
    • 任播
    • 主机地址

IPv6地址类型

单播

链路本地地址(只在一条链路上生效)

  • 当一个节点启动IPv6协议栈时,启动时节点的每个接口会自动配置一个链路本地地址(其固定的前缀+EUI-64规则形成的接口标识)----以太网口默认会自动生成 Link-local 地址

  • 在一个节点配置 IPv6协议栈时,节点的每一个端口会自动配置一个链路本地地址,该地址专门用来和相同链路上的其他主机通信

  • 说是会自动配置,但是华为设备需要自己手动敲命令才会自动配置,但是在某些场景下也会自动配置

  • 链路本地地址为源或者目的 IPv6 报文不会被路由器转发到其他链路

  • 只能在连接到同一本地链路的节点之间使用,Link-local地址只在一个网段内有效,广泛应用于邻居发现,无状态地址等

  • 链路本地地址前缀为 FE80:: /10 ,将接口 ID 添加在后面作为地址的后 64 位

  • 链路本地地址是IPv6中的应用范围受限制的地址类型,只能在连接到同一本地链路的节点之间使用。它使用了特定的本地链路前缀FE80::/10(最高10位值为1111111010)同时将接口标识添加在后面作为地址的第64比特。

  • 这种机制使得两个连接到同一链路的IPv6节点不需要做任何配置就可以通信。所以链路本地地址广泛应用于邻居发现,无状态地址配置等应用。以链路本地地址为源地址或目的地址的IPv6报文不会被路由设备转发到其他链路。

  • 每一个 IPv6接口只能配置一个链路本地地址

  • 即使没有配置全局地址,靠配置链路本地地址也能够实现互通但是需要指定接口

  • Link-local地址:Link-Local地址也是有可能会冲突的,对于以太网来说可以EUI64来生成地址,但是对于串口来讲,串口没有MAC地址,也是可以借用以太口的Link-Local地址,因此就会造成Link-local地址冲突的情况(自动就会生成)



唯一本地地址----(私网地址,不能到公网上)

  • 仅在本地网络使用
  • 唯一本地地址是IPv6网络中可以自己随意使用的私有网络地址,用来取代作废的站点本地地址,使用特定的前缀:FD00::/8
  • 唯一本地地址固定前缀 FC00::/7,他被分为两块,其中 FC00::/8 暂未定义,另一块是 FD00::/8
  • FC二进制为 1111 1100/8 之后倒数第一位变1成为FD 1111 1101/8
  • 站点本地地址的格式前缀为FEC0::/10 和 FED0::/10




其他单播地址

  • 未指定地址

    0:0:0:0:0:0:0:0/128或者::/128
    表示某个接口或者节点没有 IP 地址

  • 环回地址
    0::1/128 或者 ::1/128
    与IPv4中的127.0.0.1相同
    实际发送的数据包不能使用环回地址作为源 IP 地址或者目的 IP 地址




全球单播地址

  • 由 网络前缀、掩码和接口标识组成
  • 全球单播地址相当于IPv4中的公网地址,目前已经分配出去的前3位固定是001,所以已分配的地址范围是2000::/3----转换成二进制后前三位数字是001(001就是全球单播地址)




过渡地址

IPv4兼容地址:::192.168.1.1/64----IPv6兼容地址
IPv4映射地址:::ffff:192.168.10.1/64(模拟器不支持)
6to4地址:2002开头的做一个IPv6到 IPv4 的映射
istap:自动隧道地址
teredo:地址




特殊地址

  • ::/128 未分配的地址
  • ::/0默认路由
  • ::1/128 Loopback地址



组播

(固定为FF00::/8)

一个IPv6组播地址由前缀,标志(Flag)字段、范围(Scope)字段以及组播组ID(Global ID)4个部分组成:

  • 前缀:IPv6组播地址的前缀是FF00::/8(1111 1111) 8个 Bit
  • 标志字段(Flag):长度4bit,目前只使用了最后一个比特(前三位必须置0)
    当该位值为0时,表示当前的组播地址是由IANA所分配的一个永久分配地址
    当该值为1时,表示当前的组播地址是一个临时组播地址(非永久分配地址)
  • 范围字段(Scope):长度4bit,用来限制组播数据流在网络中发送的范围
  • 组播组ID(Global ID):长度112bit,用以标识组播组。目前,RFC2373并没有将所有的112位都定义成组标识,而是建议仅使用该112位的最低32位作为组播组ID,将剩余的80位都置0,类似于OSPF的 224.0.0.5 中的5



    预定义组播地址:

Node-local
所有节点的组播地址: FF01:0:0:0:0:0:0:1
所有路由器的组播地址: FF01:0:0:0:0:0:0:2

11111111      0000 0001
	FF		 Flag Scope
Flag字段为0表示永久分配的组播地址
Scope字段为 0001十进制为1:节点本地范围传播
11111111      0000 0010
	FF		 Flag Scope
Flag字段为0表示永久分配的组播地址
Scope字段为 0010十进制为2:链路本地范围传播

Link-local
所有节点的组播地址: FF02:0:0:0:0:0:0:1 FF02::1
所有路由器的组播地址: FF02:0:0:0:0:0:0:2 FF02::2
Solicited-Node组播地址: FF02:0:0:0:0:1:FFXX:XXXX(请求节点组播地址)
所有OSPF路由器组播地址: FF02:0:0:0:0:0:0:5
所有OSPF的DR路由器组播地址: FF02:0:0:0:0:0:0:6
所有RIP路由器组播地址: FF02:0:0:0:0:0:0:9
所有PIM路由器组播地址: FF02:0:0:0:0:0:0:D




IPv6和MAC之间的映射

(IPv4映射:224.0.0.1映射0100-5e00-0001 224.0.0.2映射0100-5e00-0002)



常见的组播MAC地址

  • 01-00-5e… //组播MAC地址

  • 0180-c200 //生成树

  • 0180-c200-0015/16 // IS-IS 的组播 MAC 地址

  • 组播MAC地址:01-80-C2-00-00-00(STP协议使用)

  • 在以太网环境中,一个组播IPv6报文必须执行以太网封装

  • 组播IPv6报文的目的IP地址是组播IPv6地址,而目的MAC地址则必须是组播MAC地址,并且该地址必须与组播IPv6地址对应

  • 33-33是专门为 IPv6 组播预留的 MAC 地址前缀,MAC后面的 32bit 从对应的组播 IPv6 地址后 32bit 拷贝过来



    比如组播地址是:FF02:0:0:0:0:0:0:5

比如:33-33-00-00-00-05----就是 IPv6 组播与 MAC 地址映射

33-33是固定的,后面的00-00-00-05是根据对应的组播 IPv6 地址拷贝过来的

对应的组播MAC为:33-33-00-00-00-05




请求节点组播地址

IPv6没有定义广播地址(Broadcast Address)

执行IP地址的冲突检测使用的就是请求节点组播地址----DAD机制

类似于ARP广播地址,仅在链路上生效,冲突了不会收到影响,在请求报文里面封装的IPv6地址才会做出回应,其他的收到不会做出回应

  • IPv6中特有的组播地址
    每个节点必须为分配给它的每个单播和任播地址加入一个组播地址,用于DAD地址重复检测
  • solicited-Node组播地址生成过程
    接口 ID 的后24位
    固定前缀位:FF02:0:0:0:0:1:FFXX:XXXX
    请求节点组播地址:不是根据MAC变的而是依据 IPv6 地址的后24位变来的,一个数或字母为四位

如:主机的MAC地址为 00-02-b3-1e-83-29 使用EUI64生成链路本地地址

IPv6地址为:FE80::0202:b3ff:fe1e:8329

请求节点组播地址为:FF02::1:FF1e:8329



任播

(任播地址是不会检测地址冲突的)

  • 任播地址可以与单播使用相同的地址空间
  • 配置时必须明确表明是任播地址,以此区别任播和单播
  • 子网路由器任播地址,发送到子网路由器任播地址的报文,会被发送到该地址标识的子网中路由意义上最近的一个路由器

任播地址配置

interface g0/0/1
ipv6 address 2001::1/64 anycast //配置任播地址



主机地址

IPv6主机往往会为每个适配器分配多个IPv6地址。典型IPv6主机上的接口默认会分配

  • 每个接口分配到Link-local地址
  • 每个接口分配到额外的单播地址(可以是单个或多个唯一本地地址或全球地址)
  • 环回接口分配大 Loopback 地址

每个IPv6主机上的接口还会侦听下组播地址的流量

  • 接口本地范围内所有节点的组播地址:FF01::1
  • 链路本地范围内所有节点的组播地址:FF02::2
  • 每个单播地址的请求节点地址
  • 已加入组的组播地址

路由器的IPv6地址,和上面一样,唯独多了一个 FF02::2 链路范围内所有的路由器

author:DC

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

phpstudy 建站使用 php8版本打开 phpMyAdmin后台出现网页提示致命错误:(phpMyAdmin这是版本问题导致的)

报错提示: 解决方法:官网下载phpmyadmin 5.2.1版本。 下载地址:phpMyAdmin 将网站根目录phpMyAdmin4.8.5里面的文件换成 官网下载的5.2.1版本即可。 重启网站,打开phpMyAdmin后台即可(若打不开更改 mysql密码即可&am…

【有啥问啥】弱监督学习新突破:格灵深瞳多标签聚类辨别(Multi-Label Clustering and Discrimination, MLCD)方法

弱监督学习新突破:格灵深瞳多标签聚类辨别(Multi-Label Clustering and Discrimination, MLCD)方法 引言 在视觉大模型领域,如何有效利用海量无标签图像数据是一个亟待解决的问题。传统的深度学习模型依赖大量人工标注数据&…

rabbitmq容器化部署

需求 容器化部署rabbitmq服务 部署服务 找到如下官网信息版本 官网版本发布信息 这里看到最新版本是3.13版本,这里在3.13中找一个版本下载容器镜像即可。 找到dockrhub.com中 找到3.13.2版本镜像。 容器服务安装此处省略 现在下载容器镜像需要配置容器代理 ~#…

树莓派提示:error: externally-managed-environment 树莓派安装虚拟环境,树莓派flask报错

错误信息 raspberryraspberrypi:~ $ pip install flask error: externally-managed-environment脳 This environment is externally managed 鈺扳攢> To install Python packages system-wide, try apt install python3-xyz, where xyz is the package you are trying to i…

进程间关系与进程守护

一、进程组 1、理解 每一个进程除了有一个进程 ID(PID)之外 还属于一个进程组, 进程组是一个或者多个进程的集合, 一个进程组可以包含多个进程。 每一个进程组也有一个唯一的进程组 ID(PGID), 并且这个 PGID 类似于进程 ID, 同样…

微信电脑版聊天图片DAT格式文件转为普通JPG图片

1-7 本文章主要教你如何恢复微信聊天中的聊天图片,主要应用场景是,当你的微信被封号了,或者无法登录了,会导致微信聊天中的聊天图片没办法再打开,如果是重要的图片,那就有损失了,所以有了本文的…

android 删除系统原有的debug.keystore,系统运行的时候,重新生成新的debug.keystore,来完成App的运行。

1、先上一个图:这个是keystore无效的原因 之前在安装这个旧版本android studio的时候呢,安装过一版最新的android studio,然后通过模拟器跑过测试的demo。 2、运行旧的项目到模拟器的时候,就报错了: Execution failed…

Fisco Bcos 2.11.0配置console控制台2.10.0及部署调用智能合约

Fisco Bcos 2.11.0配置console控制台2.10.0及部署调用智能合约 文章目录 Fisco Bcos 2.11.0配置console控制台2.10.0及部署调用智能合约前言版本适配一、启动FIsco Bcos区块链网络二、获取控制台文件三、配置控制台3.1 执行download_console.sh脚本3.2 拷贝控制台配置文件3.3 修…

react crash course 2024 (1)理论概念

state的作用 react hooks 而无需写一个class jsx 样式用 spa

WebGL系列教程六(纹理映射与立方体贴图)

目录 1 前言2 思考题3 纹理映射介绍4 怎么映射?5 开始绘制5.1 声明顶点着色器和片元着色器5.2 修改顶点的颜色为纹理坐标5.3 指定顶点位置和纹理坐标的值5.4 获取图片成功后进行绘制5.5 效果5.6 完整代码 6 总结 1 前言 上一讲我们讲了如何使用索引绘制彩色立方体&a…

TDengine 首席架构师肖波演讲整理:探索新型电力系统的五大关键场景与挑战

在 7 月 26 日的 TDengine 用户大会上,涛思数据(TDengine)首席架构师肖波进行了题为《TDengine 助力新型电力系统高质量发展》的主题演讲。他不仅分享了 TDengine 在新型电力系统中的应用案例,还深入探讨了如何利用 TDengine 的高…

构建响应式API:FastAPI Webhooks如何改变你的应用程序

FastAPI,作为一个现代、快速(高性能)的Web框架,为Python开发者提供了构建API的卓越工具。特别是,它的app.webhooks.post装饰器为处理实时Webhooks提供了一种简洁而强大的方法。在本文中,我们将探讨如何使用…

后端开发刷题 | 打家劫舍

描述 你是一个经验丰富的小偷,准备偷沿街的一排房间,每个房间都存有一定的现金,为了防止被发现,你不能偷相邻的两家,即,如果偷了第一家,就不能再偷第二家;如果偷了第二家&#xff0…

new/delete和malloc/free到底有什么区别

new和malloc 文章目录 new和malloc前言一、属性上的区别二、使用上的区别三、内存位置的区别四、返回类型的区别五、分配失败的区别六、扩张内存的区别七、系统调度过程的区别总结 前言 new和malloc的知识点,作为一个嵌入式工程师是必须要了解清楚的。new和malloc的…

优惠充值话费api对接如何选择对接平台?

优惠充值话费接口通常由电信运营商、第三方支付平台或专业的充值服务提供商提供。这些平台通过API接口允许开发者将话费充值功能集成到应用程序或网站中。 选择哪个平台比较好,取决于以下几个因素: 覆盖范围:选择能够覆盖你需要服务的地区和…

[Unity Demo]从零开始制作空洞骑士Hollow Knight第二集:通过InControl插件实现绑定玩家输入以及制作小骑士移动空闲动画

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、通过InControl插件实现绑定玩家输入二、制作小骑士移动和空闲动画 1.制作动画2.玩家移动和翻转图像3.状态机思想实现动画切换总结 前言 好久没来CSDN看看&…

【图像匹配】基于SURF算法的图像匹配,matlab实现

博主简介:matlab图像代码项目合作(扣扣:3249726188) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本次案例是基于基于SURF算法的图像匹配,用matlab实现。 一、案例背景和算法介绍 前…

办了房屋抵押经营贷,空壳公司不怕被查吗?续贷不上怎么办?

很多有房的朋友,想必都办理过抵押经营贷款。但是,当办完房屋抵押经营贷款之后,钱到手了,别光顾着乐呵,贷后管理可是门大学问,稍有不慎,麻烦就找上门了。咱得确保资金用得对路,征信亮…

零宽字符应用场景及前端解决方案

零宽字符(Zero Width Characters)是一类在文本中不可见但具有特定功能的特殊字符。称为零宽字符,也叫幽灵字符。它们在显示时不占据任何空间,但在文本处理和显示中发挥着重要作用。这些字符主要包括零宽度空格、零宽度非连接符、零…

2024 VMpro 虚拟机中如何给Ubuntu Linux操作系统配置联网

现在这是一个联网的状态 可以在商店里面下载东西 也能ping成功 打开虚拟网络编辑器 放管理员权限 进行设置的更改 选择DNS设置 按提示修改即可 注意的是首选的DNS服务器必须是114.114.114.114 原因 这边刚刚去查了一下 114.114.114.114 是国内的IP地址 8.8.8.8 是国外的I…