探究IP子网划分的原理

2012-04-29 00:44王晶晶,周波
中国管理信息化 2012年10期

王晶晶,周波

[摘要] Internet最基本的网络协议就是TCP/IP。我们可以通过IP去寻找任何一台主机,因为IP地址给因特网中的每一台电脑规定了一个地址,同时它将不同大小的网络和不同类型的系统连接在一起,但是由于网络数量的庞大,增加的IP寻址的难度,我们不得不将大型的网络进行子网划分,划分为若干的小型网络,同时我们还可以利用可变子网掩码来进一步精细地调整每个子网。

[关键词]IP寻址; 子网划分; 可变子网掩码(VLSM)

doi : 10 . 3969 / j . issn . 1673 - 0194 . 2012 . 10. 039

[中图分类号]F272.7[文献标识码]A[文章编号]1673 - 0194(2012)10- 0070- 02

1引言

IP地址的到来为我们描绘了一个广阔的景象,但同时也给我们带来了一系列的问题:首先我们如何解决某网络上的主机与另一个不同网络上的主机进行通信,其次如果全球每人均有电脑且都分配一个至多个IP地址,那么我们该如何解决IP地址的数量问题。

2IP寻址解决主机间通信问题

主机与主机之间通信,每个数据包都被指定了发送者和接收者的IP地址,每个接收了数据包的路由器都是基于数据包的目的IP地址来决定路由的。

发送者的IP地址我们一般称为源IP,而接收者的IP地址一般称为目的IP,我们可以通过源和目的确定通信的路径。对应于整个互联网而言,IP地址数量惊人,如何去寻找232个IP地址中的源和目的是需要解决的问题。

2.1IP地址中的网络地址和广播地址

2.1.1网络地址

IP中网络地址是将数据包发送到远程网络的路由中使用的名称。我们来看一个通俗的例子,张三是南京人,那么张三的所属就南京,南京就是张三的网络地址,因为南京有很多人,而张三只是其中一员,这一员我们称为主机。这样我们就可以确定一个公式:

2.1.2广播地址

被应用程序和主机用来将信息发送给网络上所有结点的地址。在IP地址里面,我们认为255.255.255.255用于指向所有网络,所有的节点,眼下之意也就是172.16.255.255是指向172.16.0.0上的所有子网和主机的,而10.255.255.255是指向网络10.0.0.0上所有的子网和主机的,192.168.1.255是指向网络192.168.1.0上所有的子网和主机的。

2.2分层的IP寻址方案

如何解决IP地址因数量庞大而导致IP寻址困难这个难题,方法就是使用两级或者三级的分层化寻址方案。

因特网的设计者决定根据网络的大小来创建网络的类别。这些类别分为A类网络、B类网络、C类网络、D类网络和E类网络,如表1所示,其中D类网络我们又称为组播,E类网络适用于研究,也就是说,我们真正可以接触的网络有A、B和C三类。

我们发现在表1中,有一些地址我们并没有真正地使用到,这些地址,我们都称之为私有IP地址,表2展示了所有可用的私有IP地址范围。私有地址的出现,是为了节省宝贵的IP地址空间,为了满足广泛需要的安全目的,我们要注意这些私有IP地址允许被私有的网络所使用,但是绝对不可以通过因特网。

3子网划分进一步对网络进行分层

我们已经将网络划分成A、B和C类3类,但是我们只是定义了网络。如果你想拥有一个网络地址,并从中创建6个网络的话,应该做以下处理。

3.1子网划分基础

3.1.1固定的子网掩码

子网掩码是一个32位的二进制值,接收IP数据包的一方可以从IP地址的主机号部分中区分出子网IP号地址。二进制子网掩码中的1表示精确匹配网络位或者是子网位。

在A类、B类和C类地址中,默认的子网是不可以改变的,表3阐述了有类网络中各种地址默认的子网掩码的格式和范围。

3.1.2可变子网掩码

VLSM是为了有效地使用CIDR和路由汇总来控制路由表的大小,对子网进行层次化编址,以便最有效地利用现有的地址空间。

