文章目录
IPV6
地址结构:
长度为128bit,采用十六进制表示,总共由32个十六进制表示
每四位十六进制用冒号来分割,总共有八段
大小写不敏感
IPv6每组16 bit的单元中的前导0可以省略。
但是如果16 bit单元的所有比特都为0,那么至少要保留一个“0”字符。
拖尾的0不能被省略。
一个或多个连续的16bit字符为0时,可用“::”表示,但整个IPv6地址缩写中只允许有一个”::“
掩码结构:
IPv6也用“IPv6地址/掩码长度”的方式来表示IPv6地址
例如:128位掩码表示1个IPV6,127位表示2个
地址划分
例:2001: 1234:5678::/31计算可以用地址范围
找到31位的位置 31(bit)/4(bit)=7余3
7 ➔ 第7个16进制数,即:2001:123
3 ➔ 第8个16进制数的前3个bit位置,即:4(16进制) ➔ 0100 (二进制),前三位就是010
计算范围 7位头部,即2001:123
后面为尾部: 最小为0100,即4(16进制)
最大为0101,即5(16进制) ,余下以F补充
因此,地址范围为: 2001:1234::/31~2001:1235:ffff:ffff:ffff:ffff:ffff:ffff/31
地址分类:
IPv6地址分为单播地址、组播地址和任播地址
单播地址
标识一个接口(具有mac地址的端口),目的为单播地址的报文会被送到被标识的接口
单播地址结构 一个IPv6单播地址可以分为如下两部分:
网络前缀( Network Prefix) : n bit,相当于IPv4地址中的网络ID
接口标识( Interface Identify) : (128-n) bit,相当于IPv4地址中的主机ID
接口标识的产生有三种方法:
- 手工配置
- ipv6 address 2001::1/64
- 系统软件自动生成:只能产生64位的地址
- 通过IEEE EUI-64规范生成:
- 利用48bitMAC地址,中间插入“FFFE”补足64bit,第7bit位取反
- ipv6 address 2001::/64 eui-64
单播分类:
- 未指定地址 : :/128
- 环回地址 : :1/128
- 本地链路地址 FE80::/10
- 唯一本地地址 私网,做实验使用
- 全球单播地址 公网ip
- 其他地址 过渡技术:兼容、映射、 6to4、双栈 2002: 😕
单播地址业务流程:
一个接口在发送IPv6报文前要经历地址配置,DAD,地址解析三个阶段
地址配置方式:
全球单播地址
- 手工配置
- 无状态自动配置NDP
- 有状态自动配置DHCPv6
链路本地地址
- 手工配置
- 自动生成
- 根据EUI-64规范动态生成
DAD:类似IPv6中的免费arp,用于检测当前地址是否冲突
地址解析:类似IPv4中的ARP请求,通过ICMPv6报文形成IPv6地址与数据链路层的映射关系
GUA(Global Unicast Address,全球单播地址)
也被称为可聚合全球单播地址。该类地址全球唯一,用于需要有互联网访问需求的主机, 相当于IPv4的公网地址
- GUA的网络部分长度为64 bit,接口标识也为64 bit。
- 全局路由前缀:由提供商指定给一个组织机构,一般至少为45bit。
- 子网ID:组织机构根据自身网络需求划分子网。
- 接口标识:用来标识一个设备(的接口)。
2000::/3即为当前IPv6地址的全球顶级聚合。 亚太地区顶级聚合为2400::/12,即2400::~240F:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF
LLA(Link-Local Address,链路本地地址)
IPv6中另一种应用范围受限制的地址类型。 LLA的有效范围是本地链路,前缀为FE80::/10
LLA用于一条单一链路层面的通信,例如IPv6地址无状态自动配置、IPv6邻居发现等。
源或目的IPv6地址为链路本地地址的数据包将不会被转发到始发的链路之外, 换句话说,链路本地地址的有效范围为本地链路
ULA(Unique Local Address,唯一本地地址)
ULA是IPv6私网地址,只能够在内网中使用。 该地址空间在IPv6公网中不可被路由,因此不能直接访问公网
唯一本地地址使用FC00::/7地址块,目前仅使用了FD00::/8地址段。FC00::/8预留为以 后拓展用。
ULA虽然只在有限范围内有效,但也具有全球唯一的前缀(虽然随机方式产生,但是冲突 概率很低)。
组播地址
- 标识多个接口 ,目的为组播地址的报文会被送到被标识的所有接口
- IPv6组播地址标识多个接口,一般用于“一对多”的通信场景
- IPv6组播地址只可以作为IPv6报文的目的地址
- 相当于ipv4中的广播报文,在同一个组播组相当于在同一个vlan
路由器的所有接口都将被加入FF02::1和FF02::2的组播组
任播地址
标识多个接口,目的为任播地址的报文会被送到最近的一个被标识接口,最近节点是由路由协议来定义的。 任播地址可以作为IPv6报文的源地址,也可以作为目的地址
任播地址与单播地址使用相同的地址空间配置时须明确表明是任播地址,以此区别单播和任播
发送到子网路由器任播地址的报文会被发送到该地址标识的子网中路由意义上最近的一个路由器
现在使用CDN来实现此功能,任播地址并未使用
作用
提升可靠性,减少路由器的负荷
实现冗余
实现双活
实现负载均摊
报文结构
-
基本报头:
- 必须包含基本报头,提供报文转发的基本信息,会被路径上所有路由器解析,基本包头长度固定,提升转发效率
- IPv6基本报头有8个字段 ,固定大小为40字节,每一个IPv6数据报都必须包含基本报头
- version版本号:指定IPv6,数值=6
- traffic class流量等级:用来区分不同类型或优先级的IPv6数据包
- flow label 流标签:用作标识同一个数据流,此字段为IPv6新增字段(可以将五元组简化为三元组)在基本IP头中增加流标签:提高QOS效率,保留了DSCP
- payload length数据长度:数据包的有效载荷
- next header下一报头:指明跟在基本报头后面是哪种扩展报头或者上层协议中的协议类型
- hop limit下一跳限制数量
- 源地址:数据包的源IPv6地址,必须是单播地址
- 目的地址:数据包的目标IPv6地址,可以是单播或组播地址
字段 长度 含义 Version 4比特 4:表示为IPv4;6:表示为IPv6。 Traffic class 8比特 流量类别。该字段及其功能类似于IPv4的业务类型字段。该字段以区分业务编码点(DSCP)标记一个IPv6数据包,以此指明数据包应当如何处理。 Flow Label 20比特 流标签。该字段用来标记IP数据包的一个流,当前的标准中没有定义如何管理和处理流标签的细节。 Payload length 16比特 该字段表示有效载荷的长度,有效载荷是指紧跟IPv6基本报头的数据包,包含IPv6扩展报头。 Next header 8比特 下一报头,该字段指明了跟随在IPv6基本报头后的扩展报头的信息类型。 Hop limit 8比特 跳数限制,该字段定义了IPv6数据包所能经过的最大跳数,这个字段和IPv4中的TTL字段非常相似。 Source Address 128比特 该字段表示该报文的源地址。 Destination Address 128比特 该字段表示该报文的目的地址。 Extension Headers 可变 扩展报头。IPv6取消了IPv4报头中的选项字段,并引入了多种扩展报文头,在提高处理效率的同时还增强了IPv6的灵活性,为IP协议提供了良好的扩展能力。当超过一种扩展报头被用在同一个分组里时,报头必须按照下列顺序出现:IPv6基本报头逐跳选项扩展报头(值为0,在IPv6基本报头中定义)目的选项扩展报头(值为60,指那些将被分组报文的最终目的地处理的选项)路由扩展报头(值为43,用于源路由选项和Mobile IPv6)分片扩展报头(值为44,在源节点发送的报文超过Path MTU时对报文分片时使用)授权扩展报头(值为51,用于IPSec,提供报文验证、完整性检查。定义和IPv4中相同)封装安全有效载荷扩展报头(值为50,用于IPSec,提供报文验证、完整性检查和加密。定义和IPv4中相同)上层扩展报头(如TCP/UDP/ICMP等),详细请参见表2。不是所有的扩展报头都需要被转发路由设备查看和处理的。路由设备转发时根据基本报头中Next Header值来决定是否要处理扩展头。除了目的选项扩展报头出现两次(一次在路由扩展报头之前,另一次在上层扩展报头之前),其余扩展报头只出现一次。 -
拓展报头:
扩展头协议号 含义 相关标准 0 IPv6 Hop-by-Hop Option RFC 8200 1 ICMP RFC 792 2 IGMP RFC 1112 3 GGP (Gateway-to-Gateway) RFC 823 4 IPv4 encapsulation RFC 2003 5 Stream RFC 1190, RFC 1819 6 TCP RFC 9293 7 CBT - 8 EGP (Exterior Gateway Protocol) RFC 888 9 IGP - 10 BBN RCC Monitoring - 11 Network Voice Protocol RFC 741 12 PUP - 13 ARGUS (deprecated) - 14 EMCON - 15 XNET (Cross Net Debugger) - 16 CHAOS - 17 UDP RFC 768 18 MUX - 19 DCN-MEAS (DCN Measurement Subsystems) - 20 HMP (Host Monitoring) RFC 869 21 PRM (Packet Radio Measurement) - 22 XNS-IDP - 23 TRUNK-1 - 24 TRUNK-2 - 25 LEAF-1 - 26 LEAF-2 - 27 RDP (Reliable Data Protocol) RFC 908 28 IRTP (Internet Reliable Transaction) RFC 938 29 ISO-TP4 (ISO Transport Protocol Class 4) RFC 905 30 NETBLT (Bulk Data Transfer Protocol) RFC 969 31 MFE-NSP (MFE Network Services) - 32 MERIT-INP (MERIT Internodal Protocol) - 33 DCCP (Datagram Congestion Control Protocol) RFC 4340 34 3PC (Third Party Connect Protocol) - 35 IDPR (Inter-Domain Policy Routing Protocol) - 36 XTP - 37 DDP (Datagram Delivery Protocol) - 38 IDPR-CMTP (IDPR Control Message Transport Protocol) - 39 TP++ Transport Protocol - 40 IL Transport Protocol - 41 IPv6 encapsulation RFC 2473 42 SDRP (Source Demand Routing Protocol) - 43 Routing Header for IPv6 RFC 2460 44 Fragment Header for IPv6 RFC 2460 45 IDRP (Inter-Domain Routing Protocol) RFC 2205, RFC 3209 46 RSVP (Reservation Protocol) RFC 2205, RFC 3209 47 GRE (Generic Routing Encapsulation) RFC 2784 48 DSR (Dynamic Source Routing Protocol) RFC 4728 49 BNA - 50 ESP (Encap Security Payload) RFC4303 51 AH (Authentication Header) RFC4302 52 I-NLSP (Integrated Net Layer Security TUBA) - 53 SWIPE (deprecated) (IP with Encryption) - 54 NARP (NBMA Address Resolution Protocol) RFC 1735 55 IP Mobility Transport Layer Security - 56 TLSP (Protocol using Kryptonet key management) - 57 SKIP - 58 ICMP for IPv6 RFC 8200 59 No Next Header for IPv6 RFC 8200 60 Destination Options for IPv6 RFC 8200 61 Destination Options for IPv6 any host internal protocol RFC 8200 62 CFTP - 63 any local network - 64 SAT-EXPAK (SATNET and Backroom EXPAK) - 65 Kryptolan - 66 RVD (MIT Remote Virtual Disk Protocol) - 67 IPPC (Internet Pluribus Packet Core) - 68 any distributed file system - 69 SAT-MON (SATNET Monitoring) - 70 VISA (VISA Protocol) - 71 IPCV (Internet Packet Core Utility) - 72 CPNX (Computer Protocol Network Executive) - 73 CPHB (Computer Protocol Heart Beat) - 74 WSN (Wang Span Network) - 75 PVP (Packet Video Protocol) - 76 BR-SAT-MON (Backroom SATNET Monitoring) - 77 SUN-ND (SUN ND PROTOCOL-Temporary) - 78 WB-MON (WIDEBAND Monitoring) - 79 WB-EXPAK (WIDEBAND EXPAK) - 80 ISO-IP (ISO Internet Protocol) - 81 VMTP - 82 SECURE-VMTP - 83 VINES - 84 TTP (Transaction Transport Protocol) - 84 IPTM (Internet Protocol Traffic Manager) - 85 NSFNET-IGP - 86 DGP (Dissimilar Gateway Protocol) - 87 TCF - 88 EIGRP RFC 7868 89 OSPFIGP RFC 1583, RFC 2328, RFC 5340 90 Sprite RPC Protocol - 91 LARP (Locus Address Resolution Protocol) - 92 MTP (ulticast Transport Protocol) - 93 AX.25 Frames - 94 IP-within-IP Encapsulation Protocol - 95 MICP (deprecated) (Mobile Internetworking Control Protocol) - 96 SCC-SP RFC 3378 97 ETHERIP (Ethernet-within-IP Encapsulation) - 98 ENCAP (Encapsulation Header) - 99 any private encryption scheme - 100 GMTP - 101 IFMP (Ipsilon Flow Management Protocol) - 102 PNNI over IP - 103 PIM (Protocol Independent Multicast) RFC 7761 104 ARIS - 105 SCPS - 106 QNX - 107 Active Networks - 108 IPComp (IP Payload Compression Protocol) RFC 2393 109 SNP (Sitara Networks Protocol) - 110 Compaq Peer Protocol - 111 IPX in IP - 112 VRRP (Virtual Router Redundancy Protocol) - 113 PGM (PGM Reliable Transport Protocol) - 114 any 0-hop protocol - 115 L2TP (Layer Two Tunneling Protocol) - 116 DDX (D-II Data Exchange) - 117 IATP (Interactive Agent Transfer Protocol) - 118 STP (Schedule Transfer Protocol) - 119 SRP (SpectraLink Radio Protocol) - 120 UTI - 121 SMP (Simple Message Protocol) - 122 SM (deprecated) (Simple Multicast Protocol) - 123 PTP (Performance Transparency Protocol) - 124 ISIS over IPv4 - 125 FIRE - 126 CRTP (Combat Radio Transport Protocol) - 127 CRUDP (Combat Radio User Datagram) - 128 SSCOPMCE - 129 IPLT - 130 SPS (Secure Packet Shield) - 131 PIPE (Private IP Encapsulation within IP) - 132 Fibre Channel - 133 RSVP-E2E-IGNORE RFC 3175 134 Mobility Header RFC 6275 135 Mobility Header RFC 6275 136 UDPLite RFC 3828 137 MPLS-in-IP RFC 4023 138 MANET Protocols RFC 5498 139 Host Identity Protocol RFC 7401 140 Shim6 Protocol RFC 5533 141 WESP (Wrapped Encapsulating Security Payload) RFC 5840 142 ROHC (Robust Header Compression) RFC 5858 143-252 Unassigned - 253 Use for experimentation and testing RFC 3692 254 Use for experimentation and testing RFC 3692 255 Reserved -
ICMPv6
协议号:58
根据Type分类,分为差错(Type0–127)和信息(Type128–255)两类报文
Type | code |
---|---|
1 | code=0 没有到达目标的路由 ;code=1 与目标的通信被禁止;code=2 未指定 ;code=3 地址不可达 ;code=4 端口不可达 |
2 | code=0 报文超出接口的链路MTU |
3 | code=0 在传输中超越了跳数限制,Hop Limit字段等于0; code=1 分片重组超时 |
4 | code=0 遇到错误的报头字段 ;code=1 遇到无法识别的下一个报头;code=2 遇到无法识别的ipv6选项 |
PathMTU
ipv6
由于报头中取消了分段字段,所有由拓展报头里面的分段报文来实现。分段报文不被中间路由器识别,分段只在数据发起端生效
配置的MTU值只在出口方向生效,数据产生type2报文后,会在一端生成pathmtu表,另一端不生成,当一段重新设置pathmtu之后,另一端会生成。
disp ipv6 pathmtu all 查询当前存储的MTU值
reset ipv6 pathmtu all 重置MTU值列表
可以使用Ping ipv6 –s 带字节包Ping测
ipv4
通过发出数据包测试出链路的mtu
发出一个包,字节数设置为源主机接口的mtu
- 发到目的地说明这条路的mtu为1500,df=1
- 发不到则说明这条路的mtu低于1500,会重新发出一个数据包比1500更小的
- 当发到了之后会逐渐提高数据包的大小直到发不过去为止
NDP
邻居发现协议,主要是和IPv6一起使用,在网络层工作,负责链路上发现其他节点和相应地址,并确定可用路由和维护关于可用路径和其他活动节点的信息可达性。用于
- 无状态自动配置:前缀公告
- DAD
- 地址解析
- 路由重定向
NDP协议中一共有五种ICMPv6报文类型,分别是
- RS(Type=133)router solicitation 路由器请求
- RA(Type=134)router advertisement 路由器公告
- NS(Type=135)neighbor solicitation 邻居请求
- NA(Type=136)neighbor advertisement 邻居公告
- Redirect(Type=137)重定向报文
NS和NA报文主要用于地址解析,RA和RS报文主要用于无状态地址自动配置,Redirect报文用于路由器重定向
NS&&NA地址解析
邻居类报文:
R | 1 表示发送者为路由器 |
---|---|
S | 1 表示发送邻居通告是响应某个邻居请求,0表示主动刷新别人的邻居表 |
O | 1 表示邻居通告中的消息是已经覆盖已有的条目 |
Traget Address | 表示所携带的链路层地址对应的ipv6地址 |
NS邻居请求(Neighbor Solicitation):路由器向邻居路由发送NS,type=135的报文
NA(Neighbor Advertisement):邻居收到ns之后回复NA,type=136的报文
当一个节点具有了单播或任播地址,就会对应生成一个被请求节点组播地址**(ff02::1:ffxx:xxxx)**,并且加入这个组播组,该地址主要用于邻居发现机制和地址重复检测功能,被请求节点组播地址的有效范围为本地链路范围
ipv4中阻止arp攻击:
开启arp严格学习功能:只保留自己学到的arp表项,禁止别人刷新自己的arp表
路由类报文
RS (Router Solicitation)路由请求
由主机主动发出(加快地址配置速度,主机初始化会主动发送RS报文) 报文源地址为LLA地址
RA (Router Advertisement) 路由通告
由路由器发出(默认不发送,默认被抑制) 报文源地址为LLA地址,收到RS后发出或周期性自动发出(RA缺省每200s周期发送
以下情况忽略RA发送的前缀:
- RA报文中auto未置位
- 前缀与已有的地址前缀重复
- RA报文选项中preferred lifetime时间大于valid lifetime
- 前缀与接口id长度之和不等于128位
前缀重新编址
Tentative 临时时间-DAD过程中
Valid lifetime 有效时间-地址可用时间段
Preferred lifetime 优选时间-地址能接受、发送数据
Deprecated 反对时间-地址能接受、不能发送数据
Invalid 无效时间-地址不可用时间段
利用Preferred lifetime和Deprecated实现IPv6无感知切换
有效时间:优选加反对时间
[R1-GigabitEthernet0/0/0] ipv6 nd ra prefix 2001::/64 120 0
[R1-GigabitEthernet0/0/0] ipv6 nd ra prefix 2002::/64 120 120
前面的时间为有效时间,后面的时间是优选时间
M 标志位
M = 0 为地址无状态自动配置,即SLAAC
用户IPv6地址的网络前缀由RA报文里的网络前缀字段提供
用户IPv6地址的接口标识由手工配置或系统软件生成、EUI-64自动生成
上层路由器不会学习用户UNR路由,因此 M = 0 通常用于万物互联场景,以此能减少路由器路由表条目
M = 1 为地址有状态自动配置,即DHCPv6
用户IPv6地址由DHCPv6直接下发
上层路由器会学习用户UNR路由,因此 M = 1 通常用于用户场景,需要收敛用户UNR路由,以此实现上网行为管理
O 标志位
O = 0 为参数无状态自动配置,即不为用户提供参数信息
无参数信息,即无DNS、域名等,因此该方式通常用于万物互联等无WEB应用需求等场景
O = 1 为参数有状态自动配置,即DHCPv6下发参数信息有参数信息,该方式通常用于有WEB应用需求等场景
M=0,O=0 | M=1,O=0 | M=0,O=1 | M=1,O=1 |
---|---|---|---|
无状态获取地址;无参数 | 有状态获取地址;无参数 | 无状态获取地址;有状态获取参数 | 有状态获取地址;有状态获取参数 |
物联网、万物互联 | 局域网终端等 | 运营商家宽用户 | 企业网网络用户 |
无状态自动配置(SLAAC)
M = 0,O = 0的场景:
- 无需进行手工配置,实现插即用性
- 减轻网络管理的负担对主机、路由器均可进行自动配置
- 可配置多个地址进行网络无缝迁移
- 实现IPV4的无缝迁移:
- 新建一个地址池
- 将原先的地址池锁上一周时间
- 大部分的地址都会割接成功
- 少部分用手动release
- 实现IPV4的无缝迁移:
打开ra功能:undo ipv6 nd ra halt
重定向
当网关路由器知道更好的转发路径时 ,会以重定向报文的方式告知主机。
- 重定向是自动发起的
- 重定向的条件是入流量与出流量为同接口时
- 重定向报文源地址为第一次找到的路由器LLA地址
DAD(Duplicate Address Detect)即重复地址检测
类似免费arp
在接口使用某个IPv6单播地址之前进行的,主要是为了探测是否有其它的节点使用了该地址
- 通过ICMPv6报文请求自己的单播地址,没有回复才可以通过
- 只有当DAD通过之后才会使用
- 所有的单播地址都需要进行DAD检测。比如本地链路地址,唯一本地地址,可聚合全球地址等。
- 任播地址不需要进行DAD检测
DHCPv6
dhcpv6不支持配置网关,所以必须结合无状态自动分配地址一起使用
通过ipvd nd autoconfig managed-address-flag可以让ra给pc配置默认网关,在ra的option中将m置为1,告诉pc地址在dhcp服务器中获得,但是可以使用ra获得网关
通过ipv6 nd autoconfig other-flag可以让pc从dhcp服务器获取dns等其他信息
基本概念:
DHCPv6基本协议架构中,主要包括以下三种角色:
- DHCPv6 Client
- DHCPv6 Relay
- DHCPv6 Server
组播地址
FF02::1:2(All DHCP Relay Agents and Servers)客户端和相邻的服务器及中继代理之间通
FF05::1:3(All DHCP Servers)中继代理和服务器之间的通信
DUID
DHCP设备唯一标识符 DUID-LL/LLT
身份联盟(IA)
是使得服务器和客户端能够识别、分组和管理一系列相关IPv6地址的结构,分为:
- IA_NA (非临时地址身份联盟)
- IA_PD (代理前缀身份联盟)
报文类型
报文类型 | DHCPv6报文 | DHCPv4报文 | 说明 |
---|---|---|---|
1 | SOLICIT | DHCP DISCOVER | DHCPv6客户端使用Solicit报文来确定DHCPv6服务器的位置。 |
2 | ADVERTISE | DHCP OFFER | DHCPv6服务器发送Advertise报文来对Solicit报文进行回应,宣告自己能够提供DHCPv6服务。 |
3 | REQUEST | DHCP REQUEST | DHCPv6客户端发送Request报文来向DHCPv6服务器请求IPv6地址和其它配置信息。 |
4 | CONFIRM | - | DHCPv6客户端向任意可达的DHCPv6服务器发送Confirm报文检查自己目前获得的IPv6地址是否适用与它所连接的链路。 |
5 | RENEW | DHCP REQUEST | DHCPv6客户端向给其提供地址和配置信息的DHCPv6服务器发送Renew报文来延长地址的生存期并更新配置信息。 |
6 | REBIND | DHCP REQUEST | 如果Renew报文没有得到应答,DHCPv6客户端向任意可达的DHCPv6服务器发送Rebind报文来延长地址的生存期并更新配置信息。 |
7 | REPLY | DHCP ACK/NAK | DHCPv6服务器在以下场合发送Reply报文:DHCPv6服务器发送携带了地址和配置信息的Reply消息来回应从DHCPv6客户端收到的Solicit、Request、Renew、Rebind报文。DHCPv6服务器发送携带配置信息的Reply消息来回应收到的Information-Request报文。用来回应DHCPv6客户端发来的Confirm、Release、Decline报文。 |
8 | RELEASE | DHCP RELEASE | DHCPv6客户端向为其分配地址的DHCPv6服务器发送Release报文,表明自己不再使用一个或多个获取的地址。 |
9 | DECLINE | DHCP DECLINE | DHCPv6客户端向DHCPv6服务器发送Decline报文,声明DHCPv6服务器分配的一个或多个地址在DHCPv6客户端所在链路上已经被使用了。 |
10 | RECONFIGURE | - | DHCPv6服务器向DHCPv6客户端发送Reconfigure报文,用于提示DHCPv6客户端,在DHCPv6服务器上存在新的网络配置信息。唯一一个由服务器主动发出的,客户端自动更改 |
11 | INFORMATION-REQUEST | DHCP INFORM | DHCPv6客户端向DHCPv6服务器发送Information-Request报文来请求除IPv6地址以外的网络配置信息。 |
12 | RELAY-FORW | - | 中继代理通过Relay-Forward报文来向DHCPv6服务器转发DHCPv6客户端请求报文。 |
13 | RELAY-REPL | - | DHCPv6服务器向中继代理发送Relay-Reply报文,其中携带了转发给DHCPv6客户端的报文。 |
报文交互:
两步交互:
- DHCPv6客户端可以在发送的Solicit消息中携带Rapid Commit选项,标识客户端希望服务器能够快速为其分配地址/前缀和网络配置参数
- 设备可以使能,pc上无法使用
- dhcpv6 server huawei rapid commit
四部交互:
四步交互是指HCPv6客户端与服务器交互四次来完成前缀/地址等参数获取的过程,与ipv4相似
M=0,O=1
DHCPv6服务器为已经具有IPv6地址/前缀的客户端分配除地址/前缀以外的其他网络配置参数
在运营商网络中,采用 M = 0 ,O = 1 这种方式,不用收敛用户的UNR路由,减少网络中的路由条目
同时采用“slaac-unshare-only”的分配方式,实现对用户的区分,以便进行溯源
DHCPv6 PD前缀代理
在一个层次化的网络结构中,不同层次的IPv6地址配置一般是手工指定的。
手工配置IPv6地址扩展性不佳,不利于IPv6地址的统一规划管理。DHCPv6 PD可以解决这个问题。
当DHCPv6 Server为用户分配的动态PD时,DHCPv6 Client为终端分配时采用SLAAC
当DHCPv6 Server为用户分配的静态PD时,DHCPv6 Client为终端分配时可以采用SLAAC或DHCPv6
IPv6路由协议
- static
- isis
- bgp
- ospfv3:唯一一个与IPv4的使用有区别
思科路由器需要开启ipv6 unicast-routing
IPv4-to-IPv6过度技术:
双栈:
Dual stack
节点同时支持两种协议
如果某个接口同时配置了IPv4和IPv6,该接口视为双栈接口
隧道:
Manual tunnel
6 to 4 tunnel
ISATAP tunnel
将ipv6包装在ipv4数据包中
- 需要使用双栈的路由器进行封装
- 数据包中包含一个不带选项的20字节的ipv4包头和ipv6包头以及负载
区分,以便进行溯源
DHCPv6 PD前缀代理
在一个层次化的网络结构中,不同层次的IPv6地址配置一般是手工指定的。
手工配置IPv6地址扩展性不佳,不利于IPv6地址的统一规划管理。DHCPv6 PD可以解决这个问题。
当DHCPv6 Server为用户分配的动态PD时,DHCPv6 Client为终端分配时采用SLAAC
当DHCPv6 Server为用户分配的静态PD时,DHCPv6 Client为终端分配时可以采用SLAAC或DHCPv6
IPv6路由协议
- static
- isis
- bgp
- ospfv3:唯一一个与IPv4的使用有区别
思科路由器需要开启ipv6 unicast-routing
IPv4-to-IPv6过度技术:
双栈:
Dual stack
节点同时支持两种协议
如果某个接口同时配置了IPv4和IPv6,该接口视为双栈接口
隧道:
Manual tunnel
6 to 4 tunnel
ISATAP tunnel
将ipv6包装在ipv4数据包中
- 需要使用双栈的路由器进行封装
- 数据包中包含一个不带选项的20字节的ipv4包头和ipv6包头以及负载