首页 理论教育 深入了解IPv6新一代网际协议

深入了解IPv6新一代网际协议

时间:2023-07-01 理论教育 版权反馈
【摘要】:现在使用的网际协议IP是1970年发布的。1992年6月IETF提出要制定下一代的网际协议,即IPng,并将IPng正式命名为IPv6,它保持了IPv4许多成功的特点。IPv6仍支持无连接传输;允许发送方选择数据报的大小;要求发送方指明数据报的到达目的端前的最大跳数。IPv6提供一种新的机制,允许对网络资源预分配,取代了IPv4的服务类型说明。IPv6的一个很重要的改变视该协议允许新增特性,协议不需要描述所有的细节。

深入了解IPv6新一代网际协议

现在使用的网际协议IP(即IPv4)是1970年发布的。该协议设计灵活,功能强大,是Internet的关键协议,为整个Internet提供基本的通信机制。但随着技术和应用的发展,尤其是Internet用户的迅速增加,原32bit的IP地址空间很快被耗尽,迫切需要对IPv4地址进行更新。例如,实时语音和图像通信要求级的时延,新版的IP应当提供一种机制,能为特定应用预留资源,又如一些新的应用需要安全通信,新版的IP应具有鉴别发送着的安全机制。

1992年6月IETF提出要制定下一代的网际协议,即IPng(IPNext Generation),并将IPng正式命名为IPv6,它保持了IPv4许多成功的特点。IPv6仍支持无连接传输;允许发送方选择数据报的大小;要求发送方指明数据报的到达目的端前的最大跳数。IPv6保留了IPv4的大多数选项,包括分段和源端路由选择。

IPv6对原协议细节作了许多的修改,大体上可归纳为如下5点:

(1)更大的地址空间。IPv6将原来的32bit地址空间增大到128bit的地址空间,使地址空间增大了296倍;

(2)灵活的报头格式。IPv6使用一种全新的,不兼容的数据报格式。在IPv4中,使用固定格式的数据报报头,在报头中,除选项以外,所有的字段都在一个固定的偏移位置上占固定数量的8bit数组,而IPv6使用了一组可选的报头;

(3)增强的选项。IPv6允许数据报包含可选的控制信息,包含了IPv4不具备的选项,提供新的功能;

(4)允许对网络资源的预分配。IPv6提供一种新的机制,允许对网络资源预分配,取代了IPv4的服务类型说明。这些新的机制支持实时话音和视像等应用,保证一定的带宽和时延;

(5)支持协议扩展。IPv6的一个很重要的改变视该协议允许新增特性,协议不需要描述所有的细节。这种扩展能力视协议能否适应网络硬件的改变和各种新的应用需求而定。

1.IPv4概述

IP协议对应于OSI模型的第三层,即网络层,它提供了一种不可靠、无连接的传输机制。IP协议提供了3个重要的定义:

(1)IP协议定义了在整个计算机网络上数据传输所用的基本单元,它规定了Internet上传输数据的确切格式;

(2)IP完成路由选择的功能,选择一个数据发送的路径;

(3)除了数据格式和路由选择的精确而正式的定义外,IP还包括了一组嵌入了不可靠分组传输思想的规则,这些规则指明了主机和路由器应该如何处理分组、何时以及如何发出错误信息及在什么情况下可以放弃数据报。

现在所用的以及所指的IP版本为1981年定义的第四版,即IPv4,其数据报的格式如图4-33所示。图4-33中各字段说明如下所述。

978-7-111-33721-8-Chapter04-37.jpg

图4-33 IPv4的数据分组的格式

版本号为4bit,用来标明数据报采用的版本为IPv4,分组头长度字段也是4bit,用来给出以32bit长为单位的分组头长度。服务类型字段为8bit,可用来对数据报划分优先级别。总长度字段为16bit,给出要传输的数据报以8位组为单位的总长度,IP数据分组的最大长度为216即65535个8位组。标识符、标志和分片偏移量分别为16bit、3bit和13bit,用来控制数据报的分片和重组,以便让主机识别每个到达数据报片,将数据完整复原。生存时间(TTL)字段为8bit,用来设置该数据在互联网中允许存在的以秒为单位的时间,其目的是避免数据报在网络中出现无限循环。协议字段为8bit,类似于网络帧中的类型字段,它说明数据报的数据字段中的数据是用哪种高层协议产生的。校验和字段为16bit,用于保证首部数据的完整性。源地址和目的地址均为32bit,用来标明数据报的源地址和目的地址,在IPv4中将地址分为4类地址。IP选项字段是任选的,主要用于网络测试或调试。数据字段用来传输需传输的数据,可以为0~65535B。

