Разница между замаскированным 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 (включая сетевые и широковещательные адреса)

Другие вопросы по тегам