Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

ワイルドカードマスク(ワイルドカードマスク)とは | 意味や読み方など丁寧でわかりやすい用語解説

ワイルドカードマスク(ワイルドカードマスク)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

ワイルドカードマスク (ワイルドカードマスク)

英語表記

wildcard mask (ワイルドカードマスク)

用語解説

ワイルドカードマスクは、IPアドレスの範囲を指定したり、特定のパターンを持つIPアドレスを識別したりするために使用される32ビットの値である。これはIPアドレスと組み合わせて使われ、どのようなIPアドレスが対象となるかを柔軟に定義できる仕組みを提供する。主にネットワーク機器のアクセス制御リスト(ACL)やルーティングプロトコルの設定において、特定のネットワークセグメントやIPアドレスのグループを効率的に指定する目的で利用される。

ワイルドカードマスクは、指定されたIPアドレスとビット単位で比較され、どのビットを厳密に一致させるべきか、どのビットを無視してよいかを決定する。ワイルドカードマスクの各ビットには特別な意味がある。もしワイルドカードマスクのビットが「0」であれば、対応するIPアドレスのビットは、指定されたIPアドレスのそのビットと完全に一致しなければならない。一方で、ワイルドカードマスクのビットが「1」であれば、対応するIPアドレスのビットは、指定されたIPアドレスのそのビットと一致しなくてもよい。つまり、そのビットの値は「無視」される。この0と1の役割が、しばしばサブネットマスクのそれと混同されやすい点だが、両者の目的と機能は大きく異なる。

サブネットマスクは、IPアドレスをネットワークアドレスとホストアドレスの二つの部分に分割するために固定的に使用される。サブネットマスクの「1」はネットワーク部を、「0」はホスト部を示し、その境界は通常、連続した「1」と「0」で構成される。これに対し、ワイルドカードマスクは連続した「0」と「1」である必要はなく、任意のビットパターンを持つことができるため、より複雑で柔軟なIPアドレスのグループ化が可能になる。ワイルドカードマスクの「0」は「一致(Match)」を意味し、「1」は「無視(Don't care)」を意味すると理解すると良いだろう。

具体的な利用例を挙げる。例えば、ネットワーク機器のアクセス制御リストで「192.168.1.0/24」のネットワークからの通信を許可したい場合、IPアドレスとして「192.168.1.0」を指定し、ワイルドカードマスクとして「0.0.0.255」を用いることが多い。この「0.0.0.255」というワイルドカードマスクは、最初の3オクテット(192.168.1)については「0」が指定されているため、IPアドレスのこれら3オクテットが「192.168.1」と完全に一致することを要求する。一方、最後のオクテットは「255」(2進数で「11111111」)であるため、このオクテットの8ビットは全て「1」となり、対応するIPアドレスの最後のオクテットはどのような値であってもマッチすると判断される。結果として、「192.168.1.0」から「192.168.1.255」までの全てのIPアドレスがこの設定の対象となる。これはサブネットマスク「255.255.255.0」と同等の範囲指定に見えるが、その動作原理は根本的に異なる。

さらに複雑な例として、特定の範囲のサブネットをまとめて指定したい場合がある。例えば、「192.168.16.0」から「192.168.31.255」までのIPアドレス範囲を対象としたいとする。この場合、指定するIPアドレスは「192.168.16.0」とし、ワイルドカードマスクは「0.0.15.255」とする。このワイルドカードマスク「0.0.15.255」を2進数で考えると、第三オクテットの「15」は「00001111」となる。 指定するIPアドレスの第三オクテットは「16」で、2進数では「00010000」である。 ワイルドカードマスクの第三オクテット「00001111」と対応させて見ると、最初の4ビットが「0000」であるため、IPアドレスの最初の4ビット「0001」は、指定されたIPアドレス「16」の「0001」と完全に一致する必要がある。つまり、この最初の4ビットは常に「0001」でなければならない。 次の4ビットが「1111」であるため、IPアドレスの次の4ビットはどのような値でも良い(無視される)。 これにより、第三オクテットは「0001xxxx」(xは何でも良い)というパターンに一致するIPアドレスが対象となる。「00010000」(16)から「00011111」(31)までの範囲がこれに該当する。そして、第四オクテットはワイルドカードマスクが「255」(11111111)であるため、全てのアドレス(0~255)にマッチする。このように、ワイルドカードマスクはビット単位で一致・無視を細かく制御することで、ネットワーク管理者が非常に柔軟なアドレスマッチングルールを定義することを可能にする。

ワイルドカードマスクは、OSPF (Open Shortest Path First) や EIGRP (Enhanced Interior Gateway Routing Protocol) といったルーティングプロトコルで、どのインターフェースやネットワークをルーティングプロセスに含めるかを指定する際にも用いられる。例えば、「network 192.168.0.0 0.0.255.255 area 0」という設定は、IPアドレスの最初の2オクテットが「192.168」である全てのネットワークアドレスをOSPFエリア0に参加させるという意味になる。ここでもワイルドカードマスクの「0」が指定されたIPアドレスのビットとの一致を要求し、「1」がそのビットを無視することを指示している。

ワイルドカードマスクは、ネットワーク設計やセキュリティポリシーの実装において非常に強力なツールとなる。その機能を正しく理解することで、ネットワークの設定をより精密かつ効率的に行うことが可能になる。特に、サブネットマスクとの違いを明確に把握し、ワイルドカードマスクの「0は一致、1は無視」という原則をしっかりと理解することが、初心者にとっての第一歩となる。

関連コンテンツ