zoukankan      html  css  js  c++  java
  • 如何理解子网掩码中的“子网”?


    子网
    ip地址由网络号、主机号组成
    网络号标识的是Internet上的一个子网,而主机号标识的是子网中的某台主机。网际地址分解成两个域后,带来了一个重要的优点:IP数据包从网际上的一个网络到达另一个网络时,选择路径可以基于网络而不是主机。在大型的网际中,这一点优势特别明显,因为路由表中只存储网络信息而不是主机信息,这样可以大大简化路由表。
    子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
    子网掩码它的主要作用有两个,一是用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。二是用于将一个大的IP网络划分为若干小的子网络。
    IP地址根据网络号和主机号的数量而分为A、B、C三类:
    A类IP地址A类IP地址:用可变的7位(bit)来标识网络号,可变的24位标识主机号,最前面一位为"0",即A类地址的第一段取值介于1~126之间。A类地址通常为大型网络而提供,全世界总共只有126个A类网络,每个A类网络最多可以连接16777214台主机。
    B类IP地址B类IP地址:用可变的14位来标识网络号,可变的16位标识主机号,前面两位是"10"。B类地址的第一段取值介于128~191之间(网络号不能以数字127开头,数字127是专门保留给诊断用的,如127.0.0.1是回送地址,用于回路测试),第一段和第二段合在一起表示网络号。B类地址适用于中等规模的网络,全世界大约有16000个B类网络,每个B类网络最多可以连接65534台主机。
    C类IP地址C类IP地址:用可变的21位来标识网络号,可变的8位标识主机号,前面三位是"110"。C类地址的第一段取值介于192~223之间,第一段、第二段、第三段合在一起表示网络号。最后一段标识网络上的主机号。C类地址适用于校园网等小型网络,每个C类网络最多可以有254台主机。
    子网用途
    只有在一个网络号下的计算机之间才能"直接"互通,不同网络号的计算机要通过网关(Gateway)才能互通。但这样的划分在某些情况下显得并不十分灵活。为此IP网络还允许划分成更小的网络,称为子网(Subnet),这样就产生了子网掩码。子网掩码的作用就是用来判断任意两个IP地址是否属于同一子网络,这时只有在同一子网的计算机才能"直接"互通。
    要将一个网络划分为多个子网,因此网络号将要占用原来的主机位,如对于一个C类地址,它用21位来标识网络号,要将其划分为2个子网则需要占用1位原来的主机标识位。此时网络号位变为22位,主机标示变为7位。同理借用2个主机位则可以将一个C类网络划分为4个子网……那计算机是怎样才知道这一网络是否划分了子网呢?这就可以从子网掩码中看出。子网掩码和IP地址一样有32bit,确定子网掩码的方法是其与IP地址中标识网络号的所有对应位都用"1",而与主机号对应的位都是"0"。
    故A类地址的缺省子网掩码为255.0.0.0,B类为255.255.0.0,C类为255.255.255.0。
    子网位数  子网掩码  主机数  可用主机数
    1  255.255.255.128  128  126
    2  255.255.255.192  64  62
    3  255.255.255.224  32  30
    4  255.255.255.240  16  14
    5  255.255.255.248  8  6
    6  255.255.255.252  4   2
    你可能注意到上表分了主机数和可用主机数两项,这是为什么呢?因为当地址的所有主机位都为"0"时,这一地址为线路(或子网)地址,而当所有主机位都为"1"时为广播地址。
     
    作者:毛毛雨
    链接:http://www.zhihu.com/question/21064101/answer/43650083
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    iScroll.js 用法参考
    行内元素和块级元素
    struct和typedef struct彻底明白了
    C/C++语法知识:typedef struct 用法详解
    不是技术牛人,如何拿到国内IT巨头的Offer (转载)
    笔试客观题-----每天收集一点点
    <C++Primer>第四版 阅读笔记 第一部分 “基本语言”
    <C++Primer>第四版 阅读笔记 第四部分 “面向对象编程与泛型编程”
    <C++Primer>第四版 阅读笔记 第三部分 “类和数据抽象”
    <C++Primer>第四版 阅读笔记 第二部分 “容器和算法”
  • 原文地址:https://www.cnblogs.com/imsoft/p/5459199.html
Copyright © 2011-2022 走看看