利用子网掩码实现子网划分

  • 任务
    • IP 地址是什么
    • 子网掩码是什么
    • 子网络(subnetword)是什么
    • 最开始的问题怎么解决
  • 自测
    • A、B、C三类地址的最大主机数(IPv4)
    • 有些 IP 地址中主机号全为1或全为0的原因
    • 环回地址

任务

想要把这题做了就需要先知道到底 IP 是什么东西?

IP 地址是什么

IP 地址(IPv4)由 32 位正整数(0 和 1)来表示。IP 地址在计算机内部以二进制的方式处理。人们常采用 “点分十进制” 表示 IP 地址,人为地将这 32 位数字分为四组,中间用 “.” 隔开,并将每组数转换为十进制。

比如这样一组 IP 地址:

1010 1100.0001 0100.0000 0001.0000 0001 就可以转换成 172.20.1.1

并非是每台主机都必须有 IP 地址,而是每一块网卡都得设置 IP 地址,而且不是每一块网卡必须对应一个 IP 地址,一个网卡可以对应不止一个 IP 地址。并且一台路由器通常都会设置两个以上的网卡,这也意味着可以不止 2 个 IP 地址。

从上图中可以看出,IP 地址可以分为 4 类,但是细心的同学会发现——“咦!为什么 D 类没有主机标识?!”这是因为 D 类,通常用于多播。至于什么是多播,感兴趣的同学就自己动动手查找资料呀!百度百科:多播

子网掩码是什么

架构 B 类 IP 网络时,因为后 16 位是主机标识,因此允许 65 534 台计算机连接。但是实际上,一般是不会存在这种情况的。因此,使用 A 类,B 类和 C 类架构 IP 网络就很浪费 IP 地址(因为 32 个比特位表示的信息是有限的),需要用尽可能多的比特位用来表示网络地址,而不是主机地址。

这里就用到了子网掩码。子网掩码(又称伪 IP 地址),就是将本来的 IP 地址中的网络标识全部对应为 1,主机标识则对应为 0 ,掩码告诉网络中的端系统(包括路由器和其他主机) IP 的多少位用于识别网络和子网。下面以一个 C 类地址为例:

其实子网掩码就是将原来分类中的主机地址的一部分用作子网地址,将原网络分为多个物理网络的一种机制。 这样就可以使得一个 IP 地址不再受制于自己的类别,可以利用子网掩码自由地定位自己的网络标识长度。比如

我们可以看到,子网掩码的前 26 位都是 1 ,这也就意味着 IP 地址的前 26 位是网络标识,后 6 位为主机标识。 这样就不仅仅存在A,B,C 和 D 四类 IP 地址了,也就减少了 IP 地址的浪费。

Plus:子网掩码还有另外一种表示方式。就是在每个 IP 地址的后面加上网络地址的位数,并用 “/” 隔开。也就是上图中下面的表示方法。并且采用这种方法时,可以将十进制 IP 地址后面的 0 省略,例如:172.20.0.0/16 和 172.20/16 表示的意思相同。

子网络(subnetword)是什么

为了方便大家的理解,我就先介绍了子网掩码,至于什么是子网我就没提,有些人可能有点迷糊。前面我们可以知道,有时主机地址的一部分被“侵占”用作网络地址,其实这“被侵占的”部分就是所谓的子网络,亦称子网(subnet)。

因此,子网化的 IP 地址组成部分如下:

下面简单示例一下该如何从一个给定的 IP 地址中计算出网络号和主机号。

假设 IP 地址为 192.168.127.101,子网掩码为 255.255.255.192


其实计算主机号时也可以直接将 IP 地址直接除去网络号的部分,也就是 100101 = 37,这样更简便。

最开始的问题怎么解决

说了这么多,终于可以回头看任务了。

IP 地址为192.168.99.0,转换成二进制为 1100 0000.1010 1000.0110 0011.0000 0000 (C 类 IP 地址),因为需要划分成四个子网,且 4 = 2^2 ,所以子网需要占据主机地址的两个高位,因此子网掩码为 1111 1111.1111 1111.1111 1111.1100 0000 (255.255.255.192)。

