IPV6

IETF在20世纪90年代提出了下一代互联网协议-IPv6,IPv6支持几乎无限的地址空间。IPv6使用了全新的地址配置方式,使得配置更加简单。IPv6还采用了全新的报文格式,提高了报文处理的效率、安全性,也能更好的支持QoS。

128bit
骨干网路由优化
安全性更高
QoS 6个bit
IPv6报文由IPv6基本报头、IPv6扩展报头以及上层协议数据单元三部分组成(加数据四个部分)。基本报头总共40字节,IPv4 有20个字节

基本报头中的各字段解释如下:
Version:版本号,长度为4bit。对于IPv6,该值为6。
Traffic Class:流类别,长度为8bit,它等同于IPv4报头中的TOS字段,表示IPv6数据报文的类或优先级,主要应用于QoS。
Flow Label:流标签,长度为20bit,,用于标识同一业务流的数据。中间转发路由器对于同一源和目的的一个业务流数据采用相同的转发行为,来提高转发效率
Payload Length:有效载荷长度,长度为16bit,它是指紧跟IPv6报头的数据报文的其它部分。
Next Header:指出下一个报文首部,长度为8bit。该字段定义了紧跟在IPv6报头后面的第一个扩展报头(如果存在)的类型。
跳数限制(Hop Limit),长度为8bit,该字段类似于IPv4报头中的Time to Live字段,它定义了IP数据报文所能经过的最大跳数。每经过一个路由器,该数值减去1;当该字段的值为0时,数据报文将被丢弃,由上层协议定义。
Source Address:源地址,长度为128bit,表示发送方的地址。
Destination Address:目的地址,长度为128bit,表示接收方的地址。
与IPv4相比,IPv6报头去除了IHL、Identifier、Flags、Fragment Offset、Header Checksum、 Options、Padding域,只增了流标签域,因此IPv6报文头的处理较IPv4大大简化,提高了处理效率。另外,IPv6为了更好支持各种选项处理,提出了扩展头的概念。

IPv6增加了扩展报头,使得IPv6报头更加简化。一个IPv6报文可以包含0个、1个或多个扩展报头,仅当需要路由器或目的节点做某些特殊处理时,才由发送方添加一个或多个扩展头。IPv6支持多个扩展报头,各扩展报头中都含有一个下一个报头字段,用于指明下一个扩展报头的类型。这些报头必须按照以下顺序出现:
IPv6基本报头
逐跳选项扩展报头
目的选项扩展报头
路由扩展报头
分片扩展报头
认证扩展报头
封装安全有效载荷扩展报头
目的选项扩展报头(指那些将被分组报文的最终目的地处理的选项)
上层协议数据报文
除了目的选项扩展报头外,每个扩展报头在一个报文中最多只能出现一次。目的选项扩展报头在一个报文中最多也只能出现两次,一次是在路由扩展报头之前,另一次是在上层协议扩展报头之前。
在扩展头中还包含了上层协议类型、加密、身份验证
用16进制表示,F=1111占4位,是32位 IP地址
可表示范围是00:-----FFFF:FFFF:FFFF:FFFF:(网络前缀,IPv6地址前缀用来标识IPv6网络)FFFF:FFFF:FFFF:FFFF接口ID用来标识接口(后64位)
IPV6地址压缩规则:
每16比特组中的前导0可以省略。
地址中包含的连续两个或多个均为0的组,可以用双冒号“::”来代替。
需要注意的是,在一个IPv6地址中只能使用一次双冒号“::”,否则,设备将压缩后的地址恢复成128位时,无法确定每段中0的个数。

冒号十六进制表示法
把128比特划分成8段,每段为16比特用十六进制表示
CDCD:910A:2222:5498:8475:1111:3900:2020
1030:0:0:0:C9B4:FF12:48AA:1A2B
2000:0:0:0:0:0:0:1

压缩表示法
将多个连续分段的0用双冒号表示
2000::1

地址前缀表示法(网段表示法)
23E0:0:A4:/48 路由前缀
23E0:0:A4:/64 子网前缀
少于64位前缀要么是路由前缀要么是地址范围

