~/network/wildcardmask
IP 주소 & 할당

Wildcard Mask

Wildcard Mask

와일드카드 마스크는 주로 Cisco 라우터의 ACL이나 OSPF 설정 등에서 IP 주소 범위를 지정할 때 사용하는 32비트 마스크이다.

  • 0 비트 : 해당 위치의 비트를 반드시 일치시켜야 함 (검사 O)
  • 1 비트 : 해당 위치의 비트는 무시함 (검사 X, 아무 값이나 OK)

서브넷 마스크가 "네트워크 부분(1)과 호스트 부분(0)을 구분"하는 용도라면, 와일드카드 마스크는 "비교할 비트(0)와 무시할 비트(1)를 구분"하는 용도이다.

서브넷 마스크와의 관계

와일드카드 마스크는 서브넷 마스크의 비트를 반전(NOT)시킨 값이다.

서브넷 마스크   : 255.255.255.0   → 11111111.11111111.11111111.00000000
와일드카드 마스크 : 0.0.0.255       → 00000000.00000000.00000000.11111111

서브넷 마스크   : 255.255.255.192 → /26
와일드카드 마스크 : 0.0.0.63

간단한 계산법 : 255.255.255.255 - 서브넷 마스크 = 와일드카드 마스크

예) 255.255.255.255 - 255.255.255.240 = 0.0.0.15

와일드카드 마스크를 쓰는 이유

단순한 네트워크 매칭이라면 둘 다 같은 결과를 내기 때문에 "왜 굳이 두 개를 쓸까?"라는 의문이 들 수 있다. 와일드카드 마스크가 따로 존재하는 이유는 크게 세 가지이다.

1. 비연속 비트 매칭 가능

서브넷 마스크는 1이 반드시 연속되어야 한다는 규칙이 있다. 즉 11111111.11111111.11110000.00000000 같은 형태만 허용되고, 11111111.00000000.11111111.00000000 같은 건 불가능하다.

반면 와일드카드 마스크는 0과 1을 자유롭게 배치할 수 있어서, 서브넷 마스크로는 표현할 수 없는 조건을 만들 수 있다.

세 번째 옥텟이 짝수인 주소만 매칭

access-list 10 permit 10.0.0.0 0.0.254.255

→ 10.0.0.010.0.0.255, 10.0.2.010.0.2.255, 10.0.4.0~10.0.4.255 ... (세 번째 옥텟의 마지막 비트가 0인 주소)

마지막 옥텟이 홀수인 주소만 매칭

access-list 10 permit 0.0.0.1 255.255.255.254

→ x.x.x.1, x.x.x.3, x.x.x.5 ... (마지막 비트가 1인 주소)

이런 패턴 매칭은 서브넷 마스크로는 원천적으로 불가능하다.

2. 용도와 의미가 다름

구분서브넷 마스크와일드카드 마스크
목적네트워크를 나눔IP를 검사/필터링
질문"어디가 네트워크 부분이야?""어떤 비트를 비교할까?"
결과네트워크 정의매칭 조건

서브넷 마스크는 IP 주소 체계를 구조적으로 정의하는 도구이고, 와일드카드 마스크는 "이 IP가 내 조건에 맞나?"를 검사하는 도구이다. 역할 자체가 다른 것이다.

3. 단일 호스트와 전체 매칭이 직관적

host 192.168.1.10  ↔  192.168.1.10 0.0.0.0
any                ↔  0.0.0.0 255.255.255.255

ACL에서는 "특정 IP 하나만" 또는 "전부 다"를 자주 매칭해야 하는데, 와일드카드 마스크는 이런 표현이 자연스럽다. 같은 의미를 CIDR로 쓰면 단일 호스트는 /32, 전체 주소는 /0이지만, ACL 문맥에서는 hostany가 더 간결하다.

실무에서의 구분

[네트워크 설계/할당]
interface GigabitEthernet0/1
 ip address 192.168.1.1 255.255.255.0          ← 서브넷 마스크 : "이 인터페이스의 네트워크 정의"

[트래픽 필터링]
access-list 10 permit 192.168.1.0 0.0.0.255    ← 와일드카드 마스크 : "이 범위 매칭"

[라우팅 프로토콜]
router ospf 1
 network 192.168.1.0 0.0.0.255 area 0          ← 와일드카드 마스크 : "이 범위의 인터페이스 포함"

정리하면, 와일드카드 마스크는 매칭 조건을 표현하는 별도의 문법이다.