IPV6通过实例配置理解地址类型

本文详细介绍了IPv6的基础配置,包括链路本地地址的自动配置和全局地址的有状态与无状态分配。通过实例展示了如何利用EUI64转换生成链路本地地址,并探讨了IPv6邻居发现过程,如NS、NA报文在邻居状态迁移中的作用。同时,讲解了DHCPv6在有状态地址分配中的应用。
摘要由CSDN通过智能技术生成

一、基础的IPV6地址配置

1、IPV6链路本地地址

理论知识

FE80::/10链路本地地址(自动为本地设备配置的地址,做标识用,无法被路由,仅在本链路有效);

注意:链路本地地址仅仅在本链路范围有效,他起的作用就是标识本地节点用的,标识了节点方便我们跑路由协议建立邻居;且每个节点都会加入对应的IPV6组播节点地址,用来代替IPV4的ARP功能,下面我们用实验来进一步理解。

实例配置

EUI64配置链路本地地址

R1上:

ipv6            //全局开IPV6

interface GigabitEthernet0/0/0 
 ipv6 enable              //接口起IPV6
 ipv6 address auto link-local          //开启链路本地地址自动配置

dis ipv6 int g 0/0/0         //查看接口的IPV6地址

可以看到链路本地地址:FE80::5689:98FF:FE14:378A

前缀是IPV6协议规定好的: FE80::/10

低64位是通过EUI64而来的:5689:98FF:FE14:378A

EUI64:将MAC地址转换为48位的二进制,在MAC地址的24位后插入16进制的FFFE(换算为二进制为16位),翻转第7位(即0变1,1变0)

加入的节点组播地址: FF02::1:FF14:378A

前缀是规定好的: FF02::1:FF/104

低24位:直接拷贝链路本地地址的低64位

IPV6链路本地地址的有效范围为本链路

我们在R1的G0口R2的G0和G1口全部都配置一样的链路本地地址

 R1上G0口:链路本地地址状态正常

 R2上G1口:链路本地地址状态也正常

 R2上G0口:链路本地地址状态显示占用

由此可以确定链路本地地址生效范围仅仅在本链路范围内 

链路本地地址邻居的建立

IPV6中不使用ARP表缓存MAC与IP对应映射,是通过IPV6邻居表。

命令:display ipv6 neighbors

IPV6邻居的状态迁移:

Empty(空闲):A发送NS请求包给B。

Incomplete(未完成):A已发送NS请求包,但未收到NA回复包,超过10S未收到NA则回到Empty状态;

Rechable(可达):已收到NA回复包;

Stale(陈旧):收到NA确认回复包已超过30S或是收到B的非请求NA;

Dely(延迟):在stale状态下发送过一个NA包,但5S内没有收到NA回复报文。

Probe(探查):每隔1S重传NA请求包直到收到NS回复报文。

实验拓扑

IPV6中地址查重通过NS、NA报文替换IPV4中ARP广播报文

当我们为接口配置一个地址后(不管是全局地址还是链路本地地址)都会主动发送一个组播报文,报文的源为 : : ,目的地址为配置的地址加入的节点组播地址(固定前缀FF02::1:FF+所配置的地址的低24bit)也就是相当于自己发给自己的被请求节点组播地址,如果有相同的地址肯定是会回包的

抓包上面试验的AR1上G0口,我们可以看到通过NA、NS报文的交互建立邻居

查看IPV6的邻居可以看到邻居的接口以及邻居的状态

 

 IPV6里就没有ARP这个协议了,取代它的是ICMPV6中NS、NA报文

注意:NS、NA报文的范围仅是在本地链路范围内

二、IPV6全局地址

理论知识

全局地址是运营商分配给我们一个全球单播地址,我们通过全球单播地址的前缀来进行我们自己局域网内IPV6全局地址的分配,也就是私有地址的分配;IPV6地址协议允许一台设备有多个IPV6全局地址,且都是有效的类似多活。

2000::/3全球单播地址(类似IPV4公网地址);

64位

64位

前缀

接口ID

全局路由前缀

子网(通常分配到64位)

主机位

全局地址的分配分为两种:有状态和无状态

有状态:通过DHCPV6服务器进行分配地址

无状态:不通过DHCPV6服务器分配地址,自己手动配置或者是SLAAC获取

1、无状态SLAAC获取地址(范围为本地链路)

也就是通过交互RA,RS报文来获取邻居发布的IPV6前缀,通过EUI64生成IPV6全局地址

拓扑:

 AR1:

ipv6 

interface GigabitEthernet0/0/0
 ipv6 enable 
 ipv6 address 2001::1/64 
 ipv6 nd ra prefix 2005::/64 60 60        //手动指定发放地址的前缀生存周期为60秒,时长为60秒
 undo ipv6 nd ra halt              //关闭IPV6的RA报文抑制,使其能发布RA报文

AR2/AR3:

interface GigabitEthernet0/0/0
 ipv6 enable 
 ipv6 address auto global               //开启自动获取全局地址

注意:如果不手动指定前缀则默认使用接口的全局地址前缀,时长的指定是因为IPV6规定通过无状态获取的地址是有时间的,到期后地址就失效,需要依赖定期发布的RA报文来刷新时间,所以最好将生成时间做最大值,否则会出现地址失效的问题。

在R1的接口上抓包查看报文:目的地址为组播地址FF02::1类似IPV4:224.0.0.1

  查看R3的地址:

 2、有状态获取地址

 AR1上:

