IPv6 协议基础

IPv6介绍

IPv6 概括:
IPv6(Internet Protocol Version 6)是网络层协议的第二代标准协议,也被称为IPng(IP Next Generation)。它是Internet工程任务组IETF(Internet Engineering Task Force)设计的一套规范,是IPv4(Internet Protocol Version 4)的升级版本。
目的:

IPv6 目的:
IPv4协议是目前广泛部署的因特网协议。在因特网发展初期,IPv4以其协议简单、易于实现、互操作性好的优势而得到快速发展。但随着因特网的迅猛发展,IPv4设计的不足也日益明显,IPv6的出现,解决了IPv4的一些弊端。相比IPv4,IPv6具有如下优势:

IPV4协议目前存在的缺陷大致归为以下几点:

  • IP地址空间
  • 自动配置机制
  • 头部字段处理负担
  • 安全机制

自动配置机制
IPv4缺乏自动配置机制:

  • 要想让IPv4主机能够接入到网络当中,少不了需要具备一定网络技术的专业人士对实现通信所需的参数进行手动配置。

IPv6需要实现网络插即用的机制:

  • 主机所在子网中不需要任何提供地址配置的服务器就可以自行完成地址配置,做到真正意义上的即插即用。

安全机制
IPV4协议缺乏安全机制:

  • IPv4协议缺乏有效的安全认证和保密机制。需要依赖其他技术(如IPsec)来保证IP数据报文在网络上的安全。

IPv6协议所具备的安全机制:

  • 在网络层加入身份认证和加密等安全机制,这种当时为IPV6定义的安全标准就是IPSec。

IPv4和IPv6头部封装字段对比
在这里插入图片描述在这里插入图片描述
分片与重组是相当消耗转发设备资源的处理行为。为了节省转发设备的处理资源,IPV6环境中的路由器不再对数据包执行分片。
当IPV6路由器接收到大于最大传输单元的数据包时,它会直接丢弃这个数据包,然后把因过大而丢弃数据包的情况通告给数据包的始发设备。为了避免因为数据包过大而被路由器丢包,IPV6环境中的终端设备必须承担起控制数据包大小的工作,它们会通过路径MTU发现机制来判断可以发送的最大数据包长度,然后由上层协议来限制数据的规模。

IPv6地址

IPv6地址格式

IPv6地址=前缀+接口ID口

  • 前缀:相当于v4地址中的网络ID(前缀由IANA、ISP和各组织分配)
  • 接口标识:相当于v4地址中的主机ID(接口标识符目前定义为64比特,可以由本地链路标识生成或采用随机算法生成以保证唯一性)
  • 128位长,用冒号将128比特分割成8个16比特的部分,每个部分包括4位的16进制数字。

接口标识可通过三种方法生成:手工配置、系统通过软件自动生成或IEEE EUI-64规范生成。其中,EUI-64规范自动生成最为常用。
 

IPv6地址压缩

为了使用方便,IPV6定义了两种地址压缩规则:

  • 每组十六进制数的前导0可以省略
  • 如果地址中包含连续两个或多个全0组,那么这些全0组可以压缩为双冒号(::)。但是,一个IPV6地址只能使用一次冒号

IPv6地址分类

IPv6地址分为单播地址、任播地址(Anycast Address)、组播地址三种类型。和IPv4相比,取消了广播地址类型,以更丰富的组播地址代替,同时增加了任播地址类型。

IPv6单播地址标识了一个接口,由于每个接口属于一个节点,因此每个节点的任何接口上的单播地址都可以标识这个节点。发往单播地址的报文,由此地址标识的接口接收。

IPv6定义了多种单播地址,目前常用的单播地址有:未指定地址、环回地址、全局单播地址、链路本地地址、唯一本地地址ULA(Unique Local Address)。

