ワイルドカードマスクとは?その計算方法

⚡ スマートサマリー

ワイルドカードマスクは32ビットの逆マスクであり、ルーターやアクセス制御リストに対し、IPアドレスのどの部分を一致させ、どの部分を無視するかを指示するものです。一致させるには0ビット、スキップするには1ビットを使用します。

  • 🔄 逆論理: ワイルドカードマスクはサブネットマスクのルールを逆転させます。つまり、0ビットはアドレスと一致する必要がありますが、1ビットは無視されます。
  • 🧮 計算: サブtracサブネットマスクを255.255.255.255に変更して、一致するワイルドカードマスクを生成します。
  • 🎯 ホストおよびその他: キーワード host は 0.0.0.0 に等しく、キーワード any は 255.255.255.255 に等しい。
  • 🛡️ ACLの使用: ワイルドカードマスクは、アクセス制御リストが許可または拒否するアドレス範囲を定義します。
  • 🧭 ルーティング: OSPFおよびEIGRPのネットワークステートメントも、インターフェースを選択するためにワイルドカードマスクに依存しています。
  • 🤖 AI支援: AIアシスタントはワイルドカードマスクを生成および検証できるため、手動によるACLエラーを削減できます。

ワイルドカードマスクとは何か、そしてその計算方法

ワイルドカードマスクとは何ですか?

ワイルドカードマスクは、プライベートネットワークのサブネット内でのパケットルーティングを効率化する一連の数値です。これは逆マスクとも呼ばれます。 サブネットマスクバイナリ 1 は一致、バイナリ 0 は不一致を意味するが、ワイルドカード マスクはそのロジックを反転させる。

ワイルドカードマスクは32ビット長です。ワイルドカードマスクでは、ゼロビットは、対応するビット位置が、 IPアドレス一方、1ビットの場合は、対応する位置が一致する必要がないことを示します。

ワイルドカードマスクは、バイナリの1と0を照合するために以下のルールを使用します。

  • ワイルドカードマスクビットが0の場合、アドレス内のビット値と一致します。
  • ワイルドカードマスクビットが1の場合、アドレス内の対応するビット値は無視されます。

単一ホストのワイルドカードマスクは常に0.0.0.0です。

ワイルドカードマスクとサブネットマスク

ワイルドカードマスクとサブネットマスクは見た目は似ていますが、目的は正反対です。サブネットマスクはアドレスのネットワーク部分とホスト部分を分離するのに対し、ワイルドカードマスクはデバイスにどのアドレスビットを一致させ、どのビットを無視するかを指示します。以下の表で両者を比較します。

Basis社 サブネットマスク ワイルドカードマスク
バイナリ1 ネットワークビットを識別します この部分は無視してください(気にしないでください)
バイナリ0 ホストビットを識別します この部分と完全に一致する必要があります
目的 サブネット境界を定義します ACLおよびルーティングステートメント内のアドレスをフィルタリングします
/24 の例 255.255.255.0 0.0.0.255
ビットは連続していなければならない はい いいえ、マスクは連続していなくても構いません

ワイルドカードマスクはどのように機能しますか?

次の例は、ワイルドカードマスクの概念を理解するのに役立ちます。この図は、3台のホストと、3つのサブネットに直接接続されたルーターからなるネットワークを示しています。

3つのサブネットに接続されたルータのネットワーク図(ワイルドカードマスクのマッチングを示す)

10.0.1.0/24 サブネットのみをアドバタイズしたい場合、次の network コマンドでワイルドカード マスク 0.0.0.255 を使用できます。

R1(config-router)#network 10.0.1.0 0.0.0.255

なぜワイルドカード マスク 0.0.0.255 なのでしょうか?

まず、 Cisco ワイルドカードマスクとIPアドレスをバイナリに変換する:

10.0.1.0 = 00001010.00000000.00000001.00000000
0.0.0.255 = 00000000.00000000.00000000.11111111

ワイルドカードマスクのゼロビットは、ネットワークコマンドに含まれるIPアドレス内の同じ位置と一致する必要があります。

00001010.00000000.00000001.00000000
00000000.00000000.00000000.11111111

上記の例では、ワイルドカードビットがすべて1であるため、最後のオクテットは一致させる必要はありません。ワイルドカードマスクビットがすべて0であるため、最初の24ビットは一致させる必要があります。

ここでは、ワイルドカードマスクは10.0.1.x(10.0.1.0から10.0.1.255)で始まるすべてのIPアドレスに一致します。この場合、一致するネットワークは1つだけです。10.0.1.0/24です。

10.0.0.0/24 と 10.0.1.0/24 の両方のサブネットを含めたい場合はどうすればよいでしょうか?

以下に示すように、ワイルドカードマスク0.0.1.255を使用する必要があります。

10.0.0.0 = 00001010.00000000.00000000.00000000
10.0.1.0 = 00001010.00000000.00000001.00000000
0.0.1.255 = 00000000.00000000.00000001.11111111

ワイルドカードマスク0.0.1.255を使用すると、23ビットだけが一致すれば済みます。つまり、10.0.0.0から10.0.1.255までの範囲のすべてのアドレスが一致するため、両方のサブネットがカバーされます。

