网络设置子网掩码和前缀长度之学习小记

发表于 2017-10-25 11:39 | 浏览 6367 次 | 10 条评论

提到子网掩码和前缀长度,或许你不会感到陌生。没错,前者出现在 PC 本地连接属性设置里,后者在安卓手机的 WLAN 静态 IP 设置选项里也会看到。

子网掩码和前缀长度的换算

网上很多专业术语实在羞涩难懂,这里菲菲君就与同学们用最简单易懂的字语一起来补习一下关于子网掩码 or 前缀长度的基础常识。

  • 最常用的子网掩码:255.255.255.0(Windows 默认掩码)
  • 最常见的前缀长度:24(Android 手机默认的网络前缀)

这两种形式其实是不同操作系统对于网络子网的不同表示方式,那么这里的 24 是怎么计算得出的呢?我们只要将 255 换算为二进制就可以很直观得出结论:

每个255的二进制 = 11111111 - 11111111 - 11111111 - 00000000

数一数算下来,正好 24 个 1(每个 255 相当于 8 个 1 ,8*3=24)

子网掩码在网络通信中的作用

理解了子网掩码的两种表现形式,那么子网掩码到底在 TCP/IP 网络通信中扮演什么样的角色,它的具体作用是什么?

网络设备只有同时配置了 IP地址 和 子网掩码 才能正常通信,而子网的作用就是告知网络通讯数据包下一步该发给谁(可以简单这么理解)

  • 如果设备通过掩码计算得出目标 IP 跟自己是同一子网(网段),那么就会认为对方跟自己属于同一链路,直接通过arp协议即可直连。
  • 如果跟目标 IP 地址不再同一子网的话,那么就会将数据包发送到网关地址(路由器),由网关处理后续的数据包转发工作

其实对于计算机本身来说,只需设置了 IP 和 子网掩码,就会在内部自动生成路由表(PC上 route print 命令可以查看),不管是路由器还是电脑、手机,都有自己的路由表。

而路由表就相当于导航一样,告诉计算机 IP 数据包下一跳该怎么走:要发向哪里,是该发给网关转发,还是可以直接通信。

其他类型的子网掩码

除了常见的 255.255.255.0 ,其他子网掩码还是很多类型

  • 比如我们家里的宽带 PPPoE 自动获取的 IP 掩码通常都是 255.255.255.255 ,代表运营商分配单个 IP 地址给你,不需要网络和广播地址,可以节省IP资源
  • 路由表中的 IP地址和子网掩码掩码都为 0.0.0.0 ,表示默认的目标 IP 网段,下一跳网关通常都是路由器的 IP 地址。
  • 更加复杂的网段划分还会利用到类似 255.255.248.0(对应的前缀长度为 21)等等扩展类型的掩码,它的作用对于大多人简单了解即可。

假设单位有300台电脑需划为同一子网,使用C类默认 255.255.255.0 掩码显然不够用,使用 255.255.0.0 又会造成 IP 的极大浪费,那么就可以采用 255.255.254.0 掩码来划分。

这样算下来,同一子网内,就可以分配到 192.168.0.1 -- 192.168.1.254 ,总共 510 个实际可用的 IP 地址,分配给 300 台电脑完全绰绰有余。

最后,留给同学们一道课外作业,子网掩码 255.255.254.0 对应的前缀长度是多少?同一交换机下 IP 为 192.168.1.128 和 192.168.2.64 的两台电脑最少划分为多少掩码才能 ping 通呢?

(原创文章版权所有,如需转载请注明原文链接!)

评论
发表评论