Technical documentation
发布日期:2023-03-07 浏览次数:1315 来源:WOLFLAB
华为认证HCIE培训学霸级学习笔记-IPv6地址怎么分类?WOLFLAB
关注WOLFLAB网络技术实验室-华为认证HCIE培训机构,所有课程循环开班,联系WOLFLAB网站客服可预约免费试听!
IPv6地址分为单播地址、任播地址(Anycast Address)、组播地址三种类型。和IPv4相比,取消了广播地址类型,以更丰富的组播地址代替,同时增加了任播地址类型。
(1) IPv6单播地址: 标识了一个接口,由于每个接口属于一个节点,因此每个节点的任何接口上的单播地址都可以标识这个节点。发往单播地址的报文,由此地址标识的接口接收。
(1) IPv6单播地址: 标识了一个接口,由于每个接口属于一个节点,因此
每个节点的任何接口上的单播地址都可以标识这个节点。发往单播地址的报文,由此地址标识的接口接收。
IPv6定义了多种单播地址,目前常用的单播地址有:
○ 1 未指定地址:IPv6中的未指定地址即 0:0:0:0:0:0:0:0/128 或
者::/128。该地址可以表示某个接口或者节点还没有IP地址,可以作为某些报文的源IP地址(例如在NS报文的重复地址检测中会出现)。源IP地址是::的报文不会被路由设备转发。
○ 2 环回地址:IPv6中的环回地址即 0:0:0:0:0:0:0:1/128 或者::1/128。环回与IPv4中的127.0.0.1作用相同,主要用于设备给自己发送报文。该地址通常用来作为一个虚接口的地址(如
Loopback接口)。实际发送的数据包中不能使用环回地址作为源IP地址或者目的IP地址。
○ 3 全球单播地址:全球单播地址是带有全球单播前缀的IPv6地址,其作用类似于IPv4中的公网地址。这种类型的地址允许路由前缀的聚合,从而限制了全球路由表项的数量。
全球单播地址由全球路由前缀(Global routing prefix)、子网ID(Subnet ID)和接口标识(Interface ID)组成, 其格式如图所示:
图全球单播地址格式
Global routing prefix:全球路由前缀。由提供商(Provider)指定给一个组织机
构,通常全球路由前缀至少为48位。目前已经分配的全球路由前缀的前3bit均为001。
Subnet ID: 子网ID。组织机构可以用子网ID来构建本地网络(Site)。
子网ID通常最多分配到第64位。子网ID和IPv4中的子网号作用相似。
Interface ID: 接口标识。用来标识一个设备(Host)。
○ 4 链路本地地址:链路本地地址是IPv6中的应用范围受限制的地址类型,只能在连接到同一本地链路的节点之间使用。它使用了特定的本地链路前缀FE80::/10(最高10位值为1111111010),同时将接口标识添加在后面作为地址的低64比特。
当一个节点启动IPv6协议栈时,启动时节点的每个接口会自动配置一个链路本地地址(其固定的前缀+EUI-64 规则形成的接口标识)。
这种机制使得两个连接到同一链路的IPv6节点不需要做任何配置就可以通信。所以链路本地地址广泛应用于邻居发现,无状态地址配置等应用。
以链路本地地址为源地址或目的地址的IPv6报文不会66被路由设备转发到其他链路。链路本地地址的格式如图所示:
(2) IPv6组播地址
2-IPv6的组播与IPv4相同,用来标识一组接口,一般这些接口属于不同的节点。一个节点可能属于0到多个组播组。发往组播地址的报文被组播地址标识的所有接口接收。
例如组播地址FF02::1表示链路本地范围的所有节点。组播地址FF02::2表示链路本地范围的所有路由器。
一个IPv6组播地址由前缀,标志(Flag)字段、范围(Scope)
字段以及组播组ID(Global ID)4个部分组成:
○ 1 .前缀:IPv6组播地址的前缀是FF00::/8。
○ 2 .标志字段(Flag):长度4bit,目前只使用了最后一个比特(前三位必须置0),当该位值为0时,表示当前的组播地址是由IANA所分配的一个永久分配地址;当该值为1时,表示当前的组播地址是一个临时组播地址(非永久分配地址)。
○ 3 .范围字段(Scope):长度4bit,用来限制组播数据流在网络中发送的范围,该字段取值和含义的对应关系如图5所示。
○ 4 .组播组ID(Group ID):长度112bit,用
以标识组播组。目前,RFC2373并没有将所有的112 位都定义成组标识,而是建议仅使用该112位的最低32位作为组播组ID,将剩余的80 位都置0。这样每个组播组ID都映射到一个唯一的以太网组播MAC地址
被请求节点组播地址:(特殊组播地址)
被请求节点组播地址通过节点的单播或任播地址生成。一个节点具有了单播或任播地址,就会对应生成一个被请求节点组播地址,并且加入这个组播组。一个单播地址或任播地址对应一个被请求节点组播地址。该地址主要用于邻居发现机制和地址重复检测功能。IPv6中没有广播地址,也不使用ARP。但是仍然需要从IP地址解析到MAC地址的功能。在IPv6中,这个功能通过邻居请求NS(Neighbor
Solicitation)报文完成。当一个节点需要解析某个IPv6地址对应的MAC地址时,会发送NS报文,该报文的目的IP 就是需要解析的IPv6地址对应的被请求节点组播地址;只有具有该组播地址的节点会检查处理。
被请求节点组播地址由前缀FF02::1:FF00:0/104和单播地址的最后24位组成。
3-IPv6任播地址
任播地址标识一组网络接口(通常属于不同的节点)。目标地址是任播地址的数据包将发送给其中路由意义 最近的一个网络接口。任播地址设计用来在给多个主机或者节点提供相同服务时提供冗余功能和负载分担功 能。目前,任播地址的使用通过共享单播地址方式来完成。将一个单播地址分配给多个节点或者主机,这样在网络中如果存在多条该地址路由,当发送者发送以任播地址为目的IP的数据报文时,发送者无法控制哪台设备能够收到,这取决于整个网络中路由协议计算的结果。这种方式可以适用于一些无状态的应用,例如DNS等。
IPv6中没有为任播规定单独的地址空间,任播地址和单播地址使用相同的地址空间。目前IPv6中任播主要应用于移动IPv6。 IPv6任播地址仅可以被分配给路由设备, 不能应用于主机。任播地址不能作为IPv6报文的源地址。
子网路由器任播地址:子网路由器任播地址是已经定义好的一种任播地址(RFC3513)。发送到子网路由器任播地址的报文会被发送到该地址标识的子网中路由意义上最近的一个设备。所有设备都必须支持子网任播地址。子网路由器任播地址用于节点需要和远端子网上所有设备中的一个(不关心具体是哪一个)通信时使用。例如,一个移动节点需要和它的“家乡”子网上的所有移动代理中的一个进行通信。
子网路由器任播地址由n bit子网前缀标识子网,其余用0填充。格式如图所示
扩展问题1:接口是否能存在多个全球单播地址和多个链路本地地址?
答:一个接口可以存在多个全球单播地址,但是只能存在一个链路本地地址。
扩展问题2:EUI-64是怎么生成地址的?
IEEE EUI-64规范是将接口的MAC地址转换为IPv6接口标识的过程。如图1所示,
MAC地址的前24位(用c表示的部分)为公司标识,后24位(用m表示的部分) 为扩展标识符。从高位数,第7位是0表示了MAC地址本地唯一。
第一步将FFFE插入MAC地址的公司标识和扩展标识符之间。 第二步将从高位数,第7位的0改为1表示此接口标识全球唯一。
例如:MAC地址:000E-0C82-C4D4;转换后:020E:0CFF:FE82:C4D4。
这种由MAC地址产生IPv6地址接口标识的方法可以减少配置的工作量,
尤其是当采用无状态地址自动配置时,只需要获取一个IPv6前缀就可以与接口标识形成IPv6地址。
但是使用这种方式最大的缺点:是任何人都可以通过二层MAC地址推算出三层
IPv6地址。
扩展问题3:link-local地址是怎么产生的?它的作用是什么?对比IPv4说一下它存在的重要性。
(1) 链路本地地址是IPv6中的应用范围受限制的地址类型,只能在连接到同一本地链路的节点之间使用。它使用了特定的本地链路前缀FE80::/10(最高10位值为1111111010),同时将接口标识添加在后面作为地址的低64比特。
(2) 当一个节点启动IPv6协议栈时,启动时节点的每个接口会自动配置一个链路本地地址(其固定的前缀+EUI-64规则形成的接口标识)。
这种机制使得两个连接到同一链路的IPv6节点不需要做任何配置就可以通信。所以链路本地地址广泛应用于邻居发现,无状态地址配置等应用
(3) 作用:
用于本地链路通信
用于路由器发现(无状态自动配置) 用于建立协议的邻居
用于路由条目的下一跳
扩展问题4:任播和单播有些区别?
1. 任播地址和单播地址使用相同的地址空间,配置时必须标明任播地址,来区别单播和任播地址
2. 单播地址通过给一台设备配置,任播地址给一组设备配置
3. 任播地址不能主动作为数据包的源,因为其他设备收到之后会其他最近的源去回复。
5. 任播地址关闭重复地址检测功能。
扩展问题5:IPV6有哪些特殊地址?IPV4又有哪些? 答:
ipv6的特殊地址:
<1>未指定地址:表示某个接口或者节点没有ip地址作用:
1. 重复地址检测
2. DHCPV6的源IP地址
3. 默认路由
<2> 环回地址:用于测试协议栈是否正常工作
ipv4的特殊地址:
0.0.0.0(表示某个主机没有ip地址,用于DHCP的源ip地址)
255.255.255.255(全网广播)
127.0.0.0~127.0.0.255(环回地址)
扩展问题6:什么时候一个接口会加入到被请求节点组播地址?
答:一旦接口配置一个单播地址或者任意播地址,就会加入到对应的被请求节点组播。
欢迎关注【WOLFLAB网络实验室】,了解更多关于华为认证HCIE培训相关技术,我们每周都会更新!
讲师:杨广成
华为认证HCIE培训循环开班,点击这里预约
WOLFLAB官方微信:17316362402
WOLFLAB官方QQ:2569790740