从概念上来说,地址是系统中某个对象的标识符。在物理网络中,各站点都有一个机器可以识别的地址,该地址称为物理地址(也叫硬件地址或MAC地址)。在Internet中,统一通过上层(1P层)软件提供一种通用的地址格式,在统一管理下进行分配,确保一个地址对应一台主机,这样,全网的物理地址差异就被IP层屏蔽,通称IP层所用的地址为Internet地址,或IP地址。它包含在IP数据报的头部。

IP地址在概念上有3层:Internet、网络和主机。Internet包含多个网络,一个网络中有若干台主机。IPv4规定地址总长32bit,分为5类,如图4-34所示。

(1)A类地址:适用于大型网络,网络号占7bit,主机号占24bit,可容纳网络数为27个,每个A类网络拥有主机数最多为224台。

(2)B类地址:适用于中型网络,网络号占14bit,主机号占16bit,可容纳网络数为214个,每个B类网络拥有主机数最多为216台。

(3)C类地址:适用于小型网络,网络号占21bit,主机号占8bit,可容纳网络数为221个,每个B类网络拥有主机数最多为28台。

(4)D类地址:多播地址,支持多目传输技术,即与网络中多台主机同时通信。

978-7-111-33721-8-Chapter04-38.jpg

图4-34 IPv4地址类型

(5)E类地址:将来扩展用。为了易于理解,IP地址的表示采用点分十进制表示法(dotted decimal notation),即每8bit二进制数值用十进制数表示,且每个量之间用一个点分开。如:202.114.208.240是一个C类地址。

除了上述5类地址外,IP还定义了几类特殊的IP地址。

(1)网络地址:IP把主机号的所有位都为“0”的地址保留给网络本身。

(2)定向广播地址:IP把主机号各位全为“1”的地址指定为定向广播地址,表示向某网络内所有主机发送信息。(www.xing528.com)

(3)有限广播地址:由32个“1”组成,它只向本地网络广播。

(4)“0”地址:TCP/IP规定,网络号各位全为“0”的IP地址,称为“0”地址。当需要本网内通信,但又不知本网网络号的情况下使用“0”地址。

(5)回送地址:A类网络地址127是一个保留地址,用于网络软件测试以及本地机进程间通信,称为回送地址。

2.IPv6结构

IPv6数据分组的一般格式有一个40B的基本分组头,其后可允许零到多个扩展分组头,扩展分组头的数据是用户数据。

每个IPv6数据分组以一个40B的基本报头开始,该基本分组头包含源地址和目的地址,最大跳数限制,数据流标号及下一个分组头的类型。IPv6数据报除了数据之外,至少还要有40B的分组头。IPv6分组头格式的不少字段可以和IPv4分组头中字段直接对应。

下面介绍IPv6数据报分组头中的各字段。

(1)版本(占4bit)。它指明了协议的版本,对IPv6该字段的值固定为6。

(2)优先级(占4bit)。优先级字段使源端能够指明数据报的流类型。首先,IPv6把流分成两大类,即可阻塞控制的与无阻塞控制的。每一类又分为8种优先级。优先级的值越大,表明该分组越重要。优先级仅在类别之内有意义。

1)可阻塞控制传输是指源节点可以降低数据流速率作为对发生阻塞现象的响应,TCP显然具有这样的特点。阻塞控制传输的特点在于可变的传输时延,甚至数据报顺序变换也可以承受。IPv6按优先级递减定义阻塞控制的传输类别:Internet控制流、交互传输、用户参与的大量数据传输(如FTP)、用户不参加的数据传输(如电子邮件)、填隙传输(即后台传输)和无规定传输。

2)无阻塞控制传输是指具有恒定速率和时延的传输,或者至少是数据速率和传输时延是平滑的。例如在实时视频或者音频传输中,重要被丢弃的数据报时没有意义的,维持平滑的传输速率才是重要的。在无阻塞控制传输中,规定8种不同传输级,最低为8,最高为15。一般而言,丢失数据报将影响接收端的业务质量,而这种影响的强弱也就决定了发端给数据报的优先级。例如语音等高保真音频信号应分配较高的优先级,而高保真音频信号中将含有相当的冗余量,丢失几个数据报不会造成很多的影响,所以可以分配较低的传输优先级。

