In Subnet Addressing of TCP/IP Illustrated, Vol. 1: The Protocols, there is description:
This makes sense because class A and class B addresses have too many bits allocated for the host ID: 16384 - 2 and 65536 - 2, respectively.
, I think this is the reason of Subnet Addressing
, but I don't know where to find the protocol, which describe the any two hosts can communicate each other only if they have the same network id
and subnet id
? This is relative to Ethernet
? but I did not find the description about it. I know there must be something I missed!
Here, the gateway has 1.4
, aix has 1.92
, solaris has 1.32
, and above thick line, there is 1.0
I don't know whether I can summary my question, Why in LAN
, if the first host want ping the second host, the first one is 140.252.1.4
, then the second one must be 140.252.1.x
?
For making my question clear, I make a test that I connected my mac and Fedora linux directly by cable, then:
Under mac:
~ » sudo ifconfig en0 192.168.90.104
Under Fedora Linux:
[abelard@bogon ~] ifconfig eno1 192.168.90.197
and execute the flollowing command under mac:
~ » ping 192.168.90.197 abelard@localhost
PING 192.168.90.197 (192.168.90.197): 56 data bytes
64 bytes from 192.168.90.197: icmp_seq=0 ttl=64 time=0.803 ms
64 bytes from 192.168.90.197: icmp_seq=1 ttl=64 time=0.602 ms
64 bytes from 192.168.90.197: icmp_seq=2 ttl=64 time=0.606 ms
But when I changed mac's ip into 192.168.91.104
:
~ » sudo ifconfig en0 192.168.91.104
then
~ » ping 192.168.90.197 abelard@localhost
PING 192.168.90.197 (192.168.90.197): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
why?