• IP地址的分类,五分类编制CIDR以及子网的划分和子网掩码


    网络层

    4.2.2分类的IP地址;
    IP地址就是一个给互联网上的每一台主机的每一个接口分配一个在全世界范围内是唯一的32位标识符。
    三个历史阶段:
    分类的IP地址;
    子网的划分;
    构成超网;

    分类的IP地址

    分类的IP地址:A类,B类,C类都由两个固定长度的字段组成,第一个字段是网络号,第二个网络是主机号;
    一个网络号必须在整个互联网的范围上是唯一的;
    一个主机号必须在他前边的网络号所指明的网络范围内是唯一的;
    在这里插入图片描述
    A类地址网络号字段占一个字节(0),所以只有7位可用(该字段的第一位固定为0),可指派的网络号是126个(27-2);因为ip地址中的全0表示“这个(this)”,例如A类地址0.0.0.35表示“在这个网络上主机号为35的主机”;
    网络号字段全为0的是个保留地址表示“本网络”,例如:一个主机的ip地址是5.6.7.8那么他所在的网络为5.0.0.0;
    A类地址可以指派的第一个网络是1.0.0.0
    B类地址由于固定字段为10,剩下的14位无论怎样都无法拼凑2个字节的全0||全1,所以不存在网络总数-2的问题,实际上B类网络地址128.0.0.0是不指派的,而可以指派的第一个网络是128.1.0.0;
    C类地址类似B类地址,可以指派放到第一个网络是1100 0000=128+64=192.0.1.0;

    至于主机 ,任何类型的地址的主机数都要-2,因为主机号全1表示在该网络上的所有主机,全0表示该主机所连接到的单个网络地址;
    比如B类地址128.7.255.255表示在网络127.7.0.0上的所有主机;

    无分类编址(CIDR)

    CIDR:无分类编址,即无类别域间路由选择(Classless Inter-Domain Routing)——CIDR

    主要特点:

    1. 消除了传统的A类、B类、C类地址划分子网的概念
    2. 使用各种长度 “网络前缀” 来代替分类地址中网络号和子网号
    3. CIDR使用 “斜线记忆法”,又称为"CIDR记法" ,即在IP地址后面加上一个斜线 “/”,然后写上网络前缀所占的比特数。如,
    4. 166.100.20.82/20表示在这个32位的IP地址中,前20位表示网络前缀,后面12位主机号。
      5. 网络前缀相同的IP地址空间组成了CIDR地址块,地址块的大小为2^(32-N)(N为网络前缀位数),CIDR地址块就用该地址块的起始地址和地址块大小(地址块中的地址数)表示。如,202.100.160.0/20表示起始位置是202.100.160.0,最大地址是202.100.175.255,地址数是212。
      202.100.(10100000)2.(0000 0000)2 ---- 202.100.(1010 1111)2.(1111 1111)2;
      及后边的12位主机位从全0到全1,(CIDR不需要额外区分全0,全1);

    6. CIDR取消了子网概念,不进行子网划分,但还使用掩码。对一个有N为网络前缀的IP地址,其掩码就是高位N个连续的1,余下的是32-N个0。
    7. CIDR的用途之一就是构造超网。使用CIDR地址块后,网络路由器中的路由表项可以表示很多个传统IP地址的路由信息,相当于把若干个网络合并为一个超网来进行路由。这种地址的聚合称为路由聚合,也称为构造超网。

    子网掩码

    在这里插入图片描述

    子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。
    子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
    子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。
    子网掩码——屏蔽一个IP地址的网络部分的“全1”比特模式。对于A类地址来说,默认的子网掩码是255.0.0.0;对于B类地址来说默认的子网掩码是255.255.0.0;对于C类地址来说默认的子网掩码是255.255.255.0。
    通过子网掩码,就可以判断两个IP在不在一个局域网内部。
    怎么判断两个IP是否在同一个局域网当中呢?
    子网掩码就是用来给你指明哪些是网络部分,哪些是主机部分,如果网络部分相同,那主机就在同一网络里。
    子网掩码可以看出有多少位是网络号,有多少位是主机号

    由于从一个IP地址的首部无法判断源主机或目的主机所连接的网络是否进行了子网划分;
    所以使用子网掩码,用来找出IP地址中的子网部分;
    规则:
    子网掩码长度=32位;
    某位=1:IP地址中的对应位为网络号和子网号;
    某位=0;IP地址中的对应位为主机号;
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    例题如上图所示:
    子网掩码:1111 1111 1111 1111 1100 0000 0000 0000
    拿IP地址按位与,得到结果是141.14.64.0;所以她的网络地址是141.14.64.0;

    在这里插入图片描述
    A类子网本身网络号有8位,子网号有16个1,所以子网掩码=网络号+子网号=24位,主机号有8位;
    B类子网本身网络号有16位,子网号有8个1,所以子网掩码=网络号+子网号=24位,主机号有8位;

    已知子网掩码是在这里插入图片描述求每个子网上的主机数量是多少
    255.255.240.0
    =1111 1111,1111 1111,1111 0000,0000 0000子网号+网络号是20位,所以主机号是12位,-2;
    所以是2^12-2=1024*4-2=4096-2=4094;

    在这里插入图片描述
    有意义,表达的是更小的网络

    下边是一些关于IP地址和子网掩码的练习:

    1.根据IP地址和子网掩码求网络地址和广播地址
    解析:首先要知道网络地址是主机号全为0,广播地址是主机号全为1;
    实例:一个主机的IP地址是202.112.14.137,掩码是255.255.255.224,要求计算这个主机所在网络的网络地址和广播地址
    由掩码是255.255.255.224得11111111 11111111 11111111 1110 0000
    224=255-31;31=1+2+4+8+16=0001 1111;
    1111 1111
    0001 1111


    1110 0000=128+64+32=128+96=224;
    137=128+9=128+8+1=0100 1001
    0100 1001 & 1110 0000 = 0100 0000=128 网络,0101 1111 =128+16+8+4+2+1=128+31=159;
    显然网络号+子网号是27位,主机号是5位,所以网络地址是202.112.14.128,广播地址是202.112.14.159;

    2.根据每个网络的主机数量进行子网地址的规划和计算子网掩码
    2.1假设一个子网有10台主机,那么对于这个子网需要的IP地址是10+1+1+1=13;
    ==注:第一个1是这个网络连接时所需要的网关地址;接着的两个1是指网络地址和广播地址;
    8<13<16;所以需要四位主机位;24=16;所以256-16=240;
    所以子网掩码为255.255.255.1111 0000 =255.255.255.240;

    2.2如果一个子网有14台主机,那么需要14+3=17(而不是16注意不要忽略网关分配一个地址)
    16<17<32所以需要5位主机位,25=32;256-32=224=1110 0000;
    所以子网掩码是255.255.255.224;

    1. 206.110.4.0/18被划分为16个子网,求每个子网掩码?
      因为被划分为16个子网,所以子网号的位数是4,而/18表示网络号有18位,所以子网+网络号=18+4=22位;
      所以8 8 6 ;为全1位,即为11111111 11111111 11111100 00000000
      所以子网掩码是255.255.252.0,有1024个主机位

    2. 在这里插入图片描述
      这个意思应该是这个网络没有划分子网吧,然后直接就得出子网掩码了;

  • 相关阅读:
    rsync远程同步
    一文了解“字符集”
    Java面试题之线程通信的方式
    list addAll 报错 java.lang.UnsupportedOperationException: null
    【电路笔记】-脉冲宽度调制(PWM)与电机转速控制
    数据可视化之交通可视化
    2023年“羊城杯”网络安全大赛 Web方向题解wp 全
    Dockerfile自定义镜像实操【镜像结构、Dockerfile语法、构建Java项目】
    「微前端实践」使用Vue+qiankun微前端方案重构老项目的本地验证
    Mockito搭配junit单元测试
  • 原文地址:https://blog.csdn.net/linjianshaonian_/article/details/127373552