【网络新技术2】一文了解IPv6技术

科技   2024-12-12 16:10   河北  

1.什么是IPv6?

IPv6(Internet Protocol version 6),即互联网协议第六版,也被称为IPngIP Next Generation),是用于替代IPv4的下一代IP协议。它所在的网络层提供了无连接的数据传输服务。IPv6IETF设计的一套规范,是IPv4的升级版本。

它解决了目前IPv4存在的许多不足之处,IPv6IPv4之间最显著的区别就是IP地址长度从原来的32位升级为128位IPv6以其简化的报文头格式、充足的地址空间、层次化的地址结构、灵活的扩展头、增强的邻居发现机制将在未来的市场竞争中充满活力。

2.IPv6产生的原因

Internet发展初期,IPv4以其协议简单、易于实现、互操作性好的优势而得到快速发展。但随着网络的迅猛发展,IPv4 协议的各种问题开始显现:

  • 公有IP地址数量不足

    IPv4地址由全球5个互联网地址分配机构管理负责,IPv4地址空间约42.9亿,实际可用约36.47亿个,已在2019年全部分配完毕,这意味着没有更多的IPv4地址可以分配给网络服务提供商或企业。作为严重稀缺资源,用户申请固定公有IP地址困难加大,并且费用十分昂贵。

  • 私有地址交流效率低

    IPv4地址枯竭阶段和IPv6过渡工作未完成之前,通过NAT 技术暂时解决了地址匮乏和爆炸式增长的入网需求问题,但NAT技术本身也存在不足,例如,增加了网络的复杂度。由于维护IP地址间及端口号映射关系而增加的网络设备工作负担,使网络整体结构变得脆弱。互联网的本质是提供人与人之间的连接,NAT破坏了这个原则。

  • 设备维护的路由表表项数量过大

    由于IPv4发展初期的分配规划问题,造成许多IPv4地址的分配不连续,不能有效聚合路由。日益庞大的路由表耗用大量内存,对设备成本和转发效率产生影响。

  • 不易进行自动配置和重新编址

    由于IPv4地址只有32 bit,并且地址分配不均衡,导致在网络扩容或重新部署时,经常需要重新分配IP地址,维护工作量较大。

  • 远程访问无法保证业务质量

    在传统的企业组网配置中,对于移动用户(移动办公人员)、远端用户和合作伙伴联网需求,一般会通过VPN技术以专用软件、专用/集成硬件或搭建VPN服务器等方式实现。由此带来了软件开发运维复杂度高、硬件产品方案兼容性差、IT投入成本加大、安全风险提高等问题,并且企业无法预料基于公共互联网传输的可靠性,在面对大流量传输时无法差异化保证业务质量。

  • 安全溯源困难

    IPv4制定时并没有仔细针对安全性进行设计,因此,固有的框架结构并不能支持端到端的安全。企业正在使用的IPv4网络,由于其在设计时几乎没有安全性考虑,随着地址枯竭和分配严重不平衡,NAT方式成为主流选择,即NAT背后的终端用户分配到的一般都是私有地址,网络中一旦有非法信息发布或者病毒传播,是难以追溯到源地址的,这大大加剧了网络安全问题。

3.IPv6的地址格式

  • IPv6地址总长度为128比特,通常分为8组,每组为4个十六进制数的形式,每组十六进制数间用冒号分隔。

  • IPv6 地址包括网络前缀接口标识两部分。

例如:2001:0DB8:0000:0000:0000:0000:0346:8D58,这是IPv6地址的首选格式。

为了书写方便,IPv6还提供了压缩格式,以上述IPv6地址为例,具体压缩规则为:

  • 每一组中的前导“0”都可以省略。
  • 地址中包含的连续全为0的组,可以用双冒号“::”来代替。

4.IPv6的地址结构

一个IPv6地址可以分为如下两部分:

  • 网络前缀:n比特,相当于IPv4 地址中的网络ID
  • 接口标识:128-n比特,相当于IPv4地址中的主机ID

地址2001:DB8:6101:1::E0:F726:4E58 /64的构成如下图所示:

5.IPv6地址分类

IPv6主要有三种地址:

  • 单播地址(Unicast)唯一标识一个接口,类似于IPv4的单播地址。发送到单播地址的数据包将被传输到此地址所标识的唯一接口。

  • 任播地址(Anycast):用来标识一组接口(通常这组接口属于不同的节点)。发送到任播地址的数据包被传输给此地址所标识的一组接口中距离源节点最近的一个接口(最“近”的一个,是指根据路由协议的距离度量)。

  • 组播地址(Multicast):用来标识属于不同节点的一组接口,类似IPv4的组播地址。发送到组播地址的数据包被传输给此地址所标识的所有接口。

IPv6不包括广播地址,广播地址的功能均由组播地址来提供。

关于IPv6单播地址类型详细描述如下表:

  • 全球单播地址:global unicast address,GUA地址

    前缀、子网ID和接口标识组成,如:2001::1

全球单播地址是带有全球单播前缀的IPv6地址,其作用类似于IPv4中的公网地址。这种类型的地址允许路由前缀的聚合,从而限制了全球路由表项的数量。

Global routing prefix:全球路由前缀。由提供商(Provider)指定给一个组织机构(大组织机构),通常全球路由前缀至少为48位。目前已经分配的全球路由前缀的前3bit均为001

  • 路本地地址 (link-local 地址)

只能在连接到同一本地链路的节点之间使用,链路本地地址范围FE80::/10

注意点:

1)华为路由器接口下只要配置GUAglobal unicast address,公网单播ip地址),接口下会自动生成link-local地址

2)路由器不能路由源或目标是link-local的报文,PC的网卡只要安装了TCP/IPv6 协议,就会自动生成该link-local地址。

3)link-local地址,只用于同一条链路,同一个广播域,同一个局域网。

4)link-local 地址广泛应用于邻居发现,无状态地址配置等应用(没有dhcp情况下,帮助pc获取ipv6 地址)。

5)link-local地址可以基于MAC地址自动生成,也可以基于软件生成(微软系统),也可以手动强制指定。

  • 唯一本地地址

    唯一本地地址是另一种应用范围受限的地址,它仅能在一个站点内使用。由于本地站点地址的废除(RFC3879),唯一本地地址被用来代替本地站点地址。

    唯一本地地址的作用类似于IPv4中的私网地址,任何没有申请到提供商分配的全球单播地址的组织机构都可以使用唯一本地地址。唯一本地地址只能在本地网络内部被路由转发而不会在全球网络中被路由转发。唯一本地地址格式如图所示:

注意点:

1)ipv6公网地址虽多,但少部分企业或机构不想让自己部分的内网设备被外网访问(该内网设备也无需访问外网),此时内网可以使用唯一本地地址组建自己的内网。

2)唯一本地地址只能用于企业内网,不能在公网上被路由。

  • 环回地址

    0:0:0:0:0:0:0:1::1,不会被分配给任何接口。它的作用与在IPv4中的127.0.0.1相同,即节点将IPv6报文发送给自己。

  • 未指定地址

    (::),不能被分配给任何节点,也不能作为目的地址。在主机初始化且没有取得自己的地址时,未指定地址可以用在IPv6报文的源地址字段,例如重复地址探测时,NS报文的源地址就是未指定地址。

6.IPv4与IPv6对比表

由于网络迅速发展,IPv4的设计不足也日益明显,IPv6相比IPv4提供了一些新特性和改善措施,二者对比如下:


Python运维实践
Python运维实践,专注于互联网技术的总结与交流,内容涉及Python自动化运维、Django框架、园区网络技术、linux云计算、系统架构及网络空间安全等知识的实践与分享。
 最新文章