您好,欢迎访问三七文档
一、IPv6包头IPv6包头格式要么删除某些IPv4包头字段,要么将这些字段设为可选。尽管地址大小增加了,但这种更改却最大程度地减少了IPv6包头所占用的带宽。虽然IPv6地址长度是IPv4地址长度的四倍,但是IPv6包头的大小只是IPv4包头大小的两倍。IPv6基本头格式固定1、IPV4报文头格式及各字段功能1.图示2.3.各字段功能4.版本号(Version):长度4比特。标识目前采用的IP协议的版本号。一般的值为0100(IPv4),0110(IPv6)5.IP包头长度(HeaderLength):长度4比特。这个字段的作用是为了描述IP包头的长度,因为在IP包头中有变长的可选部分。该部分占4个bit位,单位为32bit(4个字节),即本区域值=IP头部长度(单位为bit)/(8*4),因此,一个IP包头的长度最长为“1111”,即15*4=60个字节。IP包头最小长度为20字节。6.服务类型(TypeofService):长度8比特。8位按位被如下定义PPPDTRC06.1PPP:定义包的优先级,取值越大数据越重要000普通(Routine)001优先的(Priority)010立即的发送(Immediate)011闪电式的(Flash)100比闪电还闪电式的(FlashOverride)101CRI/TIC/ECP(找不到这个词的翻译)110网间控制(InternetworkControl)111网络控制(NetworkControl)6.2DTRCOD时延:0:普通1:延迟尽量小T吞吐量:0:普通1:流量尽量大R可靠性:0:普通1:可靠性尽量大M传输成本:0:普通1:成本尽量小0最后一位被保留,恒定为07.IP包总长(TotalLength):长度16比特。以字节为单位计算的IP包的长度(包括头部和数据),所以IP包最大长度65535字节。8.标识符(Identifier):长度16比特。该字段和Flags和FragmentOffest字段联合使用,对较大的上层数据包进行分段(fragment)操作。路由器将一个包拆分后,所有拆分开的小包被标记相同的值,以便目的端设备能够区分哪个包属于被拆分开的包的一部分。9.标记(Flags):长度3比特。该字段第一位不使用。第二位是DF(Don'tFragment)位,DF位设为1时表明路由器不能对该上层数据包分段。如果一个上层数据包无法在不分段的情况下进行转发,则路由器会丢弃该上层数据包并返回一个错误信息。第三位是MF(MoreFragments)位,当路由器对一个上层数据包分段,则路由器会在除了最后一个分段的IP包的包头中将MF位设为1。10.片偏移(FragmentOffset):长度13比特。表示该IP包在该组分片包中位置,接收端靠此来组装还原IP包。11.生存时间(TTL):长度8比特。当IP包进行传送时,先会对该字段赋予某个特定的值。当IP包经过每一个沿途的路由器的时候,每个沿途的路由器会将IP包的TTL值减少1。如果TTL减少为0,则该IP包会被丢弃。这个字段可以防止由于路由环路而导致IP包在网络中不停被转发。12.协议(Protocol):长度8比特。标识了上层所使用的协议。以下是比较常用的协议号:1ICMP;2IGMP;6TCP;17UDP;88IGRP;89OSPF13.头部校验(HeaderChecksum):长度16位。用来做IP头部的正确性检测,但不包含数据部分。因为每个路由器要改变TTL的值,所以路由器会为每个通过的数据包重新计算这个值。14.起源和目标地址(SourceandDestinationAddresses):这两个地段都是32比特。标识了这个IP包的起源和目标地址。要注意除非使用NAT,否则整个传输的过程中,这两个地址不会改变。15.可选项(Options):这是一个可变长的字段。该字段属于可选项,主要用于测试,由起源设备根据需要改写。可选项目包含以下内容:17.1松散源路由(Loosesourcerouting):给出一连串路由器接口的IP地址。IP包必须沿着这些IP地址传送,但是允许在相继的两个IP地址之间跳过多个路由器。17.2严格源路由(Strictsourcerouting):给出一连串路由器接口的IP地址。IP包必须沿着这些IP地址传送,如果下一跳不在IP地址表中则表示发生错误。17.3路由记录(Recordroute):当IP包离开每个路由器的时候记录路由器的出站接口的IP地址。17.4时间戳(Timestamps):当IP包离开每个路由器的时候记录时间。填充(Padding):因为IP包头长度(HeaderLength)部分的单位为32bit,所以IP包头的长度必须为32bit的整数倍。因此,在可选项后面,IP协议会填充若干个0,以达到32bit的整数倍2、IPV6报文头格式及各字段功能o图示o各字段功能Version:4比特,值为6表示IPv6报文TrafficClass:8比特,类似于IPv4中的TOS域FlowLabel:20比特。IPv6中新增。流标签可用来标记特定流的报文,以便在网络层区分不同的报文。转发路径上的路由器可以根据流标签来区分流并进行处理。由于流标签在IPv6报文头中携带,转发路由器可以不必根据报文内容来识别不同的流,目的节点也同样可以根据流标签识别流,同时由于流标签在报文头中,因此使用IPSec后仍然可以根据流标签进行QoS处理。PayloadLength:16比特。以字节为单位的IPv6载荷长度,也就是IPv6报文基本头以后部分的长度(包括所有扩展头部分)。NextHeader:8比特。用来标识当前头(基本头或扩展头)后下一个头的类型。此域内定义的类型与IPv4中的协议域值相同。Pv6定义的扩展头由基本头或扩展头中的扩展头域链接成一条链。这一机制下处理扩展头更高效,转发路由器只处理必须处理的选项头,提高了转发效率。HopLimit:8比特。和IPv4中的TTL字段类似。每个转发此报文的节点把此域减1,如果此域值减到0则丢弃。SourceAddress:128比特。报文的源地址。DestinationAddress:128比特。报文的目的地址oIPv6报文扩展头格式IPv6选项字段是通过形成链式结构的扩展头支持的。IPv6基本头后面可以有0到多个扩展头。IPv6扩展头排列顺序如下:1.逐跳选项头,值为0(在IPv6基本头中定义)。此选项头被转发路径所有节点处理。目前在路由告警(RSVP和MLDv1)与Jumbo帧处理中使用了逐跳选项头。路由告警需要通知到转发路径中所有节点,需要使用逐跳选项头。Jumbo帧是长度超过65535的报文,传输这种报文需要转发路径中所有节点都能正常处理,因此也需要使用逐跳选项头功能。2.目的选项头,值为60。只可能出现在两个位置:路由头前,这时此选项头被目的节点和路由头中指定的节点处理;上层头前(任何ESP选项后),此时只能被目的节点处理。MobileIPv6中使用了目的选项头。MobileIPv6中新增加一种类型的目的选项头(家乡地址选项)。家乡地址选项由目的选项头携带,用于移动节点离开家乡后通知接收节点此移动节点对应的家乡地址。接收节点收到带有家乡地址选项的报文后,会把家乡地址选项中源地址(移动节点的家乡地址)和报文中源地址(移动节点的转交地址)交换,这样上层协议始终认为是在和移动节点的家乡地址在通信,实现了移动漫游功能。3.路由头,值为43。用于源路由选项和MobileIPv6。4.分片头,值为44。此选项头在源节点发送的报文超过PathMTU(源和目的之间传输路径的MTU)时对报文分片时使用。5.验证头(AH头),值为51。用于IPSec,提供报文验证、完整性检查。定义和IPv4中相同。6.封装安全载荷头(ESP头),值为50。用于IPSec,提供报文验证、完整性检查和加密。定义和IPv4中相同。7.上层头,上层协议头,如TCP(6)/UDP(17)/ICMP(58)等,目的选项头最多出现两次(一次在路由头前,一次在上层协议头前),其它选项头最多出现一次。但IPv6节点必须能够处理选项头(逐跳选项头除外,它固定只能进随基本头之后)的任意出现位置和任意出现次数,以保证互通性。8.EncapsulatedIPv6Header(41)9.Nonextheader(59)扩展头的排列顺序:1.Hop-by-HopOptionsheader2.DestinationOptionsheader(forintermediatedestinationswhentheRoutingheaderispresent)3.Routingheader4.Fragmentheader5.Authenticationheader6.EncapsulatingSecurityPayloadheader7.DestinationOptionsheader(forthefinaldestination)8.高层协议(TCP,UDP)注:除了Hop-by-HopOptionsheader,其它的扩展头在传输过程中,中间节点不对其做处理,处理扩展头的节点按扩展头顺序处理,而不能挑选某个headerIPV6与IPV4比较o区别IPV4中的headerlength(4),Identifier(16),Flags(3),Framentedoffset(13),Options(Lengthvariable,usedfortest),Padding这些项都没有了,因为IPV6的报文头长度是固定的,只保留了最重要的功能,而对于一些非关键性的功能,IPV6放在了扩展报头中去实现o整体来讲:IPV6的整体设计回归简洁,设计更加透明对IPv6的各种扩展头需要了解掌握,熟悉。需要反复看,熟悉。(格式、作用使用、结构内各字段的作用及字段各取值表示的意义)二、IPv6网络概述IPv6网络拓扑的基本术语。下图显示了IPv6网络的基本部分。图3–1IPv6网络的基本组件该图描述IPv6网络以及它与ISP的连接。内部网络由链路1、链路2、链路3和链路4组成。每个链路上安装若干台主机,末端连接一台路由器。链路4是网络的DMZ,它的一端连接边界路由器。边界路由器使用IPv6隧道与ISP相连,从而为网络提供Internet连通性。链路2和3作为子网8a进行管理。子网8b仅包含链路1上的系统。子网8c与链路4上的DMZ相接。如图3–1中所示,IPv6网络与IPv4网络具有几乎完全相同的组件。但是,IPv6术语与IPv4术语稍有不同。下面是用在IPv6上下文中的网络组件的常见术语。节点具有IPv6地址且接口配置为支持IPv6的任何系统。该专业术语适用于主机和路由器。IPv6路由器用来转发IPv6包的节点。路由器必须至少有一个接口配置为支持IPv6。IPv6路由器还可以通过内部网络通告企业的已注册IPv6站点前缀。IPv6主机具有IPv6地址的节点。IPv6主机可以有多个配置为支持IPv6的接口。与IPv4主机一样,IPv6主机也不转发包。链路单一且连续的网络介质,其两端均连接有路由器。相邻节点与本地节点在同一个链路上的IPv6节点。IPv6子网IPv6网络的管理段。与IPv4子网的组件一样,IPv6子网的组件也可以直接对应于链路上的所有节点。必要时,可以在单独的子网中对链路上的节点进行管理。另外,IPv6还支持多链路子网,在多链路子网上,多个链路上的节点可以是同一个子网的组件。图3–1中的链路2和链路3是多链路子网8a的组件。IPv6隧道在一个IPv6节点和另一个IPv6节点端点之间提供虚拟的点对点路径的隧道。IPv6支持可手动配置的隧道和6to4自动隧道。边界路由器位于网络边界的路由器,是通往本地网络外部端点的IPv6隧道的一个端点。此路由器必须至少有一个连接到内部网络的IPv6接口。对于外部网络,此路由器可以有一个IPv6接口或一个IPv4接口。三、IPv6的NDP1、作用RFC2461中定义了邻
本文标题:ipv6基本知识
链接地址:https://www.777doc.com/doc-2879315 .html