网络华为HCIA+HCIP IPv6

server/2025/3/29 8:37:41/

目录

IPv4现状

IPv6基本报头

IPv6扩展报头 

IPv6地址 

IPv6地址缩写规范

​编辑

IPv6地址分配 

IPv6单播地址分配 

IPv6单播地址接口标识

IPv6常见单播地址  - GUA (2 / 3 开头)

IPv6常见单播地址 - ULA

IPv6常见单播地址 - LLA

IPv6组播地址(相当于IPv4里面的D类地址)

被请求节点组播地址

IPv6任播地址 

IPv4 IPv6 对应关系

主机和路由器的IPv6地址

​编辑 IPv6单播地址业务流程

NDP

DAD 

地址解析 


IPv4现状

2011年2月3日,IANA(Internet Assigned Numbers Authority,因特网地址分配组织)宣布将其最后的468万个IPv4地址平均分配到全球5个RIR(RegionalInternet Registry,区域互联网注册管理机构),此后IANA再没有可分配的IPv4地址。

IPv6基本报头

  • IPv6包头由一个IPv6基本包头(必须存在)和多个扩展包头(可能不存在)组成。
  • 基本包头提供报文转发的基本信息,会被转发路径上的所有设备解析。

IPv6扩展报头 

IPv6地址 

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

  • 与IPv4地址类似,IPv6也用“IPv6地址/掩码长度”的方式来表示IPv6地址,
    • 例如2001:0DB8:2345:CD30:1230:4567:89AB:CDEF/64
      • IPv6地址:    2001:0DB8:2345:CD30:1230:4567:89AB:CDEF
      • 子网号:        2001:0DB8:2345:CD30::/64 

IPv6地址缩写规范

IPv6地址分配 

根据IPv6地址前缀,可将IPv6地址分为为单播地址、组播地址和任播地址。 

IPv6单播地址分配 

  • 一个IPv6单播地址可以分为如下两部分:
    • 网络前缀(NetworkPrefix):n bit,相当于IPv4地址中的网络ID。
    • 接口标识(Interface Identify):(128-n)bit,相当于IPv4地址中的主机ID。
  • 常见的IPv6单播地址如全球单播地址、链路本地地址等,要求网络前缀和接口标识必须为64 bit。

IPv6单播地址接口标识

  • 接口标识可通过三种方法生成:
    • 手工配置
    • 系统自动生成
    • 通过IEEEEUI-64规范生成
  • 其中EUI-64规范最为常用,此规范将接口的MAC地址转换为IPv6接口标识。 

IPv6常见单播地址  - GUA (2 / 3 开头)

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

  • 通常GUA的网络部分长度为64 bit,接口标识也为64 bit。
  • 全局路由前缀:由提供商指定给一个组织机构,一般至少为45 bit。
  • 子网ID:组织机构根据自身网络需求划分子网。
  • 接口标识:用来标识一个设备(的接口) 

IPv6常见单播地址 - ULA

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

  • 唯一本地地址使用FC00::/7地址块,目前仅使用了FD00::/8地址段。FC00::/8预留为以后拓展用。
  • ULA虽然只在有限范围内有效,但也具有全球唯一的前缀(虽然随机方式产生,但是冲突概率很低)。 

IPv6常见单播地址 - LLA

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

  • LLA用于一条单一链路层面的通信,例如IPv6地址无状态自动配置、IPv6邻居发现等。
  • 源或目的IPv6地址为链路本地地址的数据包将不会被转发到始发的链路之外,换句话说,链路本地地址,有效范围为本地链路
  • 每一个IPv6接口都必须具备一个链路本地地址。华为设备支持自动生成和手工指定两种配置方式。 

IPv6组播地址(相当于IPv4里面的D类地址)

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

  • Flags:用来表示永久或临时组播组。
  • Scope:表示组播组的范围。
  • Group ID:组播组ID。 

被请求节点组播地址

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

IPv6任播地址 

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

IPv4 IPv6 对应关系

