네트워크에서 와일드카드 마스크는 OSPF프로토콜이나 라우터에서 ACL (access list)를 관리하기 위해서 사용하는 것으로 일반인들은 거의 알 필요 없는 내용입니다.
네트워크 관련 시험준비를 하는 사람들에게나 필요한 내용입니다.
와일드카드 마스크를 이해하기 위해서는 반드시 먼저 서브넷마스크에 대해서 완전히 이해를 하고 있어야 합니다.
FACT 1) 와일드카드 마스크는 서브넷마스크와 비슷하지만 정반대의 표현 방식을 사용한다.
서브넷마스크를 이진수로 변경시
0은 변경 가능한 것을 의미하고
1은 변경 불가능한것을 의미한다. (0은 호스트를 1은 네트워크를 의미)
와일드카드 마스크는 반대로 0은 변경불가능하고, 1은 변경 가능한부분을 의미한다.
(다른표현으로는 0은 care, 1은 don’t care로 표현하기도)
FACT 2) 서브넷마스크는 연속된 1과 0으로 표현된다.
와일드카드 마스크는 1과 0이 연속되지 않아도 된다. 이것이 서브넷마스크와 와일드카드 마스크의 가장 큰 차이이며, 이때문에 와일드카드 마스크를 처음에 이해하기 힘들기도 하다.
예제1)
192.168.0.0 서브넷마스크 255.255.255.0은
아이피구간 192.168.0.0 ~ 192.168.0.255를 의미한다.
위 구간을 와일드카드 마스크로 표현을 한다면 192.168.0.0 0.0.0.255 가 된다.
예제2)
192.168.1.5 255.255.255.255의 의미는 192.168.1.5 아이피 1개를 의미한다.
와일드 카드 마스크로 표현을 한다면 192.168.1.5 0.0.0.0 또는 host 192.168.1.5와 같이 표현된다.
예제3)
192.168.1.1 0.0.0.2는 어떤 아이피를 의미하는가?
와일드카드를 정확히 계산하기 위해서는 2진수로 변환을 해 봐야 한다.
0은 변하지 않으므로 위 예제에서는 마지막 옥텟만 변경을 하면 되겠다.
00000001 – 마지막 옥텟(1)
00000010 – 와일드카드마스크(2)
와일드카드마스크에서 1로 표기된 부분은 실제 아이피에서 0일수도 있고 1일수도 있는 경우이다. 그러므로 여기에서 표현되는 아이피는 000000×1 에서 x가 0일수도 있고, 1일수도 있는 경우이므로 아이피는 00000001과 00000011이 된다.
그러므로 192.168.1.1 0.0.0.2가 의미하는것은
192.168.1.1과 192.168.1.3이 되는것이다.
예제4) 192.168.1.0/24에서 홀수인 아이피들만 와일드카드마스크로 표현해 보자.
먼저 192.168.1.0/24를 와일드카드 마스크로 표현을 한다면
192.168.1.0 0.0.0.255 가 될것이다. 2진수로 표현을 한다면(마지막 옥텟만)
00000000
11111111이 되며 결국 아이피는 xxxxxxxx에서 x의 값이 0이거나 1일 될수 있으므로
결국 아이피는 00000000 ~ 11111111까지 즉, 0 ~ 255의 아이피를 의미하게 된다.
그러면 여기에서 홀수만을 표현하고자 한다면 아이피에서 제일 마지막 2진수는 1이 되면 될것이다. 즉 xxxxxxx1이 된다면 홀수만을 표현할수 있을것이므로
192.168.1.1 0.0.0.254로 표현한다면 254는 2진수로 11111110이므로 아이피는 xxxxxxx1이 되므로 홀수만을 표현하게 될것이다.
예제5) 192.168.1.0/25에서 짝수인 아이피만 와일드카드 마스크로 표현해 보자.
직접 풀어 보시면 192.168.1.2 0.0.0.126 이 될것으로 추측된다.
먼저 192.168.1.0/25는 와일드카드 마스크로는 192.168.1.0 0.0.0.127이 될것이다.
127은 01111111이 되므로 이것은 0~127을 모두 의미하게 될텐데 여기에서 짝수만을 표현하고자 한다면 짝수로 시작해서 2단위로 증가하면 되므로 마지막 비트도 변경되지 않도록 하면 될것이다.
즉, 0xxxxxx0이 되면 중간에 x가 0이 되거나 1이 되거나 상관없이 주어진 아이피에서 2단위로 증가하므로 홀수였다면 홀수이고, 짝수였다면 계속적으로 짝수인 수를 의미하게 될것이다.
문제) 192.168.10.5 0.0.0.12 가 의미하는 아이피를 모두 나열하시오.