网络基础之IP地址

时间:2024-03-12 07:39:56

一、IP地址

  1、IP地址就是给互联网上每一台主机 (或路由器)每一个接口分配一个在全世界范围内是唯一的32位二进制的地址标识符。现在由互联网名字和数字分配机构ICANN进行分配。

  2、转换成十进制

二、分类IP

   分类IP就是将IP分成若干个固定类,每一类地址都是由两个固定长度的字段组成,其中第一个字段为网络号,必须是唯一的。第二个字段为主机号。

 

   1、A类地址

    A类地址网络号占一个字节,只有7bit位可供使用,可指派的网络号为(2的7次方-2)

      a、网络号全0的IP地址是一个保留地址,意思是“本网络”;

      b、网络号为127的保留作为本地软件的环回测试

    A类地址主机号占3个字节,每一个A类网络最大主机数是(2的24次方-2 = 16777214)

       a、全0表示这个网络,5.1.2.3 => 5.0.0.0

       b、全1表示这个网络所有主机,5.1.2.3 => 2.255.255.255

    IP地址一共(2的32次方 = 4294967296),A类地址占了(2的31次方)50%。

   2、B类地址

    B类地址网络号占2个字节,可指派的网络号为(2的14次方-1)

      a、网络号为128.0.0.0保留

    B类地址主机号占2个字节,每一个B类网络最大主机数是(2的16次方-2 = 65534)

      a、全0表示这个网络,5.1.2.3 => 5.1.0.0

      b、全1表示这个网络所有主机,5.1.2.3 =>5.1.255.255

    IP地址一共(2的32次方 = 4294967296),B类地址占了(2的30次方)25%。

   3、C类地址

    C类地址网络号占3个字节,可指派的网络号为(2的21次方-1)

      a、网络号为192.0.0.0保留,最小网络号为192.0.1.0

    C类地址主机号占1个字节,每一个C类地址最大主机数是(2的8次方-2 = 254)

      a、全0表示这个网络,5.1.2.3 => 5.1.2.0

      b、全1表示这个网络所有主机,5.1.2.3 => 5.1.2.255

    IP地址一共(2的32次方 = 4294967296),C类地址占了(2的29次方)12.5%

   4、总结

三、IP保留地址

  1、0.0.0.0
    严格说来,0.0.0.0已经不是一个真正意义上的IP地址了。它表示的是这样一个集合:所有不清楚的主机和目的网络。这里的“不清楚”是指在本机的路由表里没有特定条目指明如何到达。对本机来说,它就是一个“收容所”,所有不认识的“三无”人员,一律送进去。如果你在网络设置中设置了缺省网关,那么Windows系统会自动产生一个目的地址为0.0.0.0的缺省路由。
  2、255.255.255.255
    限制广播地址。对本机来说,这个地址指本网段内(同一广播域)的所有主机。如果翻译成人类的语言,应该是这样:“这个房间里的所有人都注意了!”这个地址不能被路由器转发。
  3、127.0.0.1
    本机地址,主要用于测试。用汉语表示,就是“我自己”。在Windows系统中,这个地址有一个别名“Localhost”。寻址这样一个地址,是不能把它发到网络接口的。除非出错,否则在传输介质上永远不应该出现目的地址为“127.0.0.1”的数据包。

   4、224.0.0.1

    组播地址,注意它和广播的区别。从224.0.0.0到239.255.255.255都是这样的地址。224.0.0.1特指所有主机,224.0.0.2特指所有路由器。这样的地址多用于一些特定的程序以及多媒体程序。如果你的主机开启了IRDP (Internet路由发现协议,使用组播功能)功能,那么你的主机路由表中应该有这样一条路由。
  5、169.254.x.x
    如果你的主机使用了DHCP功能自动获得一个IP地址,那么当你的DHCP服务器发生故障,或响应时间太长而超出了一个系统规定的时间,Wingdows系统会为你分配这样一个地址。如果你发现你的主机IP地址是一个诸如此类的地址,很不幸,十有八九是你的网络不能正常运行了。
  6、10.x.x.x, 172.16.x.x~172.31.x.x, 192.168.x.x

    私有地址,这些地址被大量用于企业内部网络中。一些宽带路由器,也往往使用192.168.1.1作为缺省地址。私有网络由于不与外部互连,因而可能使用随意的IP地址。保留这样的地址供其使用是为了避免以后接入公网时引起地址混乱。使用私有地址的私有网络在接入Internet时,要使用地址翻译(NAT),将私有地址翻译成公用合法地址。在Internet上,这类地址是不能出现的。

