详解IPV6地址

发布时间:2024年01月21日

IPV6

特征(升级点)

  • 全球单播地址(相当于IPV4地址下的公有地址,IPV6下没有nat)
  • 可聚合性(IANA组织对全球的地址进行合理分配)
  • 多宿主(一个物理接口可以同时拥有多个不同网段的IPV6地址,但是不同接口不能在同一网段)
  • 自动配置
    • DHCP V 6
    • auto-config(路由器接口手工配置IPV6地址,然后路由器将自己地址的前缀(网络号) 下放给PC,PC将自动使用EUI-64(MAC地址) 来补充主机位)
  • 即插即用(热插拔)
  • 端到端的连接(不需要nat)
  • 重编制(当配置DHCP的服务器地址变换时,将重新编制IPV6地址)
  • 简单的报头
    • 没有广播机制,只有组播和单播
    • 没有校验和(因为2和4层均存在校验和)
    • 流标签—保留—QOS
  • 安全性和移动性
  • IPV4和IPV6共存

IPV4和IPV6的报头

在这里插入图片描述

黄色部分:一致
红色部分:取消
蓝色部分:代替
	V4中由于跨层封装的参数,在IPV6中若需要可以在尾部使用扩展首部来实现
	V4中的服务类型,是V6中的扩展表
	V4中的总长度,是V6中的有效负载长度(IPV4的报头默认20字节,最大可填充到60字节,V6报头默认64字节)
	V4中的协议号,是V6中的下一个头部
	V4中的TTL,是V6中的跳数限制
灰色:保留(流标签QOS)

IPV6的地址组成

在这里插入图片描述

1-23  注册位(有IANA分配给各个国家和机构)
24-32  ISP位(由国家分配给ISP和机构)
33-48  站点位(由ISP分配给各个企业)
49-64  子网位(由管理员子网划分后,应用到网络内)

IPV6地址写法

使用冒分16进制标识,每16位为一段;共8段

eg
2031:0000:130F:0000:0000:09C0:006A:130B
每一段地址前面的0可以省略
2031:0000:130F:0000:0000:9C0:6A:130B
若一段全为0,可以省略成一个0
2031:0:130F:0:0:9C0:6A:130B
若连续两段以上全0,可以省略为::
2031:0:130F::9C0:6A:130B    (最终结果)

2031:0000:0000:09C0:0000:0000:0000:130B
若存在两个部分均为全0,只能将其中一个部分省略为::
2031:0:0:09C0::130B   (最终结果)

例:

FF02:0:0:0:0:0:0:1        FF02::1
0:0:0:0:0:0:0:1           ::1
0:0:0:0:0:0:0:0           ::
当使用IPV6协议携带端口号时,需要使用中括号来区分
http://[2031:0:130F::9C0:6A:130B]:8080/index.php

IPV6地址分类

  • 单播地址(一对一,只有单播地址能作为源地址,也可作为目标地址)
  • 多播(组播)地址(一对多,作为目标地址)
  • 任意播地址(一到最近)

单播地址

1.ABUA,全球可聚合单播地址,IPV6的公网地址(需申请),全球单播传递,目前全球已规划地址:2000::/3,范围:2000::到3fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff

其中:
2001::/16  目前IPV6Internet地址,已经在使用的地址
2002::/16  6to4 tunnel专用地址

2.本地链路地址—自动私有地址—link-local,类似于IPV4中的169.254.0.0/16

FE80::/16   实际使用时为/64的掩码
  • 路由器接口上配置ipv6 enable命令,该接口将自动生成link-local地址
  • 若在接口配置一个IPV6单播地址,必然自动生成link-local地址,一个接口只能存在一个link-local地址

link-local地址的网络位固定为FE80::/64, 主机位使用本地以太网接口的MAC地址来生成
link-local地址主机位,串行链路无MAC地址,将循环借用设备上以太网接口的MAC

主机位生成方法:
link-local地址-----网络位FE80::/64     后64位使用EUI-64(MAC地址)补充
EUI-64合成步骤:
	(1)以太网接口MAC地址       如 CA00.0A60.0000
	   在MAC前24位和后24位之间强行插入FFFE
	 CA00.0AFF.FE60.0000
	(2)U位转换
	   将合成后的地址,从左往右第7位自反,若该位为0,变为1,为1变为0
	   CA00=1100 1010 0000 0000   第7位自反
	        1100 1000 0000 0000=C800
	(3)link-local地址为
	FE80::C800:AFF:FE60:0      

