如何通过子网掩码划分网段

资料一:

一、缺省A、B、C类地址,子网掩码; 
二、子网掩码的作用: 
code: 
IP地址 192.20.15.5 11000000 00010100 00001111 00000101 
子网掩码 255.255.0.0 11111111 11111111 00000000 00000000 
网络ID 192.20.0.0 11000000 00010100 00000000 00000000 
主机ID 0.0.15.5 00000000 00000000 00001111 00000101 
计算该子网中的主机数:2^n-2=2^16-2=65534 
其中:n为主机ID占用的位数2: 192.20.0.0(表示本网络), 192.20.255.255 (表示子网广播); 
该子网所容纳主机的IP地址范围:192.20.0.1~192.20.255.254 
三、实现子网 
1.划分子网的理由: 
① 远程LAN互连; 
②连接混合的网络技术; 
③增加网段中的主机数量; 
④减少网络广播。 
2.子网的实现需要考虑以下因素: 
①确定所需的网络ID数,确信为将来的发展留有余地; 
谁需要占用单独的网络ID? 
▲每个子网; 
▲每个WAN连接; 
②确定每个子网中最大的计算机数目,也要考虑未来的发展; 
谁需要占用单独的主机ID? 
▲每个TCP/IP计算机网卡; 
▲每个TCP/IP打印机网卡; 
▲每个子网上的路由接口; 
③考虑增长计划的必要性: 
假设您在InterNIC申请到一个网络ID:192.20.16.0 但你有两个远程LAN需要互连,而且每个远程LAN各有60台主机。 
若不划分子网,您就只能使用一个网络ID:192.20.16.0,使用缺省子网掩码:255.255.255.0,而且在这个子网中可以容纳的主机ID的范围: 192.20.16.1~192.20.16.254,即可以有254台主机。 
现在若根据需要划分为两个子网,即借用主机ID中的两位用作网络ID,则子网掩码就应变为:255.255.255.192(11000000)目的是将借用的用作网络I D的位掩去。看一看划分出来的子网的情况: 
▲192.20.16.65~126 
192.20.16.01000001~01111110 
本网段(01 网段)主机数:2n-2=26-2=62或126-65+1=62 
▲192.20.16.129~190 
192.20.16.10000001~10111110 
本网段(10 网段)主机数:2n-2=26-2=62或190-129+1=62 
▲子网号00全0表示本网络,子网号11全1是子网屏蔽,均不可用。
提示:在早期的子网划分标准RFC950中,不能使用全0或全1做为二进制子网标识(在子网划分公式2n-2中的-2处理)。在RFC1812中,这个限制已被取消。下面内容摘自于RFC1812。
“以前版本的文档认为,子网号不能为0或-1,并且至少要有两位长。在一个CIDR领域,子网号就是网络前缀的一种延伸。如果没有前缀,那么子网号也就不存在了。从CIDR观点来看,这种对子网号的限制是没有意义的,可以安全地忽略。” 
这个方案可以满足目前需求,但以后如果需要加入新的网段则必须重新划分更多的子网(即借用更多的主机ID位用作网络ID),或如果以后需要每个子网中的主机数更多则必须借用网络I D位来保证更多的主机数。 
四、定义子网号的方法 
若InterNIC分配给您的B类网络ID为129.20.0.0,那么在使用缺省的子网掩码255.255.0.0的情况下,您将只有一个网络ID和216-2台主机(范围是:129.20.0.1~129.20.255.254)。现在您有划分4个子网的需求。 
1.手工计算法: 
①将所需的子网数转换为二进制 
4→00000100 
②以二进制表示子网数所需的位数即为向缺省子网掩码中加入的位数(既应向主机ID借用的位数) 
00000100→3位 
③决定子网掩码 
缺省的:255.255.0.0 
借用主机ID的3位以后:255.255.224(11100000).0,即将所借的位全表示为1,用作子网掩码。 
④决定可用的网络ID 
列出附加位引起的所有二进制组合,去掉全0和全1的组合情况 
code: 
  组合情况     实际得到的子网ID 
   000╳ 
001→32 (00100000 ) 129.20.32.0 
010→64 (01000000 ) 129.20.64.0

你一定对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地址更加便于管理和控制。

参考资料:http://www.popsoft.com.cn/learn/net/sm.htm

资料二:IP地址与网络分类

(1)IP地址

不同的物理网络技术有不同的编址方式;不同物理网络中的主机,有不同的物理网络地址。网间网技术是将不同物理网络技术统一起来的高层软件技术。网间网技术采用一种全局通用的地址格式,为全网的每一网络和每一主机都分配一个网间网地址,以此屏蔽物理网络地址的差异。IP协议提供一种全网间网通用的地址格式,并在统一管理下进行地址分配,保证一个地址对应一台网间网主机(包括网关),这样物理地址的差异被IP层所屏蔽。IP层所用到的地址叫做网间网地址,又叫IP地址。它由网络号和主机号两部分组成,统一网络内的所有主机使用相同的网络号,主机号是唯一的。IP地址是一个32为的二进制数,分成4个字段,每个字段8位。