dhcp enable

dhcpv6 pool AR1                            //DHCPV6地址池
 address prefix 2001::/64
 excluded-address 2001::1
 dns-server 5000::1

interface GigabitEthernet0/0/0
 ipv6 enable 
 ipv6 address 2001::1/64 
 undo ipv6 nd ra halt                    //向邻居发布RA报文,使client可以学习到IPV6网关的缺省路由
 ipv6 nd autoconfig managed-address-flag         //置位M标志位,向client发布地址前缀
 ipv6 nd autoconfig other-flag                  //职位O指标志位,向client发布DNS等信息
 dhcpv6 server AR1     //接口下调用,可以强制为快速发布,只会有两个报文一个solicit一个replay

AR2/AR3上:

dhcp enable 

interface GigabitEthernet0/0/0
 ipv6 enable 
 ipv6 address auto link-local
 ipv6 address auto global default         //接受RA报文,并通过RA报文学习缺省路由
 ipv6 address auto dhcp

查看自动获取的接口地址:

dis ipv6 routing-table  //查看路由表

AR1接口上抓包

 DHCP中继的配置:

AR1上:server上

dhcp enable

dhcpv6 pool AR1
 address prefix 2001::/64
 excluded-address 2001::1
 dns-server 3000::1

interface GigabitEthernet0/0/0
 ipv6 enable 
 ipv6 address 2500::1/64 
 dhcpv6 server AR1                       //调用地址

ipv6 route-static 2001:: 64 2500::2    //写路由,否则与AR2上的relay接口不通

AR2上:relay上:

dhcp enable

interface GigabitEthernet0/0/0
 ipv6 enable 
 ipv6 address 2500::2/64 

interface GigabitEthernet0/0/1
 ipv6 enable 
 ipv6 address 2001::1/64 
 undo ipv6 nd ra halt                //发RA报文
 dhcpv6 relay destination 2500::1

AR3上:

interface GigabitEthernet0/0/0
 ipv6 enable 
 ipv6 address auto link-local
 ipv6 address auto global default               //收RA报文并将IPV6网关缺省路由加入路由表
 ipv6 address auto dhcp

查看地址:

我们在R3的接口上抓包是正常的DHCPV6报文

 在R1接口上抓包是经过DHCP relay转发的单播报文

Relay forw报文是Relay转发client向server发送的请求报文

Relay reply报文是Relay转发server向client发送的回复报文

在一般的IPV6的网络项目上我们最常用到的就是这两类地址,链路本地地址与全球单播地址,注意链路本地地址仅可配置一个,全球单播地址可以配置多个且是多活。


 

### 回答1: IPv6 中的 fe80 开头的地址是一种本地连接地址,即 "link-local" 地址。这些地址仅在计算机所连接的本地网络内可用,并不能在互联网上使用。在 IPv6 中,每个接口都会自动生成一个连接本地地址,这样就可以在同一个网络内的计算机之间相互通信。 在 `ipv6 neighbors` 命令下,fe80 开头的地址表示计算机所连接的网络内的其他计算机的连接本地地址。通常,这些地址用于在两台计算机之间传输数据包,而不是通过路由器进行转发。 ### 回答2: IPv6邻居地址是用于局域网通信的链路本地地址。其中,以“fe80”开头的地址是自动配置IPv6邻居地址IPv6邻居发现协议被用于在同一链路上寻找邻居设备并建立通信。为了实现这一目标,每个设备都被要求配置自己的链路本地地址,以便其他设备能够找到并与之通信。 链路本地地址是以“fe80”开头的地址,后跟设备的唯一标识符。这个标识符通常使用设备的MAC地址生成。 以“fe80”开头的地址在链路上具有全局唯一性,因此可以确保设备之间的通信是准确、可靠的。这些地址通常是通过自动配置的方式生成,并且不需要经过DHCP服务器的分配。 通过IPv6邻居发现协议,设备可以动态地获取其他设备的邻居地址,并且在需要通信时可以路由和查询目标设备的地址。 总之,以“fe80”开头的地址是自动配置IPv6邻居地址,用于设备在局域网上建立通信,并且能够确保通信的准确性和可靠性。 ### 回答3: IPv6邻居下的fe80开头地址是链路本地地址。链路本地地址是自动配置的本地链接地址,用于同一链路上的节点之间进行通信。在IPv6网络中,每个接口都会自动分配一个链路本地地址,以便在同一链路上的设备之间进行通信。 链路本地地址的前缀为fe80::/64,其中fe80表示链路本地地址的唯一前缀标识符。该地址只在链路上有效,不会在整个网络范围内路由。通过链路本地地址,设备可以直接与相邻的设备进行通信,而不需要通过路由器进行转发。这在局域网中非常有用。 链路本地地址采用EUI-64方法自动分配,其中包括设备MAC地址和特定的标识符。这样可以确保每个设备在链路上具有唯一的地址。 链路本地地址适用于许多局域网协议,如IPv6邻居发现、SLAAC(stateless address auto-configuration)和ICMPv6(Internet Control Message Protocol version 6)。在IPv6网络中,链路本地地址的使用与IPv4网络中的私有IP地址类似。 总之,链路本地地址IPv6邻居下以fe80开头的地址,用于在同一链路上的设备之间进行直接通信。它是自动配置的本地链接地址,只在链路上有效,而不会在整个网络中进行路由。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值