作用:
(1).在同一广播域内可以通讯使用:由于本地多接口可能使用相同MAC转换,故在使用link-local地址访问对端时,需要定义出接口
(2).常常作为动态路由协议生成的路由表条目中的下一跳地址(因为IPV6存在多宿主概念,该地址最稳定)
3.site-local 本地站点地址,私有地址,私网地址

FEC0::/16

4.未指定地址

::

作用:
(1)默认(缺省)路由
(2)在DHCP时作为无效地址(没有地址)

5.环回地址—127.0.0.1

::1

6.IPV4兼容性地址,用于6to4 tunnel专用
只要拥有一个IPV4地址,便拥有了一段IPV6地址,6to4 tunnel专用

假设IPV4地址为192.168.1.1
192     1100 0000   C0
168     1010 1000   A8
1       0000 0001   01
1       0000 0001   01
192.168.1.1的IPV4兼容性地址(IPV6地址)为2002.C0A8:0101::/48

多播地址

FF00::/8 所有组播地址,IPV4下的组播:224-239

FF02::1      相当于224.0.0.1    全世界路由器与所有PC之间
FF02::1      相当于224.0.0.2    全世界所有的路由器之间
FF02::9      相当于224.0.0.9    RIPNG
被请求节点组播地址:用于NDP协议(作用:获取对端MAC地址)
构成FF02::1:FF+24位   (IPv6单播地址的后24位)
只要存在一个IPV6单播地址,那么便会产生一个被请求节点组播地址
	eg
	2001::1(单播)    FF02::1:FF00:1(组播)

每一个IPV6的单播地址默认在一个组内

IPV6下的组播MAC地址

33.33+32位(后32位位IPV6组播地址后32位)
FF02::1-------33.33.00.00.00.01
和IPV4一样不能一一对应

协议

ICMPV6

Internet控制管理协议-----存在大量的子协议

1.PMTU

路径MTU发现协议,通过ICMPV6 error包来获取整段路径上最小MTU值,统一MTU值

2.NDP

邻居发现协议—用于取代IPV4下的ARP协议

假设PC1和PC2通讯
PC1无PC2的MAC地址
(1)PC1封装ICMP type135 NS----相当于ARP的请求
源IPV6地址(PC1接口的IP地址)  目标IPV6地址(PC2的被请求节点组播地址 TTL=1)
源MAC地址(PC1接口MAC地址)    目标MAC地址(PC2的被请求节点组播地址对应的MAC)

(2)PC2回应ICMP type136 NA----相当于ARP的应答
源IPV6地址(PC2接口IP地址)    目标IPV6地址(PC1接口IPV6地址)
源MAC地址(PC2接口MAC地址)    目标MAC地址(PC1接口MAC地址)

ICMPV6中的NDP除取代了AARP外,其他的ARP协议也可以被NDP取代,原理一致

3.前缀通告auto-config

仅在以太网环境存在
路由器周期(200s)向下发送IPV6的地址前缀(网络号),PC使用EUI-64补充主机位。当前缀长度小于64位时,使用0补到64位;当前缀大于64位,从EUI-64取相同长度即可

路由器                                                     PC
ICMP type 134---RA                         ICMP type 133---ACK-RS

134包: RA
源ipv6地址       路由器本地链路地址
目标ipv6地址     FF02::1  所有节点组播地址  TTL=1
源MAC          路由器接口mac
目标MAC        FF02::1对应的MAC地址

133包:RS	
源ipv6地址       ::
目标ipv6地址     FF02::2  所有节点组播地址  TTL=1 
源MAC           PC接口MAC
目标MAC         FF02::2对应的MAC地址

当设备上的auto-config被激活后,同时可以收发IPV6路由协议信息,且可以为IPV6的流量进行路由(前提路由器接口上已经拥有合法IPV6的单播地址)

只要在路由器上开启了IPV6的单播路由功能,那么该路由器将向所有存在IPV6地址的以太网接口周期发送其地址的前缀

配置

静态

[r1]ipv6    启动IPV6
[r1]interface g0/0/0
[r1-GigabitEthernet0/0/0]ipv6 enable    开启IPV6
[r1-GigabitEthernet0/0/0]ipv6 address 12::1 64   配置IPV6地址

[r1-GigabitEthernet0/0/0]ipv6 address 2004:: 64 eui-64      基于接口MAC地址生成IPV6地址

