IPv6基础知识

IPv6是由IEIF提出的互聯網協議第六版,用來替代IPv4的下一代協議,它的提出不僅解決了網絡地址資源匱乏問題,也解決了多種接入設備接入互聯網的障礙。IPv6的地址長度為128位,可支持340多萬億個地址。如下圖,3ffe:1900:fe21:4545:0000:0000:0000:0000,這是一個IPv6地址,IPv6地址通常分為8組,4個十六進制數為一組,每組之間用冒號分隔。

 

Pv6是Internet Protocol Version 6的缩写,其中Internet Protocol译为“互联网协议”。IPv6是IETF(互联网工程任务组,Internet Engineering Task Force)设计的用于替代现行版本IP协议(IPv4)的下一代IP协议,号称可以为全世界的每一粒沙子编上一个网址。

由于IPv4最大的问题在于网络地址资源有限,严重制约了互联网的应用和发展。IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍。

IPv6的地址长度为128b,是IPv4地址长度的4倍。于是IPv4点分十进制格式不再适用,采用十六进制表示。IPv6有3种表示方法。

一、冒分十六进制表示法

格式为X:X:X:X:X:X:X:X,其中每个X表示地址中的16b,以十六进制表示,例如:

ABCD:EF01:2345:6789:ABCD:EF01:2345:6789

这种表示法中,每个X的前导0是可以省略的,例如:

2001:0DB8:0000:0023:0008:0800:200C:417A→ 2001:DB8:0:23:8:800:200C:417A

二、0位压缩表示法

在某些情况下,一个IPv6地址中间可能包含很长的一段0,可以把连续的一段0压缩为“::”。但为保证地址解析的唯一性,地址中”::”只能出现一次,例如:

FF01:0:0:0:0:0:0:1101 → FF01::1101

0:0:0:0:0:0:0:1 → ::1

0:0:0:0:0:0:0:0 → ::

三、内嵌IPv4地址表示法

为了实现IPv4-IPv6互通,IPv4地址会嵌入IPv6地址中,此时地址常表示为:X:X:X:X:X:X:d.d.d.d,前96b采用冒分十六进制表示,而最后32b地址则使用IPv4的点分十进制表示,例如::192.168.0.1与::FFFF:192.168.0.1就是两个典型的例子,注意在前96b中,压缩0位的方法依旧适用。

地址分配是IP协议的一个最基本功能。在IPv4中地址分配依靠手动静态配置,动态配置DHCP。在IPv6中地址分配同样有静态分配和动态分配两种,但IPv6的动态分配要比IPv4的更为复杂。IPv6的地址分配分为有状态分配和无状态分配两种。

无状态地址分配(SLAAC)

无状态地址分配定义在rfc4862。它依靠NDP来实现。

IPv6的无状态自动配置就像是IPv6的“迷你dhcp”服务器。运行IPv6的路由器可以为寻找IPv6地址的客户端提供网络的前缀和网关地址。IPv6使用NDP(邻居发现协议),使用RS(路由请求)和RA(路由器通告)消息,帮助IPv6设备自动配置IPv6地址。无状态地址配置的好处是在没有DHCP的网络中无需手动配置IP地址,省事省力。另外网络整体迁移容易,当一个站点的网络前缀发生变化时,主机能够方便地进行重新编址而不影响网络连接。

配置过程:

1、设备接口先确定自己的链路本地地址;

2、验证该链路本地地址在链路上的唯一性;

3、创建全球唯一地址

DHCPv6地址分配

DHCPv6定义在rfc3315中。DHCPv6是一种地址配置协议,它可以获得IP地址、IP前缀和在IPv6网络中操作所需的其他配置数据。

DHCPv6有无状态和有状态配置两种,无状态配置地址的获取用上面的SLAAC机制来获取IP地址,其他信息比如DNS域名服务器信息由DHCPv6提供。

DHCP有状态和无状态地址分配比较

DHCPv6客户端使用的UDP端口号是546,服务器的端口号为547。

DHCPv6客户端发出包含快速提交(Rapid Commit)选项的Solicit消息,请求首选快速分配地址/前缀和其他配置参数。 如果DHCPv6服务器支持快速分配,它将使用包含分配的IPv6地址/前缀和其他配置参数的Reply消息进行响应。如果DHCPv6服务器不支持快速分配,则使用下面的四条消息的分配方式。

1、DHCPv6客户端发出Solicit消息,请求IPv6地址/前缀和其他配置参数。

2、 如果Solicit消息不包含Rapid Commit选项,或者DHCPv6服务器不支持快速分配,但包含Rapid Commit选项,则DHCPv6服务器响应Advertise消息,通知DHCPv6客户端可分配的地址/前缀和其他配置参数。

