|
知识路径: > 计算机系统基础知识 > 计算机网络基础知识 > Internet 基础知识 > Internet基础知识 > Internet地址 >
|
相关知识点:4个
|
|
|
|
IPv4(IP version 4)标准是20世纪70年代末期制定完成的。20世纪90年代初期,WWW的应用导致因特网爆炸性发展,随着因特网应用类型日趋复杂,终端形式特别是移动终端的多样化,全球独立IP地址的提供已经开始面临沉重的压力。IPv4将不能满足因特网长期发展的需要,必须立即开始下一代IP网络协议的研究。由此,IETF于1992年成立了IPNG(IP Next Generation)工作组;1994年夏,IPNG工作组提出了下一代IP网络协议(IP version 6,IPv6)的推荐版本;1995年夏,IPNG工作组完成了IPv6的协议文本;1995—1999年完成了IETF要求的协议审定和测试;1999年成立了IPv6论坛,开始正式分配IPv6地址,IPv6的协议文本成为标准草案。
|
|
|
IPv6具有长达128位的地址空间,可以彻底解决IPv4地址不足的问题。由于IPv4地址是32位二进制,所能表示的IP地址个数为232=4 294 967 296≈40亿,因而在因特网上约有40亿个IP地址。由32位的IPv4升级至128位的IPv6,因特网中的IP地址从理论上讲会有2128≈3.4×1038个,如果整个地球表面(包括陆地和水面)都覆盖着计算机,那么IPv6允许每平方米有7×1023个IP地址,如果地址分配的速率是每秒分配100万个,则需要1019年的时间才能将所有地址分配完毕,可见,在想象得到的将来,IPv6的地址空间是不可能用完的。除此之外,IPv6还采用分级地址模式、高效IP包首部、服务质量、主机地址自动配置、认证和加密等许多技术。
|
|
|
|
IPv6数据包有一个40字节的基本首部(base header),其后可允许有0个或多个扩展首部(extension header),再后面是数据。下图所示的是IPv6基本首部的格式。每个IPv6数据包都是从基本首部开始。IPv6基本首部的很多字段可以和IPv4首部中的字段直接对应。
|
|
|
|
|
|
(1)版本号:该字段占4位,说明了IP协议的版本。对IPv6而言,该字段值是0110,也就是十进制数的6。
|
|
|
(2)通信类型:该字段占8位,其中优先级字段占4位,使源站能够指明数据包的流类型。首先,IPv6把流分成两大类,即可进行拥塞控制的和不可进行拥塞控制的。每一类又分为8个优先级。优先级的值越大,表明该分组越重要。对于可进行拥塞控制的业务,其优先级为0~7。当发生拥塞时,这类数据包的传输速率可以放慢。对于不可进行拥塞控制的业务,其优先级为8~15。这些都是实时性业务,如音频或视频业务的传输。这种业务的数据包发送速率是恒定的,即使丢掉了一些,也不进行重发。
|
|
|
(3)流标号:该字段占20位。所谓流,就是因特网上从一个特定源站到一个特定目的站(单播或多播)的一系列数据包。所有属于同一个流的数据包都具有同样的流标号。源站在建立流时是在224-1个流标号中随机选择一个流标号。流标号0保留作为指出没有采用流标号。源站随机地选择流标号并不会在计算机之间产生冲突,因为路由器在将一个特定的流与一个数据包相关联时,使用的是数据包的源地址和流标号的组合。
|
|
|
从一个源站发出的具有相同非0流标号的所有数据包,都必须具有相同的源地址和目的地址,以及相同的逐跳选项首部(若此首部存在)和路由选择首部(若此首部存在)。这样做的好处是当路由器处理数据包时,只要查一下流标号即可,而不必查看数据包首部中的其他内容。任何一个流标号都不具有特定的意义,源站应将它希望各路由器对其数据包进行的特殊处理写明在数据包的扩展首部中。
|
|
|
(4)净负荷长度(payload length):该字段占16位,指明除首部自身的长度外,IPv6数据包所载的字节数。可见,一个IPv6数据包可容纳64KB长的数据。由于IPv6的首部长度是固定的,因此没有必要像IPv4那样指明数据包的总长度(首部与数据部分之和)。
|
|
|
(5)下一个首部(next header):该字段占8位,标识紧接着IPv6首部的扩展首部的类型。这个字段指明在基本首部后面紧接着的一个首部的类型。
|
|
|
(6)跳数限制(hop limit):该字段占8位,用来防止数据包在网络中无限期地存在。源站在每个数据包发出时即设定某个跳数限制。每一个路由器在转发数据包时,要先将跳数限制字段中的值减1。当跳数限制的值为0时,就要将此数据包丢弃。这相当于IPv4首部中的生存期字段,但比IPv4中的计算时间间隔要简单些。
|
|
|
(7)源站IP地址:该字段占128位,是数据包的发送站的IP地址。
|
|
|
(8)目的站IP地址:该字段占128位,是数据包的接收站的IP地址。
|
|
|
|
一般来讲,一个IPv6数据包的目的地址可以是以下三种基本类型地址之一。
|
|
|
|
(2)多播(multicast):一点对多点的通信,数据包交付到一组计算机中的每一个。IPv6没有采用广播的术语,而是将广播看作多播的一个特例。
|
|
|
(3)任播(anycast):这是IPv6增加的一种类型。任播的目的站是一组计算机,但数据包在交付时只交付给其中的一个,通常是距离最近的一个。
|
|
|
为了使地址的表示简洁些,IPv6使用冒号十六进制记法(colon hexadecimal notation,colon hex),它把每个16位用相应的十六进制表示,各组之间用冒号分隔。
|
|
|
例如,686E:8C64:FFFF:FFFF:0:1180:96A:FFFF。
|
|
|
冒号十六进制记法允许0压缩(zero compression),也就是说,一连串连续的0可以用一对冒号所取代。
|
|
|
例如,FF05:0:0:0:0:0:0:B3可以改成FF05::B3。
|
|
|
为了保证0压缩有一个清晰的解释,建议中规定,在任一地址中,只能使用一次0压缩。该技术对已建议的分配策略特别有用,因为会有许多地址包含连续的0串。
|
|
|
另外,冒号十六进制记法可结合点分十进制记法的后缀。这种结合在IPv4向IPv6的转换阶段特别有用。例如,下面的串是一个合法的冒号十六进制记法。
|
|
|
|
请注意,在这种记法中,虽然为冒号所分隔的每个值是一个16位的量,但每个点分十进制部分的值则指明一个字节的值。再使用0压缩即可得出:
|
|
|
|