注:一台路由器若运行一个IPV6的单播路由协议(动态,静态),也必须先开启IPV6单播路由功能
切记:一台IPV6路由器上若没有开启IPv6单播路由功能,将不能基于IPV6的流量进行路由表查看,但一旦开启该功能后,该设备上的所有以太网接口也被动的激活auto-config功能,故路由器邻居相连的接口是没有必要开启auto-config功能的,可以关闭

[r1]interface g0/0/0
[r1-GigabitEthernet0/0/0]ipv6 nd ra halt    关闭auto-config
IPV6静态路由
[r1]ipv6 route-static 2:: 64 12::2      静态路由
[r1]ipv6 route-static 2:: 64 12::2 preference 88    浮动静态
[r1]ipv6 route-static :: 0 12::2    缺省
[r1]ipv6 route-static 1:: 63 NULL 0    空接口防环路由
[r1]ping ipv6 2::2

注:无论使用何种路由协议,若目标不在本地,那么本地一定要开启IPV6的单播路由功能

[r1]display ipv6 interface brief
[r1]display ipv6 interface g0/0/0

RIPNG

同RIPV2使用完全一致的算法
基于UDP521端口工作,组播更新地址FF02::9

[r1]ripng 1
[r1-ripng-1]interface g0/0/0
[r1-GigabitEthernet0/0/0]ripng 1 enable    RIPNG宣告该接口
[r1]interface g0/0/0
[r1-GigabitEthernet0/0/0]irpng summary-address 1:: 64     RIPNG汇总
[r1]interface g0/0/0
[r1-GigabitEthernet0/0/0]ripng default-route ?
only       Advertise only the default route   只发缺省,不发环回
originate  Originate the default route     发缺省,发环回
[r1-GigabitEthernet0/0/0]ripng default-route only     (实际工程中建议使用only)

OSPFV3

组播更新地址FF02::5/6
OSPFV3与OSPFV2算法一致,唯一不同的是:LSA不同

[r1]ospfv3 1
[r1-ospfv3-1]router-id 2.2.2.2      注:router-id名字无所谓
[r1-ospfv3-1]q
[r1]interface g0/0/0     进入到接口
[r1-GigabitEthernet0/0/0]ospfv3 1 area 0    进行接口宣告

[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ospfv3 network-type broadcast    修改接口网络类型

BGP4+

[r1]bgp 100
[r1-bgp]router-id 2.2.2.2
[r1-bgp]peer 1::1 as-number 100
[r1-bgp]peer 1::1 connect-interface loopback 0
[r1-bgp]ipv6-family
[r1-bgp-af-ipv6]peer 1::1 enable
[r1-bgp-af-ipv6]network 34:: 64   宣告

[r1-bgp]ipv6-family
[r1-bgp-af-ipv6]import-route ospfv3 100  重发布

解决IPV4和IPV6兼容问题 (共存问题)

普通tunnel

[r1]int t0/0/0
[r1-Tunnel0/0/0]ipv6 enable
[r1-Tunnel0/0/0]ipv6 address 13::1 64
[r1-Tunnel0/0/0]tunnel-protocol ipv6-ipv4
[r1-Tunnel0/0/0]source 12.1.1.1
[r1-Tunnel0/0/0]destination 23.1.1.2

在这里插入图片描述
缺点:
1.到每一个不同目标,需要双发均配置tunnel
2.到每一个不同目标均需要编辑一条静态路由(为了路由可达)

6to4 tunnel

不用基于每个目标编辑tunnel和路由,仅需要一个tunnel和路由条目

原理:
先将本地IPV4公网地址转换为IPV6兼容性地址,然后将其进行子网划分后应用到内网
当流量来到tunnel接口时,其目标IPV4地址是从配置的IPV6地址中来的
[r1]interface t0/0/0
[r1-Tunnel0/0/0]ipv6 enable
[r1-Tunnel0/0/0]ipv6 address 2002:0C01:0101:1::1 64
[r1-Tunnel0/0/0]tunnel-protocol ipv6-ipv4 6to4
[r1-Tunnel0/0/0]source 12.1.1.1

[r1]ipv6 route-static 2002:: 16 t0/0/0

在这里插入图片描述

双栈

网络即连接V4网络也连接V6网络,通讯时根据目标IP地址,来判断应该携带那个网络源地址,默认优先查找V6网络中的DNS服务器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实现双栈:本质就是给一个接口配置IPV4和IPV6地址
[r1]ipv6
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ipv6 enable
[r1-GigabitEthernet0/0/0]ip address 2.2.2.1 24
[r1-GigabitEthernet0/0/0]ipv6 address 2::1 64
文章来源:https://blog.csdn.net/huaz_md/article/details/135720703
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。