3

Ну, я не уверен, что я что-то здесь упускаю. Но все, что я прочитал, это то, что если первый октет IP находится в пределах 0–127, то он классифицируется как подсеть класса A и, соответственно, маска подсети для этого равна 255.0.0.0, но когда я подключаю свою систему к аэропорту Apple, тогда моя система получает IP как 10.0.1.4, однако маска подсети 255.255.255.0, а не 255.0.0.0. Пожалуйста, объясните, что мне здесь не хватает.

Информация об адаптере

Если есть что-то похожее на маску подсети для роутера apple, рассчитанную на несколько разных флагов, пожалуйста, дайте мне знать. Это то, что я сейчас делаю, чтобы получить маску подсети с IP-адреса.

if (ipAddress == null)
{
    return ClassCSubnetMask;
}
byte byteipAddressFirstOctet = ipAddress.GetAddressBytes()[0];
if (byteipAddressFirstOctet <= 127)
{
    return ClassASubnetMask;
}
else if (byteipAddressFirstOctet >= 128 && byteipAddressFirstOctet <= 191)
{
    return ClassBSubnetMask;
}
else if (byteipAddressFirstOctet >= 192 && byteipAddressFirstOctet <= 223)
{
    return ClassCSubnetMask;
}
return null;

Для всех тех, кто голосует за закрытие этого - я пытался удалить это, но не получилось, так как у него есть ответы. А пока я выложил это на супер пользователя.

Спасибо всем за то, что разбудили меня в подсети :)

2 ответа2

6

Мир отошел от классных сетей много лет назад. Теперь мы используем CIDR, который позволяет нам более эффективно распределять IP-адреса. Вы должны запросить маску подсети из операционной системы.

3

Существуют определенные классы IP-адресов, которые считаются частными и "не маршрутизируемыми", включая все из 10.0.0.0 - 10.255.255.255, 192.168.0.0 - 192.168.255.255 и 172.16.0.0 - 172.31.255.255.

Часто маски подсетей для этих диапазонов совпадают со старыми границами классов, но это не обязательно. Потребительское оборудование, которое вы используете в своем доме, часто будет использовать /24 (255.255.255.0) по умолчанию, даже если оно использует адрес в диапазоне 10.xxx. Одной из причин этого является защита в случае, если устройство подключено к большей сети с большей подсетью, где IP-адрес устройства может конфликтовать с чем-то другим. Это дает своего рода защиту для этой сети.

Большие сети также часто делятся на более мелкие логические группы, называемые vlans. Этим виртуальным сетям может потребоваться занимать одно и то же большое адресное пространство, но при этом иметь разные адреса сети и широковещания. Поэтому я мог бы настроить vlan, используя 10.1.0.0 для сетевого адреса, и установить широковещательный адрес 10.1.255.255, используя 255.255.0.0 для маски подсети. Тогда у меня может быть другой vlan, начиная с 10.2.0.0, который будет отделен от первой сети. Вы можете получить конкретную информацию о том, какая часть адреса используется для сети и сколько используется для хоста.

Помимо всего этого, с заполнением пространства IPv4, большинство больших блоков теперь разбиты, и мы все равно больше не говорим о классах A, B, C, D.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .