CIDR,子网掩码以及划分子网超网

对于中小企业,假如有两千台机器,给他分个B类地址,6万多个,太浪费了,分个C类地址,一个C类地址254个,又不够,又得多申请几个,所以A,B,C类IP地址划分太过僵硬,很不灵活,因此又提出无类域间路(CIDR)由划分IP地址的方法。
无类域间路由(CIDR)
传统划分IP地址的方法都是8位划分的,要不就是前8位网络ID,后24位主机ID;或前16位网络ID,后16位主机ID,或前24位网络ID,后8位主机ID,这种划分IP地址的方法是固定的,不能出现前10位是网络ID,后22位是主机ID这种ID地址,而无类域间路由这种划分IP地址的方法,就可以划分这种地址,他并不强行规定哪些位是网络ID,哪些位是主机ID,怎样划分就看你的心情了。
子网掩码
因为不规定明确的网络ID和主机ID,假如给你一个IP地址,怎么知道哪几位是网络ID位,哪几位是主机ID位呢?于是提出了子网掩码的概念,根据子网掩码配合IP地址可以判断出哪些位是网络ID,哪些位是主机ID。
子网掩码,共32位,和IP地址位位对应,对应于网络ID的那些位,子网掩码位为1,对应于主机ID的那些位,子网掩码位为0。
A类地址的子网掩码
8位网络ID 24位主机ID A类地址
11111111 000000000000000000000000 子网掩码
255.0.0.0 转化成十进制
 

B类地址的子网掩码

16位网络ID 16位主机ID B类地址
1111111111111111 0000000000000000 子网掩码
255.255.0.0 转化成十进制
 

C类地址的子网掩码

24位网络ID 8位主机ID C类地址
111111111111111111111111 00000000 子网掩码
255.255.255.0 转换成十进制
 

 

子网掩码中,1一定在前面,0在后面,而且必须是连续的

我们就只讨论8位子网掩码
00000000 0
10000000 128
11000000 192
11100000 224
11110000 240
11111000 248
11111100 252
11111110 254
11111111 255
这些都能成为子网掩码。
 
假如说一个小网络中要划分两个IP地址,那么要怎么划分这样一个网络,子网掩码又是什么?
划分两个IP地址,就说明主机数为2,套公式2^x=2,可以求出来x=2,所以应划分为网络ID位为30,主机ID位为2的IP地址,子网掩码为30个1,2个0,转化成十进制为255.255.255.252
 
CIDR(无类域间路由)表示法:IP/网络ID位数=IP/(32-主机ID位数)
例如:A类地址的CIDR表示法:IP/8
 

例题1 172.17.0.100/26

(1)netmask(十进制子网掩码)?

前26位是网络ID,后6位是主机ID

11111111111111111111111111 000000

255.255.255.192
(2)主机数多少个?
2^(32-26)=2^6-2=62
(3)网络ID值是什么?
网络ID值就是IP与子网掩码相与
01100010 172.17.0.100
11111111111111111111111111000000 255.255.255.192
01000000 172.17.0.64
所以网络ID值为172.17.0.64/26
注释:因为255化为二进制全为1,所以谁与255相与还未谁,所以前三位不用考虑,不变,只考虑第四位就行了。
 

 

0与0 0

1与0 0
0与1 0
1与1 1
规律:0与谁为0,谁与1位谁
 

 

例题2:110.110.244.100/22

(1)netmask(十进制子网掩码)?

前22位是网络ID,后10位是主机ID

11111111111111111111110000000000
255.255.252.0
(2)主机数多少个?
2^(32-22)-2=2^10-2=1022
(3)网络ID值是什么?
1111010001100100 110.110.244.100
11111111111111111111110000000000 255.255.252.0
1111010000000000 110.110.244.0
所以网络ID值为110.110.244.0/22
 
判断两个主机是否在一个网络(就看IP地址的网络ID位是否一样)
192.168.1.100/16
192.168.2.100/16
前十六位都是192.168,所以在一个网络里
 
192.168.1.100/24
192.168.2.100/24
看前24位,一个是192.168.1,一个是192.168.2,所以不在一个网络
 
