2011-08-11 2 views

답변

4

/24은 주소의 네트워크 부분을 구성하는 비트 수를 나타내며이 경우 24 (또는 30)입니다.

가장 작은 네트워크 부분 만 IP 주소와 AND하면 동일한 네트워크에 동일한 값이 포함됩니다./30/24 서로 다른 네트워크이 있으며, 즉 (다른 주소에 도달하기 위해 라우터를 사용하여,

unsigned int ip1 = (192<<24) | (168<<16) | (0<<8) | (1); 
unsigned int ip2 = (192<<24) | (168<<16) | (0<<8) | (2); 
unsigned int nm1 = (-1) << (32 - 24); 
ip1 &= nm1; // Note: we use nm1 as its the smallest number of bits in the network 
ip2 &= nm1; 
if (ip1 == ip2) { } // Same network 

기술적 :

는 예를 들어, 여기 (안된)는 C 구현입니다/24는 IP의 1-254에 라우터를 사용하지 않지만/30은 해당 주소의 대부분에 대해 라우터를 사용합니다). 그러나 동일한 주소 공간에서 중복됩니다.

+0

답장을 보내 주셔서 감사합니다. 즉, (ip1 & subnet1의 결과) == (ip2 & subnet2의 결과)이면 subnet1 == subnet2이든 관계없이 최종 결과는 OK입니다. 내가 맞습니까? – danspeed

관련 문제