IP地址与网络分类

 

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 0000000000000000 00000000  00001101

结果为0.0.0.13,即主机号为13。  

 

 三、子网划分与实例根据以上分析,建议按以下步骤和实例定义子网掩码。

     1、将要划分的子网数目转换为2的m次方。如要分8个子网,8=2 3。

     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=2 2,取2 2的幂,即2,则二进制为11,占用主机地址的高序位即为11000000,转换为十进制为192。这样就可确定该子网掩码为:192.9.200.192,4个子网的IP地址范围分别为:

        二进制十进制

      ① 11000000 00001001 11001000 0000000111000000 00001001 11001000 00111110 

      192.9.200.1

      192.9.200.62

      ② 11000000 00001001 11001000 01000001 11000000 00001001 1100100001111110 

      192.9.200.65

      192.9.200.126

      ③ 11000000 00001001 11001000 10000001 11000000 00001001 1100100010111110 

      192.9.200.129

      192.9.200.190

      ④ 11000000 00001001 11001000 11000001 11000000 00001001 1100100011111110 

      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

 

 

子網掩碼主要是用來區分網絡和劃分網段的,不一定非得是255.255.255.0 ,它的計算方法如下:

A类地址:X=1--126

B类地址; X=128--191

C类地址; X=192--223

如10.202.52.130因为X=10在1--126范围内所以称为A类地址 

类默认子网掩码:

A类为 255.0.0.0 

B类为 255.255.0.0 

C类为 255.255.255.0 

当我们要划分子网用到子网掩码M时,类子网掩码的格式应为 

A类为 255.M.0.0 

B类为 255.255.M.0 

C类为 255.255.255.M 

M是相应的子网掩码如:255.255.255.240 

十进制计算基数:256,等一下我们所有的十进制计算都要用256来进行。 

几个公式变量的说明: 

Subnet_block:可分配子网块大小,指在某一子网掩码下的子网的块数。 

Subnet_num:实际可分配子网数,指可分配子网块中要剔除首、尾两块,这是某一子           网掩码下可分配的实际子网数量,它等于Subnet_block-2。 

IP_block:每个子网可分配的IP地址块大小。 

IP_num:每个子网实际可分配的IP地址数,因为每个子网的首、尾IP地址必须保留(一个为网络地址,一个为广播地址),所以它等于IP_block-2,IP_num也用于计算主机段 

M:子网掩码(net mask)。 

它们之间的公式如下: 

M=256-IP_block 

IP_block=256/Subnet_block,反之Subnet_block=256/IP_block 

IP_num=IP_block-2 

Subnet_num=Subnet_block-2 

2的冥数:要熟练掌握2^8(256)以内的2的冥代表的十进制数,如128=2^7、64=2^6…,这可使我们立即推算出Subnet_blockIP_block数。 

现在我们举一些例子:

一、 已知所需子网数12,求实际子网数 

解:这里实际子网数指Subnet_num,由于12最接近2的冥为16(2^4),即 Subnet_block=16,那么Subnet_num=16-2=14,故实际子网数为14。 

 

二、 已知一个B类子网每个子网主机数要达到60x255(约相当于X.Y.0.1--X.Y.59.254的数量)个,求子网掩码。 

解:1、60接近2的冥为64(2^6),即,IP_block=64 

2、子网掩码M=256-IP_block 

=256-64=192 

3、子网掩码格式B类是:255.255.M.0. 

所以子网掩码为:255.255.192.0 

三、 如果所需子网数为7,求子网掩码 

解:1、7最接近2的冥为8,但8个Subnet_block因为要保留首、尾2个子网块,即 8-2=6《7,并不能达到所需子网数,所以应取2的冥为16,即Subnet_block=16 

2、IP_block=256/Subnet_block=256/16=16 

3、子网掩码M=256-IP_block=256-16=240。 

 

四、 已知网络地址为211.134.12.0,要有4个子网,求子网掩码及主机段。 

解:1、211.y.y.y是一个C类网,子网掩码格式为255.255.255.M 

2、4个子网,4接近2的冥是8(2^3),所以Subnet_block=8 

Subnet_num=8-2=6 

3、IP_block=256/Subnet_block=256/8=32 

4、子网掩码M=256-IP_block=256-32=224 

5、所以子网掩码表示为255.255.255.224 

6、因为子网块(Subnet_block)的首、尾两块不能使用,所以可分配6个子网块(Subnet_num),每块32个可分配主机块(IP_block) 

即:32-63、64-95、96-127、128-159、160-191、192-223 

首块(0-31)和尾块(224-255)不能使用 

7、每个子网块中的可分配主机块又有首、尾两个不能使用(一个是子网网络地址,一个 是子网广播地址),所以主机段分别为: 

33-62、65-94、97-126、129-158、161-190、193-222 

8、所以子网掩码为255.255.255.224 

