Una máscara de bits son datos para operaciones a nivel de bits. Por ejemplo para el conjunto de los 10 primeros números naturales:
U = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
La máscara que marca los impares es:
M = [1, 0, 1, 0, 1, 0, 1, 0, 1, 0]
Mediante la operación NOT sobre la máscara obtenemos los pares:
M = [0, 1, 0, 1, 0, 1, 0, 1, 0, 1]
Dados dos conjuntos, A y B, y dos máscaras A1 y B1, en las que mediante un 0 se expresa que el elemento no pertenece al conjunto y mediante un 1 que sí pertenece, la operación OR (∨) nos proporciona la unión de ambos A ∪ B mientras que AND (∧) la intersección A ∩ B :
A1 = [0, 0, 0, 0, 0, 1, 1, 1, 1, 1]
B1 = [1, 0, 1, 0, 1, 0, 1, 0, 1, 0]
A1 ∧ B1 = A ∩ B = [0, 0, 0, 0, 1, 0, 1, 0]
A1 ∨ B1 = A ∪ B = [1, 0, 1, 0, 1, 1, 1, 1, 1, 1]
Las máscaras de bits tienen diferentes usos.
Sirven para definir rangos de IPs y ACL
ACL es el acrónimo de listas de control de acceso. En el protocolo TCP/IP las direcciones IP vienen acompañas de su máscara. Si ejecuto ifconfig en mi ordenador aparece la siguiente información: