IPv6数据包知识详解

网络 网络管理
文章摘要:通过文章,我们介绍了IPv6数据包的相关知识。包括三个部分组成,分别是:包头、扩展包头和上层协议数据单元。

作为网络的基础,协议类型现在在使用的有两种,一个是IPv4,一个就是IPv6。为了能容纳更多的信息,我们扩展了网络地址,也就是IPv6诞生的原因,所以,在这里我们来介绍一下它的结构也就是IPv6数据包的技术知识。

技术信息概述

IPv6包由IPv6包头(40字节固定长度)、扩展包头和上层协议数据单元三部分组成。

IPv6包扩展包头中的分段包头(下文详述)中指名了IPv6包的分段情况。

其中不可分段部分包括:IPv6包头、Hop-by-Hop选项包头、目的地选项包头(适用于中转路由器)和路由包头;可分段部分包括:认证包头、ESP协议包头、目的地选项包头(适用于最终目的地)和上层协议数据单元。但是需要注意的是,在IPv6中,只有源节点才能对负载进行分段,并且IPv6超大包不能使用该项服务。

下文还将简述IPv6寻址、路由以及自动配置的相关内容。

IPv6数据包:包头

IPv6包头长度固定为40字节,去掉了IPv4中一切可选项,只包括8个必要的字段,因此尽管IPv6地址长度为IPv4的四倍,IPv6包头长度仅为IPv4包头长度的两倍。

其中的各个字段分别为:Version(版本号):4位,IP协议版本号,值=6。

TrafficeClass(通信类别):8位,指示IPv6数据流通信类别或优先级。功能类似于IPv4的服务类型(TOS)字段。

FlowLabel(流标记):20位,IPv6新增字段,标记需要IPv6路由器特殊处理的数据流。该字段用于某些对连接的服务质量有特殊要求的通信,诸如音频或视频等实时数据传输。在IPv6中,同一信源和信宿之间可以有多种不同的数据流,彼此之间以非“0”流标记区分。如果不要求路由器做特殊处理,则该字段值置为“0”。

PayloadLength(负载长度):16位负载长度。负载长度包括扩展头和上层PDU,16位最多可表示65535字节负载长度。超过这一字节数的负载,该字段值置为“0”,使用扩展头逐个跳段(Hop-by-Hop)选项中的巨量负载(JumboPayload)选项。

NextHeader(下一包头):8位,识别紧跟IPv6头后的包头类型,如扩展头(有的话)或某个传输层协议头(诸如TCP,UDP或着ICMPIPv6)。

HopLimit(跳段数限制):8位,类似于IPv4的TTL(生命期)字段。与IPv4用时间来限定包的生命期不同,IPv6用包在路由器之间的转发次数来限定包的生命期。包每经过一次转发,该字段减1,减到0时就把这个包丢弃。

SourceAddress(源地址):128位,发送方主机地址。

DestinationAddress(目的地址):128位,在大多数情况下,目的地址即信宿地址。但如果存在路由扩展头的话,目的地址可能是发送方路由表中下一个路由器接口。

IPv6数据包:扩展包头

IPv6包头设计中对原IPv4包头所做的一项重要改进就是将所有可选字段移出IPv6包头,置于扩展头中。由于除Hop-by-Hop选项扩展头外,其他扩展头不受中转路由器检查或处理,这样就能提高路由器处理包含选项的IPv6分组的性能。

通常,一个典型的IPv6包,没有扩展头。仅当需要路由器或目的节点做某些特殊处理时,才由发送方添加一个或多个扩展头。与IPv4不同,IPv6扩展头长度任意,不受40字节限制,以便于日后扩充新增选项,这一特征加上选项的处理方式使得IPv6选项能得以真正的利用。但是为了提高处理选项头和传输层协议的性能,扩展头总是8字节长度的整数倍。

目前,RFC2460中定义了以下6个IPv6扩展头:Hop-by-Hop(逐个跳段)选项包头、目的地选项包头、路由包头、分段包头、认证包头和ESP协议包头:#p#

(一)Hop-by-Hop选项包头包含分组传送过程中,每个路由器都必须检查和处理的特殊参数选项。其中的选项描述一个分组的某些特性或用于提供填充。这些选项有:

Pad1选项(选项类型为0),填充单字节。

PadN选项(选项类型为1),填充2个以上字节。

JumboPayload选项(选项类型为194),用于传送超大分组。使用JumboPayload选项,分组有效载荷长度***可达4,294,967,295字节。负载长度超过65,535字节的IPv6包称为“超大包”。

路由器警告选项(选项类型为5),提醒路由器分组内容需要做特殊处理。路由器警告选项用于组播收听者发现和RSVP(资源预定)协议。

(二)目的地选项包头指名需要被中间目的地或最终目的地检查的信息。有两种用法:

如果存在路由扩展头,则每一个中转路由器都要处理这些选项。

如果没有路由扩展头,则只有最终目的节点需要处理这些选项。

(三)路由包头

类似于IPv4的松散源路由。IPv6的源节点可以利用路由扩展包头指定一个松散源路由,即分组从信源到信宿需要经过的中转路由器列表。

(四)分段包头

提供分段和重装服务。当分组大于链路***传输单元(MTU)时,源节点负责对分组进行分段,并在分段扩展包头中提供重装信息。

(五)认证包头

提供数据源认证、数据完整性检查和反重播保护。认证包头不提供数据加密服务,需要加密服务的数据包,可以结合使用ESP协议。

(六)ESP协议包头

提供加密服务。

IPv6数据包:上层协议数据单元

上层数据单元即PDU,全称为ProtocolDataUnit。

PDU由传输头及其负载(如ICMP IPv6消息、或UDP消息等)组成。而IPv6包有效负载则包括IPv6扩展头和PDU,通常所能允许的***字节数为65535字节,大于该字节数的负载可通过使用扩展头中的Jumbo Payload(见上文)选项进行发送。

责任编辑:佟健 来源: 互联网
相关推荐

2019-06-09 08:37:17

2018-08-10 07:58:43

IPv6NATIPv4

2019-07-04 14:11:48

MSTPIPv6网络拓扑

2010-05-24 16:20:32

IPv6隧道技术

2013-03-13 09:56:24

IPv6IPv4NDP

2018-08-15 09:21:31

IPv6IPv4协议

2019-07-01 10:09:09

IPv6IPv4运营商

2010-05-25 18:02:53

IPv6多播地址

2019-06-05 15:43:34

IPV6IPV4网站

2009-07-15 10:22:27

2010-05-26 15:01:46

安装IPv6

2012-04-27 13:33:40

锐捷网络物联网IPv6

2010-05-25 14:55:47

IPv6与RFID结合

2011-06-09 09:32:31

IPv6IPv6流量IPv6日

2018-05-03 14:40:07

IPv6互联网协议网络

2012-05-24 19:08:13

2011-07-10 14:59:14

IPv6企业IPv6部署

2012-12-10 16:25:34

IPv6

2010-08-11 16:07:14

IPv6协议H3C

2011-06-07 16:47:22

IPv6IPv6日世界IPv6日
点赞
收藏

51CTO技术栈公众号