假如A和B通讯
A:192.168.1.100/24
B:192.168.2.100/16
对于A来说:先拿A的IP地址与自己子网掩码相与得出网络ID值为192.168.1.0,再拿B的IP地址与自己的IP地址相与得出网络ID值为192.168.2.0(不能和B的子网掩码相与,因为A和B通讯,A只知道B的IP地址,并不知道到B的子网掩码),前24位不相同,所以在A的眼里面A和B不在一个网络里,那么A就要找路由器,通过路由器把数据发给B。
对于B来说:先拿B的IP地址与自己的子网掩码相与得出网络ID值为192.168.0.0,再拿A的IP地址与自己的子网掩码相与得出网络ID值为192.168.0.0,前16位相同,所以在B眼里B和A在一个网络里,B直接和A进行通讯。
 
例题3:给出IP地址和子网掩码
10.100.222.100
255.255.248.0
(1)CIDR表示法
255.255.248.0
11111111 11111111 11111000 00000000 前21位都是1,说明IP地址的网络ID位为21位
所以CIDR表示法为:10.100.222.100/21
(2)主机数是多少?
2^(32-21)-2=2^11-2=2046
(3)网络ID值是多少?
11011110 00000000 10.100.222.100
11111111 11111111 11111000 00000000 255.255.248.0
11011000 00000000 10.100.216.0
所以网络ID值为10.100.216.0/21
 
公式
1 主机数=2^主机ID位-2
2 网络数=2^可变的网络ID位
3 网络ID=IP和netmask 相与
4 划分子网数=2^网络ID向主机ID借的位数
5 损失IP=2*(划分子网数-1)
 
划分子网
划分子网:将一个大网络(主机ID位多)划分多个小的网络(主机ID位少),网络ID向主机ID借位,网络ID变多,主机ID变少
10.0.0.0/8 前8位是网络ID
IP范围:10.0.0.1~10.255.255.254
 
我们先借一位
10.00000000.0.0
10.0 00000000.0.0
前九位是网络ID,这就将10.0.0.0/8划分为2个子网,为10.0 0000000.0.0/9和
10.1 0000000.0.0/9(因为借来的一位是主机ID,主机ID位是可变的,所以借来的这一位也可变)
第一个子网:10.0 0000000.0.0/9 IP范围为:10.0 0000000.0.1/9~10.0 1111111.255.254/9
第二个子网:10.1 0000000.0.0/9 IP范围为:10.1 0000000.0.1/9~10.1 1111111.255.254/9
和10.0.0.0/8的范围对比发现损失了边界两个IP10.0 1111111.255.255和10.1 0000000.0.0
 
我们借两位
10.00000000.0.0
10.00 000000.0.0
前10位是网络ID,这就将10.0.0.0/8划分为4个子网,为10.00 000000.0.0/10和10.01 000000.0.0/10和10.10 000000.0.0/10和10.11 000000/10
第一个子网:10.00 000000.0.0/10 IP范围:10.00 000000.0.1/10~10.00 111111.255.254/10
第二个子网:10.01 000000.0.0/10 IP范围:10.01 000000.0.1/10~10.00 111111.255.254/10
第三个子网:10.10 000000.0.0/10 IP范围:10.10 000000.0.1/10~10.10 111111.255.254/10
第四个子网:10.11 000000.0.0/10 IP范围:10.11 000000.0.1/10~10.11 111111.255.254/10
和10.0.0.0/8的IP范围对比发现少了6个边界的IP,10.00 111111.255.255和10.01 000000.0.0和10.01 111111.255.255和10.10 000000.0.0和10.10 111111.255.255和10.11 000000.0.0
从这我们就可以得出两个公式:
划分子网数=2^网络ID向主机ID借的位数
损失IP=2*(划分子网数-1)
 
例题1:172.200.249.200/22 划分16子网
1 每个子网络netmask
划分16子网,套公式,16=2^x可以求出x=4,所以网络ID向主机ID借的位数为4,所以网络ID位数应为22+4=26位,所以子网掩码前26位为1,后6位为0
11111111111111111111111111 000000 二进制的子网掩码
255.255.255.192 转换成十进制
所以每个子网络netmask为255.255.255.192
2 每个子网络的主机数
2^(32-26)-2=2^6-2=62
3 最小子网的netid
172.200.11110 01 11001000/22
划分16子网172.200.111110 0111 001000/26向主机ID借了4位,所以0111这四位变为网络ID位了。当这四位全为0时且主机ID位全为0时,就为最小子网的网络ID,为172.200.248.0/26
4 最大子网的IP范围
借的四位全为1时,划分的子网最大,所以最大子网IP范围为:172.200.11110 11. 11000001~172.200.11110 11.11111110
化成十进制为172.200.251.193~172.200.251.254
 
