ipv4 子网划分,子网掩码等

  1. ip就是网络地址,你的计算机(网卡)在网络中的标识。(可以先看第23点)

  2. 每个 ipv4 地址 都有4个字节 32位,所以一共就是有2^32个地址

  3. 每台联网的电脑都要有一个ip地址才能通信,所以首先我们要规划好这些地址。

  4. 首先我们将ipv4 地址分为两部分网络位 + 主机位。网络位可以理解为区分不同的网段(网路),主机位就是用来区分不同的主机。

  5. 我们将所有的ip 划分为5类

    A类 1字节网络位+3字节主机位    网络位最高为0
    B类 2字节网络位+2字节主机位    网络位最高为10
    C类 3字节网络位+1字节主机位    网络位最高为110
    D类 不区分网络位主机位,不指向特定网络,为组播地址    ip以1110开头
    E类 不区分网络位主机位,实验保留地址  ip以1111开头
    
    从这里我们可以看出区分地址的方式是根据ip地址开头的不同方式区分,这样划分是连续的不重复的。
    这样划分我们可以知道A类总地址是最多的,BCDE依次递减半
    然后ABC类确定了不同字节的主机位 + 主机位。
    这样我们可以知道A类地址网段少,但是每个网段容纳的主机数最多,所以A类地址分配给规模特别大的网络使用,BC类依次递减。
    
    来个总结
    类别	二进制前缀	地址范围(十进制)	默认子网掩码	网络与主机划分	用途
    A类	0xxxxxxx	1.0.0.1 ~ 126.255.255.254	255.0.0.0 (/8)	网络号8位,主机号24位	大型网络(国家级、ISP)
    B类	10xxxxxx	128.0.0.1 ~ 191.255.255.254	255.255.0.0 (/16)	网络号16位,主机号16位	中型网络(企业、机构)
    C类	110xxxxx	192.0.0.1 ~ 223.255.255.254	255.255.255.0 (/24)	网络号24位,主机号8位	小型网络(家庭、办公室)
    D类	1110xxxx	224.0.0.0 ~ 239.255.255.255	无	不划分网络与主机	组播通信(视频会议、流媒体)
    E类	1111xxxx	240.0.0.0 ~ 255.255.255.254	无	保留地址	实验与研究用途
    
    注意这个表中的地址范围看起来不连续,他是剔除了一些特殊的地址的如私有地址
    如127.×.×.×:是本地环回地址,指本机地址,一般用来测试使用。回送地址(127.×.×.×)是本机回送地址(Loopback Address),即主机IP堆栈内部的IP地址。
    这些下面会总结提到
    
    ps:255.0.0.0 (/8)  中的8 表示连续1的个数,其实也就是网络位有多少位, 主机位就是32 - 8 = 24位
    
  6. 好了,我们现在将所有的ipv4地址都归类完了,但是我们有时候计算机除了接入大家都在的互联网内,还可以自己组成局域网或称私网。

  7. 那怎么办呢?我们再将ip 拿出一部分 区分为私网ip 和 公网ip,这样清晰明了,私网和公网也就不混淆了。

  8. 怎么拿?

    私网我们也可能有不同的规模(不同数量的主机数),所以我们分别从ABC类中取出一些网段作为私网ip
    在IP地址3种主要类型里,各保留了1个区域作为私有地址,给局域网用,这些地址可以被用于私有网络,在Internet中没有这些IP地址,Internet上的路由器也没有到私有网络的路由表。
    
    A类:10.0.0.0 ~ 10.255.255.255 (掩码255.0.0.0),保留了1个A类网段(网络):10。  ps:前1个字节为网络位
    B类:172.16.0.0 ~ 172.31.255.255 (掩码255.255.0.0),保留了16个B类网络:172.16 ~ 172.31。  ps:前2个字节为网络位
    C类:192.168.0.0 ~ 192.168.255.255 (掩码255.255.255.0),保留了256个C类网络:192.168.0 ~ 192.168.255。 ps:前3个字节为网络位
    
    这样我们就有了这些私网ip,与公网ip 区分了开来
    注意我们这样划分只是我们的概念,真正处理ipv4地址的是我们的硬件设备
    
    我们的设备按照我们划分制定的标准,做了控制,比如ip过滤,拦截等
    
  9. 私网的核心特性

    1. 不可路由性:私有IP地址无法直接在互联网上传输,需通过**NAT(网络地址转换)**映射为公网IP进行通信。

      示例:家庭路由器将内网设备192.168.1.10转换为公网IP123.45.67.89访问百度。

    2. 重复使用性:不同局域网可复用相同私有地址段(如多个家庭网络均可使用192.168.1.0/24)

    3. 安全性: 内网设备对外隐藏真实IP,降低被攻击风险。

  10. 另外,根据实际需求,我们除了私网外,还有一些特殊用途的ip的地址,总结如下

    主机ID全为0的地址(如:192.168.0.0):特指某个网段,比如:192.168.0.0(子网掩码:255.255.0.0),指192.168.×.×网段。
    
    主机ID全为1的地址(如:192.168.255.255):特指该网段的全部主机,比如:192.168.255.255(子网掩码:255.255.0.0),如果你的计算机发送数据包使用主机ID全是1的IP地址,数据链层就会使用广播地址FF-FF-FF-FF-FF-FF(ARP协议会用到)。
    
    255.255.255.255:是一个特殊的广播地址,标识广播域内的所有主机,不是指互联网上所有主机,因为255.255.255.255传播范围非常有限,到了广播域的边界(网关)会自动终结。
    
    127.×.×.×:是本地环回地址,指本机地址,一般用来测试使用。回送地址(127.×.×.×)是本机回送地址(Loopback Address),即主机IP堆栈内部的IP地址。
    
    0.0.0.0:用于指定默认路由;如果计算机的IP地址和网络中的其他计算机地址冲突,使用ipconfig命令看到的就是0.0.0.0,子网掩码也是0.0.0.0。
    
    169.254.0.0:169.254.0.0-169.254.255.255实际上是自动私有IP地址,DHCP自动获取失败会获得该网段地址。
    
    ps:所以你会看到第五点 总结的表中 剔除了一些地址,比如主机ID全为0 或 主机ID全为1 (就是没有xxx.0 和xxx.255)
    
  11. 好了,不关注另外的,我们现在关注一个问题:我有很多台设备,而且这些设备又分为很多组,要让他们处于私网的不同网段,那我们该如何处理呢?

  12. 这里就是涉及子网划分了(一般子网划分应该只在企业中,企业不同部门有不同的保密要求和等级才会划分子网)

  13. 首先我们要明白什么是子网划分,为什么子网划分。首先既然是子网,那我们就有一个原始网段,即我们所有的设备都在这个原始网段下面,但是我们又要在这个原始网段下划分子网

  14. 例如一个原始网段192.168.1.0(即192.168.1,前三位为网络位),这个网段主机位只有一个字节,它支持的主机数量为254 即 1-254。(192.168.1.1-192.168.1.254),也就是说在这个网段下只有254个地址,仅支持254个主机。

  15. 好了,现在我们要划分子网,只能拿这254个地址做文章,把他们分成n份,还得让设备能识别每个地址是属于哪一份(哪个子网)。ps:我们不可能拿不属于这个原始网段下即不属于192.168.1.0 网段下的地址做文章吧(其实可预见应该有其他复杂的技术实现,毕竟子网是它下属里面的ip 又和 外面的ip有什么关系呢?相同就相同吧,肯定有办法不影响他的唯一性,并且能证明它又属于原始网段。)

  16. 假如我们要划分四个子网,我们只能拿这0 - 254想办法怎么分成四份。我们能动的只有主机位,因为网络位代表了原始网段(不能动)。

  17. 既然如此,那好我们再从主机位 中 拿出两位 给网络号。 2^2 = 4 ,这下就分为四份了。

    192.168.1.0
    11000000|10101000|00000001|(网络位) 00000000(主机位)
    前面的11000000|10101000|00000001 这是原始网段的网络位不能动
    要划分4个子网,从主机位下手,我们要把主机位分成四份,如果我们从主机位中拿出两位,就可以这样分成四份
    11000000|10101000|00000001|00(网络位) 000000(主机位)
    这下有四个子网了:
    11000000|10101000|00000001|00(网络位)
    11000000|10101000|00000001|01(网络位)
    11000000|10101000|00000001|10(网络位)
    11000000|10101000|00000001|11(网络位)
    
    每个子网能支持2^6-2 = 62个主机
    
    子网名称	子网地址	可用IP范围	广播地址	子网掩码
    子网1	192.168.1.0/26	192.168.1.1 ~ 192.168.1.62	192.168.1.63	255.255.255.192
    子网2	192.168.1.64/26	192.168.1.65 ~ 192.168.1.126	192.168.1.127	255.255.255.192
    子网3	192.168.1.128/26	192.168.1.129 ~ 192.168.1.190	192.168.1.191	255.255.255.192
    子网4	192.168.1.192/26	192.168.1.193 ~ 192.168.1.254	192.168.1.255	255.255.255.192
    
  18. 好了,我们现在我们分成了四个子网,但我们好像忘了什么事。我们借用了两个主机位给网络位,但我们什么都没说呀,设备如何知道现在的网络位有26位了,之前设备可以通过ip地址的前几位,判断它是哪类ip地址,从而知道哪几位是网络位,恐怕它现在还以为网络位是24位吧。

  19. 不用慌,我们有子网掩码,子网掩码和ipv4总位数一致,但是它是由连续的1和0组成。开头有几位连续的1,就代表了有几位网络位。

    比如我们的原始网段192.168.1.0, 它是C类地址,C类地址默认的子网掩码是255.255.255.0, 即24个连续的1
    现在既然我们的网络位有26位,我们的子网掩码就是255.255.255.192, 即26个连续的1
    
    所以我们要判断两个地址是否在同一网段,就可以让地址和子网掩码进行“与”运算(全部用二进制表示进行与运算),结果一致就说明是同一网段(结果必然就是各自的网络位)
    可以自己随便举个例子。
    
  20. 现在我们成功的完成了一次子网的划分,但是我们会发现我们分的四个子网可容纳的主机数是一样的。似乎觉得哪里有点不太完美?因为我们实际的需求可能是每个子网有不同数量的主机,有的子网有很多主机,有的只有几台,等量分的话肯定造成了ip地址的浪费。

  21. 那怎么办呢?

  22. 我们先仔细回顾我们分配的子网,我们会发现我们的子网的子网掩码都是一样的。再想想我们子网划分的本质,本质是什么?本质是将主机位进行分类,其实就是将二进制数划分!
    这个二进制划分有什么要求?
    1.连续
    2.不等长

    好的,我们现在举个例子:
    原始网段仍是192.168.1.0
    仍然分成四份,但是各个子网需求是50,20,20,10 这样,其余没用到的保留(该原始网段下8个主机位,共有254个地址)
    192.168.1.0
    11000000|10101000|00000001|(网络位) 00000000(主机位)
    我们先尝试严格按照50,20,20,10 的数量连续划分主机位,即:
    A子网 0-49       00000000-00110001
    B子网 50-69      00110010-01000101
    C子网 70-89      01000110-01011001
    D子网 90-99      01011010-01100011
    好了,分完了,是不是很完美,哈哈
    但是有个问题,观察这些数字,我们发现,根本无法区分网络位!我们不单是划分,我们还要能够轻松识别一个地址它是属于哪一个子网,要能识别分类!
    
    比如0-49, 前面相同的00   好我们把两个零借出去当网络位     即连续两个零是A子网(这里忽略前面的原始网段的网络位)
    但是50-69  前面相同的只有0   我们可以把一个零借出去当网络位   即连续一个零是B子网
    
    好嘛,问题来了,按照约定网络位规则, 地址50 即00110010 应该是属于A子网还是B子网呢?
    
    所以我们不能这划分!
    该怎么分呢?按照2的n次方来分,这样分的数据才不会 跨位,有规律,即:
    00000000 - 00000001  是一类
    00000010 - 00000011  是一类
    00000100 - 00000111  是一类
    不跨位,就是保证所分的同一组中最大地址和最小地址前面的位数数字相同,其余位数最小值全为0,最大值全为1 (其实和最开始ipv4 分类也一样)
    
    好,现在重新开始分,50,20,20,10  我们这样按64,32,32,16分
    即:2^n - 2 > 50 (为啥减2:最小地址(主机位全0)和最大地址(主机位全1) 分别被用作表示网络地址和,广播地址;ps:除此之外的,通常第一个地址作为网关地址)
    依次类推即n为6、5、5、4 就是64,32,32,16:
    A子网 0-63       00000000-00111111   地址数64个  主机数62  主机位6位  借出网络位2位(00)
    B子网 64-95      01000000-01011111   地址数32个  主机数30  主机位5位  借出网络位3位(010)
    C子网 96-127     01100000-01111111   地址数32个  主机数30  主机位5位  借出网络位3位(011)
    D子网 128-143    10000000-10001111   地址数16个  主机数14  主机位4位  借出网络位4位(1000)
    
    加上原始网段的网络位,总体划分子网结果就是:
    
    子网需求	网络地址	子网掩码	可用地址范围	广播地址
    50主机	192.168.1.0/26	   255.255.255.192	192.168.1.1 ~ 192.168.1.62	    192.168.1.63
    20主机	192.168.1.64/27	   255.255.255.224	192.168.1.65 ~ 192.168.1.94	    192.168.1.95
    20主机	192.168.1.96/27	   255.255.255.224	192.168.1.97 ~ 192.168.1.126	192.168.1.127
    10主机	192.168.1.128/28   255.255.255.240	192.168.1.129 ~ 192.168.1.142	192.168.1.143
    剩余地址作为保留地址。
    这就是可变长子网掩码(VLSM)
    
    ps: 变长划分,需要遵循从大主机数 再到小主机数划分,不然可能会存在网络位无法区分的情况(碰到我们第一次尝试同样的困境)
    错误顺序(先小后大):
    分配10主机(/28):占用192.168.1.0~15(剩余地址被分割为192.168.1.16~255)。
    分配20主机(/27):需32地址块,但剩余地址《无法对齐到32倍数》(如192.168.1.16~47),导致无法直接使用。
    
  23. 总结:什么是子网划分,其实就是一个数学中 分类数字 的游戏,
    我们将ip地址分为了网络位和主机位,为什么要这样分。这样比喻:网络位就是表示一座座园子,主机位就表示园子中的人。园子有一扇门,园子内的人可以随意沟通,但是想要和其他园子中的人交流,就必须经过检查走出园子门。在园子内的人犯了事也影响不到别的园子。要追责也知道他是哪个园子的方便追责。(实际要更复杂,这样分其实就是为了好管理)
    设备:
    交换机用来连接相同网络的设备,
    路由器用来连接不同网段的设备
    网络号一样的,即在相同网段,网络号不一样的,即不同网段

    我们明白了为什么要分成网络位和主机位。
    接下来划分子网:就是我有一个园子,我是园子管理员,我为了好管理,我又把园子划分成几个小园子。
    但是这个园子能容纳总人数是固定了,怎么分我要好好规划。
    有两种,一种是子园子数为主等分,一种是根据每个子园子的人数分。
    剩下的就是数学游戏了,你不只要分,分了后还得想办法知道每个人分别属于哪个子园子。
    
    ps:所以子网划分可以说是私网才有,为啥?公网相当于已经划分好了,你再怎么划,要记住在公网中 ip地址 不可重复。但不同私网中的ip 可重复使用。
    
  24. 另外,我们也存在将连续的小网段合并成一个大网段的需求,这就是超网。
    即小园子合成一个更大的园子
    子网划分是向主机位借位给网络位,那么超网就是将主机位聚合成网络位

    由此可以想到,超网聚合的前提:
    连续性:待聚合的网络地址必须连续(如192.24.0.0到192.31.255.0)。
    相同大小:所有网络规模需一致且为2^n(如4个C类网络合并)。
    可分割性:首个IP地址需能被超网总大小整除(例如172.16.0.0的最后10位二进制为全0)。
    
    超网(Supernetting)是一种将多个连续的小型IP网络合并为单个大型网络的技术,旨在优化路由表效率和减少IP地址浪费。其核心原理与实现如下:
    定义与核心概念
    与子网相反:子网划分是将大网络拆分为小网络,而超网通过聚合多个小网络(如C类地址)形成更大的地址块。
    CIDR技术:超网基于无类别域间路由(CIDR),通过可变长子网掩码(VLSM)实现灵活的网络前缀分配,例如将172.16.0.0/24到172.16.3.0/24聚合为172.16.0.0/22
    优势与应用
    路由优化:减少路由表条目,例如将5条路由信息聚合为1条(如168.100.128.0/20代替5个/24网络)。
    地址高效利用:缓解IPv4地址短缺,例如将多个C类地址分配给需要更多主机的网络。
    网络性能提升:通过路由聚合减少路由器处理开销,加速收敛。
    

参考链接:

https://zhuanlan.zhihu.com/p/678300715(A、B、C、D、E类IP地址划分依据,小白也能秒懂)

https://cloud.tencent.com/developer/article/2106185(子网划分和计算方法(附习题详解))

posted @ 2025-02-21 15:46  jmwyc  阅读(197)  评论(0)    收藏  举报