四、子网划分

  1、简单点说子网划分就是把一个网段划分成很多更小的网段。如图,把一个两级(B类)地址通过子网号划分成很多三级地址。

  2、为什么要划分子网
    a、IP地址利用率很低,资源日益紧张解决了IP地址资源紧张的局面;
    b、在企业内网中为了更好地管理网络,网管人员也利用子网掩码的作用,人为地将一个较大的企业内部网络划分为更多个小规模的子网。

  3、与运算、或运算、异或运算

    a、按位与运算符(&)
      参加运算的两个数据,按二进制位进行“与”运算。
      运算规则:0&0=0;  0&1=0;   1&0=0;    1&1=1;
           即:两位同时为“1”,结果才为“1”,否则为0。

    b、按位或运算符(|)
      参加运算的两个对象,按二进制位进行“或”运算。
      运算规则:0|0=0;  0|1=1;  1|0=1;   1|1=1;
           即 :参加运算的两个对象只要有一个为1,其值为1。

    c、异或运算符(^)
      参加运算的两个数据,按二进制位进行“异或”运算。
      运算规则:0^0=0;  0^1=1;  1^0=1;   1^1=0;
         即:参加运算的两个对象,如果两个相应位为“异”(值不同),则该位结果为1,否则为0。    

  4、为什么需要子网掩码
    用在路由器寻址上,确定IP属于哪个网段

  5、根据子网掩码计算网段

    例:IP地址为145.13.3.10,子网掩码为255.255.255.0,路由器如何计算145.13.3.10所属的网段

 五、路由寻址

  Step1:主机A将自己的IP地址和子网掩码作“与运算”,主机A的IP地址为192.168.0.5,将这个IP地址转换为二进制就是:11000000 10101000 00000000 00000101

    主机A的子网掩码为255.255.255.0,将该掩码转换为二进制就是:11111111 11111111 11111111 00000000 将主机A二进制形式的IP地址和子网掩码作“与运算”的结果是:  11000000 10101000 00000000 00000000

    为了方便查看将这个“与运算”的结果再转换为点分十进制的数就是:192.168.0.0

  Step2:将目标主机(主机B)的IP地址与发送方(主机A)的子网掩码作“与运算”,比如本例中,主机B的IP地址为1.1.1.5,将这个IP地址转换为二进制就是:00000001 00000001 00000001 00000101

    主机A的子网掩码为255.255.255.0将该掩码转换为二进制就是:11111111 11111111 11111111 00000000 将以上两组二进制的数进行“与运算”的结果是:00000001 00000001 00000001 00000000 将这个“与运算”的结果转换为点分十进制的数就是:1.1.1.0 这样我们就得到了两组“与运算”的结果,分别是:192.168.0.0和1.1.1.0

  Step3:对于主机A来说,经过这样一番“与运算”后,如果两个“与运算”结果相同,则说明目标主机B和自己在同一个网络内,即目标主机B在本地网络。相反地,对于主机A来说,经过这样一番“与运算”后,如果两个“与运算”结果不同,则说明目标主机B和自己不在同一个网络内,即目标主机B在远程网络。在这里,很显然目标主机B对于发送方(主机A)来说在远程网络——也就是在网络B。

  Step4:查询本机保存的路由表,主机A路由表的输出显示中我们没有找到与目标主机B所在1.1.1.0这个网络相匹配的具体路由,路由表第一列的输出说明主机A在没有找到能够到达目标网络的具体路由的情况下,会将发往目标网络的数据包发送到默认/缺省网关(192.168.0.1),由这个默认/缺省网关再将该数据包转发到目标网络。

  Step5:路由器进行网络比对,路由器的F0/0接口上的IP地址192.168.0.1与F0/0接口的子网掩码255.255.255.0作“与运算”得到“结果1”;目标地址1.1.1.5与路由器F0/0接口的子网掩码255.255.255.0作“与运算”得到“结果2”;“结果1”与“结果2”并不相同,证明目标地址1.1.1.5并不处在路由器的F0/0接口所在的网络A。

    路由器的另一个接口F0/1的IP地址1.1.1.1与F0/1接口的子网掩码255.0.0.0作“与运算”得到“结果3”;目标地址1.1.1.5与F0/1接口上的子网掩码255.0.0.0作“与运算”得到“结果4”;“结果3”与“结果4”相同,证明目标地址1.1.1.5处在路由器的F0/1接口所在的网络B。这也就意味着路由器B只需将发送给1.1.1.5的数据包从F0/1接口发出去就OK了。