主机段共6段为:211.134.12.33--211.134.12.62 

211.134.12.65--211.134.12.94 

211.134.12.97--211.134.12.126 

211.134.12.129--211.134.12.158 

211.134.12.161--211.134.12.190 

211.134.12.193--211.134.12.222 

可以任选其中的4段作为4个子网。 

总之,只要理解了公式中的逻辑关系,就能很快计算出子网掩码,从而得出可分配的主机段,参加MCSE和CCNA考试的朋友使用这种方法可以顺利地通过相关试题的考试,而不用象记9×9乘法口诀表一样去背什么二进制掩码表了。

 

 =================================================================

 

子网掩码的简便算法(基础篇)

 

举例说明该算法。    

    例:给定一 class c address : 192.168.5.0 ,要求划分20个子网,每个子网5 个主机。

   

    解:因为4 <5 < 8 ,用256-8=248 ――>即是所求的子网掩码,对应的子网数    

    也就出来(256/8 –2)。(8=2的3次幂,所以在二进制的8位表示中只剩下5位,所以对应的子网块数就是2的5次幂,即32,故子网数是32-2=30,)。

这是针对C类地址。老师也只讲了针对C类地址的做法。下面是我自己推出来的针对B类地址的做法。    

    对于B类地址,假如主机数小于或等于254,与C类地址算法相同。    

    对于主机数大于254的,如需主机 700台,50个子网(相当大了),

    

    512 <700< 1024

256-(1024/256)=256-4=252 ――>即是所求的子网掩码,对应的子网数也就出来了。

    上面256-4中的4(2的2次幂)是指主机数用2进制表示时超过8位的位数,即超过2位,掩码为剩余的前6位,即子网数为2(6)-2=62个。    

    欢迎指正。        

    Append:Host/Subnet Quantities Table        

   --------------------------------------------------------------------------------    

    Class AEffective Effective    

    # bitsMask Subnets Hosts    

    ---------------------- --------- ---------    

    2255.192.0.0 2 4194302    

    3255.224.0.0 6 2097150    

    4255.240.0.0 14 1048574    

    5255.248.0.0 30 524286    

    6255.252.0.0 62 262142    

    7 255.254.0.0 126 131070    

    8255.255.0.0 254 65536    

    9255.255.128.0 510 32766    

    10255.255.192.0 1022 16382    

    11255.255.224.0 2046 8190    

    12255.255.240.0 4094 4094    

    13255.255.248.0 8190 2046    

    14 255.255.252.016382 1022    

    15255.255.254.0 32766 510    

    16255.255.255.0 65536 254    

    17255.255.255.128 131070 126    

    18255.255.255.192 262142 62    

    19255.255.255.224 524286 30    

    20255.255.255.240 1048574 14    

    21 255.255.255.248 2097150 6    

    22255.255.255.252 4194302 2    

           

    Class BEffective Effective    

    # bitsMask Subnets Hosts    

    ---------------------- --------- ---------    

    2255.255.192.0 2 16382    

    3 255.255.224.06 8190    

    4255.255.240.0 14 4094    

    5255.255.248.0 30 2046    

    6255.255.252.0 62 1022    

    7255.255.254.0 126 510    

    8255.255.255.0 254 254    

    9255.255.255.128 510 126    

    10255.255.255.192 1022 62    

    11255.255.255.224 2046 30    

    12255.255.255.240 4094 14    

    13255.255.255.248 8190 6    

    14255.255.255.252 16382 2    

       

    Class CEffective Effective    

    # bitsMask Subnets Hosts    

    ---------------------- --------- ---------    

    2255.255.255.192 2 62    

    3255.255.255.224 6 30    

    4255.255.255.240 14 14    

    5255.255.255.248 30 6    

    6255.255.255.252 62 2   

 

 

subnet

 

For an IPaddress of 165.3.34.35,netmask of 255.255.255.224,and a subnet ID of165.3.34.32,the useable host address range is:

 

A. From165.3.34.34 to 165.3.34.64

B. From165.3.34.35 to 165.3.34.65

C. From165.3.34.33 to 165.3.34.62

D. From165.3.34.33 to 165.3.34.63 

 

256-224=32

所以,0--31,32--63,64--95....

 

因为子网块(Subnet_block)的首、尾两块不能使用,所以可分配6个子网块(Subnet_num),每块32个可分配主机块(IP_block)

即:32-63、64-95、96-127、128-159、160-191、192-223

首块(0-31)和尾块(224-255)不能使用

每个子网块中的可分配主机块又有首、尾两个不能使用(一个是子网网络地址,一个 是子网广播地址),所以主机段分别为:

33-62、65-94、97-126、129-158、161-190、193-222

 

 

 

怪!原来都是子网掩码惹的祸 

  