那么,(注意我 加粗 的地方)
第 1 个子网的 IP 地址范围 1100 0000.1010 1000.0110 0011.0000 0001 - 1100 0000.1010 1000.0110 0011.0011 1110
第 2 个子网的 IP 地址范围 1100 0000.1010 1000.0110 0011.0100 0001 - 1100 0000.1010 1000.0110 0011.0111 1110
第 3 个子网的 IP 地址范围 1100 0000.1010 1000.0110 0011.1000 0001 - 1100 0000.1010 1000.0110 0011.1011 1110
第 4 个子网的 IP 地址范围 1100 0000.1010 1000.0110 0011.1100 0001 - 1100 0000.1010 1000.0110 0011.1111 1110

子网号 00,01,10,11 对应的就是四个子网,这不难理解。至于其他的部分,答案就在下面 自测 里 [有些 IP 地址中主机号全为1或全为0的原因]。

自测

A、B、C三类地址的最大主机数(IPv4)

A类地址的最大主机数是 16 777 214
B类地址的最大主机数是 65 534
C类地址的最大主机数是 254

有些人可能说,这不对啊!因为A,B,C类地址的主机标识分别为24,16,8位,因此对应的主机本该是 2^24 = 16 777 216 , 2^16 =65 536,2^8 = 256 台啊?!

这里就需要注意了。用比特位表示主机地址时,不能全为 1 或者全为 0 ,例如:对于 A 类 IP 地址,后24比特位表示主机地址,这里的主机地址可以是除 1111 1111.1111 1111.1111 1111 (十进制为 255.255.255)和 0000 0000.0000 0000.0000 0000 (十进制为 0.0.0),因此就需要减去 2,等于 16 777 214,B 类和 C 类也是如此。

有些 IP 地址中主机号全为1或全为0的原因

全部为 0 是在对应的网络地址或 IP 地址不可获知的情况下使用的,全部为 1 的主机地址则通常为广播地址。因此,一般情况下这两个地址是保留的,不使用。因此上面的子网划分时就需要把 000000 和 111111 这种主机号剔除。

环回地址

环回地址是在同一台计算机上的程序之间进行网络通信时所使用的一个默认地址。计算机使用一个特殊的 IP 地址 127.0.0.1 作为环回地址。与该地址具有相同意义的是一个叫做 localhost 的主机名。使用这个IP或主机名时,数据包不会流向网络。[1]

[1] 竹下隆史,村山公保,荒井透,苅田幸雄 著 乌尼日其其格 译,图解 TCP/IP (2017 第五版).人民邮电出版社
写作本文时参考的其他书籍
[1] 王元杰 杨波 周亚宁 陈志刚 著,一本书读懂 TCP/IP (第一版).人民邮电出版社
[2] 王晓明 李海庆 杨世纪 著,TCP/IP 实践教程(第二版).清华大学出版社

另外,因为之前也没有深入接触过 TCP/IP ,因此可能有些说法不是很透彻深入,甚至会出现谬误,烦请大家指正。笔者在查找资料时也发现有的书籍有错误,因此建议大家多找几本书比较着看。因为所有的图都是 自制 的,所以部分图就加入了一些标志,不过不影响大家正常阅读。