分类IPv4 地址范围IPv6 地址范围对应关系说明
单播地址A 类:1.0.0.0 - 126.255.255.255
B 类:128.0.0.0 - 191.255.255.255
C 类:192.0.0.0 - 223.255.255.255
未特殊指定范围,可根据地址前缀等进行细分,如全球单播地址通常以 2000::/3 开始IPv4 和 IPv6 中的单播地址都是用于标识单个网络接口,在网络中进行一对一的通信。
组播地址D 类:224.0.0.0 - 239.255.255.255FF00::/8IPv4 的 D 类地址用于组播,IPv6 中以 FF 开头的地址段用于组播,功能类似,都是用于向一组特定的接收者发送数据。
广播地址受限广播地址:255.255.255.255
网络广播地址:根据网络掩码确定,如对于 C 类网络 192.168.1.0/24,广播地址是 192.168.1.255
无直接对应概念,IPv6 中用组播来实现类似功能IPv4 广播地址用于向同一网络中的所有设备发送数据,IPv6 中不再使用广播概念,而是通过组播来实现类似的功能,即向一组特定的节点发送数据。
特殊地址0.0.0.0:用于表示默认路由或尚未获取到有效 IP 地址的主机
127.0.0.1:本地回环地址,用于本地主机进行自我测试和通信
::1:本地回环地址
::/0:默认路由
::FFFF:0:0/96:用于与 IPv4 地址兼容的转换
IPv4 和 IPv6 都有用于本地测试和特殊用途的地址,如回环地址等,虽然表示形式不同,但功能类似。

主机和路由器的IPv6地址

 IPv6单播地址业务流程

  • 一个接口在发送IPv6报文之前要经历地址配置、DAD、地址解析这三个阶段,NDP(Neighbor Discovery Protocol,邻居发现协议)扮演了重要角色。 

NDP

  • RFC2461定义了NDP,该RFC后来被RFC4861替代:
  • NDP使用ICMPv6报文实现其功能。 

DAD 

  • 无论通过何种方式配置了IPv6单播地址,主机或路由器都会:
    • 通过ICMPv6报文进行DAD
    • 仅当DAD通过之后才会使用该单播地址

地址解析 

IPv6使用ICMPv6的NS和NA报文来取代ARP在IPy4中的地址解析功能。


http://www.ppmy.cn/server/178842.html

相关文章

QT Quick(C++)跨平台应用程序项目实战教程 3 — 项目基本设置(窗体尺寸、中文标题、窗体图标、可执行程序图标)

目录 1. 修改程序界面尺寸和标题 2. 窗体图标 3. 修改可执行程序图标 上一章创建好了一个初始Qt Quick项目。本章介绍基本的项目修改方法。 1. 修改程序界面尺寸和标题 修改Main.qml文件,将程序宽度设置为1200,程序高度设置为800。同时修改程序标题…

通过Typora + PicGo + 阿里云对象存储(OSS)实现图床

文章目录 通过Typora PicGo 阿里云对象存储(OSS)实现图床1 准备工作1.1 阿里云对象存储 OSS配置创建oss存储空间bucket获取AccessKey 1.2 PicGo配置1.3 Typora配置 2 使用流程3 常见问题和解决3.1 创建asesskey3.2 You have no right to access this o…

Leetcode——28. 找出字符串中第一个匹配项的下标

题解一 思路 双层循环暴力解,只要needle的第一位和haystack的某一位对应,就进入内循环,如果超限或者某一位不同,跳出内循环,继续寻找下一个和needle第一位匹配的字符。 代码 class Solution {public int strStr(St…

块与块参照的一些知识——CAD c#二次开发

块(Block Definition)和块参照(Block Reference)是两个重要的概念,它们既有区别又相互联系,以下是详细介绍: 区别 1. 定义和本质 块(Block Definition):它…

Thinkphp指纹识别

识别ThinkPHP框架(指纹) 1.ioc判断 /favicon.ico 2.报错 /1 然后使用工具梭哈

PyCharm如何添加已有的conda环境

1、点击文件中的设置 2、在右侧选中项目下的Python解释器 3、在右侧解释器一栏找到添加解释器选项 4、选择本地解释器 5、填写信息 环境:选择现有 类型:conda conda路径:...\Anaconda\Scripts\conda.exe 环境(python路径&…

Node.js系列(6)--安全实践指南

Node.js安全实践指南 🔒 引言 安全性是Node.js应用开发中的重中之重。本文将深入探讨Node.js安全实践,包括常见安全威胁、防护措施、安全框架等方面,帮助开发者构建安全可靠的Node.js应用。 安全实践概述 Node.js安全实践主要包括以下方面…

强大的AI网站推荐(第二集)—— V0.dev

网站:V0.dev 号称:前端开发神器,专为开发人员和设计师设计,能够使用 AI 生成 React 代码 博主评价:生成的UI效果太强大了,适合需要快速创建UI原型的设计师和开发者 推荐指数:🌟&…