Разница между замаскированным IP и одним IP?
Я думал об использовании этого кода для блокировки доступа к публичным методам в моем приложении asp.net mvc:
/// <summary>
/// Comma seperated string of allowable IPs with masks. Example "10.2.0.0;255.255.0.0,10.3.0.0;255.255.0.0"
/// </summary>
/// <value>The masked Ips.</value>
public string AllowedMaskedIPs { get; set; }
Выдержка взята отсюда.
Но мне было любопытно, в чем разница между замаскированным ip и одним ip? В принципе, что такое IP-маскарад?
2 ответа
Маскированный IP-адрес в контексте, который вы упомянули, представляет собой диапазон сети, который, в свою очередь, представляет собой сетевой адрес плюс маску подсети. Один использует это для сопоставления всех IP-адресов из конкретной сети.
Пример по ссылке, которую вы разместили:
10.2.0.0; 255.255.0.0, CIDR Обозначение: 10.2.0.0/16
% ipcalc 10.2.0.0/255.255.0.0
Address: 10.2.0.0 00001010.00000010. 00000000.00000000
Netmask: 255.255.0.0 = 16 11111111.11111111. 00000000.00000000
Wildcard: 0.0.255.255 00000000.00000000. 11111111.11111111
=>
Network: 10.2.0.0/16 00001010.00000010. 00000000.00000000
HostMin: 10.2.0.1 00001010.00000010. 00000000.00000001
HostMax: 10.2.255.254 00001010.00000010. 11111111.11111110
Broadcast: 10.2.255.255 00001010.00000010. 11111111.11111111
Hosts/Net: 65534 Class A, Private Internet
Данный пример соответствует всем хостам между (и включая) 10.2.0.0 и 10.2.255.255.
Взгляните на статью в Википедии о подсетях для более подробного объяснения.
Один IP-адрес аналогичен маскированному IP-адресу с маской 255.255.255.255 или /32 в нотации CIDR.
В этом случае маскированный IP-адрес является определением подсети.
10.2.0.0;255.255.0.0
означает 10.2.0.0/16, которые являются адресами от 10.2.0.0 до 10.2.255.255 (включая сетевые и широковещательные адреса)