WOLF-LAB沃尔夫网络实验室中国网络精英的发源地!
24小时咨询热线:173-1636-2402

技术文档

Technical documentation

您当前位置: 首页 > 技术文档 > 详情

HCIE Datacom学习技术-连续更新中IPV6地址分类详解

发布日期:2022-06-16 浏览次数:2627 来源:崔志鹏

HCIE Datacom学习技术-连续更新中IPV6地址分类详解

HCIE Datacom学习,选择沃尔夫,学习HCIE!

图片 1.png

①单播地址

②组播地址

③任意播地址

图片 1.png

特殊的单播地址:

①::/128 未指定地址,相当于IPV4的0.0.0.0,我还没地址或者可以作为DHCP源地址使用;

②::1/128 环回地址,相当于IPV4的127.0.0.1,不能作为报文的源地址;

③内嵌IPV4的IPV6单播地址:没啥用

图片 1.png

全球单播地址:相当于IPV4的公网地址

地址空间:2000::/3,正在使用的:2001::/16

First IP:2000:0000:0000:0000:0000:0000:0000:0000

Last IP:3FFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF

图片 1.png

global routing prefix:用来描述全局路由前缀,Mbit的长度就是运营商分配的。
subnet id:Nbit,就是企业人员用作子网划分的。
interface id:就是主机ID。

 

ISP分配给客户的前缀通常建议是/48

企业的subnet id建议长度是/64

interface id /64

 

全球单播地址分配的规则:

图片 1.png

IANA分配给注册局(registry):/23的

注册局分配给ISP(亚太互联网管理中心):/32的

运营商分配给二级运营商或者大型企业:/48的

大型企业再划分子网:/64的

 

全球单播地址的获生成方式:

静态:

①静态的配置前缀和接口id;

②静态的配置前缀通过EUI-64自动生成接口ID;

③借用某一个接口的IPV6地址,来充当IPV6地址,华为设备上不支持,cisco支持,通常用在P2P网络借用一个地址进行通信;

 

动态:

①DHCPV6:有状态自动配置;

②SLAAC:无状态自动配置,主机可以根据路由器周期通告的前缀,结合自己接口通过EUI-64生成的接口ID,构造IPV6地址,比较的轻量化;

 

有状态和无状态的区别?

分配地址的路由器或者服务器是否需要维护用户的信息

 

唯一本地地址:相当于IPV4的私网地址

地址空间:FC00::/7

图片 1.png

L标志位:值为1代表该地址为在本地网络范围内使用的地址,值为0被保留,用于以后扩展。
Global ID:全球唯一前缀,通过伪随机方式产生(RFC4193)。
Subnet ID:子网ID ,划分子网使用。
Interface ID:接口标识。
 

 

特点:

1、跟IPV4的私网地址不同,IPV4的地址是可以冲突的,但是IPV6的私网地址必须唯一;

2、跟IPV4的私网地址一样,IPV6的私网地址也具有知名前缀,方便过滤;

 

为什么IPV6的私网地址要具有唯一性呢?

①IPV6地址确实很多;

②开发者在设计的时候希望所有的设备都连入internet共享网络,但是因为政治,安全等方面的因素显然是不可能的,有很多专用网络,

这些专用的不能上internet的网络就可以使用唯一本地地址,如果有一天美好的愿望达成,所有的设备都连入internet共享网络,此时无需

重新编址,直接就可以用私网地址去访问internet,因为私网地址也是唯一的;

 

怎么确保私网地址具有唯一性呢?

https://www.sixxs.net/tools/grh/ula

去这个网站申请,填写自己的个人信息,就会拿到一个/48的唯一的前缀了,Global ID通过伪随机方式产生一定可以确保全球唯一性;

 

链路本地地址:IPV6自己特有的

地址空间:FE80::/10

图片 1.png

特点:

①当一个接口启用了IPV6 enable时,IPV6这个协议栈就会自动的为该接口分配一个link-local地址;

②自动生成的地址格式为前64bit固定为FE80::/64,接口标识通过EUI-64生成;

③这种机制使得两个连接到同一链路的IPv6设备不需要做任何配置就可以通信;

④该地址只在一段链路上有效,以link-local地址作为SIP或者DIP的数据包,不会被路由器所路由;

 

link-local地址的生产方式:

①自动生成:一个启用了IPV6 enable的接口就会自动生成一个link-local地址,FE80::/64+EUI-64接口ID;

②自动生成:为了安全,不同操作系统会为网卡自动的生成一个link-local地址,FE80::/64+随机生成的接口ID;

③手动配置:因为自动生成的link-local不够直观,可以根据用户需求手动配置;

 

注意事项:

①华为设备接口下开启IPV6 enable不会自动生成link-local地址,cisco没问题,因为华为在一个接口配置了地址,该接口才能UP,才能生成link-local地址;

1)在接口上配置一个全球单播地址,让该接口UP;

2)ipv6 address auto link-local    //让该接口自动的产生一个Link-local地址;

②华为设备手动配置link-local地址,FE80::前缀长度只能是64位,11-64位之前可以自己定义;

 

作用:

①用户ICMPV6的高级特性;

②用于前缀重编址;

