Ipv4和Ipv6数据报格式详解
- 格式:doc
- 大小:507.50 KB
- 文档页数:7
IPv4报文格式路由 的 分 类01 01000100010101010101001001001000110…… IPv4报文格式IPv4报文格式路 由 的 分 类01目录Contents1 IPv4报文格式2 IPv4报文各字段含义3 IPv4报文应用方式版本(4)头长度(4)TOS (8)总长度(16)标识(16)标志(3)片偏移(13) TTL (8)协议(8)校验和(16)源IP 地址(32) 目的IP 地址(32) 选项(0 or 32 if any )数据bit0bit31报头区 20-60 Bytes头长度(4)TOS (8)总长度(16)标识(16)标志(3)片偏移(13) TTL (8)协议(8)校验和(16)源IP 地址(32) 目的IP 地址(32) 选项(0 or 32 if any )数据bit0bit31报头区 20-60 Bytes版本(4)版本(version )1表示该数据报所使用的IP 协议版本号0100 IPv4 0110IPv6版本(4)TOS (8)总长度(16)标识(16)标志(3)片偏移(13) TTL (8)协议(8)校验和(16)源IP 地址(32) 目的IP 地址(32) 选项(0 or 32 if any )数据bit0bit31报头区 20-60 Bytes头长度(4)头长度(IHL )2指明“报头区”的长度 单位是32bits 如: 0111 7报头区长度为:7*32bits=224bits=28Bytes版本(4)头长度(4)总长度(16)标识(16)标志(3)片偏移(13) TTL (8)协议(8)校验和(16)源IP 地址(32) 目的IP 地址(32) 选项(0 or 32 if any )数据bit0bit31报头区 20-60 Bytes服务类型(TOS )3区分不同的服务种类,对传输速度及可靠性等方面加以控制TOS (8)优先级 可靠性吞吐量 延迟版本(4)头长度(4)TOS (8)标识(16)标志(3)片偏移(13) TTL (8)协议(8)校验和(16)源IP 地址(32) 目的IP 地址(32) 选项(0 or 32 if any )数据bit0bit31报头区 20-60 Bytes总长度(Total Length )4定义了报文总长,包含首部和数据,单位为字节。
IPv4与IPv6协议区别IPv4协议:目前的全球因特网所采用的协议族是TCP/IP协议族。
IP是TCP/IP协议族中网络层的协议,是TCP/IP协议族的核心协议。
目前IP协议的版本号是4(简称为IPv4),发展至今已经使用了30多年。
IPv4的地址位数为32位,也就是最多有2的32次方的电脑可以联到Internet上。
近十年来由于互联网的蓬勃发展,IP位址的需求量愈来愈大,使得IP位址的发放愈趋严格,各项资料显示全球IPv4位址可能在2005至2008年间全部发完。
IPv6协议:IPv6是下一版本的互联网协议,也可以说是下一代互联网的协议,它的提出最初是因为随着互联网的迅速发展,IPv4定义的有限地址空间将被耗尽,地址空间的不足必将妨碍互联网的进一步发展。
为了扩大地址空间,拟通过IPv6重新定义地址空间。
IPv6采用128位地址长度,几乎可以不受限制地提供地址。
按保守方法估算IPv6实际可分配的地址,整个地球的每平方米面积上仍可分配1000多个地址。
在IPv6的设计过程中除了一劳永逸地解决了地址短缺问题以外,还考虑了在IPv4中解决不好的其它问题,主要有端到端IP连接、服务质量(QoS)、安全性、多播、移动性、即插即用等。
IPv6与IPv4相比有什么特点和优点:●更大的地址空间IPv4中规定IP地址长度为32,即有2^32-1个地址;而IPv6中IP地址的长度为128,即有2^128-1个地址。
●更小的路由表IPv6的地址分配一开始就遵循聚类(Aggregation)的原则,这使得路由器能在路由表中用一条记录(Entry)表示一片子网,大大减小了路由器中路由表的长度,提高了路由器转发数据包的速度。
●增强的组播(Multicast)支持以及对流的支持(Flow-control)这使得网络上的多媒体应用有了长足发展的机会,为服务质量(QoS)控制提供了良好的网络平台.●加入了对自动配置(Auto-configuration)的支持这是对DHCP协议的改进和扩展,使得网络(尤其是局域网)的管理更加方便和快捷.●更高的安全性在使用IPv6网络中用户可以对网络层的数据进行加密并对IP报文进行校验,这极大的增强了网络安全从IPv4到IPv6的过渡策略国内和国际都提出了很多过渡技术方案,主要包括以下几个类型:●双协议栈技术IPv6和IPv4是功能相近的网络层协议,两者都基于相同的物理平台,而且加载于其上的传输层协议TCP和UDP又没有任何区别。
详谈IPv6与IPv4数据报格式1.IPv6数据包每一个分组由必须要有的基本首部和跟随在后面的有效载荷组成。
有效载荷有两部分组成:可选的扩展首部和从上层来的数据(不超65535字节)。
具体如图所示:详细说明:Version:和ipv4包头中的一样,4个bit区域表示ip的版本(0110)优先级:即Traffic Class是一个8位bit的区域,同ipv4中的tos区域一样。
但是在这些年中随着TOS区域的进化,这个区域也可以用来被 DifferentiatedClass of Service (DiffServ)使用。
但是尽管这里这样的标识仍然符合老的Tos的格式,只不过Traffic Class这个名字更符合当前的应用。
流标记:Flow Label流量标签是在ipv6中独有的区域。
这个20个bit的区域设计的目的在于可以给一些特殊的数据做标记。
也就是说尽管数据包并非是从原来的源发到目的,但是仍然包含原有的源和目的的应用。
区分数据流有很多好处,可以确保不同类别服务的处理方式得以区分,在数据流经多个路径的负载均衡时,在同一个数据流的数据包将使用经由同一个路径转发,从而避免了数据包可能继续查找路径的现象。
典型的flow(更加精确一点的说法是微流)就是在源地址和目的地址上加一个团体的源地址和目的地址。
如果使用定义源和目的端口号,路由器必须识别ip包头还要进一步识别tcp或者udp(或者其他传输层协议)的头,这样就增加了转发进程的复杂性,可能会影响路由器的处理。
因为出现扩展包头(下一段介绍),所以在ipv6数据包中查找传输层协议的头就成为一个特殊的问题。
支持ipv6的路由器必须从按照数据包格式的顺序从头到位查找,可能会经过很多扩展包头再会找到传输层地址(这样的话影响查找时间)。
如果在数据包发起是适当的加入流量标签,路由器更比查找数据包头更容易辨识数据流。
然而,在本书书写时,如何使用流量标签区域的完全详细文档仍在讨论中,所以当前路由器读取数据时忽略这个区域。
IPv6与IPv4的比较摘要本文在比较IPv6基本报头和IPv4报头的基础上,详细分析了IPv6与IPv4的区别,这对于今后建设IPv6网络以及寻求IPv6网络的杀手锏应用方面有着极其重要的意义。
IPv4采用了32bit的地址结构,这从理论上讲可以提供近43亿的主机数量,但实际上所能分配的地址远远小于该数目。
这种地址配置的低效率,主要是由于IPv4地址以A、B、C等类别进行人为划分。
在Internet的发展初期,由于对其发展速度估计不足,都以为地址空间将会一直是非常宽裕的,所以很多时候,一个公司、一所大学就能获得一个A类或B类地址。
同时由于历史的原因,美国一些大学和公司占用了大量的IP地址,如康柏公司就有3个A类地址,麻省理工大学、斯坦福大学都有A类地址。
而截止到2005年底,我国大陆IPv4地址总数仅为74 391 296个,合4A+111B+31C。
也就是说每26个中国人只能分享一个地址,与此形成鲜明对比的是,美国2亿多人口拥有近12亿地址,占IPv4地址的四分之强,平均每个美国人享有5个地址。
由此产生的结果是,一方面被占用的地址大量空置,另一方面是在互联网快速发展的国家IP地址紧缺。
据官方预测,根据目前使用IPv4地址的趋势,IPv4未分配地址池将在2011年6月28日被耗尽。
这正是IPv6引入的主要原因。
而新技术的实现也呼唤着IPv6的出现,如PDA、无线终端、3G移动电话、信息汽车、信息家电等。
所以,只有最终实现IPv6,才可能从根本上解决目前互联网面临的地址匮乏的问题,因为IPv6首先是能提供天文数字的IP地址空间,也就是2128。
同时,IPv6在不少方面实现了比IPv4更为先进的协议设计,如安全、服务质量、网络管理、移动性等。
总之,引入IPv6的原因很多,主要有以下几点:IPv4地址枯竭,IPv6将提供足够多的地址;目前骨干网络上路由表过于庞大,IPv6将会解决这一问题;其他一些原因,诸如服务质量要求、安全性问题、寻址效率问题、移动性问题等等。
一、IPv6包头IPv6 包头格式要么删除某些IPv4 包头字段,要么将这些字段设为可选。
尽管地址大小增加了,但这种更改却最大程度地减少了IPv6 包头所占用的带宽。
虽然IPv6 地址长度是IPv4 地址长度的四倍,但是IPv6 包头的大小只是IPv4 包头大小的两倍。
IPv6基本头格式固定1、IPV4报文头格式及各字段功能1.图示2.3.各字段功能4.版本号(Version):长度4比特。
标识目前采用的IP协议的版本号。
一般的值为0100(IPv4),0110(IPv6)5.IP包头长度(Header Length):长度4比特。
这个字段的作用是为了描述IP包头的长度,因为在IP包头中有变长的可选部分。
该部分占4个bit位,单位为32bit(4个字节),即本区域值= IP头部长度(单位为bit)/(8*4),因此,一个IP包头的长度最长为“1111”,即15*4=60个字节。
IP包头最小长度为20字节。
6.服务类型(Type of Service):长度8比特。
8位按位被如下定义PPP DTRC06.1 PPP:定义包的优先级,取值越大数据越重要000 普通(Routine)001 优先的(Priority)010 立即的发送(Immediate)011 闪电式的(Flash)100 比闪电还闪电式的(Flash Override)101 CRI/TIC/ECP(找不到这个词的翻译)110 网间控制(Internetwork Control)111 网络控制(Network Control)6.2 DTRCOD 时延: 0:普通1:延迟尽量小T 吞吐量: 0:普通1:流量尽量大R 可靠性: 0:普通1:可靠性尽量大M 传输成本: 0:普通1:成本尽量小0 最后一位被保留,恒定为07.IP包总长(Total Length):长度16比特。
以字节为单位计算的IP包的长度(包括头部和数据),所以IP包最大长度65535字节。
IPv4和IPv6的比较1、概述 (1)2、IPv4与IPv6协议的比较 (2)2.1报头格式 (2)2.1.1固定的IPv6基本报头 (2)2.1.2简化的IPv6基本报头 (3)2.1.3IPv6报头新增流标记宇段 (3)2.1.4IPv6报头采用128bit地址长度 (3)2.2IP地址分配 (4)2.3路由协议 (5)2.3.1域内路由协议 (5)(1) OSPFv3与OSPFv2的区别 (5)(2)IS-ISv6与IS—ISv4的区别 (6)2.3.2域间路由协议 (7)2.4域名解析 (8)2.4.1正向解析 (8)2.4.2反向解析 (9)2.5自动配置 (9)2.6安全 (10)3、总结 (10)1、概述互联网已经成为现代社会信息基础设施的重要组成部分,在国民经济发展和社会进步中起着举足轻重的作用,同时也成为当今高科技发展的重要支撑环境,互联网的巨大成功有目共睹。
现在被全球广泛使用的互联网协议IPv4是“互联网协议第四版”,已经有30年的历史。
从技术上看,尽管IPv4在过去的应用具有辉煌的业绩,但是现在看来已经露出很多弊端。
全球范围内WLAN、2.5G、3G无线移动数据网络的发展加快了以互联网为核心的通信模式的形成,由于移动通信用户的增长要比固定网用户快得多,特别是各种具有联网功能的移动终端的迅猛发展,考虑到随时随地的、任何形式、直接的个人多媒体通信的需要,现有的IPv4已经远远不能满足网络市场对地址空间、端到端的IP连接、服务质量、网络安全和移动性能的要求。
因此人们寄希望于新一代的IP协议来解决以上问题。
IPv6协议正是基于这一思想提出的,它是“互联网协议第六版”的缩写。
在设计IPv6时不仅仅扩充了IPv4的地址空间,而且对原IPv4协议各方面都进行了重新考虑,做了大量改进。
除了提出庞大的地址数量外,IPv6与IPv4相比,还有很多的工作正在进行以期得到更高的安全性、更好的可管理性,对QoS 和多播技术的支持也更为良好。
背景以IPv4为核心技术的Internet获得巨大成功,但随着网络技术的飞速发展,IPv4地址资源的枯竭,以及其固有的局限性无法满足网络发展的需求,也带来了一些问题,比如现有的IPv4地址匮乏、服务保障问题等。
而IPv6可以有效的改善这些问题,由IPv4向IPv6的升级过渡将成为互联网发展的趋势。
IPv4发展的瓶颈在Internet快速发展的过程中,IPv4协议在设计时存在的局限性凸显出来:• IP地址空间的局限性IPv4的地址位数为32位,可使用的IP地址数量约43亿个,全球公网IPv4 地址已于2011年2月分配完毕;• 骨干路由器维护的路由表表项数量过大由于IPv4发展初期的分配规划问题,许多IPv4地址块分配不连续,不能有效聚合路由。
目前全球IPv4 BGP路由表仍不断增长,即使经过CIDR聚合(Classless Inter-Domain Routing,无类别域间路由),也有70万条左右,日益庞大的路由表耗用内存较多,对设备成本和转发效率都有一定的影响;• IPv4网络中主机终端配置复杂在将主机节点接入网络时一般需要专业人员的指导和帮助,需要对网络节点设置IP地址、子网掩码、网关地址等,而用户更喜欢“即插即用”;• 缺乏对安全的支持TCP/IP协议起初是面向军方网络的,认为使用者都是可靠的,没有考虑到网络安全问题。
而用于保障IP 数据传输安全的IPSec(Internet Protocol Security,因特网协议安全性)仅作为IPv4协议的一个可选项,并不是它的组成部分;• 缺乏对QoS(Quality of Service,服务质量)的支持IPv4网络提供尽力交付的服务,不提供服务质量保证,如带宽、时延、误码率和抖动等。
因此,IPv4不能满足日益增长的业务类型对QoS的需求。
IPv4协议发展已经遇到了瓶颈,面对如此多的限制,需要一个新的IP协议来替换现有的IPv4,这个协议就是IPv6,IPv6的研究和应用迫在眉睫。
IPv4和IPv6数据报格式
一、IPv4数据报格式
1)数据报可以分为报头区和数据区,数据区的数据来自上一层。
说明:首部和报头和头等字眼是同一意思。
2)版本:指明IP协议是哪个版本,IPv4为0100。
3)报头长度:也叫首部长度,指明报头区的长度。
最小值为20个字节,最大值为60字节。
说明:
a.当没有选项和填充字段时,32位(每行的长度)*5(5行固有的)=160位
=20字节,这个时候4个比特位的值为0101,为什么呢?因为这里规定以4个字节为单位,如果把0101用换算成十进制,0101=5,5*4=20字节。
如果4个比特位为1111,把1111换算成十进制则等于15,则它表示15*4=60个字节。
(简单记成换算成十进制后乘以4才等于它报头区的字节数)
b.当 IP 分组的首部长度不是4字节的整数倍时,必须利用最后的填充字段加
以填充。
4)服务类型:转发过程中对该数据报的处理方式。
5)总长度:等于报头区及数据区的长度相加。
说明:
a.最大长度为65535个字节(当8个bit都等于1时),2^16-1=65535个字节。
b. IP数据报的最大长度的确是65535字节。
但是实践中最大长度很少用,因
为大多物理网络都有长度限制,例如,数据链路层有自己的帧格式,其中包括了数据字段的最大长度,即最大数据传输单元MTU,当一个数据报封装成链路层的帧时,此数据报的总长度一定不能超过下面的数据链路层的MTU 值,以太网把载荷长度限制在1500字节。
6)标识:IP软件在存储器中维持一个计数器,每产生一个数据报,
计数器就加 1,并将此值赋给标识字段。
但这个“标识”并不是序号,因
为 IP是无连接的服务,数据报不存在按序接收的问题。
当数据报由
于长度超过网络的 MTU 而必须分片时,这个标识字段的值就被复制
到所有的数据报的标识字段中。
相同的标识字段的值使分片后的各数
据报片最后能正确地重装成为原来的数据报。
附加:
IP数据报在各个物理网络中需要重新封装:
与路由器连接的各个网络的MTU可能不同:
当数据报超过网络的MTU进行分片后,路由器可以为每个分片独立选路:
7)标志:占三位,但目前只有两位有意义。
标志字段中间位记为DF(Don’t fragment),当DF=1时表示不允许分片,当DF=0时表示允许。
标志
中最低位(即最右)记为MF(more fragment),当MF=1时,表示
后面“还有分片”,当MF=0时表示没有。
说明:|R|DF|MF| ,R保留未用。
8)片偏移:指的是该片偏移原始数据报开始处的位置,偏移的字节数是该值乘以8。
说明:当数据报被分片后,每个片的总长度值要改为该片的长度值9)生存周期:其目的是防止无法交付的数据报无限制地在因特网中兜围子,因而白白消耗网络资源。
最初的设计是以秒作为 TTL的单位。
每经过一个路由器时,就把TTL减去数据报在路由器消耗掉的一
段时间。
若数据报在路由器消耗的时间小于 1 秒,就把TTL值
减 1。
当 TTL值为 0时,就丢弃这个数据报。
10)协议:协议字段指出此数据报携带的数据是使用(上层的)何种协议,以便使目的主机的IP层知道应将数据部分上交给哪个处理过程。
11)头部校验和:这个字段只检验数据报的首部部分(报头区),但不包括数据部分(数据区)。
这是因为数据报每经过一个路由器,都要重
新计算一下首部检验和 (一些字段,如生存时间、标志、片偏
移等都可能发生变化)。
不检验数据部分可减少计算的工作量。
12)选项:占24位,IP数据报选项由选项码、长度和选项数据三部分组成。
选项码:
a.源路由:IP数据报穿越互联网所经过的路径是由源主机指定的应用场合:测试
某特定网络的吞吐率、使数据报绕开出错网络等。
源路由选项分为:
严格源路由选项:规定IP数据报要经过路径上的每一个路由器。
松散源路由选项:只给出IP数据报必须经过的一些“要点”。
b.记录路由选项:记录IP数据报从源主机到目的主机所经过路径上各个路由器
的IP地址。
c.时间戳选项:记录IP数据报经过每一路由器时的当地时间
附加说明: IP互联网利用ICMP传输控制报文和差错报文,ICMP报文封装在IP 数据报中。
二、IPv6数据报格式
IPv6报头:
说明:IPv6的报头为40字节(32(每行长度)*2(前两行)=64位=8字节,加上源IP和目的IP分别为16字节,总的等于40字节)
1)数据报可以分为基本头和扩展头和上层协议数据单元(相当与IPv4的数据区)。
2)版本:指明IP协议是哪个版本,IPv6为0110。
3)优先级:用来区分不同IPv6数据包的类型或优先级。
(相当于IPv4的“服务类型”字段(TOS:type of service))。
4)流标识:首先认识“流”就是因特网上从特定源到特定目的的一些列数据报。
流所经过的路径上的路由器都保证指定的服务质量(Qos),所有属
同一个流的数据都有相同的流标识。
5)载荷长度:即有效载荷的长度,除首部(报头)以外的字节数,包括扩展首部(扩展报头)和数据部分。
(相当于IPv4的“报头长度”字段)6)下一首部:定义了紧跟在基本首部(IPv6报头)后面的扩展首部(扩展报头)的数字标识号(当有扩展首部时)或指出此数据报携带的数据是
使用(上层的)何种协议(当没有扩展首部时,这个时候相当于
IPv4的“协议”字段)。
说明:
a.下图是数字标识号(包括各类型的扩展首部和上层协议等等)。
说明:需要解释的是当没有扩展首部的时候,“下一首部”这一字
段指明的是此数据报携带的数据是使用(上层的)何种协议,如
果是TCP协议,则这里的值为6,UTP为17,ICMPv6为58。
而
如果下一个是IPv6头部(即IPv6报头,新的一个数据报),则为
41。
如果其后没有其它首部(包括基本首部和扩展首部)了,则
为59。
b.下图是为了形象理解“下一部首”定义的数字标识号的对象是
谁,即后面的扩展报头是什么类型是前面的下一部首通过数字
标识号来说明的。
7)跳数限制:相当与IPv4的“生存周期”字段。
扩展报头:
6种类型:
说明:
a.这六种扩展头是任选的,可选可不选,可以多选。
b.IPv6强烈建议这些扩展头按照它们在上表中的次序出现,这样接收者就不必搜索整个包来寻找某个特定类型的扩展头,并且保证了在处理这个扩展头之前,所有前面的扩展头都已经处理了。
c.除“加密头”外,其它扩展头的长度必须是8字节的整数倍。
d.除“逐跳头”外,其它扩展头仅由目的节点处理。