九层高台始于垒土,今天我来谈谈DHCPv6基础,收藏很香
nanshan 2024-11-17 14:10 67 浏览 0 评论
DHCPv6简介
IPv6动态主机配置协议DHCPv6(Dynamic Host Configuration Protocol for IPv6)是针对IPv6编址方案设计,为主机分配IPv6地址/前缀和其他网络配置参数。
目的
IPv6协议具有地址空间巨大的特点,但同时长达128比特的IPv6地址又要求高效合理的地址自动分配和管理策略。IPv6无状态地址配置方式(参看协议RFC2462)是目前广泛采用的IPv6地址自动配置方式。配置了该协议的主机只需相邻设备开启IPv6路由通告功能,即可以根据通告报文包含的前缀信息自动配置本机地址。
无状态地址配置方案中设备并不记录所连接的IPv6主机的具体地址信息,可管理性差。而且当前无状态地址配置方式不能使IPv6主机获取DNS服务器的IPv6地址等配置信息,在可用性上有一定缺陷。对于互联网服务提供商来说,也没有相关的规范指明如何向设备自动分配IPv6前缀,所以在部署IPv6网络时,只能采用手动配置的方法为设备配置IPv6地址。
DHCPv6技术解决了这一问题。DHCPv6属于一种有状态地址自动配置协议。
与其他IPv6地址分配方式(手工配置、通过路由器通告消息中的网络前缀无状态自动配置等)相比,DHCPv6具有以下优点:
· 更好地控制IPv6地址的分配。DHCPv6方式不仅可以记录为IPv6主机分配的地址,还可以为特定的IPv6主机分配特定的地址,以便于网络管理。
· DHCPv6支持为网络设备分配IPv6前缀,便于全网络的自动配置和网络层次性管理。
除了为IPv6主机分配IPv6地址/前缀外,还可以分配DNS服务器IPv6地址等网络配置参数。
DHCPv6原理描述
DHCPv6概述:
DHCPv6是一种运行在客户端和服务器之间的协议,与IPv4中的DHCP一样,所有的协议报文都是基于UDP的。但是由于在IPv6中没有广播报文,因此DHCPv6使用组播报文,客户端也无需配置服务器的IPv6地址。
IPv6地址分配类型:
IPv6协议具有地址空间巨大的特点,但同时长达128比特的IPv6地址又要求高效合理的地址自动分配和管理策略。
· 手动配置。手动配置IPv6地址/前缀及其他网络配置参数(DNS、NIS、SNTP服务器地址等参数)。
· 无状态自动地址分配。由接口ID生成链路本地地址,再根据路由通告报文RA(Router Advertisement)包含的前缀信息自动配置本机地址。
· 有状态自动地址分配,即DHCPv6方式。DHCPv6又分为如下两种:
3. DHCPv6有状态自动分配。DHCPv6服务器自动分配IPv6地址/PD前缀及其他网络配置参数(DNS、NIS、SNTP服务器地址等参数)。
3. DHCPv6无状态自动分配。主机IPv6地址仍然通过路由通告方式自动生成,DHCPv6服务器只分配除IPv6地址以外的配置参数,包括DNS、NIS、SNTP服务器等参数。
DHCPv6基本架构:
图:DHCPv6基本架构
DHCPv6基本协议架构中,主要包括以下三种角色:
DHCPv6 Client:
DHCPv6客户端,通过与DHCPv6服务器进行交互,获取IPv6地址/前缀和网络配置信息,完成自身的地址配置功能。
DHCPv6 Relay:
DHCPv6中继代理,负责转发来自客户端方向或服务器方向的DHCPv6报文,协助DHCPv6客户端和DHCPv6服务器完成地址配置功能。一般情况下,DHCPv6客户端通过本地链路范围的组播地址与DHCPv6服务器通信,以获取IPv6地址/前缀和其他网络配置参数。如果服务器和客户端不在同一个链路范围内,则需要通过DHCPv6中继代理来转发报文,这样可以避免在每个链路范围内都部署DHCPv6服务器,既节省了成本,又便于进行集中管理。
DHCPv6基本协议架构中,DHCPv6中继代理不是必须的角色。如果DHCPv6客户端和DHCPv6服务器位于同一链路范围内,或DHCPv6客户端和DHCPv6服务器直接通过单播交互完成地址分配或信息配置的情况下,是不需要DHCPv6中继代理参与的。只有当DHCPv6客户端和DHCPv6服务器不在同一链路范围内,或DHCPv6客户端和DHCPv6服务器无法单播交互的情况下,才需要DHCPv6中继代理的参与。
DHCPv6 Server:
DHCPv6服务器,负责处理来自客户端或中继代理的地址分配、地址续租、地址释放等请求,为客户端分配IPv6地址/前缀和其他网络配置信息。
DHCPv6基本概念:
组播地址
· 在DHCPv6协议中,客户端不用配置DHCPv6 Server的IPv6地址,而是发送目的地址为组播地址的Solicit报文来定位DHCPv6服务器。
· 在DHCPv4协议中,客户端发送广播报文来定位服务器。为避免广播风暴,在IPv6中,已经没有了广播类型的报文,而是采用组播报文。DHCPv6用到的组播地址有两个:
2. FF02::1:2(All DHCP Relay Agents and Servers):所有DHCPv6服务器和中继代理的组播地址,这个地址是链路范围的,用于客户端和相邻的服务器及中继代理之间通信。所有DHCPv6服务器和中继代理都是该组的成员。
2. FF05::1:3(All DHCP Servers):所有DHCPv6服务器组播地址,这个地址是站点范围的,用于中继代理和服务器之间的通信,站点内的所有DHCPv6服务器都是此组的成员。
UDP端口号
· DHCPv6报文承载在UDPv6上。
· 客户端侦听的UDP目的端口号是546。
· 服务器、中继代理侦听的UDP端口号是547。
DHCP唯一标识符(DUID)
DHCP设备唯一标识符DUID(DHCPv6 Unique Identifier),每个服务器或客户端有且只有一个唯一标识符,服务器使用DUID来识别不同的客户端,客户端则使用DUID来识别服务器。
客户端和服务器DUID的内容分别通过DHCPv6报文中的Client Identifier和Server Identifier选项来携带。两种选项的格式一样,通过option-code字段的取值来区分是Client Identifier还是Server Identifier选项。
身份联盟(IA)
· 身份联盟IA(Identity Association)是使得服务器和客户端能够识别、分组和管理一系列相关IPv6地址的结构。每个IA包括一个IAID和相关联的配置信息。
· 客户端必须为它的每一个要通过服务器获取IPv6地址的接口关联至少一个IA。客户端用给接口关联的IA来从服务器获取配置信息。每个IA必须明确关联到一个接口。
· IA的身份由IAID唯一确定,同一个客户端的IAID不能出现重复。IAID不应因为设备的重启等因素发生丢失或改变。
· IA中的配置信息由一个或多个IPv6地址以及T1和T2生存期组成。IA中的每个地址都有首选生存期和有效生存期。
· 一个接口至少关联一个IA,一个IA可以包含一个或多个地址信息。
DHCPv6报文类型
DHCPv6报文格式:
图:DHCPv6的报文格式
DHCPv6报文类型:
目前DHCPv6定义了如下十三种类型报文,DHCPv6服务器和DHCPv6客户端之间通过这十三种类型的报文进行通信。
DHCPv6和DHCPv4报文对比:
DHCPv6报文抓包:
Solicit报文(类型1):
DHCPv6客户端使用Solicit报文来确定DHCPv6服务器的位置。
图:Solicit报文抓包示例
Advertise报文(类型2):
DHCPv6服务器发送Advertise报文来对Solicit报文进行回应,宣告自己能够提供DHCPv6服务。
图:Advertise报文抓包示例
Request报文(类型3):
DHCPv6客户端发送Request报文来向DHCPv6服务器请求IPv6地址和其它配置信息。
图:Request报文抓包示例
Renew报文(类型5):
DHCPv6客户端向给其提供地址和配置信息的DHCPv6服务器发送Renew报文来延长地址的生存期并更新配置信息。
图:Renew报文抓包示例
Rebind报文(类型6):
如果Renew报文没有得到应答,DHCPv6客户端向任意可达的DHCPv6服务器发送Rebind报文来延长地址的生存期并更新配置信息。
图:Rebind报文抓包示例
Reply报文(类型7):
DHCPv6服务器在以下场合发送Reply报文:DHCPv6服务器发送携带了地址和配置信息的Reply消息来回应从DHCPv6客户端收到的Solicit、Request、Renew、Rebind报文。DHCPv6服务器发送携带配置信息的Reply消息来回应收到的Information-Request报文。用来回应DHCPv6客户端发来的Confirm、Release、Decline报文。
图:Reply报文抓包示例
Release(类型8);
DHCPv6客户端向为其分配地址的DHCPv6服务器发送Release报文,表明自己不再使用一个或多个获取的地址。
图:Release报文抓包示例
Reply-forw报文(类型12):
中继代理通过Relay-Forward报文来向DHCPv6服务器转发DHCPv6客户端请求报文。
图:Relay-Forw报文抓包示例
Relay-reply报文(类型13):
DHCPv6服务器向中继代理发送Relay-Reply报文,其中携带了转发给DHCPv6客户端的报文。
图:Relay-Reply报文抓包示例
相关推荐
- Centos7虚拟机安装及网络配置(二)
-
#二、centos7的网络配置-Nat模式NAT模式也是VMware创建虚拟机的默认网络连接模式。使用NAT模式网络连接时,VMware会在主机上建立单独的专用网络,用以在主机和虚拟机之间相互通信。虚...
- 网络分析shell脚本(实时流量+连接统计)
-
介绍一个强大的分析网络的shell脚本,此脚本是从EZHTTP拆分出来的,觉得有必要单独介绍下。脚本运行效果截图:此脚本包含的功能有:1、实时监控任意网卡的流量2、统计10秒内平均流量3、统计每个端口...
- Centos之Could not retrieve mirrorlist解决方案
-
Centos之Couldnotretrievemirrorlist解决方案:vi/etc/sysconfig/network-scripts/ifcfg-你的网卡名字修改:ONBOOT=ye...
- 一文掌握!VirtualBox 中 Rock9.x(Linux)网络配置全攻略
-
一、前言记得我有一篇文章《必看!VirtualBox中Centos7(Linux)网络配置全攻略》讲的非常明细,但是因为CentOS已经停止维护了,可能很多人都不想继续学CentOS,我也是一样,...
- CentOS 6.0 设置IP地址、网关、DNS
-
在做任何操作之前先备份原文件,我们约定备份文件的名称为:源文件名称+bak,例如原文件名称为:centos.txt那么备份文件名称为:centos.txtbak引言:linux的网卡IP地址是存放在文...
- Linux CentOS 基础操作(centos怎么操作)
-
简介:养成学习Linux的好习惯,第一是多查看manpage(manual)等帮助文档和利用好Tab键;第二是掌握好一些快捷键,比如ctrl+c(停止当前进程),ctrl+r(查看命令历史)...
- Linux抓包王者技能!这条命令直接封神,教你精准定位网络问题
-
在网络故障排查和性能调优中,抓包是一项必不可少的技能。对于Linux环境下的网络工程师和运维人员来说,掌握高效抓包方法至关重要。而要说“抓包界的王炸”,那非tcpdump莫属!今天,我们不仅要介绍...
- 「干货」如何在 Linux 上划分VLAN?
-
在某些场景中,我们希望在Linux服务器(CentOS/RHEL)上的同一网卡分配来自不同VLAN的多个ip。这可以通过启用VLAN标记接口来实现,但要实现这一点,首先必须确保交换机上添加多个vl...
- CentOS 8 网络配置实战教程:静态IP、路由与DNS设置
-
一、配置前准备1.查看当前网络信息#查看所有网络接口nmclidevicestatus#查看指定网卡信息(假设网卡名为ens192)ipaddrshowens192#查看路由...
- Debian10.7修改网络配置(debian怎么配置网络)
-
简介:关于Debian获取IP地址的方法主要有两种,动态获取和静态设置。在配置网络之前先要知道Debian的网卡名称是什么,Debian可通过命令#ipa查看网卡名称。本文主要通过介绍Debian...
- 巧用SSH转发功能深入穿透内网(ssh转发udp)
-
ssh能够提供客户端到服务端的加密传输,当http、ftp等协议被防火墙所拦截时,可以考虑使用SSH的端口转发功能,将其它TCP端口的网络数据通过SSH连接来转发。转发方式一共有三种,分别是:动态转发...
- CentOS Linux 7 的IP地址配置(centos7.4配置ip地址)
-
前段时间有位朋友,在一台PC机上安装了CentOSLinux7系统,因为要接入局域网,需要配置IP地址和默认网关信息。于是参照一本Linux教程上编辑网卡配置信息的方法,输入:vim/etc/s...
- 教你如何在 Linux 上划分VLAN(linux怎么分区详解)
-
在某些场景中,我们希望在Linux服务器(CentOS/RHEL)上的同一网卡分配来自不同VLAN的多个ip。这可以通过启用VLAN标记接口来实现,但要实现这一点,首先必须确保交换机上添加多个vl...
- 打通数据高速公路:如何在 CentOS 上使用 Thunderbolt 3 和 4
-
Thunderbolt3与4是现代高速外设连接的代表,带来了40Gbps的惊人带宽,支持数据、视频、音频与供电的“四合一”功能,尤其在专业视频编辑、科研计算、虚拟化扩展等领域具有巨大价值...
- VMware 虚拟机 CentOS7 桥接模式静态 IP 配置全攻略
-
虚拟机桥接模式原理配置成桥接网络连接模式的虚拟机就当作主机所在以太网的一部分,虚拟系统和宿主机器的关系,就像连接在同一个Hub上的两台电脑,可以像主机一样可以访问以太网中的所有共享资源和网络连接,可以...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)