3、DHCPv6客户端可能会收到不同DHCPv6服务器提供的多个Advertise消息。然后,它根据接收顺序和服务器优先级选择,并向所选服务器发送请求消息以确认。

4、DHCPv6服务器向客户端发送Reply消息,确认地址/前缀和其他配置参数已分配给客户端。

地址/前缀租约更新过程

DHCPv6服务器分配的IPv6地址/前缀是有有效期的,这是“租”来的地址,在有效期失效前需要续租。

在T1时间点,DHCPv6客户端向DHCPv6服务器单播Renew消息,该服务器为DHCPv6客户端分配了IPv6地址/前缀。T1的推荐值是首选寿命(Preferred Lifetime)的一半。然后,DHCPv6服务器以Reply消息响应,通知租约已续订。

如果DHCPv6客户端在T1发送Renew消息后没有收到DHCPv6服务器的响应,它会向T2上的所有DHCPv6服务器多播Rebind消息,即80%首选寿命(Preferred Lifetime)到期时。然后,DHCPv6服务器以Reply消息响应,通知租约已续订。如果DHCPv6客户端没有收到DHCPv6服务器的响应,则当有效生存期到期时,客户端将停止使用地址/前缀。

DHCP惟一标识符

client 使用DHCP惟一标识符(DUID)从DHCPv6服务器获取一个IP地址。它有一个2字节的DUID类型字段,一个可变长度标识符字段最多可达128个字节。它的实际长度取决于它的类型。服务器将DUID与它的数据库进行比较,并将配置数据(地址、租期、DNS服务器等)发送给客户端。

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

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

相关文章

24首届数证杯(流量分析部分)

目录 流量分析 流量分析 1、分析网络流量包检材,写出抓取该流量包时所花费的秒数?(填写数字,答案格式:10) 3504相加即可 2、分析网络流量包检材,抓取该流量包时使用计算机操作系统的build版本是多少? 23F793、分析网络流量包检材&#x…

Linux(CentOS)安装达梦数据库 dm8

CentOS版本:CentOS 7,查看操作系统版本信息,请查阅 查看Linux内核版本信息 达梦数据库版本:dm8 一、获取 dm8 安装文件 1、下载安装文件 打开达梦官网:https://www.dameng.com/ 下载的文件 解压后的文件 2、上传安…

vue-i18n下载完报错

解决方法: 这是i18n版本太高了,与当前VUE版本不谦容; 查看版本:npm view vue-i18n versions 选择其中一个低版本,不要太低的 npm install vue-i18n7.3.22.可以删掉依赖包重新下载试试 报错类似如下: 1…/…

Docker环境搭建Cloudreve网盘服务(附shell脚本一键搭建)

Docker搭建Cloudreve Cloudreve介绍: Cloudreve 是一个基于 ThinkPHP 框架构建的开源网盘系统,旨在帮助用户以较低的成本快速搭建起既能满足个人也能满足企业需求的网盘服务。Cloudreve 支持多种存储介质,包括但不限于本地存储、阿里云OSS、…

凹凸/高度贴图、法线贴图、视差贴图、置换贴图异同

参考: 凹凸贴图、法线贴图、置换贴图-CSDN博客 视差贴图 - LearnOpenGL CN 1,Learn about Parallax(视差贴图) - 知乎 “视差贴图”的工作流程及原理(OpenGL) - 哔哩哔哩 法线与置换贴图原理讲解以及烘焙制作! - 知乎 1. Bump Mapping 凹凸贴图 BumpMap…

Vant组件

结合项目学习下Vant组件。 Vue2:Vant 2 - Mobile UI Components built on Vue Vue3:Vant 4 - A lightweight, customizable Vue UI library for mobile web apps. 课程地址:【vue-vant组件库】 https://www.bilibili.com/video/BV1q5411E7…

【DEKF算法】DEKF(双扩展卡尔曼滤波算法)估计锂电池荷电状态,SOC与SOH联合仿真

摘要 本文研究了基于双扩展卡尔曼滤波(DEKF)算法对锂电池荷电状态(SOC)和健康状态(SOH)的估计问题。通过构建锂电池的等效电路模型(ECM),将SOC与SOH联合估计&#xff0c…

4-3 AUTOSAR BSW IO抽象

返回总目录->返回总目录<- 目录 一、概述 二、示例接口 一、概述 在AUTOSAR中,IO抽象模块的主要作用是提供对硬件设备的控制和访问。它包括了以下几个主要模块: DIO(Digital Input/Output):用于控制数字输入和输出信号,例如控制LED灯的开关或读取按键状态…

【动手学深度学习Pytorch】1. 线性回归代码