全局单播地址
全局单播IPv6地址的有效范围是全局有效的。这也就是说,全局单播地址是那种可以部署在公共网络环境中的、全网可路由的IPV6地址。
全局单播IPv6地址的前3位固定为001。
在这里插入图片描述全局单播地址:001
全局路由前缀可以理解为网络号
接口ID可以理解为主机号

未指定地址
IPv6中的未指定地址即 0:0:0:0:0:0:0:0/128 或者::/128(相当于IPv4中的0.0.0.0/32)。该地址可以表示某个接口或者节点还没有IP地址,可以作为某些报文的源IP地址(例如在NS报文的重复地址检测中会出现)。源IP地址是::的报文不会被路由设备转发。

环回地址
IPv6中的环回地址即 0:0:0:0:0:0:0:1/128 或者::1/128。环回与IPv4中的127.0.0.1作用相同,主要用于设备给自己发送报文。该地址通常用来作为一个虚接口的地址(如Loopback接口)。实际发送的数据包中不能使用环回地址作为源IP地址或者目的IP地址。

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

在这里插入图片描述

IPv6组播地址

IPv6的组播与IPv4相同,用来标识一组接口,一般这些接口属于不同的节点。一个节点可能属于0到多个组播组。发往组播地址的报文被组播地址标识的所有接口接收。例如组播地址FF02::1表示链路本地范围的所有节点,组播地址FF02::2表示链路本地范围的所有路由器。

前8位固定为1
在这里插入图片描述
在这里插入图片描述

IPV6通信建立

邻居发现协议NDP(Neighbor Discovery Protocol)是IPv6协议体系中一个重要的基础协议。邻居发现协议替代了IPv4的ARP(Address Resolution Protocol)和ICMP路由器发现(Router Discovery),它定义了使用ICMPv6报文实现地址解析,跟踪邻居状态,重复地址检测,路由器发现以及重定向等功能。

ARP报文是直接封装在以太网报文中,以太网协议类型为0x0806,普遍观点认为ARP定位为第2.5层的协议。ND本身基于ICMPv6实现,以太网协议类型为0x86DD,即IPv6报文,IPv6下一个报头字段值为58,表示ICMPv6报文,由于ND协议使用的所有报文均封装在ICMPv6报文中,一般来说,ND被看作第3层的协议。在三层完成地址解析,主要带来以下几个好处:

  • 地址解析在三层完成,不同的二层介质可以采用相同的地址解析协议。
  • 可以使用三层的安全机制避免地址解析攻击。
  • 使用组播方式发送请求报文,减少了二层网络的性能压力。

地址解析过程中使用了两种ICMPv6报文:邻居请求报文NS(Neighbor Solicitation)和邻居通告报文NA(Neighbor
Advertisement)。

  • NS报文:Type字段值为135,Code字段值为0,在地址解析中的作用类似于IPv4中的ARP请求报文。
  • NA报文:Type字段值为136,Code字段值为0,在地址解析中的作用类似于IPv4中的ARP应答报文。

在这里插入图片描述
在这里插入图片描述
地址解析
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

IPv6地址自动配置

IPv4使用DHCP实现自动配置,包括IP地址,缺省网关等信息,简化了网络管理。IPv6地址增长为128位,且终端节点多,对于自动配置的要求更为迫切,除保留了DHCP作为有状态自动配置外,还增加了无状态自动配置。无状态自动配置即自动生成链路本地地址,主机根据RA报文的前缀信息,自动配置全球单播地址等,并获得其他相关信息。

IPv6主机无状态自动配置过程:

1.根据接口标识产生链路本地地址。
2.发出邻居请求,进行重复地址检测。
3.如地址冲突,则停止自动配置,需要手工配置。
4.如不冲突,链路本地地址生效,节点具备本地链路通信能力。
5.主机会发送RS报文(或接收到设备定期发送的RA报文)。
6.根据RA报文中的前缀信息和接口标识得到IPv6地址。

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

小实验

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_39578545/article/details/106759801