网络通信的要点:同一个网络下可相互访问,不同一个网络下不能相互访问。
IP1:192.168.10.1
IP2:192.168.10.9
这两个IP能否直连通信?不一定,要看子网掩码是什么。
什么是子网掩码?子网掩码不过就是一种"切法",即表达网络号和主机号的分割点在哪里。
IPV4的IP编码长度是8x4=32位,即
11111111 11111111 11111111 11111111
这32位里,前面是网络号(排除头部几位ABCDE类型定义之外),后面是主机号,那它们的分割点在哪里呢?这就是由子网掩码定义的。
子网掩码A:255.255.255.0,则后8位是主机号;
子网掩码B:255.255.0.0,则后16位是主机号;
子网掩码C:255.255.255.248,则后3位是主机号。
回到前面IP1和IP2的问题:
1. 如果两者的子网掩码都是A的情况,那么两者的网络号是一样的,即同一个网络下(192.168.10.0),一个主机号为0.0.0.1,一个主机号为0.0.0.9,两者可直接通信。
2. 如果子网掩码IP1是A的情况,IP2是C的情况,那么两者的网络号是不一样的。即IP1的网络号是192.168.10.0,主机号是0.0.0.1;而IP2的网络号是192.168.10.248,主机号是0.0.0.1。网络号不同则不能直连通信。
换句话说,两个IP要能够直连通信,必须子网掩码一样(前提是在同一个class下,例如都是class A的IP)