zoukankan      html  css  js  c++  java
  • IP地址

    IP地址
     
      1)网络地址
      IP地址由网络号(包括子网号)和主机号组成,网络地址的主机号为全0,网络地址代表着整个网络。
      2)广播地址
      广播地址通常称为直接广播地址,是为了区分受限广播地址。
      广播地址与网络地址的主机号正好相反,广播地址中,主机号为全1。当向某个网络的广播地址发送消息时,该网络内的所有主机都能收到该广播消息。
      3)组播地址
      D类地址就是组播地址。
      先回忆下A,B,C,D类地址吧:
      A类地址以0开头,第一个字节作为网络号,地址范围为:0.0.0.0~127.255.255.255;(modified @2016.05.31)
      B类地址以10开头,前两个字节作为网络号,地址范围是:128.0.0.0~191.255.255.255;
      C类地址以110开头,前三个字节作为网络号,地址范围是:192.0.0.0~223.255.255.255。
      D类地址以1110开头,地址范围是224.0.0.0~239.255.255.255,D类地址作为组播地址(一对多的通信);
      E类地址以1111开头,地址范围是240.0.0.0~255.255.255.255,E类地址为保留地址,供以后使用。
      注:只有A,B,C有网络号和主机号之分,D类地址和E类地址没有划分网络号和主机号。
      4)255.255.255.255
      该IP地址指的是受限的广播地址。受限广播地址与一般广播地址(直接广播地址)的区别在于,受限广播地址只能用于本地网络,路由器不会转发以受限广播地址为目的地址的分组;一般广播地址既可在本地广播,也可跨网段广播。例如:主机192.168.1.1/30上的直接广播数据包后,另外一个网段192.168.1.5/30也能收到该数据报;若发送受限广播数据报,则不能收到。
      注:一般的广播地址(直接广播地址)能够通过某些路由器(当然不是所有的路由器),而受限的广播地址不能通过路由器。
      5)0.0.0.0
      常用于寻找自己的IP地址,例如在我们的RARP,BOOTP和DHCP协议中,若某个未知IP地址的无盘机想要知道自己的IP地址,它就以255.255.255.255为目的地址,向本地范围(具体而言是被各个路由器屏蔽的范围内)的服务器发送IP请求分组。
      6)回环地址
      127.0.0.0/8被用作回环地址,回环地址表示本机的地址,常用于对本机的测试,用的最多的是127.0.0.1。
      7)A、B、C类私有地址
      私有地址(private address)也叫专用地址,它们不会在全球使用,只具有本地意义。
      A类私有地址:10.0.0.0/8,范围是:10.0.0.0~10.255.255.255
      B类私有地址:172.16.0.0/12,范围是:172.16.0.0~172.31.255.255
      C类私有地址:192.168.0.0/16,范围是:192.168.0.0~192.168.255.255
     
     

    子网掩码及网络划分
      随着互连网应用的不断扩大,原先的IPv4的弊端也逐渐暴露出来,即网络号占位太多,而主机号位太少,所以其能提供的主机地址也越来越稀缺,目前除了使用NAT在企业内部利用保留地址自行分配以外,通常都对一个高类别的IP地址进行再划分,以形成多个子网,提供给不同规模的用户群使用。
      这里主要是为了在网络分段情况下有效地利用IP地址,通过对主机号的高位部分取作为子网号,从通常的网络位界限中扩展或压缩子网掩码,用来创建某类地址的更多子网。但创建更多的子网时,在每个子网上的可用主机地址数目会比原先减少。
      什么是子网掩码?
      子网掩码是标志两个IP地址是否同属于一个子网的,也是32位二进制地址,其每一个为1代表该位是网络位,为0代表主机位。它和IP地址一样也是使用点式十进制来表示的。如果两个IP地址在子网掩码的按位与的计算下所得结果相同,即表明它们共属于同一子网中。
      在计算子网掩码时,我们要注意IP地址中的保留地址,即“ 0”地址和广播地址,它们是指主机地址或网络地址全为“ 0”或“ 1”时的IP地址,它们代表着本网络地址和广播地址,一般是不能被计算在内的。
      子网掩码的计算:
      对于无须再划分成子网的IP地址来说,其子网掩码非常简单,即按照其定义即可写出:如某B类IP地址为 10.12.3.0,无须再分割子网,则该IP地址的子网掩码255.255.0.0。如果它是一个C类地址,则其子网掩码为 255.255.255.0。其它类推,不再详述。下面我们关键要介绍的是一个IP地址,还需要将其高位主机位再作为划分出的子网网络号,剩下的是每个子网的主机号,这时该如何进行每个子网的掩码计算。
      下面总结一下有关子网掩码和网络划分常见的面试考题:
      1)利用子网数来计算
      在求子网掩码之前必须先搞清楚要划分的子网数目,以及每个子网内的所需主机数目。
      (1) 将子网数目转化为二进制来表示;
      如欲将B类IP地址168.195.0.0划分成27个子网:27=11011;
      (2) 取得该二进制的位数,为N;
      该二进制为五位数,N = 5
      (3) 取得该IP地址的类子网掩码,将其主机地址部分的的前N位置1即得出该IP地址划分子网的子网掩码。
      将B类地址的子网掩码255.255.0.0的主机地址前5位置 1,得到 255.255.248.0
      2)利用主机数来计算
      如欲将B类IP地址168.195.0.0划分成若干子网,每个子网内有主机700台:
      (1) 将主机数目转化为二进制来表示;
      700=1010111100;
      (2) 如果主机数小于或等于254(注意去掉保留的两个IP地址),则取得该主机的二进制位数,为N,这里肯定 N<8。如果大于254,则 N>8,这就是说主机地址将占据不止8位;
      该二进制为十位数,N=10;
      (3) 使用255.255.255.255来将该类IP地址的主机地址位数全部置1,然后从后向前的将N位全部置为 0,即为子网掩码值。
      将该B类地址的子网掩码255.255.0.0的主机地址全部置1,得到255.255.255.255,然后再从后向前将后 10位置0,即为:11111111.11111111.11111100.00000000,即255.255.252.0。这就是该欲划分成主机为700台的B类IP地址 168.195.0.0的子网掩码。
      3)还有一种题型,要你根据每个网络的主机数量进行子网地址的规划和计算子网掩码。这也可按上述原则进行计算。
      比如一个子网有10台主机,那么对于这个子网需要的IP地址是:
      10+1+1+1=13
      注意:加的第一个1是指这个网络连接时所需的网关地址,接着的两个1分别是指网络地址和广播地址。
      因为13小于16(16等于2的4次方),所以主机位为4位。而256-16=240,所以该子网掩码为255.255.255.240。
      如果一个子网有14台主机,不少人常犯的错误是:依然分配具有16个地址空间的子网,而忘记了给网关分配地址。这样就错误了,因为14+1+1+1=17,17大于16,所以我们只能分配具有32个地址(32等于2的5次方)空间的子网。这时子网掩码为:255.255.255.224。
  • 相关阅读:
    Windows控制台程序“选定模式”的问题
    落网的音乐很好听的,你造么?不能下载啊,怎么破?
    记一次复杂的正则匹配——匹配但不包含
    判断浏览器是否为IE内核的最简单的方法
    Nodejs发送Post请求时出现socket hang up错误的解决办法
    Windows下通过bat脚本实现自动上传文件到ftp服务器
    jQuery对html进行Encode和Decode
    scala学习笔记:理解类继承
    scala学习笔记:理解lazy值
    scala学习笔记:match表达式
  • 原文地址:https://www.cnblogs.com/mcxfate/p/10434580.html
Copyright © 2011-2022 走看看