在网络中,经常有这样的场景,如果两个网卡位于同一物理局域网络上,那么它们就可以直接在MAC层互相通信。
此时,就有一个问题,运行在底层的通信软件,“如何”知道两个网卡是位于同一网络中?关键就是在子网掩码(Subnet Mast),这是一种特殊的位模式,在目前的IPv4网络中,任何使用TCP/IP协议的网卡,都必须定义子网掩码。
子网掩码是一个特殊的位模式,其IPv4地址的网络号全部为1。
我们常用的IPv4地址有三类—A、B、C类,都有其自己的默认子网掩码。n表示网络部分,h表示地址部分。
![e6242d7810f92022d51faccc529f8a4c.png](https://i-blog.csdnimg.cn/blog_migrate/7241494d9fb8a68d38652382d7e48566.jpeg)
三类地址的默认子网掩码
可以看到,子网掩码识别的是IP地址中的网络部分。
一般来讲,一个拥有许多物理网络的单位,可将所属的物理网络划分为若干个子网(subnet)。因为划分子网是一个单位内部的事,因此本单位以外的网络看不见这个网络具体是由多少个子网组成