子网
掩码
(subnet
mask)又叫
网络掩码
、
地址掩码
、
子网络
遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网以及哪些位标识的是主机的位掩码。
子网掩码
不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成
网络地址
和
主机地址
两部分。子网掩码的设定必须遵循一定的规则。与IP地址相同,子网掩码由1和0组成,且1和0分别连续。子网掩码的长度也是32位,左边是网络位,用
二进制数字
“1”表示,1的数目等于网络位的长度;右边是主机位,用二进制数字“0”表示,0的数目等于主机位的长度。这样做的目的是为了让掩码与ip地址做AND运算时用0遮住原主机数,而不改变原网络段数字,而且很容易通过0的位数确定子网的主机数(2的主机位数次方-2,因为主机号全为1时表示该
网络广播
地址,全为0时表示该网络的
网络号
,这是两个特殊地址)。只有通过子网掩码,才能表明一台主机所在的子网与其他子网的关系,使网络正常工作。
子网掩码的术语是扩展的
网络前缀
码不是一个地址,但是可以确定一个
网络层地址
哪一部分是网络号,哪一部分是主机号,1
的部分代表网络号,掩码为
0的部分代表主机号。子网掩码的作用就是获取主机
IP的网络地址信息,用于区别主机通信不同情况,由此选择不同路由。根据子网掩码格式可以发现,子网掩码有:0.0.0.0;255.0.0.0;255.255.0.0;255.255.255.0;255.255.255.255五种,其中
A类地址
的默认子网掩码为
255.0.0.0;
B类地址
的默认子网掩码为
255.255.0.0;
C类地址
的默认子网掩码为:255.255.255.0。
子网掩码是一个32位地址,是与IP地址结合使用的一种技术。它的主要作用有两个,一是用于屏蔽IP地址的一部分以区别
网络标识
和主机标识,并说明该IP地址是在局域网上,还是在远程网上。二是用于将一个大的
IP网络
划分为若干小的子网络。
1、子网掩码的作用:子网掩码的作用就是判断两个需要通信的主机是否需要经过网络转发,如果两个要通信的主机在同一个子网内,就可以直接通信,如果两个需要通信的主机不在同一个子网内,则需要寻找路径进行通讯了。通俗的说,我自己的电话是021-55554444,我朋友的电话是010-666688888,我们两个人要通信,我先要看一下我们两个的电话是不是在同一个区间(相当于子网掩码中的子网),结果不在一个区间,我要打他的电话,肯定要加上区号了,也就是要通过转发了。
2、子网掩网的组成:子网掩码其实还是一个IP地址,ABC三类IP地址都有默认的子网掩码,请大家在使用的时候,不要随意更改。我们可以将255.255.255.0这个子网掩码换算成二进制的是这样的:11111111. 11111111. 11111111.00000000。在子网掩码中,网络位用1来表示,主机位用0来表示。只要网络位相同,那么两个子网间就可以通讯了,这就是判断两个需要通信的主机是否在一个子网中的依据。
3、子网掩码的高级应用--合理选择IP地址和子网掩码
IP地址属于哪一类,就决定了在这一个子网中,可以容纳的主机数量。通过修改子网掩网,可以改变一个子网中可容纳的机器数量,并优化自己网络的通讯性能更高。
一个网络中,使用哪一类的IP地址和子网掩码,表面上看来没有什么关系,实际上,如果子网掩码选择不当,可能会引起广播风暴,降低网络性能。我们以一个实例来分析一下:我们的机器IP地址为192.168.0.X网段的,我们没有用默认的子网掩码255.255.255.0,而是选择了255.255.0.0这个作为子网掩码。我们将子网掩码换算成二进制后是:
11111111.11111111.00000000.00000000,在进行网络通信的时候,由于主机位占用了16位,数据广播的范围会扩大,因此可能会产生大量的广播信息,降低网络的通讯性能。如何为自己的网络选择一个IP地址段和配套的子网掩码,提高我们的网络通讯性能,是我们关心的议题。因此,我们可以根据我们网络中的机器数量,打造属于自己网络的子网掩网。
在一般情况下,如果机器数量不超过250台,没有必要自己修改默认的子网掩码,在机器数量超过250台的时候,才有必要自己修改子网掩码。我们以450台的机器一个网络为例,说一下如何选择合适的IP地址和子网掩码。450台机器的网络,由于C类的IP地址只支持254台主机,肯定不可以了。我们只能选择B类的IP地址,如选择使用188.188.X.X,默认的子网掩码是255.255.0.0。我们通过公式主机数量=2n-2可以看出,在B类IP地址可以容纳的机器数量有65536台主机,有点太大了,我们是否可以修改一下呢?我们用公式计算一下450=2n-2,经过计算可以知道N的值最合适的值可以取9最合适了。我们将子网掩码换算为二进制:
11111111.11111111.00000000.00000000,子网掩码目前的主机位数是16,我们改成9后,子网掩码成为:11111111.11111111.11111110.00000000,换算成十进制后是:255.255.254.0。成功了。用在网络中测试一下,是否可能通讯,一切OK。
在自己计算子网掩码的时候,一定要正确理解,在子网掩码换算成为二进制后,主机位在哪里,网络位在哪里,才能正确理解。
网关曾经是很容易理解的概念。在早期的因特网中,术语网关即指路由器。路由器是网络中超越本地网络的标记,这个走向未知的“大门”曾经、现在仍然用于计算路由并把分组数据转发到源始网络之外的部分,因此,它被认为是通向因特网的大门。随着时间的推移,路由器不再神奇,公共的基于IP的广域网的出现和成熟促进了路由器的成长。现在路由功能也能由主机和交换集线器来行使,网关不再是神秘的概念。现在,路由器变成了多功能的网络设备,它能将局域网分割成若干网段、互连私有广域网中相关的局域网以及将各广域网互连而形成了因特网,这样路由器就失去了原有的网关概念。然而术语网关仍然沿用了下来,它不断地应用到多种不同的功能中,定义网关已经不再是件容易的事。
目前,主要有三种网关:
·协议网关WNx"N
·应用网关o:JWN
·安全网关E-c
唯一保留的通用意义是作为两个不同的域或系统间中介的网关,要克服的差异本质决定了需要的网关类型。
你一定对IP地址有所了解吧?我们知道在INTERNET中广泛使用的TCP/IP协议就是利用IP地址来区别不同的主机的。如果你曾经进行过TCP/IP协议设置,那么你一定会遇到子网掩码(Subnet mask)这一名词,那么你知道什么是子网掩码吗?它有什么作用呢?
我们知道IP地址是一个4字节(共32bit)的数字,被分为4段,每段8位,段与段之间用句点分隔。为了便于表达和识别,IP地址是以十进制形式表示的如210.52.207.2,每段所能表示的十进制数最大不超过255。IP地址由两部分组成,即网络号(Netgwork ID)和主机号(Host ID)。网络号标识的是Internet上的一个子网,而主机号标识的是子网中的某台主机。网际地址分解成两个域后,带来了一个重要的优点:IP数据包从网际上的一个网络到达另一个网络时,选择路径可以基于网络而不是主机。在大型的网际中,这一点优势特别明显,因为路由表中只存储网络信息而不是主机信息,这样可以大大简化路由表。IP地址根据网络号和主机号的数量而分为A、B、C三类:
A类IP地址:用7位(bit)来标识网络号,24位标识主机号,最前面一位为"0",即A类地址的第一段取值介于1~126之间。A类地址通常为大型网络而提供,全世界总共只有126个只可能的A类网络,每个A类网络最多可以连接16777214台主机。
B类IP地址:用14位来标识网络号,16位标识主机号,前面两位是"10"。B类地址的第一段取值介于128~191之间,第一段和第二段合在一起表示网络号。B类地址适用于中等规模的网络,全世界大约有16000个B类网络,每个B类网络最多可以连接65534台主机。
C类IP地址:用21位来标识网络号,8位标识主机号,前面三位是"110"。C类地址的第一段取值介于192~223之间,第一段、第二段、第三段合在一起表示网络号。最后一段标识网络上的主机号。C类地址适用于校园网等小型网络,每个C类网络最多可以有254台主机。
从上面的介绍我们知道,IP地址是以网络号和主机号来标示网络上的主机的,只有在一个网络号下的计算机之间才能"直接"互通,不同网络号的计算机要通过网关(Gateway)才能互通。但这样的划分在某些情况下显得并十分不灵活。为此IP网络还允许划分成更小的网络,称为子网(Subnet),这样就产生了子网掩码。子网掩码的作用就是用来判断任意两个IP地址是否属于同一子网络,这时只有在同一子网的计算机才能"直接"互通。那么怎样确定子网掩码呢?
前面讲到IP地址分网络号和主机号,要将一个网络划分为多个子网,因此网络号将要占用原来的主机位,如对于一个C类地址,它用21位来标识网络号,要将其划分为2个子网则需要占用1位原来的主机标识位。此时网络号位变为22位为主机标示变为7位。同理借用2个主机位则可以将一个C类网络划分为4个子网……那计算机是怎样才知道这一网络是否划分了子网呢?这就可以从子网掩码中看出。子网掩码和IP地址一样有32bit,确定子网掩码的方法是其与IP地址中标识网络号的所有对应位都用"1",而与主机号对应的位都是"0"。如分为2个子网的C类IP地址用22位来标识网络号,则其子网掩码为:11111111 11111111 11111111 10000000即255.255.255.128。于是我们可以知道,A类地址的缺省子网掩码为255.0.0.0,B类为255.255.0.0,C类为255.255.255.0。下表是C类地址子网划分及相关子网掩码:
子网位数 子网掩码 主机数 可用主机数
1 255.255.255.128 128 126
2 255.255.255.192 64 62
3 255.255.255.224 32 30
4 255.255.255.240 16 14
5 255.255.255.248 8 6
6 255.255.255.252 4 2
你可能注意到上表分了主机数和可用主机数两项,这是为什么呢?因为但当地址的所有主机位都为"0"时,这一地址为线路(或子网)地址,而当所有主机位都为"1"时为广播地址。
同时我们还可以使用可变长掩码(VLSM)就是指一个网络可以用不同的掩码进行配置。这样做的目的是为了使把一个网络划分成多个子网更加方便。在没有VLSM的情况下,一个网络只能使用一种子网掩码,这就限制了在给定的子网数目条件下主机的数目。例如你被分配了一个C类地址,网络号为192.168.10.0,而你现在需要将其划分为三个子网,其中一个子网有100台主机,其余的两个子网有50台主机。我们知道一个C类地址有254个可用地址,那么你如何选择子网掩码呢?从上表中我们发现,当我们在所有子网中都使用一个子网掩码时这一问题是无法解决的。此时VLSM就派上了用场,我们可以在100个主机的子网使用255.255.255.128这一掩码,它可以使用192.168.10.0到192.168.10.127这128个IP地址,其中可用主机号为126个。我们再把剩下的192.168.10.128到192.168.10.255这128个IP地址分成两个子网,子网掩码为255.255.255.192。其中一个子网的地址从192.168.10.128到192.168.10.191,另一子网的地址从192.168.10.192到192.168.10.255。子网掩码为255.255.255.192每个子网的可用主机地址都为62个,这样就达到了要求。可以看出合理使用子网掩码,可以使IP地址更加便于管理和控制。