(2)三类主要的网络地址
  我们知道,从LAN到WAN,不同种类网络规模相差很大,必须区别对待。因此按网络规模大小,将网络地址分为主要的三类,如下:
  A类:
  0 1 2 3 8 16 24
  3 1 0网络号主机号
B类:
  1 0网络号主机号
  C类:
  1 1 0网络号主机号
  A类地址用于少量的(最多27个)主机数大于216的大型网,每个A类网络可容纳最多224台主机;B类地址用于主机数介于28~216之间数量不多不少的中型网,B类网络最多214个;C类地址用于每个网络只能容纳28台主机的大量小型网,C类网络最多221个。
  除了以上A、B、C三个主类地址外,还有另外两类地址,如下:
  D类:
  1 1 1 0多目地址
  E类:
  1 1 1 1 0留待后用
  其中多目地址(multicast address)是比广播地址稍弱的多点传送地址,用于支持多目传输技术。E类地址用于将来的扩展之用。
  
(3)TCP/IP规定网络地址
  除了一般地标识一台主机外,还有几种具有特殊意义的特殊形式。
  *广播地址
  TCP/IP规定,主机号全为“1”的网络地址用于广播之用,叫做广播地址。所谓广播,指同时向网上所有主机发送报文。
  *有限广播
  前面提到的广播地址包含一个有效的网络号和主机号,技术上称为直接广播(directed boradcasting)地址。在网间网上的任何一点均可向其他任何网络进行直接广播,但直接广播有一个缺点,就是要知道信宿网络的网络号。
  有时需要在本网络内部广播,但又不知道本网络网络号。TCP/IP规定,32比特全为“1”的网间网地址用于本网广播,该地址叫做有限广播地址(limited broadcast address)。
  *“0”地址
  TCP/IP协议规定,各位全为“0”的网络号被解释成“本”网络。
  *回送地址
  A类网络地址127是一个保留地址,用于网络软件测试以及本地机进程间通信,叫做回送地址(loopback address)。无论什么程序,一旦使用回送地址发送数据,协议软件立即返回之,不进行任何网络传输。
  TCP/IP协议规定,一、含网络号127的分组不能出现在任何网络上;二、主机和网关不能为该地址广播任何寻径信息。由以上规定可以看出,主机号全“0”全“1”的地址在TCP/IP协议中有特殊含义,不能用作一台主机的有效地址。

二、子网掩码

  (1)子网TCP/IP网间网技术产生于大型主流机环境中,它能发展到今天的规模是当初的设计者们始料未及的。网间网规模的迅速扩展对IP地址模式的威胁并不是它不能保证主机地址的唯一性,而是会带来两方面的负担:第一,巨大的网络地址管理开销;第二,网关寻径急剧膨胀。其中第二点尤为突出,寻径表的膨胀不仅会降低网关寻径效率(甚至可能使寻径表溢出,从而造成寻径故障),更重要的是将增加内外部路径刷新时的开销,从而加重网络负担。
  因此,迫切需要寻求新的技术,以应付网间网规模增长带来的问题。仔细分析发现,网间网规模的增长在内部主要表现为网络地址的增减,因此解决问题的思路集中在:如何减少网络地址。于是IP网络地址的多重复用技术应运而生。
  通过复用技术,使若干物理网络共享同一IP网络地址,无疑将减少网络地址数。
  子网编址(subnet addressing)技术,又叫子网寻径(subnetrouting),英文简称subnetting,是最广泛使用的IP网络地址复用方式,目前已经标准化,并成为IP地址模式的一部分。
  一般的,32位的IP地址分为两部分,即网络号和主机号,我们分别把他们叫做IP地址的“网间网部分”和“本地部分”。子网编址技术将本地部分进一步划分为“物理网络”部分和“主机”部分,如图:
  网间网部分物理网络主机
  |←网间网部分→|←────本地部分─────→|
  其中“物理网络”用于标识同一IP网络地址下的不同物理网络,既是“子网”。

  (2)子网掩码IP协议标准规定:每一个使用子网的网点都选择一个32位的位模式,若位模式中的某位置1,则对应IP地址中的某位为网络地址(包括网间网部分和物理网络号)中的一位;若位模式中的某位置0,则对应IP地址中的某位为主机地址中的一位。例如位模式:
  11111111 11111111 11111111 00000000中,前三个字节全1,代表对应IP地址中最高的三个字节为网络地址;后一个字节全0,代表对应IP地址中最后的一个字节为主机地址。这种位模式叫做子网模(subnet mask)或“子网掩码”。
  为了使用的方便,常常使用“点分整数表示法”来表示一个IP地址和子网掩码,例如B类地址子网掩码(11111111 11111111 11111111 00000000)为:
  255.255.25.0 IP协议关于子网掩码的定义提供一种有趣的灵活性,允许子网掩码中的“0”和“1”位不连续。但是,这样的子网掩码给分配主机地址和理解寻径表都带来一定困难,并且,极少的路由器支持在子网中使用低序或无序的位,因此在实际应用中通常各网点采用连续方式的子网掩码。像255.255.255.64和255.255.255.160等一类的子网掩码不推荐使用。
  (3)子网掩码与IP地址子网掩码与IP地址结合使用,可以区分出一个网络地址的网络号和主机号。
  例如:有一个C类地址为:
  192.9.200.13其缺省的子网掩码为:
  255.255.255.0则它的网络号和主机号可按如下方法得到:
①将IP地址192.9.200.13转换为二进制11000000 00001001 11001000 00001101
②将子网掩码255.255.255.0转换为二进制11111111 11111111 11111111 00000000
③将两个二进制数逻辑与(AND)运算后得出的结果即为网络部分11000000 00001001 11001000 00001101 AND 11111111 11111111 11111111 00000000 11000000 00001001 11001000 00000000结果为192.9.200.0,即网络号为192.9.200.0。
④将子网掩码取反再与IP地址逻辑与(AND)后得到的结果即为主机部分11000000 00001001 11001000 00001101 AND 00000000 00000000 00000000 11111111 00000000 00000000 00000000 00001101结果为0.0.0.13,即主机号为13。  
  (4)子网掩码与IP地址子网掩码与IP地址结合使用,可以区分出一个网络地址的网络号和主机号。
  例如:有一个C类地址为:
  192.9.200.13 其缺省的子网掩码为:
  255.255.255.0 则它的网络号和主机号可按如下方法得到:
①将IP地址192.9.200.13转换为二进制11000000 00001001 11001000 00001101
②将子网掩码255.255.255.0转换为二进制11111111 11111111 11111111 00000000
③将两个二进制数逻辑与(AND)运算后得出的结果即为网络部分11000000 00001001 11001000 00001101 AND 11111111 11111111 11111111 00000000 11000000 00001001 11001000 00000000结果为192.9.200.0,
即网络号为192.9.200.0。
④将子网掩码取反再与IP地址逻辑与(AND)后得到的结果即为主机部分11000000 00001001 11001000 00001101 AND 00000000 00000000 00000000 11111111 00000000 00000000 00000000 00001101 结果为0.0.0.13,即主机号为13。
  三、子网划分与实例根据以上分析,建议按以下步骤和实例定义子网掩码。
  1、将要划分的子网数目转换为2的m次方。如要分8个子网,8=23。
  2、取上述要划分子网数的2的m次方的幂。如23,即m=3。
  3、将上一步确定的幂m按高序占用主机地址m位后转换为十进制。如m为3 则是11100000,转换为十进制为224,即为最终确定的子网掩码。如果是C类网,则子网掩码为255.255.255.224;如果是B类网,则子网掩码为255.255.224.0;如果是C类网,则子网掩码为255.224.0.0。
  在这里,子网个数与占用主机地址位数有如下等式成立:2m=n。其中,m表示占用主机地址的位数;n表示划分的子网个数。根据这些原则,将一个C类网络分成4个子网。若我们用的网络号为192.9.200,则该C类网内的主机IP地址就是192.9.200.1~192.9.200.254(因为全“0”和全“1”的主机地址有特殊含义,不作为有效的IP地址),现将网络划分为4个部分,按照以上步骤:
  4=22,取22的幂,即2,则二进制为11,占用主机地址的高序位即为11000000,转换为十进制为192。这样就可确定该子网掩码为:192.9.200.192,4个子网的IP地址范围分别为:
  二进制十进制
① 11000000 00001001 11001000 00000001 11000000 00001001 11001000 00111110 192.9.200.1
192.9.200.62
② 11000000 00001001 11001000 01000001 11000000 00001001 11001000 01111110 192.9.200.65
192.9.200.126
③ 11000000 00001001 11001000 10000001 11000000 00001001 11001000 10111110 192.9.200.129
192.9.200.190
④ 11000000 00001001 11001000 11000001 11000000 00001001 11001000 11111110 192.9.200.193
192.9.200.254
  在此列出A、B、C三类网络子网数目与子网掩码的转换表,以供参考。

A类:

子网数目 占用位数    子网掩码    子网中主机数
 2     1    255.128.0.0    8,388,606
 4     2    255.192.0.0    4,194,302
 8     3    255.224.0.0    2,097,150
 16     4    255.240.0.0    1,048,574
 32     5    255.248.0.0    524,286
 64     6    255.252.0.0    262,142
 128    7    255.254.0.0    131,070
 128    8    255.255.0.0    65,534

B类:

子网数目 占用位数    子网掩码    子网中主机数
 2     1    255.255.128.0   32,766
 4     2    255.255.192.0   16,382
 8     3    255.255.224.0   8,190
 16     4    255.255.240.0   4,094
 32     5    255.255.248.0   2,046
 64     6    255.255.252.0   1,022
 128    7    255.255.254.0   510
 256    8    255.255.255.0   254

C类:

子网数目 占用位数    子网掩码    子网中主机数
 2     1    255.255.255.128   126
 4     2    255.255.255.192   62
 8     3    255.255.255.224   30
 16     4    255.255.255.240   14
 32     5    255.255.255.248   6
 64     6    255.255.255.252   2

IP地址、子网掩码详解

一、IP地址的介绍

1、IP地址的表示方法

IP地址 = 网络号+主机号

把整个Internet网堪称单一的网络,IP地址就是给每个连在Internet网的主机分配一个在全世界范围内唯一的标示符,Internet管理委员会定义了A、B、C、D、E五类地址,在每类地址中,还规定了网络编号和主机编号。在 TCP/IP协议中,IP地址是以二进制数字形式出现的,共32bit,1bit就是二进制中的1位,但这种形式非常不适用于人阅读和记忆。因此Internet管理委员会决定采用一种"点分十进制表示法"表示IP地址:面向用户的文档中,由四段构成的32 比特的IP地址被直观地表示为四个以圆点隔开的十进制整数,其中,每一个整数对应一个字节(8个比特为一个字节称为一段)。A、B、C类最常用,下面加以介绍。本文介绍的都是版本4的IP地址,称为IPv4.

●A类地址:A类地址的网络标识由第一组8位二进制数表示,A类地址的特点是网络标识的第一位二进制数取值必须为"0"。不难算出,A类地址第一个地址为00000001,最后一个地址是01111111,换算成十进制就是127,其中127留作保留地址,A类地址的第一段范围是:1~126,A类地址允许有27 -2=126个网段(第一个可用网段号1,最后一个可用网段号126)(减2是因为0不用,127留作它用),网络中的主机标识占3组8位二进制数,每个网络允许有224-2=16777216台主机(减2是因为全0地址为网络地址,全1为广播地址,这两个地址一般不分配给主机)。通常分配给拥有大量主机的网络。

●B类地址:B类地址的网络标识由前两组8位二进制数表示,网络中的主机标识占两组8位二进制数,B类地址的特点是网络标识的前两位二进制数取值必须为"10"。 B类地址第一个地址为10000000,最后一个地址是10111111,换算成十进制B类地址第一段范围就是128~191,B类地址允许有214 =16384个网段(第一个可用网段号128.0,最后一个可用网段号1291.255),网络中的主机标识占2组8位二进制数,每个网络允许有216-2=65533台主机,适用于结点比较多的网络。

●C类地址:C类地址的网络标识由前3组8位二进制数表示,网络中主机标识占1组8位二进制数C类地址的特点是网络标识的前3位二进制数取值必须为"110"。C类地址第一个地址为11000000,最后一个地址是11011111,换算成十进制C类地址第一段范围就是192~223,C类地址允许有221 =2097152个网段(第一个可用网络号192.0.0,最后一个可用网络号223.255.255),网络中的主机标识占1组8位二进制数,每个网络允许有28-2= 254台主机,适用于结点比较少的网络。

有些人对范围是2x不太理解,举个简单的例子加以说明。如C类网,每个网络允许有28-2= 254台主机是这样来的。因为C类网的主机位是8位,变化如下:

00000000

00000001

00000010

00000011

……

11111110

11111111

除去00000000和11111111不用外,从00000001到11111110共有254个变化,也就是28-2个。下图是IP地址的使用范围。 网络类别 最大网络数 第一个可用的网络号 最后一个可用的网络号 每个网络中的最大主机数

A 126(27-2) 1 126 16777214

B 16384(214) 128.0 191.255 65534

C 2097152(221) 192.0.0 223.255.255 254

2、几个特殊的IP地址

1)私有地址

上面提到IP地址在全世界范围内唯一,看到这句话你可能有这样的疑问,像192.168.0.1这样的地址在许多地方都能看到,并不唯一,这是为何?Internet管理委员会规定如下地址段为私有地址,私有地址可以自己组网时用,但不能在Internet网上用,Internet网没有这些地址的路由,有这些地址的计算机要上网必须转换成为合法的IP地址,也称为公网地址,这就像有很多的世界公园,每个公园内都可命名相同的大街,如香榭丽舍大街,但对外我们只能看到公园的地址和真正的香榭丽舍大街。下面是A、B、C类网络中的私有地址段。你自己组网时就可以用这些地址了。

10.0.0.0~10.255.255.255

172.16.0.0~172.131.255.255

192.168.0.0~192.168.255.255

2)回送地址

A类网络地址127是一个保留地址,用于网络软件测试以及本地机进程间通信,叫做回送地址(loopback address)。无论什么程序,一旦使用回送地址发送数据,协议软件立即返回之,不进行任何网络传输。含网络号127的分组不能出现在任何网络上。

