在TCP/IP体系中,IP地址是一个最基本的概念,一定要把它弄清楚。有关IP最重要的文档就是互联网的正式标准RFC791。
1.IP地址及其表示方法
整个互联网就是一个单一的、抽象的网络。IP地址就是给互联网上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内唯一的32位的标识符。IP地址的结构使人们可以在互联网上很方便地进行寻址。IP地址现在由互联网名字和数字分配机构(Internet Corporation for Assigned Names and Numbers,ICANN)进行分配。
IP地址的编址方法共经过了3个历史阶段:
(1)分类的IP地址:这是最基本的编址方法,1981年就通过了相应的标准协议。
(2)子网的划分:这是对最基本的编址方法的改进,其标准RFC950在1985年通过。
(3)构成超网:这是比较新的无分类编址方法,在1993年提出后,很快就得到推广应用。
所谓“分类的IP地址”,就是将IP地址划分为若干个固定类,每类地址都由两个固定长度的字段组成。其中,第一个字段是网络号(net-id),它标志着主机(或路由器)所连接到的网络。一个网络号在整个互联网范围内必须是唯一的。第二个字段是主机号(host-id),它是该主机(或路由器)区别于其他计算机的标志。一台主机号在它前面的网络号所指明的网络范围内必须是唯一的。由此可见,一个IP地址在整个互联网范围内是唯一的。
这种两级的IP地址可以记为
式中,符号“::=”表示“定义为”。
图4-8给出了各种IP地址的网络号字段和主机号字段,这里A类、B类和C类地址都是单播地址(一对一通信),是最常用的。从图4-8可以看出:
(1)A类、B类和C类地址的网络号字段(在图中这个字段是灰色的)分别为1个、2个和3个字节长,而在网络号字段的最前面有1~3位的类别位,其数值分别规定为0、10和110。
(2)A类、B类和C类地址的主机号字段分别为3个、2个和1个字节长。
(3)D类地址(前4位是1110,用于多点播送)。
图4-8 IP地址中的网络号字段和主机号字段
(4)E类地址(前4位是1111),保留为以后用。
这里要指出,由于近年来已经广泛使用无分类IP地址进行路由选择,A类、B类和C类地址的区分已成为历史[RFC 1812],但由于很多文献和资料都还使用传统的分类的IP地址,而且从概念的演进上更清晰,因此这里还要从分类的IP地址讲起。
从IP地址的结构来看,IP地址并不仅仅指明一台主机,而且还指明了主机所连接到的网络。把IP地址划分为A类、B类、C类3个类别,当初是这样考虑的。各种网络的差异很大,有的网络拥有很多主机,而有的网络上的主机则很少。把IP地址划分为A类、B类和C类是为了更好地满足不同用户的要求。当某个单位申请到一个IP地址时,实际上是获得了具有同样网络号的一块地址。其中具体的各台主机号则由该单位自行分配,只要做到在该单位管辖的范围内无重复的主机号即可。
对主机或路由器来说,IP地址都是32位的二进制代码。为了提高可读性,人们常常把32位的IP地址中的每8位插入一个空格(但在机器中并没有这样的空格)。为了便于书写,可用其等效的十进制数字表示,并且在这些数字之间加上一个点。这就叫作点分十进制记法(Dotted Decimal Notation)。图4-9所示是一个B类IP地址的表示方法。显然,202.97.224.68比10000000 00001011 00000011 00011111书写起来要方便得多。(www.xing528.com)
图4-9 采用点分十进制记法能够提高可读性
2.常用的3种类别的IP地址
A类地址的网络号字段占1个字节,只有7位可供使用(该字段的第一位已固定为0),但可指派的网络号是126个(即27-2)。减2的原因是:第一,IP地址中的全0表示“这个”(this)。网络号字段为全0的IP地址是个保留地址,意思是“本网络”。第二,网络号为127(即01111111),用于本地软件环回测试(Loopback Test)本主机的进程之间的通信。若主机发送一个目的地址为环回地址(如127.00.1)的IP数据报,则本主机中的协议软件就处理数据报中的数据,而不会把数据报发送到任何网络。目的地址为环回地址的IP数据报永远不会出现在任何网络上,因为网络号为127的地址根本不是一个网络地址。A类地址的主机号占3个字节,因此每一个A类网络中的最大主机数是224-2,即16 777 214。这里减2的原因是:全0的主机号字段表示该IP地址是“本主机”所连接到的单个网络地址(例如,一主机的IP地址为2.3.4.5,则该主机所在的网络地址就是2.0.0.0),而全1表示“所有的”(all),因此全1的主机号字段表示该网络上的所有主机。IP地址空间共有232(即4 294 967 296)个地址。整个A类地址空间共有231个地址,占整个IP地址空间的50%。
B类地址的网络号字段有2个字节,但前面两位(10)已经固定了,只剩下14位可以进行分配。因为网络号字段后面的14位无论怎样取值也不可能出现使整个2字节的网络号字段成为全0或全1,因此这里不存在网络总数减2的问题。但实际上,B类网络地址128.0.0.0是不指派的,而可以指派的B类最小网络地址是128.1.0.0,因此B类地址可指派的网络数为214-1,即16 383。B类地址的每一个网络上的最大主机数是216-2,即65 534。这里需要减2是因为要扣除全0和全1的主机号。整个B类地址空间共约有230个地址,占整个IP地址空间的25%。
C类地址有3个字节的网络号字段,最前面的3位是(110),还有21位可以进行分配。C类网络地址192.0.0.0也是不指派的,可以指派的C类最小网络地址是192.0.1.0[COME06],因此C类地址可指派的网络总数是221-1,即2 097 151。每个C类地址的最大主机数是28-2,即254。整个C类地址空间共约有229个地址,占整个IP地址的12.5%。这样就可得出表4-2所示的IP地址的指派范围。表4-3给出了一般不使用的特殊IP地址,其只能在特定的情况下使用。
表4-2 IP地址的指派范围
表4-3 一般不使用的特殊IP地址
IP地址具有以下一些重要特点:
(1)每一个IP地址都由网络号和主机号两部分组成。从这个意义上说,IP地址是一种分等级的地址结构。分两个等级的好处是:第一,IP地址管理机构在分配IP地址时只分配网络号(第一级),而剩下的主机号(第二级)则由得到该网络号的单位自行分配。这样就方便了IP地址的管理。第二,路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样就可以使路由表中的项目数大幅度减少,从而缩短了路由表所占的存储空间以及查找路由表的时间。
(2)实际上IP地址是标志一台主机(或路由器)和一条链路的接口。当一台主机同时连接两个网络号时,该主机就必须同时具有两个相应的IP地址,其网络号必须是不同的。这种主机称为多归属主机(Multihomed Host)。由于一个路由器至少应当连接到两个网络,因此一个路由器至少应当有两个不同的IP地址。正如一个建筑正好处在学海街和中原路的交叉口上,那么这个建筑就可以拥有两个门牌号码,如学海街1239号和中原路38号。
(3)按照互联网的观点,一个网络是指具有相同网络号net-id的主机的集合,因此,用转发器或网桥连接起来的若干个局域网仍为一个网络,因为这些局域网都具有同样的网络号。具有不同网络号的局域网必须使用路由器进行互连。
(4)在IP地址中,所有分配到网络号的网络(不管是范围很小的局域网,还是可能覆盖很大地理范围的广域网)都是平等的。所谓平等,是指互联网同等对待每一个IP地址。
图4-10画出了3个局域网(LAN1、LAN2和LAN3)通过3个路由器(R1、R2和R3)互连起来所构成的一个互联网(此互联网用虚线圆角方框表示)。其中局域网LAN2是由两个网段通过网桥B互连的。
图4-10 互联网中的IP地址
应当注意,在同一个局域网上的主机或路由器的IP地址中的网络号必须是一样的。图中所示的网络号就是IP地址中的网络号字段的值,这也是文献中常见的一种表示方法。另一种表示方法是用主机号为全0的网络IP地址。用网桥(它只在链路层工作)互连的网段仍然是一个局域网,只能有一个网络号。路由器总是具有两个或两个以上的IP地址,即路由器的每一个接口都有一个不同网络号的IP地址。当两个路由器直接相连时(例如通过一条租用线路),在连线两端的接口处,可以分配也可以不分配IP地址。如分配了IP地址,则这一段连线就构成了一种只包含段线路的特殊“网络”(如图中的N1、N2和N3)。之所以叫作“网络”,是因为它有IP地址。但为了节省IP地址资源,对于这种仅由一段连线构成的特殊“网络”,现在也常常不分配IP地址。通常把这样的特殊网络叫作无编号网络(Unnumbered Network)或无名网络(Anonymous Network)。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。