零实现 导入所需要的包&#xff1a; # %matplotlib inline import random import torch from d2l import torch as d2l import matplotlib.pyplot as plt import matplotlib import os构造人造数据集&#xff1a;假设w[2, -3.4]&#xff0c;b4.2&#xff0c;存在随机噪音&…

【数据结构】树——顺序存储二叉树

写在前面 在学习数据结构前&#xff0c;我们早就听说大名鼎鼎的树&#xff0c;例如什么什么手撕红黑树大佬呀&#xff0c;那这篇笔记不才就深入浅出的介绍二叉树。 文章目录 写在前面一、树的概念及结构1.1、数的相关概念1.2、数的表示1.3 树在实际中的运用&#xff08;表示文…

Linux常用命令,持续更新钟

在Linux系统中&#xff0c;你可以使用多种命令来拷贝和移动文件及目录。以下是常用的几个命令及其用法&#xff1a; 一、拷贝文件或目录 cp 命令 cp 命令用于拷贝文件或目录。 拷贝文件&#xff1a; cp source_file destination_file 例如&#xff1a; cp file1.txt /hom…

计算机视觉中的双边滤波:经典案例与Python代码解析

&#x1f31f; 计算机视觉中的双边滤波&#xff1a;经典案例与Python代码解析 &#x1f680; Hey小伙伴们&#xff01;今天我们要聊的是计算机视觉中的一个重要技术——双边滤波。双边滤波是一种非线性滤波方法&#xff0c;主要用于图像去噪和平滑&#xff0c;同时保留图像的边…

Ubuntu 22.04 上快速搭建 Samba 文件共享服务器

Samba 简介 Samba 是一个开源软件&#xff0c;它扮演着不同操作系统间沟通的桥梁。通过实现 SMB&#xff08;Server Message Block&#xff09;协议&#xff0c;Samba 让文件和打印服务在 Windows、Linux 和 macOS 之间自由流动。 以下是 Samba 的特点&#xff1a; 跨平台兼…

在MATLAB中实现自适应滤波算法

自适应滤波算法是一种根据信号特性自动调整滤波参数的数字信号处理方法&#xff0c;其可以有效处理噪声干扰和信号畸变问题。在许多实时数据处理系统中&#xff0c;自适应滤波算法得到了广泛应用。在MATLAB中&#xff0c;可以使用多种方法实现自适应滤波算法。本文将介绍自适应…

AWTK-WIDGET-WEB-VIEW 发布

awtk-widget-web-view 是通过 webview 提供的接口&#xff0c;实现的 AWTK 自定义控件&#xff0c;使得 AWTK 可以方便的显示 web 页面。 项目网址&#xff1a; https://gitee.com/zlgopen/awtk-widget-web-view webview 提供了一个跨平台的 webview 接口&#xff0c;是一个非…

使用Web Workers提升JavaScript的并行处理能力

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 使用Web Workers提升JavaScript的并行处理能力 使用Web Workers提升JavaScript的并行处理能力 使用Web Workers提升JavaScript的…

shell编程--传参与数学运算

探讨一下如何向shell脚本传递参数。 脚本传参 首先用vim创建一个脚本。 vim 脚本.sh 可以理解为其他编程语言的标准输出&#xff0c;例如C语言的输出%d,表标准输出数字。 用echo 执行文件名称是&#xff1a;$0 echo 第一个参数是&#xff1a;$1 echo 传递参数作为字符串显…

头歌-本关任务:使用GmSSL命令行,生成SM2私钥并对文件进行签名验证(第二关)。

第一关在网上找到了&#xff0c;但第二关没找到&#xff0c;在这里做一下补充:) 如果想认真学的话可以看看文档 国密SM2椭圆曲线密码标准http://gmssl.org/docs/sm2.html 内容为 GuetPython 的明文文件msg.txt 私钥sm2.pem 公钥sm2Pub.pem 使用sm2utl对msg.txt进行签名&…

elementui el-table中给表头 el-table-column 加一个鼠标移入提示说明

前言 在使用el-table 表格中有些表格的表头需要加入一些提示&#xff0c;鼠标移入则出现提示&#xff0c;非常实用&#xff0c;我是通过el-table中的el-tooltip实现的&#xff0c;以下的效果预览 代码实现 <el-table ref"multipleTable" :data"data"…

在kile 5中一个新工程的创建

这两天博主学习到了在kile5中创建一个工程&#xff0c;当然博主不会忘了小伙伴们的&#xff0c;这就和你们分享。 本次创建以STM32F103C8为例 创建过程&#xff1a; 1首先创建文件 名字随意&#xff0c;但也不要太随意&#xff0c;因为是外国软件&#xff0c;所以多少对中文…