网络背景: 

 

  省、市、区及县都用DDN专线接入当地电信。

  省对外服务器IP:202.110.204.17

  搜狐IP:61.135.131.12(注意,后面要用到它)

  某县局甲IP:202.110.218.57

  某县局乙IP:202.110.218.65

  市局对外服务器IP:202.110.218.1及子网掩码:    255.255.255.240

  区局IP:202.110.218.17 及子网掩码:255.255.255.248

 

网络故障:

  近日,区局报告:市局的网站无法登陆,数据无法上报。

  初步测试及现象:

  1. 市区局之间PING不通。

  2. 市局能PING通其它各县的网站。

  3. 区局不能PING通市及各县的网站。

  4. 市区都能PING通省局、各市的网站与搜狐等网站。

 

故障排除过程:

  市局能PING通各县网站,说明市局工作正常,问题应出在区局或电信,区局能PING通省局与搜狐等,说明区局与电信的物理连结没问题,也初步断定区局的配置没问题。而区局不能PING通各县的网站,再次说明问题就应在区局或电信。然而,令人不解的是:一般来讲,只要市局与区局都能正常上网,并都能PING通同一个网站,应该彼此也通,除非彼此用防火墙进行了包过滤。然而,我们都已经关闭了,一定不是这个问题。

  那么在这种情况下,最先想到的可能是电信到区局的路由问题,我首先登上自己的路由器,然后跟踪路由。结果如下:

 

  202.110.254.201

  61.179.254.41

  61.156.40.130

  61.156.40.254

  61.156.40.130

  61.156.40.254

  61.156.40.130

  61.156.40.254

  ………

 

  眼睛一亮,路由有问题。为了对比,我又跟踪了其它两个正常县的,结果如下:

 

  202.110.254.201

  61.179.254.41

  61.156.40.130

  202.110.254.226

  202.110.218.57 

 

  202.110.254.201

  61.179.254.41

  61.156.40.130

  202.110.254.230

  202.110.218.57

 

  是61.156.40.130 61.156.40.254 之间有环路?似乎这是问题的关键所在,这可是电信局的呀,得慎重呀!!能不能有其它的可能呀?比如我们的服务器坏了,或是真的有问题,路由会怎么样呢?我找了一个没用的地址(是分给区局的只是没有用到)试了一下,结果与上相同。

结论:有两种可能,一是真的电信有问题;二是我们的服务器有问题。

  在给电信报错之前,还是先排除自己错的可能,于是先告诉区局的网管员检查了一下设置,结果发现把子网掩码打错了。询问后得知几天前,由于管理上的需要动过这里,不小心把255.255.255.248 打成了 255.255.255.0 。据说虽然看着参数表打的,由于平时习惯下意识的打成了内网的子网掩码了(在此告戒朋友可不要犯这种错哟)。改过来一试,故障消失了。

 

故障现象形成的分析:

  在高兴之余,有几个问题还需解释:

  1. 为什么区局在子网掩码错了的情况下还能上网?

  2. 区局为什么能PING通省局与搜狐而PING不通市与其它县局?

  3. 为什么区局能上网而市局PING不通它?

首先解释第一个疑问:

 

  区局路由表:

  Circuit Destination Mask Next Hop Addr

  S11 0.0.0.0 0.0.0.0 202.110.254.205

  E11 202.110.218.0 255.255.255.240 202.110.218.22

 

  由于有条默认的路由S11把不是本子网数据报发到202.110.254.205端口,所以能上网。

 

第二个疑问:

  大家知道,主机在发送数据报之前,首先判断目标主机是否属本子网的,如果是就直接发送到目标主机;如果不是本子网的就发向默认的网关。主机是怎样区分外网与本子网的呢?当然是靠子网掩码。区局设置正常情况下,子网掩码(255.255.255.248)会把202.110.218.17(区局)与202.110.218.1(市局)认为不在同一子网,所以发送给网关,这时的区局就能PING通市局。可是区局子网掩码打成255.255.255.0后,就把202.110.218.1与202.110.218.17看成是同一子网的了。数据报不发送给网关,但本子网中又没有202.110.218.1这么台主机,所以不通。但是省局的地址是202.110.204.17与子网掩码(255.255.255.0)运算后与区局的仍不在同一子网,数据报发给了网关,所以能常访问。同理搜狐的地址为61.135.131.12运算后也不与区局在同一子网所以也能正常访问。

 

第三个疑问:

 

  由于主机的子网掩码错,使得外面的数据报不能正确的到达主机,所以认为路由不通。路由器(61.156.40.130)发数据报到默认的路由器(61.156.40.254),但是默认的路由却认为正确的路由应在61.156.40.130,所以又发回来,所以一直在循环,直到超时。所以市局没办法PING通区局。

 

观后感:事出有因!凡遇到这种故障,一要细心,二要多方面了解状况。总之就是理论指导实践,实践又反过来验证理论。呵呵,盗用了老毛的话了。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值