(3)流标号(占24bit)。IPv6提出流的抽象概念。所谓流就是Internet将每一个从特定源站与一个目的站(单播或多播)的一系列数据报,而源站要求在数据报传输的路径上的路由器指明服务质量。从用户角度出发,流是一个应用程序产生的具有相同传输的数据报文。一个流可以构成一个或多个TCP连接,单一应用程序也可以产生一个或多个流。从路由器角度出发,流被认为是要求进行特殊处理的数据报序列,路由器对于来自不同流的数据报将采用不同方式进行处理。流标号中的比特流标记是由源站随机选取的,对于一个数据流的特殊处理必须以其他方式声明,比特流标号仅用于标识双方认可的标志符。

(4)净负荷长度(占16bit)。此字段指明除分组头自身的长度外,还指明IPv6数据分组所载的字节数。

(5)下一个分组头(占8bit)。标识紧接着IPv6报头的扩展报头的类型,这个字段指明在基本报头后面紧接着一个分组头的类型。

(6)跳数限制(占8bit)。此字段用来防止数据分组在网络中无限期的存在。源站在每个数据分组发出时即设定某个跳数限制。每一个路由器在转发数据分组时,要先将跳数限制字段中的值减1。当跳数限制的值为零时,就要将此数据分组丢失。这相当于IPv4首部的寿命字段,但比IPv4的计算实践间隔要简单些。

(7)源站IP地址(占128bit)。它表示数据分组的源IP地址。

(8)目的站地址(占128bit)。它表示此数据分组的目的IP地址。

3.IPv6的地址

在IPv6中,每个地址占128bit,地址空间为2128。如此大的地址空间使IPv6能适应各种地址分配策略,为地球上每个人提供足够的IP地址。

对于如此大的地址空间,为了使用和管理方便,IPv6的设计者建议使用冒号十六进制表示。它将每个16bit的值用十六进制表示,并用冒号将其分割。例如,用点分十进制表示(IPv4使用的是点分十进制表示)的128bit数为

104.230.140.100.255.255.255.255.0.0.17.128.150.10.255.255

可用冒号十六进制表示为

68E6:8C64:FFFF:0:1180:96A:FFFF

冒号十六进制表示与点分十进制表示相比,只需要更小的数字和更少的分隔符,具有明显的优点。

IPv6地址的分配是对应节点的接口,而不是节点本身,一个接口可以有多个地址进行标识。在IPv6协议中长地址和多地址的代替,可以使得地址按照网络层次,接口提供着,地理位置分类,可以缩小路由表的规模,提高检索路由项的速率;同时使用同一接口在不同的接入提供着的地址空间内具有各自不同的地址,便于网络管理。

IPv6地址可以分成3种类型:单点通信(unicast)地址、任意点通信方式(anycast)地址和组播(multicast)地址。不同地址是通过IPv6地址中长度可变的第一个字段进行标识的,例如基于接入供应商的单点通信标识为“010”,而多播映射是由“11111111”作为标识符。不同的地址具有不同的格式。

单播通信地址即目的地址用于指明一台计算机或路由器,数据分组选择一条最短的路径到达目的站。任意点通信方式地址即目的站是共享一个路由地址的计算机的集合,数据分组选择一条最短路径到达该组,然后传输给该组最近的一个成员。多播地址即目的站是一组计算机,它们可以在不同地方,数据分组通过多播或广播传输给该组的每一成员。

IPv6地址划分采用多级系统,这是为了便于使路由器更快的查找路由。IPv6的地址空间被划分为若干大小不等的地址块。在IPv6地址空间中,有一小部分用于对IPv4地址编码,对任何地址若开始80bit是全零,接着16bit是全1或全0,则它的低32bit就是一个IPv4地址。除了上述地址编码的规定外,为了解决IPv4与IPv6两种不同版本的互操作问题,还需使用转换器。IPv6计算机生成一个含有IPv4目的地址,但是使用IPv6编码的数据分组。IPv6计算机将数据分组发送给转换器,转换器使用IPv4与目的站通信。当它从目的站收到回答时将IPv4数据分组转换为IPv6数据分组,并发回给IPv6源站。

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

我要反馈