【小技巧】

●Ping 127.0.0.1,如果反馈信息失败,说明IP协议栈有错,必须重新安装TCP/IP协议。如果成功,ping本机IP地址,如果反馈信息失败,说明你的网卡不能和IP协议栈进行通信。

●如果网卡没接网线,用本机的一些服务如Sql Server、IIS等就可以用127.0.0.1这个地址。

3)广播地址

TCP/IP规定,主机号全为"1"的网络地址用于广播之用,叫做广播地址。所谓广播,指同时向同一子网所有主机发送报文。

4)网络地址

TCP/IP协议规定,各位全为"0"的网络号被解释成"本"网络。由上可以看出:

(1)含网络号127的分组不能出现在任何网络上;

(2)主机和网关不能为该地址广播任何寻径信息。

由以上规定可以看出,主机号全"0"全"1"的地址在TCP/IP协议中有特殊含义,一般不能用作一台主机的有效地址。

3、子网掩码

从上面的例子可以看出,子网掩码的作用就是和IP地址与运算后得出网络地址,子网掩码也是32bit,并且是一串1后跟随一串0组成,其中1表示在IP地址中的网络号对应的位数,而0表示在IP地址中主机对应的位数。

(1)标准子网掩码

A类网络(1~126) 缺省子网掩码:255·0·0·0

255·0·0·0 换算成二进制为 11111111·00000000·00000000·00000000

可以清楚地看出前8位是网络地址,后24位是主机地址,也就是说,如果用的是标准子网掩码,看第一段地址即可看出是不是同一网络的。如21.0.0.0.1和21.240.230.1,第一段为21属于A类,如果用的是默认的子网掩码,那这两个地址就是一个网段的。

B类网络(128~191) 缺省子网掩码:255·255·0·0

C类网络(192~223) 缺省子网掩码:255·255·255·0

B类、C类分析同上。

(2)特殊的子网掩码

标准子网掩码出现的都是255和0的组合,在实际的应用中还有下面的子网掩码

255·128·0·0

255·192·0·0

……

255·255·192·0

255·255·240·0

……

255·255·255·248

255·255·255·252

这些子网掩码又是什么意思呢?这些子网掩码的出现是为了把一个网络划分成多个网络。

还记得上面的例子吗?如下所示:192·168·0·1和192·168·0·200如果是默认掩码255.255.255.0两个地址就是一个网络的,如果掩码变为255.255.255.192这样各地址就不属于一个网络了。下面的子网划分将作详细介绍。

192.168.0.1 11000000.10101000.00000000.00000001

192.168.0.200 11000000.10101000.00000000.11001000

255.255.255.0 11111111.11111111.11111111.00000000

192.168.0.1 11000000.10101000.00000000.00000001

192.168.0.200 11000000.10101000.00000000.11001000

255.255.255.192 11111111.11111111.11111111.11000000

下表是几个子网掩码计算过程中非常有用的十进制和二进制的对照

用于子网掩码换算的十进制和二进制对照

十进制 128 64 32 16 8 4 2 1

二进制 10000000 01000000 00100000 00010000 00001000 00000100 00000010 00000001

常用的子网掩码的十进制和二进制对照

十进制 128 192 224 240 248 252 254 255

二进制 10000000 11000000 11100000 11110000 11111000 11111100 11111110 11111111

二、彻底明白IP地址的含义

不管是学习网络还是上网,IP地址都是出现频率非常高的词。Windows系统中设置IP地址的界面大家都很熟悉,图中出现了IP地址、子网掩码、默认网关和DNS服务器这几个需要设置的地方,只有正确设置,网络才能通,那这些名词都是什么意思呢?学习IP地址的相关知识时还会遇到网络地址、广播地址、子网等概念,这些又是什么意思呢?

要解答这些问题,先看一个日常生活中的例子。如下图所示,住在北大街的住户要能互相找到对方,必须各自都要有个门牌号,这个门牌号就是各家的地址,门牌号的表示方法为:北大街+XX号。假如1号住户要找6号住户,过程是这样的,1号在大街上喊了一声:"谁是6号,请回答。",这时北大街的住户都听到了,但只有6号作了回答,这个喊的过程叫"广播",北大街的所有用户就是他的广播范围,假如北大街共有20个用户,那广播地址就是:北大街 21号。也就是说,北大街的任何一个用户喊一声能让"广播地址-1"个用户听到。

从这个例中可以抽出下面几个词:

街道地址:北大街,如果给该大街一个地址则用第一个住户的地址-1,此例为:北大街0号

住户的号:如1号、2号等。

住户的地址:街道地址+XX号,如北大街 1号、北大街 2号等

广播地址:最后一个住户的地址+1,此例为:北大街21号

Internet网络中,每个上网的计算机都有一个像上述例子的地址,这个地址就是IP地址,是分配给网络设备的门牌号,为了网络中的计算机能够互相访问,IP地址=网络地址+主机地址,图1中的IP地址是192.168.100.1,这个地址中包含了很多含义。如下所示:

网络地址(相当于街道地址): 192.168.100.0

主机地址(相当于各户的门号): 0.0.0.1

IP地址(相当于住户地址): 网络地址+主机地址=192.168.100.1

广播地址: 192.168.100.255

这些地址是如何计算出来的呢?为什么计算这些地址呢?要想知道如何,先要明白一个道理,学习网络的目的就是如何让网络中的计算机相互通讯,也就是说要围绕着"通"这个字来学习和理解网络中的概念,而不是只为背几个名词。

注:192.168.100.1是私有地址,是不能直接在Internet网络中应用的,上Internet要转为公有地址,下面详细说明。

1、为什么要计算网络地址

一句话就是让网络中的计算机能够相互通讯。先看看最简单的网络,下图中是用网线(交叉线)直接将两台计算机连起来。下面是几种IP地址设置,看看在不同设置下网络是通还是不通。

(1)设置1号机的IP地址为192.168.0.1子网掩码为255.255.255.0,2号机的IP地址为192.168.0.200子网掩码为255.255.255.0,这两台计算机就能正常通讯。

(2)如果1号机地址不变,将2号机的IP地址改为192.168.1.200子网掩码还是为255.255.255.0,那这两台就无法通讯。

(3)设置1号机的IP地址为192.168.0.1子网掩码为255.255.255.192,2号机的IP地址为192.168.0.200子网掩码为255.255.255.192,注意和第1种情况的区别在于子网掩码,1为255.255.255.0本例是255.255.255.192这两台计算机就不能正常通讯。

第1种情况能通是因为这两台计算机处在同一网络192.168.0.0,所以能通,而2、3种情况下两台计算机处在不同的网络,所以不通。

这里先给个结论:用网线直接连接的计算机或是通过HUB或普通交换机间接的计算机之间要能够相互通,计算机必须要在同一网络,也就是说它们的网络地址必须相同,而且主机地址必须不一样。如果不在一个网络就无法通。这就像我们上面举的例子,同是北大街的住户由于街道名称都是北大街,且各自的门牌号不同,所以能够相互找到对方。

计算网络地址就是判断网络中的计算机在不在同一网络,在就能通,不在就不能通。注意,这里说的在不在同一网络指的是IP地址而不是物理连接。那么如何计算呢?

2、如何计算网络地址

我们日常生活中的地址如:北大街1号,从字面上就能看出街道地址是北大街,而我们从IP地址中却难以看出网络地址,要计算网络地址,必须借助我们上边提到过的子网掩码。

计算过程是这样的,将IP地址和子网掩码都换算成二进制,然后进行与运算,结果就是网络地址。与运算如下所示,上下对齐,1位1位的算,1与1=1 ,其余组合都为0。

1...0...1...0

1...0...0...0

与运算________________ 

1...0...0...0

例如:计算IP地址为:202.99.160.50子网掩码是255.255.255.0的网络地址步骤如下:

1)将IP地址和子网掩码分别换算成二进制

202.99.160.50 换算成二进制为 11001010·01100011·10100000·00110010

255.255.255.0 换算成二进制为 11111111·11111111·11111111·00000000

2)将二者进行与运算

11001010·01100011·10100000·00110010

11111111·11111111·11111111·00000000

与运算________________________________________

11001010·01100011·10100000·00000000

3)将运算结果换算成十进制,这就是网络地址。

11001010·01100011·10100000·00000000换算成十进制就是202.99.160.0

现在我们就可以解答上面三种情况的通与不通的问题了。

1、从下面运算结果可以看出二台计算机的网络地址都为192.168.0.0且IP地址不同,所以可以通。

192.168.0.1      11000000.10101000.00000000.00000001

255.255.255.0     11111111.11111111.11111111.00000000

与运算______________________________________________________________

192.168.0.0      11000000.10101000.00000000.00000000

192.168.0.200     11000000.10101000.00000000.11001000

255.255.255.0     11111111.11111111.11111111.00000000

与运算______________________________________________________________

192.168.0.0      11000000.10101000.00000000.00000000

2、从下面运算结果可以看出1号机的网络地址为192.168.0.0,2号机的网络地址为192.168.1.0 不在一个网络,所以不通。

192.168.1.200     11000000.10101000.00000001.11001000

255.255.255.0     11111111.11111111.11111111.00000000

与运算______________________________________________________________

192.168.1.0      11000000.10101000.00000001.00000000

3、从下面运算结果可以看出1号机的网络地址为192.168.0.0,2号机的网络地址为192.168.0.192 不在一个网络,所以不通

192.168.0.1      11000000.10101000.00000000.00000001

255.255.255.192    11111111.11111111.11111111.11000000

与运算______________________________________________________________

192.168.0.0      11000000.10101000.00000000.00000000

192.168.0.200     11000000.10101000.00000000.11001000

255.255.255.192     11111111.11111111.11111111.00000000

与运算______________________________________________________________

192.168.0.182     11000000.10101000.00000000.11000000

相信看到这应该明白了为何计算网络地址和如何计算了,但也许还有很多疑问,如IP地址为什么写成这样,子网掩码到底是怎么回事等等,别急,下面慢慢介绍。

三、计算相关地址—通过IP地址和子网掩码与运算计算相关地址

知道IP地址和子网掩码后可以算出:

●网络地址

● 广播地址

● 地址范围

● 本网有几台主机

【例1】下面例子IP地址为192·168·100·5 子网掩码是255·255·255·0。算出网络地址、广播地址、地址范围、主机数。

1、分步骤计算

1)将IP地址和子网掩码换算为二进制,子网掩码连续全1的是网络地址,后面的是主机地址。

192.168.100.5     11000000.10101000.01100100.00000101

255.255.255.0     11111111.11111111.11111111.00000000

2)IP地址和子网掩码进行与运算,结果是网络地址

192.168.100.5     11000000.10101000.01100100.00000101

255.255.255.0     11111111.11111111.11111111.00000000

与运算______________________________________________________________

结果为: 192.168.100.0     11000000.10101000.01100100.00000000

3) 将上面的网络地址中的网络地址部分不变,主机地址变为全1,结果就是广播地址。

网络地址为: 192.168.100.0     11000000.10101000.01100100.00000000

___________________________________________________________________________

将主机地址变为全1 

广播地址为: 192.168.100.255    11000000.10101000.01100100.11111111

4) 地址范围就是含在本网段内的所有主机

网络地址+1即为第一个主机地址,广播地址-1即为最后一个主机地址,由此可以看出

地址范围是: 网络地址+1 至 广播地址-1

本例的网络范围是:192·168·100·1 至 192·168·100·254

也就是说下面的地址都是一个网段的。

192·168·100·1、192·168·100·2 ... 192·168·100·20 ... 192·168·100·111... 192·168·100·254

5) 主机的数量

主机的数量=2二进制的主机位数-2

减2是因为主机不包括网络地址和广播地址。本例二进制的主机位数是8位。

主机的数量=28-2=254

2、总体计算

我们把上边的例子合起来计算一下过程如下:

192.168.100.5     11000000.10101000.01100100.00000101

255.255.255.0     11111111.11111111.11111111.00000000

2)IP地址和子网掩码进行与运算,结果是网络地址

192.168.100.5     11000000.10101000.01100100.00000101

255.255.255.0     11111111.11111111.11111111.00000000

与运算   ______________________________________________________________

结果为网络地址:192.168.100.0     11000000.10101000.01100100.00000000

___________________________________________________________________________

将结果中的网络地址部分不变,主机地址变为全1

结果为广播地址:192.168.100.0     11000000.10101000.01100100.11111111

主机的数量:                           28-2=254

地址范围是:   网络地址: 192.168.100.0 ...... 广播地址为: 192.168.100.255

主机的地址范围是:网络地址+1:192.168.100.1 ...... 广播地址-1: 192.168.100.254

【例2】IP地址为128·36·199·3 子网掩码是255·255·240·0。算出网络地址、广播地址、地址范围、主机数

1)    将IP地址和子网掩码换算为二进制,子网掩码连续全1的是网络地址,后面的是主机地址

128?36?199?3 10000000?00100100?1100 0111?00000011

255?255?240?0 11111111?11111111?1111 0000?00000000

2)IP地址和子网掩码进行与运算,结果是网络地址

128?36?199?3 10000000?00100100?1100 0111?00000011

255?255?240?0 11111111?11111111?1111 0000?00000000

与运算   ______________________________________________________________

结果为网络地址:128?36?192?0   10000000?00100100?1100 0000?00000000

3)将运算结果中的网络地址不变,主机地址变为1,结果就是广播地址。

128?36?192?0   10000000?00100100?1100 0000?00000000

______________________________________________________________

广播地址: 128?36?207?255 10000000?00100100?1100 1111?11111111

4) 地址范围就是含在本网段内的所有主机

网络地址+1即为第一个主机地址,广播地址-1即为最后一个主机地址,由此可以看出

本例的网络范围是:128?36?192?1 至 128?36?207?254

5) 主机的数量

主机的数量=2二进制位数的主机-2=212-2=4094

从上面两个例子可以看出不管子网掩码是标准的还是特殊的,计算网络地址、广播地址、地址数时只要把地址换算成二进制,然后从子网掩码处分清楚连续1以前的是网络地址,后是主机地址进行相应计算即可。

IP地址、子网掩码详解的更多相关文章

  1. 局域网内ping [局域网内ip地址]命令详解

    一.工作过程 主机A向主机B发送一个ICMP请求报文[类型字段为8,代码字段为0],若收到ICMP回复报 文[类型字段为0,代码字段为0]则说明主机B处于活动状态:若超时未收到回复,则可能是 因为(1 ...

  2. IP2——IP地址和子网划分学习笔记之《子网掩码详解》

    2018-05-04 16:21:21   在学习掌握了前面的<进制计数><IP地址详解>这两部分知识后,要学习子网划分,首先就要必须知道子网掩码,只有掌握了子网掩码这部分内容 ...

  3. 网络编程之TCP/IP各层详解

    网络编程之TCP/IP各层详解 我们将应用层,表示层,会话层并作应用层,从TCP/IP五层协议的角度来阐述每层的由来与功能,搞清楚了每层的主要协议,就理解了整个物联网通信的原理. 首先,用户感知到的只 ...

  4. IP地址子网掩码主机地址网络号主机号

    (1)子网掩码1所对应的位为网络号位 而所对应的位为主机号位 IP地址+子网掩码=网络号: IP地址+子网掩码(反码)=主机号. (2)主机号中的m位被用来表示网络号了,也就是子网号,将0-255划分 ...

  5. IP地址,子网掩码,默认网关,路由,形象生动阐述

    自己的Linux虚拟机已经分配了固定的IP地址(使用无线路由,用的是192.168.1.XX网段),公司的无线网络分配的IP地址是(10.51.174.XX网段) 所以当自己的电脑拿到公司,还想使用桥 ...

  6. [转]IP地址-子网掩码-默认网关

    IP地址:是给每个连接在Internet上的主机分配的一个32bit地址.地址有两部分组成,一部分为网络地址,另一部分为主机地址.IP地址分为A.B.C.D.E 5类.常用的是B和C两类.网络地址的位 ...

  7. IP地址 子网掩码 默认网关 DNS(转)

    突然被问到IP地址方面的知识,吓得我赶紧上网找一找资料,觉得这篇还是写得简单易懂,share一下. Key: 1.IP地址=网络地址+主机地址,(又称:主机号和网络号组成): 2.将IP地址和子网掩码 ...

  8. 【转载】IP地址和子网划分学习笔记之《子网掩码详解》

    原文地址: https://blog.51cto.com/6930123/2112748 一.子网掩码 IP地址是以网络号和主机号来标示网络上的主机的,我们把网络号相同的主机称之为本地网络,网络号不相 ...

  9. 【TCP/IP】TCP详解笔记

    目录 前言 17. TCP 传输控制协议 17.1 引言 17.2 TCP 服务 17.3 TCP的首部 18. TCP连接的建立与终止 18.1 引言 18.2 连接的建立与终止 18.2.1 建立 ...

随机推荐

  1. HTTP SOAP Request

    public string SoapRequest(string url, string message, string type, Encoding encoding) { string resul ...

  2. Astyle编程语言格式化工具的说明

    1.工具->扩展和更新,搜astyle插件,下载安装重启,当前是2.0版本. 2.工具->选项->AStyle Formatter->Edit,填入下面的,点击save,确定. ...

  3. ios UIApplocation 中APP启动方式

    iOS app启动的方式有哪些: 自己启动(用户手动点击启动) urlscheme启动(关于urlScheme的详解)http://www.cnblogs.com/sunfuyou/p/6183064 ...

  4. Apache Shiro 认证过程

    3.1.1    示例 Shiro验证Subjects 的过程中,可以分解成三个不同的步骤: 1. 收集Subjects 提交的Principals(身份)和Credentials(凭证): 2. 提 ...

  5. c语言中gets ,getschar 和fgets 的用法及三者之间的差别

    gets——从标准输入接收一串字符,遇到'\n'时结束,但不接收'\n',把 '\n'留存输入缓冲区:把接收的一串字符存储在形式参数指针指向的空间,并在最后自动添加一个'\0'.getchar——从标 ...

  6. web项目从域名申请到发布

    http://wenku.baidu.com/link?url=H-Hu2nvzFRirdxO3xzrWCWfc4WJFLyFjsxak5MFwOuzQfgTawJLXC4vAc4xYAIySxn59 ...

  7. centos中apache-tomcat的配置

    在centos中配置Apache-toncat需要先安装jdk,前面文章已经写了怎么配置jdk,这里略过. 首先到官网下载好Apache-tomcat安装包,我这里下载的是apache-tomcat- ...

  8. Git的安装

    两种方法: 1.命令行git Git preview是命令行Git的安装包,包名如下: Git-1.9.2-preview20140411.exe 2.UI类型的git 图形化界面的git,避免了枯燥 ...

  9. 特殊字符 js处理

    2.特殊字符传递过程中的处理 (1)js页面的处理 var url= "#@+&这些带有特殊字符"; url=encodeURI(encodeURI(url));//转码两 ...

  10. fp oo

    http://blog.enfranchisedmind.com/2009/05/scala-not-functional/