经常上网的人对于TCP/IP(Transmission Control Protocol/Internet Protocol)应该并不陌生,TCP/IP协议是实现网络连接性和互操作性的关键,就像胶水一样把成千上万Internet上的各种网络互相连接起来。在OSI七层模型中的网络层含有四个协议:IP,ICMP,ARP和RARP,但其最主要的工作都是由互联网络协议(Internet Protocol简称IP)来提供的,例如:端到端的分组分发功能;用来标识网络及主机节点号的功能等。
IP还有一个重要的作用就是把多个网络连成一个互联网,它可以把高层的数据以多个报文的形式通过互联网分发出去。而网络和子网的区别仅在于对IP地址的解释,前者将32位网络地址分为网络部分和主机部分,后者则把地址分为一个网络部分和一个本地部分。在网络中,地址是网络位置的唯一标识,就像
我们收发信件一样,互联网的每一台主机都分配有唯一的Internet地址(也称为IP地址),它能确定Internet上每台计算机、每个用户的位置,并且与这台主机进行的所有通信都必须使用这个地址。
在TCP/IP协议中,分配给每个主机一个32位数作为该主机的IP地址,从概念上讲,每个网络地址都可以由两部分(NetID,HostID)组成,也就是网络标识和主机标识。但是在实际中,IP地址空间分为三种基本类型:A——在少数网络中有众多主机(分配给少数规模很大的网络,地址的头8位为0—127);B——网络和主机分布适中(分配给中等规模的网络,地址的头8位为128—191);C——很多网络上有少量主机(分配给小规模的网络,地址的头8位为192—223)。不难算出地址的极限吧?^_^J
种类 起始地址 终止地址
A 1.0.0.1 126.255.255.254
B 128.0.0.1 191.255.255.254
C 192.0.0.1 223.255.255.254
|
(注:IP地址中的数字必须在0—255之间;IP地址中的首位两个数字不能为0或255.)
近年来,随着Internet用户数的急剧增加,可分配的IP地址空间也随之减少,特别是B类地址空间大部分已分配给用户,C类地址还有足够的空间可分配,有权威数据显示,从1995年开始,全球的IP地址正以平均每年6000万~8000万的速度被消耗。互联网发展到今天,IPv4(即原有的第4版Internet协议,1970年发布的32位IP地址空间)提供的40亿个地址已用去了一半。目前全球上网的人数已经超过4亿,到2005年将达到10亿,2010年达到30亿;而目前4.8亿移动电话用户到2003年将猛增到10亿;有网络专家预测,2005年全球地址将全部用光。但是在地址资源充沛的北美网络运营商看来,IPv6显得无关紧要,毕竟单单美国一个麻省理工大学就能够拥有和中国一样多的IP地址;但对于饱受地址分配不公之苦的亚太和欧洲地区、以及需要掌握大量地址资源以推动移动信息社会到来的移动通信厂商来说,IPv6的意义可想而知。
新版的IP已正式命名为IPv6,他保持了IPv4许多成功的特点。IPv6仍支持无连接传送;允许发送方选择数据报的大小;要求发送方指明数据报在到达目的站点前的最大跳数,还保留了IPv4中的分段和原路由选择。但IPv6毕竟是新版的协议,肯定有它自己独特的地方。IPv6的新特征主要有以下五大类:
(1)更大的地址空间。这是IPv6最显著的变化。IPv6将原来的32位地址空间增大到128位。
(2)灵活的报头格式。
(3)支持资源分配。
(4)增强了控制信息选项。
(5)支持协议扩展。
在IPv6中,每个地址占16个八位组,是IPv4地址长度的四倍。如此大的地址空间足以使IPv6能适应各种地址分配策略。但这么大的地址空间,人们如何阅读、输入、识别和管理它呢?显然,二进制表示是不可取的,IPv4使用的“点分十进制表示法”(dotted decimal notation)也无法简洁的表示这些地址,所以IPv6的设计者建议使用“冒号十六进制表示法”。即把每个16位的值用十六进制表示,并用冒号将其分离。例如:用点分十进制表示的128位数为:
140.100.255. 255.104.230.150.10. 0.0.255.255.17.128.255.255 |
可用冒号十六进制表示为:
8C64:FFFF:68E6:96A:0:FFFF:1180:FFFF |
显然,冒号十六进制表示法与点分十进制表示法相比,只需要很少的数字和更少的分隔符,具有明显的优势。
像IPv4一样,IPv6将一个地址与一个特定的网络连接相关联,而不是与一个特定的计算机相关联。地址的分配以类似于IPv4,对一个物理网分配一个地址前缀,即网络地址,而且为了使地址分配和修改更方便,IPv6允许对给定的网络分派多个前缀,也允许对某主机的给定接口同时分派多个地址。
IPv6有三种基本的地址类型,即单播(unicast)地址、群集(cluster)地址和组播(multicast)地址。单播地址即目的地指明一台计算机或路由器,数据报选择一条最短的路径到达目的站点。群集地址即目的地是共享一个网络地址的计算机的集合,数据报选择一条最短的路径到达后再传递给该组最近的一个成员。组播地址即目的站点是一组计算机,它们可以在不同的地方,数据报通过硬件组播或广播传递给该组的每一成员。
怎样管理地址分派以及如何将地址映射到一条路由是地址空间分派的两个主要问题。首先要涉及地址管理体系。目前的Internet使用两极地址管理体系,网络地址由InterNIC (http://www.internic.net)统一管理和分配。但IPv6有些不同,允许用多级体系或多个体系等级来管理地址分派。其次要涉及计算的效率。它是独立于分派地址的管理体系。路由器必须检查每个数据报,并选择通往目的站的路径。为了使高速路由器的开销更小,选择路由的处理时间也一定要小。
最后,为了解决IPv6与IPv4这两种不同版本的互操作问题,必须使用转换器。IPv6计算机生成一个含有IPv4的目的地址,但它使用IPv6编码的数据报。IPv6计算机将数据报发送给转换器,转换器使用IPv4与目的站点通信,当它从目的站点收到回答后,将IPv4数据报转换为IPv6数据报,并发回给IPv6源站