利用子网掩码实现子网划分相关推荐

  1. 计算机网络_子网掩码与子网划分

    计算机网络_子网掩码与子网划分 IP地址相关:计算机网络-域名与IP地址详解 子网掩码的作用 指明哪些是网络号部分,哪些是主机号部分 帮助路由器判断接收端主机是否在同一个网段中. 在本机路由表中通过接 ...

  2. 掩码、子网掩码及子网划分

    1 掩码(这里的应该叫掩码,只有划分了子网才能称为子网掩码) (子网)掩码用来界定IP地址的网络标识部分和主机地址 掩码是一个32位的二进制数,当用掩码和IP地址逐位做与(and)运算时,就可以得出该 ...

  3. 比特,比特流,IP,子网掩码,子网划分,MAC地址

    课程内容回顾: OSI 产生背景 作用 实现过程 7层 每层的功能 每层实现协议 每层物理设备 数据转发流程:1.发包(数据封装) 2.传包(网络)3.收包(数据解封装)学习思路:OSI--1-7网络 ...

  4. 【学习笔记】 IPv4地址、NAT与子网掩码、子网划分

    文章目录 一. IP地址 ① 在例子中理解 ③ IP地址的分类 ④ 特殊IP地址 ⑤ 私有IP地址 ⑥ 各类IP的对比 二. NAT 三. 子网划分与子网掩码 ① 子网划分 ② 子网掩码 例题1 例题 ...

  5. 网络号、主机号、子网号、子网掩码、子网划分

    1.Internet上每一台计算机都有唯一的地址来标识它的身份,即IP地址,使用域名其实也是要转化为IP地址的. 2.IP地址分类: A类:000~127,默认子网掩码:255.0.0.0 B类:12 ...

  6. 4.3.5子网划分和子网掩码

    4.3.5子网划分和子网掩码 文章目录 4.3.5子网划分和子网掩码 1.子网划分 2.使用子网时分组的转发 1.子网划分 2.使用子网时分组的转发 相关链接-计算机网络(4.10)网络层- 使用子网 ...

  7. 一文搞定子网划分!子网掩码!超详细例题解析!

    子网划分理论基础 为什么进行子网划分 减少网络流量,无论什么样的流量,我们都希望它少些,网络流量亦如此.如果没有可信赖的路由器,网络流量可能导致整个网络停顿,但有了路由器后,大部分流量都将呆在本地网络 ...

  8. 计算机网络 | 划分子网 | 子网掩码 | 子网划分的方法

    目录 一.划分子网 二.子网掩码 三.子网划分的方法  四.例题讲解 一.划分子网 划分子网的方法是从网络的主机号借用若干位作为子网号 (subnet -id),当然主机号也就相应减少了同样的位数.于 ...

  9. CN_@子网划分@子网掩码@CIDR@ IP地址与硬件地址及其变化问题

    CN_@子网划分@子网掩码@CIDR 子网划分(三级地址) 两级P地址的缺点:P地址空间的利用率有时很低:给每个物理网络分配一个网络号会使路由表变得太大而使网络性能变坏:两级的P地址不够灵活. 从19 ...

最新文章

  1. 技术负责人的三种角色
  2. Vue.js学习系列(二十七)-- 计算属性(一)
  3. NSNumber 以及NSInteger,NSNumber以及Int的区别
  4. python中主函数循环,带有菜单函数的Python主函数循环不起作用?
  5. scp 覆盖_SCP-002 - “生活”室
  6. 哈希码以及Object.toString()简单理解
  7. 《设计模式》读懂UML类图
  8. 如何判断单链表里面是否有环【转载】
  9. Java课程设计-学生成绩管理系统
  10. php对接触动精灵,触动精灵万能连点器 Lua 源码
  11. PID算法基本原理及整定实现方法
  12. 献给七夕|微生物和您的爱情生活
  13. 基于UML的绩效考核管理系统
  14. 蒲香仲夏、专注字体全产业链接研究-江西字研#174;所隆重揭牌
  15. win10计算机启动慢,如何解决win10系统启动缓慢的问题
  16. 男人三十而立,被动收入,越早开始越好
  17. win10定时关机c语言,win10定时关机怎么设置,win10设置定时关机设置方法-电脑怎么定时开关机...
  18. 第四周网络攻防实践作业
  19. 十二、梯度和散度--流体力学理论知识
  20. libxml使用实例

热门文章

  1. IDM\FDM下载器使用指南
  2. 小程序(二十六)微信小程序解析富文本的几种方式
  3. 机器人杆长标定_机器人校准系统
  4. Makefile经典教程(最牛X的教程)
  5. 柯尼卡美能达打印机c226使用说明_产品百科: A4幅面创新代表 柯尼卡美能达bizhub C3300i...
  6. linux 内核协议栈 UDP数据报校验和
  7. ffmpeg命令:合并拼接视频文件
  8. pythonlicense问题_解决Pynlpir分词License过期问题
  9. Adobe帮助失业软件开发者 免费提供开发软件
  10. linx 6.0.60 x64 绿色部署mysql5.7.25