首页 理论教育 IPv6协议与转换机制:基本报头、扩展报头和上层协议数据结构

IPv6协议与转换机制:基本报头、扩展报头和上层协议数据结构

时间:2023-10-18 理论教育 版权反馈
【摘要】:IPv6报文的整体结构分为IPv6基本报头、扩展报头和上层协议数据3部分。图4-19IPv6基本报头的格式版本号:占4bit,表示协议版本值为6。IPv6的地址长度为128位,是IPv4地址长度的四倍。IETF ngtrans工作小组提出了许多转换机制,主要有:第一种,IPv6/IPv4双协议栈技术。双栈机制就是使IPv6网络节点具有一个IPv4栈和一个IPv6栈,同时支持IPv4和IPv6协议。图4-20IPv4/IPv6双协议栈技术示意图第二种,隧道技术。但是,隧道技术不能实现IPv4主机和IPv6主机之间的通信。

IPv6协议与转换机制:基本报头、扩展报头和上层协议数据结构

Internet规模发展得非常快,而且随着物联网的发展,IPv4已经不能满足需求。最主要的问题就是32bit的LP地址空间太小,IP地址很快就要耗尽。尽管采取了一些措施,如无类别编址CIDR,使IP地址的分配更加合理;网络地址转换NAT方法以节省全球IP地址。但这只能解决一时之需,根本的办法还是采用具有更大地址空间的新版本IP协议,即IPv6。

从1996年开始,一系列用于定义IPv6的RFC发表出来,最初的版本为RFC1883。由于IPv4和IPv6地址格式等不相同,因此在未来的很长一段时间里,互联网中将出现IPv4和IPv6长期共存的局面。

相较IPv4,IPv6主要变化有:①更大的地址空间,IPv6将地址从IPv4的32bit增大到了128bit;②扩展的地址层次结构;③灵活的首部格式;④改进的选项;⑤允许协议继续扩充;⑥支持即插即用(即自动配置);⑦支持资源的预分配。

(1)IPv6报文格式。

IPv6基本报头的格式如图4-19所示。

IPv6报文的整体结构分为IPv6基本报头、扩展报头和上层协议数据3部分。IPv6基本报头是必选报文头部,长度固定为40字节,包含该报文的基本信息;扩展报头是可选报头,可能存在0个、1个或多个,IPv6协议通过扩展报头实现各种丰富的功能;上层协议数据是该IPv6报文携带的上层数据,可能是ICMPv6报文、TCP报文、UDP报文或其他可能报文。

图4-19 IPv6基本报头的格式

版本号:占4bit,表示协议版本值为6。

流量等级:占8bit,主要用于服务质量。

流标签:占20bit,用来标识同一个流里面的报文。“流”是互联网络上从特定源点到特定目的点的一系列数据报,所有属于同一个流的数据报都具有同样的流标号。

载荷长度:占16bit,表明该IPv6数据报除基本首部以外的字节数,所有扩展首部都算在有效载荷之内,其最大值是64KB。

下一报头:占8bit,该字段用来指明报头后接的报文头部的类型。若存在扩展头,表示第一个扩展头的类型,否则表示其上层协议的类型。它是IPv6各种功能的核心实现方法。

跳数限制:占8bit,类似于IPv4中的TL,每次转发跳数减一,该字段达到0时包将会被丢弃。

源地址:占128bit,标识该报文的来源地址。

目的地址:占128bit,标识该报文的目的地址。

(2)IPv6地址。

IPv6数据报的目的地址可以是以下三种基本类型地址之一。

单播(unicast):单播就是传统的点对点通信

多播(multicast):多播是一点对多点的通信。

任播(anycast):是IPv6增加的一种类型。任播的目的站是一组计算机,但数据包在交付时只交付给其中的一个,通常是距离最近的一个。

IPv6的地址长度为128位,是IPv4地址长度的四倍。因此,IPv4的点分十进制格式不再适用,采用十六进制表示。IPv6有三种表示方法。

第一种,冒分十六进制表示法。

格式为X:X:X:X:X:X:X:X,其中每个X表示地址中的16bit,以十六进制表示,

例如:

ABCD:EF01:2345:6789:ABCD:EF01:2345:6789

这种表示法中,每个X的前导0是可以省略的,例如,2001:0DB8:0000:0023:0008:0800:200C:417A可以写成:(www.xing528.com)

2001:DB8:0:23:8:800:200C:417A

第二种,0位压缩表示法。

在某些情况下,一个IPv6地址中间可能包含很长的一段0,可以把连续的一段0压缩为“∷”。但为保证地址解析的唯一性,地址中的“∷”只能出现一次,例如:

FF01:0:0:0:0:0:0:1101写成FF01∷1101

0:0:0:0:0:0:0:1写成∷1

0:0:0:0:0:0:0:0写成∷

第三种,内嵌IPv4地址表示法。

为了实现IPv4-IPv6互通,IPv4地址会嵌入IPv6地址中,此时地址常表示为:X:X:X:X:X:X:d.d.d.d,前96bit采用冒分十六进制表示,而最后32bit地址则使用IPv4的点分十进制表示,例如:

∷192.168.0.1和∷FFFF:192.168.0.1

在前96bit中,压缩0位的方法依旧适用。

(3)从IPv4到IPv6过渡。

由于IPv4在不远的将来不再适用,必然要过渡到IPv6,但IPv6并不能兼容IPv4,因此,需要有一定的过渡期和过渡机制。IETF ngtrans工作小组提出了许多转换机制,主要有:

第一种,IPv6/IPv4双协议栈技术。

双栈机制就是使IPv6网络节点具有一个IPv4栈和一个IPv6栈,同时支持IPv4和IPv6协议。这样该节点就可以和仅支持IPv4或IPv6协议的主机通信(图4-20)。

图4-20 IPv4/IPv6双协议栈技术示意图

第二种,隧道技术。

在IPv6主机之间进行通信时,可能要经过IPv4的路由器或网络。隧道技术是将IPv6数据包作为数据封装在IPv4数据包里,使IPv6数据包能够在已有的IPv4路由器上传输的机制,如图4-21所示。隧道对于源站点和目的站点是透明的,在隧道的入口处,路由器将IPv6的数据分组封装在IPv4中,该IPv4分组的源地址和目的地址分别是隧道入口和出口的IPv4地址,在隧道出口处,再将IPv6分组取出转发给目的站点,这样IPv6的主机之间的通信就可以跨越IPv4网络的隔离。隧道技术的优点在于隧道的透明性,IPv6主机之间的通信感觉不到隧道的存在。但是,隧道技术不能实现IPv4主机和IPv6主机之间的通信。

图4-21 使用隧道技术从IPv4过渡到IPv6

第三种,网络地址转换技术。

网络地址转换(NAT)技术是将IPv4地址和IPv6地址分别看作内部地址和全局地址,或者相反。例如,内部的IPv4主机要和外部的IPv6主机通信时,在NAT路由器中将IPv4地址(相当于内部地址)变换成IPv6地址(相当于全局地址),NAT路由器器维护一个IPv4与IPv6地址的映射表。反之,当内部的IPv6主机和外部的IPv4主机进行通信时,则IPv6主机映射成内部地址,IPv4主机映射成全局地址。NAT技术可以解决IPv4主机和IPv6主机之间的互通问题(图4-22)。

图4-22 使用网络地址转换技术从IPv4过渡到IP v6

随堂练习

解决IPv4到IPv6的过渡,有哪些技术?

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