当从ISP那里得到一个成块的地址,如193.168.10.32/28,我们可以把它看到两个部分,第一部分就是193.168.10.32,第二部分就是28。显然,通过第一部分,发现它属于有类网络中的C类IP地址,而第二部分就是子网掩码,28表示32位二进制中有28个1,有4个0,即转化为十进制就是255.255.255.240。

3.2进行子网划分

3.2.1子网划分的原则

(1) 这个被选用的子网掩码会产生的子网数是

2x = 子网数目。我们首先通过子网掩码来初步判断是属于哪一类的IP地址,根据不同的类别,判断出不同的网络位数。

(2) 每个子网中又会有多少个合法的主机号可用

2y - 2 = 每个子网中主机的数目。y是非掩码位的位数,即子网掩码二进制位中0的个数,同样我们在判断子网掩码的位数的时候,也要首先初步判断该IP地址是属于哪一类别。

(3) 这些合法的子网号

256 - 子网掩码 = 块大小,即增量值。我们通过增量值,可以知道下一个网段是从哪里开始的。

(4) 每个子网的广播地址

每个子网都是有网络地址和广播地址所分割的。

(5) 在每个子网中,哪些是合法的主机号

合法主机地址是那些介于子网的网络地址和广播地址之间的IP地址,但是同时也要注意的是,在VLSM子网划分中,并非全0就是网络地址,全1就是广播地址。

3.2.2C类地址的子网划分

C类地址的网络位一共有3个字节24位,那么我们的CIDR值也就必须从/24~/32开始取数。其中/24也就是传统意义上的C类地址。

假设从ISP那边获得了一个C类的IP地址:193.168.10.0/25。由于/25对应的二进制子网掩码是11111111 11111111 11111111 10000000,十进制表示为255.255.255.128。我们将对C类网络地址193.168.10.0进行子网划分。

193.168.10.0= 网络地址

255.255.255.128= 子网掩码

我们通过子网划分的五大原则,有如下分析步骤:

(1) 有多少个子网

由上述获得的C类IP地址,已经得知/25对应的子网掩码的二进制和十进制表示,那么11111111 11111111 11111111 10000000中第四部分首位二进制位为1,因此子网的数量为21 = 2个子网。

(2) 每个子网中有多少台主机

这里面第四部分中有7个0表示主机位,因此我们通过计算可以得到27 - 2 = 126,也就是说我们现在的所拥有的主机数量为126台。

(3) 我们有多少个合法的子网

合法的子网其实计算相当的简单,也就是256 - 128 = 128。这里面是从0开始计算的,因此我们所得到的块地址大小为128,可以得到两块,也就是合法的子网为0、128。

(4) 每个子网的广播地址是什么

还记得我们在讨论IP地址中广播地址的时候,假设了一个结论,就是对于一个真实的IP地址,只要所有以255结尾的IP地址都是该网络地址的广播地址。

(5) 哪些是合法的主机号

合法的主机号就是介于子网的网络地址和广播地址之间的地址。找出这些合法主机地址的最简单的方法,就是写出该子网地址和广播地址。如表4所示。

两个不同的子网之间的通信必须通过路由器去完成,下面罗列一下该IP子网划分的逻辑拓扑图1。

4总结

我们通过上述的分析和实例可知,子网的划分其实分成两大类:固定子网掩码和可变子网掩码。子网的划分缩减了主机的数量,同时通过汇总,把原先数量庞大或者是杂乱无章的网段,通过相同的网络块,再一次把网络汇聚在一起,最后投入到因特网中进行使用。我们正是通过分久必合和合久必分的思想,来提高整个网络的IP寻址的效率。

主要参考文献

[1] [美]Jeff Doyle. TCP/IP路由技术[M]. Volume I. 北京:人民邮电出版社,1998.

[2] [美]Jeff Doyle. TCP/IP路由技术[M]. Volume II. 北京:人民邮电出版社,2002.

[3] Todd Lammle. Cisco Certified Network Associate Study Guide[M]. 北京:电子工业出版社,2009.

[4] David Hucaby. CCIE#4594. CCNP Switch Study Guide[M]. 北京:人民邮电出版社,1998.

[5] Wendell Odom. CCIE#1624. CCNP Route Study Guide[M]. 北京:人民邮电出版社,1998.

[6] 汪双顶,韩立凡. 中小型网络构建与管理[M]. 北京:高等教育出版社,2007.