划分超网
划分超网:将多个小网合并一个大网,主机ID向网络ID借位
例子:将以下几个小网合并成大网
220.78.168.0/24 220.78.10101 000.0/24
220.78.169.0/24 220.78.10101 001.0/24
220.78.170.0/24 220.78.10101 010.0/24
220.78.171.0/24 220.78.10101 011.0/24
220.78.172.0/24 220.78.10101 100.0/24
220.78.173.0/24 220.78.10101 101.0/24
220.78.174.0/24 220.78.10101 110.0/24
220.78.175.0/24 220.78.10101 111.0/24
将第三位划分为二进制,我们发现前两位和第三位的前5位是一样的。所以把第三位的后三位借走为主机ID,这时就变成前21位是网络ID,后11位为主机ID,就能把这几个小网合并成一个新网为220.78.10101.000.0/21,包含了原来的网络。当然合并是有前提的,借的位前面的位是相同的,且借的位是连续的(例子中000-111都包括),假如说中间缺了一位220.78.10101.011.0/24,但是合并出的新网也包含他,所以必须借的位是连续的。
 
 

原创文章,作者:fuming,如若转载,请注明出处:http://www.178linux.com/85889

(6)
上一篇 2017-09-16 09:45
下一篇 2017-09-16 10:52

相关推荐

  • Linux网络管理&脚本编程之执行流程、循环

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 网桥(Bridge):是早期的两端口二层网络设备,用来连接不同网段。网桥的两个端口分别有一条独立的交换信道,不是共享一条背板总线,可隔离冲突域。网桥比集线器(Hub)性能更好,集线器上各端口都是共享同一条背板总线的。后来,网桥被具有更多端口、同时也可隔离冲突域的交换机(Switc…

    Linux干货 2016-11-14
  • 重定向、管道——Linux基本命令(9)

    1.     输出重定向 Linux默认输入是键盘,输出是显示器。可以用重定向来改变这些设置。比如用wc命令的时候本来是要手动输入一篇文字来计算字符数的,可以直接把一个已经写好的文件用‘<’指向这条命令,就直接可以统计这个文件的字符数等了。   STDOUT(标准输出)和STDERR(标准错误)可以被重…

    2017-07-20
  • Linux学习

    计算机的组成及功能 计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部件组成。运算器:进行算术和逻辑运算。控制器:负责协调和指挥整个计算机的工作存储器:存储程序、数据和文档。输入设备:用于将各种数据输入计算机中。输出设备:用于将计算机中的数据输出到相应设备上。   计算机软件总体分为系统软件和应用软件两大类:系统软件是各类操作系统,如wi…

    Linux干货 2017-12-03
  • 关于 LVM 逻辑卷管理

                  逻辑卷管理 (LVM)    允许对卷进行方便操作的抽象层,包括从新设定文件系统的大小   允许在多个设备间重新组织文件系统将设备指定为物理卷用一个或者多个物理卷来创建一个卷组物理卷是用固定大小的物理区…

    系统运维 2016-09-02
  • Linux基于OpenSSL实现私有CA构建

    前言 随着互联网的迅猛发展,网络通信已经成为传递信息的主要途径。而通信时的数据传输大部分却是明文传输的,在网络这个不安全的环境下,如果没有一套数据加密机制,就会导致敏感信息和重要数据泄露,引起不可估量的损失。而OpenSSL正好弥补了这一缺憾,那什么是OpenSSL呢?OpenSSL是一套强大的具有加密功能的组件,它包含libcrypto(公共加密库)、li…

    Linux干货 2015-04-13
  • lvm的应用

    前言    lvm是logical volume manager(逻辑卷管理器)的简称,通过将若干个磁盘分区连接成一个整块的卷组(volumegroup),形成一个存储池,管理员可以在卷组上随意创建逻辑卷(logicalvolumes),并进一步在逻辑卷组上创建文件系 统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按…

    Linux干货 2016-05-23