目前由IANA负责进行IPv6地址的分配,主要由三个地方组织来执行
欧洲地区的RIPE-NCC(www.ripe.net)
北美地区的INTERNIC(www.internic.net)
亚太地区的APNIC(www.apnic.net)

2000::/3 全球单播地址(用的多)
FC00::/7 唯一本地地址
FE80::/10 链路本地地址(用的多)
FF00::/8 组播地址
::/128 未指定地址
::1/128 环回地址

单播地址主要包含全球单播地址和链路本地地址。全球单播地址(例如2000::/3)带有固定的地址前缀,即前三位(指的二进制位)为固定值001。其地址结构是一个三层结构,依次为全球路由前缀、子网标识和接口标识。全球路由前缀由RIR和互联网服务供应商(ISP)组成,RIR为ISP分配IP地址前缀。子网标识定义了网络的管理子网。

链路本地单播地址的前缀为FE80::/10,表示地址最高10位值为1111111010。前缀后面紧跟的64位是接口标识,这64位已足够主机接口使用,因而链路本地单播地址的剩余54位为0。只能在同一二层网络(链路)中使用

站点本地地址:
相当于IPv4中的私网地址
不会路由到公网上
前缀为FEC0::/10
用于打印机、交换机的管理地址等
在IPv6大规模实现时,站点本地地址将不复使用

特殊IPv6地址
未指定地址 0:0:0:0:0:0:0:0 或 :: 相当于IPv4的0.0.0.0
环回地址(0:0:0:0:0:0:0:1 或 ::1)标识一个环回接口 ,相当于IPv4的127.0.0.1
兼容地址
与 IPv4 兼容的地址,0:0:0:0:0:0:w.x.y.z 或 ::w.x.y.z
IPv4 映射地址,0:0:0:0:0:FFFF:w.x.y.z 或::FFFF:w.x.y.z
6to4 地址用于IPv4的网络上传送IPv6的包


FF02::1 链路本地范围所有节点
FF02::2 链路本地范围所有路由器
FF02::E 全球范围
IPv6的组播与IPv4相同,用来标识一组接口,一般这些接口属于不同的节点。一个节点可能属于0到多个组播组。目的地址为组播地址的报文会被该组播地址标识的所有接口接收。
一个IPv6组播地址是由前缀、标志(Flag)字段、范围(Scope)字段以及组播组ID(Group ID)4个部分组成:
前缀:IPv6组播地址的前缀是FF00::/8(1111 1111)。
标志字段(Flag):长度4bit,目前只使用了最后一个比特(前三位必须置0),当该位值为0时,表示当前的组播地址是由IANA所分配的一个永久分配地址;当该值为1时,表示当前的组播地址是一个临时组播地址(非永久分配地址)。
范围字段(Scope):长度4bit,用来限制组播数据流在网络中发送的范围。
组播组ID(Group ID):长度112bit,用以标识组播组。目前,RFC2373并没有将所有的112位都定义成组标识,而是建议仅使用该112位的最低32位作为组播组ID,将剩余的80位都置0,这样,每个组播组ID都可以映射到一个唯一的以太网组播MAC地址(RFC2464)。
总之,所有IPv6组播地址都以FF开始。
IPv6为需要使用组播发送数据的协议预留了一些组播组。

IPV6任播(类似IPV4广播)
如果一个全局单播地址被指定给多于一个接口,那么该地址就成为了任播地址。
源节点不需要关心如何选择最近的任播节点,这个工作由路由系统完成
当路由发生变化时,发往同一个任播地址的包可能会被发往不同的任播节点,任播地址与单播地址在格式上无任何差异,唯一的区别是一台设备可以给多台具有相同地址的设备发送报文
企业网络中运用任播地址有很多优势。其中一个优势是业务冗余。比如,用户可以通过多台使用相同地址的服务器获取同一个服务(例如,HTTP)。这些服务器都是任播报文的响应方。如果不是采用任播地址通信,当其中一台服务器发生故障时,用户需要获取另一台服务器的地址才能重新建立通信。如果采用的是任播地址,当一台服务器发生故障时,任播报文的发起方能够自动与使用相同地址的另一台服务器通信,从而实现业务冗余
使用多服务器接入还能够提高工作效率。例如,用户(即任播地址的发起方)浏览公司网页时,与相同的单播地址建立一条连接,连接的对端是具有相同任播地址的多个服务器。用户可以从不同的镜像服务器分别下载html文件和图片。用户利用多个服务器的带宽同时下载网页文件,其效率远远高于使用单播地址进行下载
目前,任播地址不能指定给IPv6 主机,只能指定给IPv6 路由器

