彻底明白IP地址

 彻底明白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个网段(减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个网段,网络中的主机标识占2组8位二进制数,每个网络允许有216-2=65533台主机,适用于结点比较多的网络。
  ●C类地址:C类地址的网络标识由前3组8位二进制数表示,网络中主机标识占1组8位二进制数C类地址的特点是网络标识的前3位二进制数取值必须为"110"。C类地址第一个地址为11000000,最后一个地址是11011111,换算成十进制C类地址第一段范围就是192~223,C类地址允许有221 =2097152个网段,网络中的主机标识占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地址的使用范围。

网络类别最大网络数第一个可用的网络号最后一个可用的网络号每个网络中的最大主机数
A126(27-2)112616777214
B16384(214)128.0191.25565534
C2097152(221)192.0.0223.255.255254

  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.111000000.10101000.00000000.00000001
192.168.0.20011000000.10101000.00000000.11001000
255.255.255.011111111.11111111.11111111.00000000
192.168.0.111000000.10101000.00000000.00000001
192.168.0.20011000000.10101000.00000000.11001000
255.255.255.19211111111.11111111.11111111.11000000

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

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

十进制1286432168421
二进制1000000001000000001000000001000000001000000001000000001000000001

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

十进制128192224240248252254255
二进制1000000011000000111000001111000011111000111111001111111011111111

二、彻底明白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位。
    主机的数量=2 8-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 ...... 广播地址为: 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=2 12-2=4094
  从上面两个例子可以看出不管子网掩码是标准的还是特殊的,计算网络地址、广播地址、地址数时只要把地址换算成二进制,然后从子网掩码处分清楚连续1以前的是网络地址,后是主机地址进行相应计算即可。 (待续)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值