Technical documentation
发布日期:2022-06-16 浏览次数:2627 来源:崔志鹏
HCIE Datacom学习技术-连续更新中IPV6地址分类详解
HCIE Datacom学习,选择沃尔夫,学习HCIE!
①单播地址
②组播地址
③任意播地址
特殊的单播地址:
①::/128 未指定地址,相当于IPV4的0.0.0.0,我还没地址或者可以作为DHCP源地址使用;
②::1/128 环回地址,相当于IPV4的127.0.0.1,不能作为报文的源地址;
③内嵌IPV4的IPV6单播地址:没啥用
全球单播地址:相当于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
global routing prefix:用来描述全局路由前缀,Mbit的长度就是运营商分配的。
subnet id:Nbit,就是企业人员用作子网划分的。
interface id:就是主机ID。
ISP分配给客户的前缀通常建议是/48
企业的subnet id建议长度是/64
interface id /64
全球单播地址分配的规则:
IANA分配给注册局(registry):/23的
注册局分配给ISP(亚太互联网管理中心):/32的
运营商分配给二级运营商或者大型企业:/48的
大型企业再划分子网:/64的
全球单播地址的获生成方式:
静态:
①静态的配置前缀和接口id;
②静态的配置前缀通过EUI-64自动生成接口ID;
③借用某一个接口的IPV6地址,来充当IPV6地址,华为设备上不支持,cisco支持,通常用在P2P网络借用一个地址进行通信;
动态:
①DHCPV6:有状态自动配置;
②SLAAC:无状态自动配置,主机可以根据路由器周期通告的前缀,结合自己接口通过EUI-64生成的接口ID,构造IPV6地址,比较的轻量化;
有状态和无状态的区别?
分配地址的路由器或者服务器是否需要维护用户的信息
唯一本地地址:相当于IPV4的私网地址
地址空间:FC00::/7
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
特点:
①当一个接口启用了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接口可达
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
为什么要加出接口?
此时AR1去ping测试FE80::2,那么这个Ping包到底是从0号口发出访问AR2还是从1号口发出访问AR3呢,此时就要指定出接口了;
组播地址:
地址空间:FF00::/8
Flags永久标志:前3bits保留为0
0000:永久多播地址。
0001:临时多播地址。
scope:表示当DIP地址是一个IPV6组播地址时,该报文传递的范围
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;
任意播地址:
特点:
①跟单播地址共用地址空间,所以在配置时需要表明一个单播地址是否是任意播地址
ipv6 address 2001:11::1 64 anycast
②任意播地址通常用于一组服务器,例如DNS;
③IPv6任播地址仅可以在路由设备上配置,不能应用于主机,任播地址不能作为IPv6报文的源地址;
④发送一个DIP是任意播地址的访问,会被路由器路由到最近的一个接口;
注意:这里的近指的是路由意义的最近,不是物理意义的最近;
HCIE Datacom学习,联系WOLFLAB预约免费试听