为了通过IPv6网络进行通信,各接口必须获取有效的IPv6地址,以下三种方式可以用来配置IPv6地址的接口ID:网络管理员手动配置;通过系统软件生成;采用扩展唯一标识符(EUI-64)格式生成。
就实用性而言,EUI-64格式是IPv6生成接口ID的最常用方式。IEEE EUI-64标准采用接口的MAC地址生成IPv6接口ID。MAC地址只有48位,而接口ID却要求64位。MAC地址的前24位代表厂商ID,后24位代表制造商分配的唯一扩展标识。
MAC地址的第七高位是一个U/L位,值为0时表示MAC地址全局唯一,值为1时表示MAC地址本地唯一。
在MAC地址向EUI-64格式的转换过程中,在MAC地址的前24位和后24位之间插入了16比特的FFFE,并将U/L位的值从0变成了1,这样就生成了一个64比特的接口ID,且接口ID的值全局唯一。接口ID和接口前缀一起组成接口地址。

简述:将FFFE插入MAC地址的前24位与后24位之间,并将第7位的值取反(比如0改为1)即可生成接口ID。


IPv6支持无状态地址自动配置,无需使用诸如DHCP之类的辅助协议,主机即可获取IPv6前缀并自动生成接口ID。路由器发现功能是IPv6地址自动配置功能的基础,主要通过以下两种报文实现:


RA报文:每台路由器为了让二层网络上的主机和其它路由器知道自己的存在,定期以组播方式发送携带网络配置参数的RA报文。RA报文的Type字段值为134。
RS报文:主机接入网络后可以主动发送RS报文。RA报文是由路由器定期发送的,但是如果主机希望能够尽快收到RA报文,它可以立刻主动发送RS报文给路由器。网络上的路由器收到该RS报文后会立即向相应的主机单播回应RA报文,告知主机该网段的默认路由器和相关配置参数。RS报文的Type字段值为133。
简述:
都是ICMP报文
网络节点向相连的路由器发送RS,请求地址前缀信息。
路由器通过发送路由器通告RA,回复地址前缀信息。

当为接口配置IPv6地址时,DAD用来在本地链路范围内检测将要使用的IPv6地址是否唯一。
设备在给接口分配IPv6单播地址之前会进行重复地址检测(DAD),确认是否有其它的节点使用了该地址。尤其是在地址自动配置的时候,进行DAD检测是很必要的。一个IPv6单播地址在分配给一个接口之后且通过重复地址检测之前称为试验地址,此时该接口不能使用这个试验地址进行单播通信,但是仍然会加入两个组播组:ALL-nodes组播组和Solicited-node组播组。Solicited-node组播组由单播或任播地址的后24位加上地址前缀FF02:0:0:0:0:1:FF00::/104组成。
IPv6重复地址检测技术和IPv4中的免费ARP类似:用于地址分配或主机连接网络时检测重复的IPv4主机地址。节点向一个自己将使用的试验地址所在的Solicited-node组播组发送一个以该试验地址为请求的目标地址的邻居请求(NS Type=135)报文,如果收到某个其它站点回应的邻居通告(NA Type=136)报文,就证明该地址已被网络上使用,节点将不能使用该试验地址进行通信。这种情况下,网络管理员需要手动为该节点分配另外一个地址即重新弄一个地址。

要配置IPV6首先要在路由器中启用,IPv6 enable,接口中还要启用一次
华为现在严格区分IPV6

IPV6与IPV4共存:双协议栈技术

https://baike.baidu.com/item/%E5%8F%8C%E5%8D%8F%E8%AE%AE%E6%A0%88/6944797?fr=aladdin

posted @ 2021-01-22 16:35  星魂静海  阅读(1030)  评论(0)    收藏  举报