科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道CCNA基础:详解IP地址和子网掩码

CCNA基础:详解IP地址和子网掩码

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

一个IP地址是用来标识网络中的一个通信实体,比如一台主机,或者是路由器的某一个端口。而在基于IP协议网络中传输的数据包,也都必须使用IP地址来进行标识。

作者:巧巧读书 来源:巧巧读书 2008年6月8日

关键字: 子网掩码 什么是子网掩码 子网掩码计算 子网掩码划分

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共2页)

  一、为什么要使用IP地址?

  一个IP地址是用来标识网络中的一个通信实体,比如一台主机,或者是路由器的某一个端口。而在基于IP协议网络中传输的数据包,也都必须使用IP地址来进行标识,如同我们写一封信,要标明收信人的通信地址和发信人的地址,而邮政工作人员则通过该地址来决定邮件的去向。

  同样的过程也发生在计算机网络里,每个被传输的数据包也要包括的一个源IP地址和一个目的IP地址,当该数据包在网络中进行传输时,这两个地址要保持不变,以确保网络设备总是能根据确定的IP地址,将数据包从源通信实体送往指定的目的通信实体。

  目前,IP地址使用32位二进制地址格式,为方便记忆,通常使用以点号划分的十进制来表示,如:202.112.14.1.

  一个IP地址主要由两部分组成:一部分是用于标识该地址所从属的网络号;另一部分用于指明该网络上某个特定主机的主机号。

  为了给不同规模的网络提供必要的灵活性,IP地址的设计者将IP地址空间划分为五个不同的地址类别,如下表所示,其中A,B,C三类最为常用:

  A类 0-127 0 8位 24位

  B类 128-191 10 16位 16位

  C类 192-223 110 24位 8位

  D类 224-239 1110 组播地址

  E类 240-255 1111 保留试验使用

  网络号由因特网权力机构分配,目的是为了保证网络地址的全球唯一性。主机地址由各个网络的管理员统一分配。因此,网络地址的唯一性与网络内主机地址的唯一性确保了IP地址的全球唯一性。

  二、划分子网

  为了提高IP地址的使用效率,可将一个网络划分为子网:采用借位的方式,从主机位最高位开始借位变为新的子网位,所剩余的部分则仍为主机位。这使得IP地址的结构分为三部分:网络位、子网位和主机位。

  引入子网概念后,网络位加上子网位才能全局唯一地标识一个网络。把所有的网络位用1来标识,主机位用0来标识,就得到了子网掩码。如下图所示的子网掩码转换为十进制之后为:255.255.255.224

  子网编址使得IP地址具有一定的内部层次结构,这种层次结构便于IP地址分配和管理。

  它的使用关键在于选择合适的层次结构——如何既能适应各种现实的物理网络规模,又能充分地利用IP地址空间(即:从何处分隔子网号和主机号)

  在思科网络技术学院CCNA教学和考试当中,不少同学在进行IP地址规划时总是很头疼子网和掩码的计算。现在给大家一个小窍门,可以顺利的解决这个问题。

  首先,我们看一个CCNA考试中常见的题型:一个主机的IP地址是202.112.14.137,掩码是255.255.255.224,要求计算这个主机所在网络的网络地址和广播地址。

  常规办法是把这个主机地址和子网掩码都换算成二进制数,两者进行逻辑与运算后即可得到网络地址。其实大家只要仔细想想,可以得到另一个方法: 255.255.255.224的掩码所容纳的IP地址有256-224=32个(包括网络地址和广播地址),那么具有这种掩码的网络地址一定是32的倍数。而网络地址是子网IP地址的开始,广播地址是结束,可使用的主机地址在这个范围内,因此略小于137而又是32的倍数的只有128,所以得出网络地址是202.112.14.128.而广播地址就是下一个网络的网络地址减1.而下一个32的倍数是160,因此可以得到广播地址为 202.112.14.159.可参照下图来理解本例:

  CCNA考试中,还有一种题型,要你根据每个网络的主机数量进行子网地址的规划和计算子网掩码。这也可按上述原则进行计算。比如一个子网有10台主机,那么对于这个子网就需要10+1+1+1=13个IP地址。(注意加的第一个1是指这个网络连接时所需的网关地址,接着的两个1分别是指网络地址和广播地址。)13小于16(16等于2的4次方),所以主机位为4位。而256-16=240,所以该子网掩码为255.255.255.240.

  如果一个子网有14台主机,不少同学常犯的错误是:依然分配具有16个地址空间的子网,而忘记了给网关分配地址。这样就错误了,因为14+1+1+1 =17 ,大于16,所以我们只能分配具有32个地址(32等于2的5次方)空间的子网。这时子网掩码为:255.255.255.224.

  三、 IP 地址的局限性

  最初的因特网设计者没有预想到网络会有如此快速地发展,因此现在网络面临的问题都可以追溯到因特网发展的早期决策上,IP地址的分配更能体现这点。

  目前使用的IPv4地址使用32位的地址,即在IPv4的地址空间中有232(4,294,967,296,约为43亿)个地址可用。这样的地址空间在因特网早期看来几乎是无限的,于是便将IP地址根据申请而按类别分配给某个组织或公司,而很少考虑是否真的需要这么多个地址空间,没有考虑到IPv4地址空间最终会被用尽。

  因此,IPv4地址是按照网络的大小(所使用的IP地址数)来分类的,它的编址方案使用"类"的概念。A、B、C三类IP地址的定义很容易理解,也很容易划分,但是在实际网络规划中,它们并不利于有效地分配有限的地址空间。对于A、B类地址,很少有这么大规模的公司能够使用,而C类地址所容纳的主机数又相对太少。所以有类别的IP地址并不利于有效地分配有限的地址空间,不适用于网络规划。

  在这种情况下,人们开始致力于下一代因特网协议——IPv6的研究。由于现在IPv6的协议并不完善和成熟,需要长期的试验验证,因此,IPv4到 IPv6的完全过渡将是一个比较长的过程,在过渡期间我们仍然需要在IPv4上实现网络间的互连。而在90年代初期引入了变长子网掩码(VLSM)和无类域间路由(CIDR)等机制,作为目前过渡时期提高IPv4地址空间使用效率的短期解决方案起到了很大的作用。

  在介绍十进制算法前我们先要明确一些概念。

  类范围:IP地址常采用点分十进制表示方法X.Y.Y.Y,在这里,X在1~126范围内称为A类地址;X在128~191范围内称为B类地址;X在 192~223范围内称为C类地址。比如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来进行)。

  二、变量说明

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

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

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

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

  5.M指子网掩码。

  表示上述变量关系的公式如下:

  M=256-IP_block IP_block=256/Subnet_block或Subnet_block=256/IP_block IP_num=IP_block-2 Subnet_num=Subnet_block-2.

  6.2的幂数。大家要熟练掌握28(256)以内的2的幂代表的十进制数(如128=27、64=26等),这样可以使我们立即推算出Subnet_block和IP_block的数目。

  三、举例说明

  现在,通过举一些实际例子,大家可以对子网掩码和主机块的十进制算法有深刻的了解。

  1.已知所需子网数12,求实际子网数。

  这里实际子网数指Subnet_num,由于12最接近2的幂为16(24),即Subnet_block=16,那么Subnet_num=16-2=14,故实际子网数为14.

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

  首先,60接近2的幂为64(26),即IP_block=64; 其次,子网掩码M=256-IP_block=256-64=192,最后由子网掩码格式B类是255.255.M.0得出子网掩码为255.255.192.0.

  3.如果所需子网数为7,求子网掩码。

  7最接近2的幂为8,但8个Subnet_block因为要保留首、尾2个子网块,即 8-2=6< 7,并不能达到所需子网数,所以应取2的幂为16,即Subnet_block=16.因为IP_block=256/Subnet_block= 256/16=16,所以子网掩码M=256-IP_block=256-16=240.

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

  由于211.Y.Y.Y是一个C类网,子网掩码格式为255.255.255.M,又知有4个子网,4接近2的幂是8(23),所以 Subnet_block=8,Subnet_num=8-2=6,IP_block=256/Subnet_block=256/8=32,子网掩码M =256-IP_block=256-32=224,故子网掩码表示为255.255.255.224.又因为子网块的首、尾两块不能使用,所以可分配6 个子网,每个子网有32个可分配主机块,即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,因此子网掩码为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个子网。

  总之,只要理解了公式中的逻辑关系,就能很快计算出子网掩码,并得出可分配的主机块。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章