实验:R1和R2都有个loop0接口,底层运行OSPFV3保证loop0接口可达

图片 1.png

R1/R2:

ospfv3 1

router id x.x.x.x       //必须配置否则邻居关系无法建立

inter x/x/x

ospfv3 1 area 0

需求:我希望将R1和R2之间的互联网段从2001:12::/64迁移到2001:21::/64,此时R1和R2loop0接口之前通信是否会中断?

不会

@路由表中的OSPFV3路由下一跳是link-local地址,修改接口上的全球单播地址不会导致下一跳改变,路由无需重新算;

[AR1]DIS ipv6 routing-table protocol ospfv3

Public Routing Table : OSPFv3

Summary Count : 3

 

OSPFv3 Routing Table's Status : < Active >

Summary Count : 1

 

 Destination  : 2002::2                         PrefixLength : 128

 NextHop      : FE80::2                         Preference   : 10

 Cost         : 1                               Protocol     : OSPFv3

 RelayNextHop : ::                              TunnelID     : 0x0

 Interface    : GigabitEthernet0/0/0            Flags        : D

@ospfv3发送的所有的报文都是以Link-local地址作为源发送的,跟接口上全球单播地址一点关系没有,全球单播地址对应的网段就相当于路由信息;

@如果将接口上的link-local地址改了,此时业务就断了;

 

③用于一段链路的通信;

[AR1]ping ipv6 FE80::2

Error: Please specify an interface name for the link-local address.

注意:

@用link-local地址进行ping测试,必须要只能出接口;

[AR1]ping ipv6 FE80::2 -i GigabitEthernet 0/0/0

  PING FE80::2 : 56  data bytes, press CTRL_C to break

    Reply from FE80::2

    bytes=56 Sequence=1 hop limit=64  time = 20 ms

@一台设备的不同接口上可以配置相同的link-local地址;

@只需要保证一段链路上link-local地址不冲突就行;

@写静态路由的时候如果下一跳是link-local地址,那么必须配置一个出接口,要不报错,下一跳是全球单播地址就无须跟出接口;

[AR1]ipv6 route-static :: 0 GigabitEthernet 0/0/0 fe80::2

[AR1]ipv6 route-static :: 0 2001:12::2

 

为什么要加出接口?

图片 1.png

此时AR1去ping测试FE80::2,那么这个Ping包到底是从0号口发出访问AR2还是从1号口发出访问AR3呢,此时就要指定出接口了;

 

组播地址:

地址空间:FF00::/8

图片 1.png

Flags永久标志:前3bits保留为0
0000:永久多播地址。
0001:临时多播地址。

 

scope:表示当DIP地址是一个IPV6组播地址时,该报文传递的范围

图片 1.png

0 保留

1 离不开网卡,只在设备内部实现通信,本接口生效,不能从网卡发出。

2 在二层链路上传递

5 在公司的某一个分支机构内部通信

8 能够在整个企业内部传递

E 能够在整个网络传递

 

常见的IPV6组播地址:


 

被请求节点组播地址:

@当一个节接口具有了单播或任播地址,就会自动生成一个与之相对应的被请求节点组播地址,并且加入这个并且加入这个组播组。
@被请求节点组播地址由固定前缀FF02::1:FF00:0/104和对应IPv6单播地址的最后24bit组成,被请求节点组播地址的有效范围为本地链路范围。

[AR1]dis ipv6 int GigabitEthernet 0/0/0

GigabitEthernet0/0/0 current state : UP

IPv6 protocol current state : UP

IPv6 is enabled, link-local address is FE80::1

  Global unicast address(es):

    2001:12::1, subnet is 2001:12::/64

  Joined group address(es):

    FF02::6

    FF02::5

    FF02::1:FF00:1

    FF02::2

    FF02::1

  MTU is 1500 bytes

  ND DAD is enabled, number of DAD attempts: 1

  ND reachable time is 30000 milliseconds

  ND retransmit interval is 1000 milliseconds

  Hosts use stateless autoconfig for addresses

如图所示:R1接口上有两个单播地址,一个是FE80::1,另一个是2001:12::1,此时这两个单播地址会算出一个相同的被请求节点组播组。

该接口加入到该组播组,或者换句话说,当我收到一个报文DIP是FF02::1:FF00:1的数据包,我要解封装看看里面到底装了什么东西;

同时一个启用了IPV6的接口天生就会加入FF02::1和FF02::2,侦听这两个组的组消息;

 

组播地址和组mac的映射:

组播mac:3333开头,后32bit映射组播地址后32bit的group id;

图片 1.png

图片 1.png

任意播地址:

图片 1.png

特点:

①跟单播地址共用地址空间,所以在配置时需要表明一个单播地址是否是任意播地址

ipv6 address 2001:11::1 64 anycast

②任意播地址通常用于一组服务器,例如DNS;

③IPv6任播地址仅可以在路由设备上配置,不能应用于主机,任播地址不能作为IPv6报文的源地址;

④发送一个DIP是任意播地址的访问,会被路由器路由到最近的一个接口;

 

注意:这里的近指的是路由意义的最近,不是物理意义的最近;


HCIE Datacom学习,联系WOLFLAB预约免费试听

返回目录
在线咨询