ワイルドカードマスクを計算するには?

ワイルドカードマスクを手計算するのは困難な作業になることがあります。簡単なショートカットは、tracサブネットマスクを255.255.255.255から取得します。結果はワイルドカードマスクです。

具体的な例を挙げますと、以下の通りです。

 
1) 255.255.255.255 - 255.255.255.255 = 0.0.0.0 (wildcard mask)
2) 255.255.255.255 - 255.255.255.128 = 0.0.0.127 (wildcard mask)
3) 255.255.255.255 - 192.0.0.0 = 63.255.255.255 (wildcard mask)

一般的なワイルドカードマスク値

以下の表は、よく使用されるCIDRプレフィックスと、それに対応するサブネットマスクおよびワイルドカードマスクを一覧にしたものです。これにより、毎回計算する代わりに値を調べることができます。

CIDR サブネットマスク ワイルドカードマスク 住所が一致しました
/8 255.0.0.0 0.255.255.255 16,777,216
/ 16 255.255.0.0 0.0.255.255 65,536
/ 24 255.255.255.0 0.0.0.255 256
/ 25 255.255.255.128 0.0.0.127 128
/ 26 255.255.255.192 0.0.0.63 64
/ 27 255.255.255.224 0.0.0.31 32
/ 28 255.255.255.240 0.0.0.15 16
/ 30 255.255.255.252 0.0.0.3 4

ワイルドカードマスクキーワード: ホストと任意の

Cisco IOSには、アクセス制御リストで一般的なワイルドカードマスクを入力する必要がないように、2つの短縮キーワードが用意されています。

  • host — ワイルドカードマスク 0.0.0.0 を置き換え、1 つの正確な IP アドレスに一致します。たとえば、 ホスト10.0.1.5 と同じです。 10.0.1.5 0.0.0.0.
  • どれか — ワイルドカードマスク 255.255.255.255 を置き換え、すべての IP アドレスに一致します。たとえば、 どれか と同じです。 0.0.0.0 255.255.255.255.

これらのキーワードにより、ACL ステートメントが短く読みやすくなり、タイプミスの可能性が低減されます。ping マスクにミスがある。

ワイルドカード マスクはどこで使用できますか?

ワイルドカードマスクはアクセス制御リスト(ACL)で使用されます。大規模なネットワークがあり、複数のルーターとLANセグメント間のトラフィックフローを制御する必要がある場合に役立ちます。複数のルーターを持つ大規模なネットワークを管理する場合、次のような問題に遭遇する可能性が高いです。 Cisco ワイルドカードマスク。

ワイルドカードマスクは動的にも表示されます ルーティング OSPFやEIGRPなどのプロトコルでは、ネットワークステートメントを使用してルーティングに参加するインターフェースを選択します。意図したトラフィックのみがルーターを通過できるように、ワイルドカードマスクを慎重に設定する必要があります。

よくあるご質問

はい。OSPFとEIGRPのネットワークステートメントは、ワイルドカードマスクを使用して、どのインターフェースがルーティングプロセスに属するかを決定します。たとえば、network 10.0.1.0 0.0.0.255は、10.0.1.0/24サブネット内のすべてのインターフェースでルーティングを有効にします。

はい。サブネットマスクとは異なり、ワイルドカードマスクは連続したビットを必要としません。例えば、0.0.0.254のようなマスクは、最後のオクテットの偶数アドレスのみに一致するため、ACLでホストを交互に選択する場合に便利です。

この用語は、 Cisco IOSが主流ですが、逆マスクの概念は他のプラットフォームにも存在します。多くのファイアウォールやルーターは、ラベルが異なっていたり、プレフィックス長を受け入れたりする場合でも、同じ一致して無視するロジックを使用しています。

いいえ。ワイルドカードマスクは、ACLやルーティングステートメント内で使用されるマッチングロジックのみを担います。パケットの内容を変更したり、測定可能な遅延を追加したりすることはありません。単に、どのアドレスビットを比較するかをデバイスに指示するだけです。

マスクが適切でない場合、一致するアドレスが多すぎたり少なすぎたりします。マスクが広すぎると、不要なトラフィックが通過してセキュリティホールが発生する可能性があります。一方、マスクが狭すぎると、正当なホストがブロックされる可能性があります。ルールを適用する前に、必ず範囲を確認してください。

/24のようなCIDRプレフィックスは、連続したサブネットマスクの略記です。0.0.0.255のようなワイルドカードマスクは、同じ範囲をマッチング対象として表現しますが、単純なプレフィックスでは表現できない非連続パターンも記述できます。

はい。AIや機械学習アシスタントは、サブネットやアドレス範囲を適切なワイルドカードマスクに変換し、許容範囲が広すぎるマスクを警告表示し、各ルールを分かりやすい言葉で説明できます。ただし、エンジニアはデプロイ前に出力結果を確認する必要があります。

GitHubコパイロット 対象範囲を記述した短いコメントから、ワイルドカードマスクを使用したACLおよびOSPFステートメントを作成できます。生成されたマスクを本番環境のデバイスに適用する前に、必ず意図したアドレスと一致していることを確認してください。