30位的子网为啥能和24位的子网ping通

为什么10.0.12.1/30能和10.0.12.2/24 ping通?还不是很懂

因为掩码掩到三十位,两个地址都处于同一个网段,拆开看,后面八位二进制数的前六位一致,所以能通信

你这个30与24是端口号吧

因为不管是30位还是24位,这两个地址都在同一网段,要想这两个地址不通应该设成31位也就是10.0.12.1/31(255.255.255.254)
30位主机地址为4个,0,1,2,3在一起(包含了1,2),31位主机地址两个:0,1在一起,2,3一起(1,2没在一起!),24位256个:0-255在一起(包含了1,2),对于ip/n来说,最后的m位是主机地址(m=32-n),每个网段有2^m个主机地址,第一个网段是0--2^m-1,下一个网段是:2^m--2^(m+1)-1。。。

这两个地址段的IP之所以能ping通。是因为从对方的角度来讲,都认为是跟自己同一个网段的。10.0.12.1/30去ping10.0.12.2的时候,他并不知道10.0.12.2所带的掩码是24位;而是拿自己的30位的掩码去和10.0.12.2“掩”。此时对于10.0.12.1来说,认为自己去ping的是10.0.12.2/32的地址,这两个地址明显处于同个网段,所以能相互ping通。 10.0.12.2/24去ping10.0.12.1的时候也是一样,10.0.12.2是没法识别到10.0.12.1所带的掩码是30位的;而是拿自己的24位去跟10.0.12.1“掩”。所以对于10.0.12.2来说就认为对端是跟自己同个网段。