Первый октет уже указывает класс сети (1-127: A, 128-191: B, 192-223: C и т. Д.). A, B или C подразумевает количество октетов для сети (соответственно 255.0.0.0, 255.255.0.0, 255.255.255.0), которое автоматически сообщает, сколько хостов разрешено для каждого класса сети.
Хотя это было исторически правдой. Это не было правдой в течение многих лет. Несколько лет назад 24.0.0.0/8 было разослано разным провайдерам. (Я считаю, что это было в основном для кабельных провайдеров.)
Даже когда это было верно для сетевых назначений, сетевые маски были необходимы для внутренних сетей, чтобы упростить маршрутизацию. Эффективная маршрутизация сети, подобной 10.0.0.0/8, требует разделения на более мелкие сети. Это может быть простая схема, использующая подразделения / 16 и / 8, но, скорее всего, это будет бесклассовое подразделение. Большие подсети обеспечивают более эффективное использование адресного пространства (более 99% из / 24 доступно для устройств, в то время как доступно только 50% из / 30.
Локальная сеть маршрутизируется непосредственно с устройства, в то время как другие адреса передаются через маршрутизатор. Хосты с несколькими интерфейсами могут быть подключены к сетям разных размеров.
Для подсетей без многодомных хостов / 24 содержит больше адресов, чем требуется. Большинство маршрутизаторов, с которыми я работал, имеют 24, 48 или 96 портов и могут поддерживаться подсетями / 27, / 26 или / 25. Это позволяет использовать некоторые дополнительные адреса для DCHP и / или множественной адресации. Организации могут стандартизировать распределение подсетей / 24 или / 23 для маршрутизации.
Поскольку адрес IPv4 уже предоставляет информацию о сети и хосте, зачем нам все-таки нужна маска подсети?
Многие устройства используют маску по умолчанию / 24, которая во многих случаях соответствует размеру локальной подсети (localnet), назначенной маршрутизатору. Это в равной степени применимо к классам A, B и C. Если размер подсети не соответствует подсети по умолчанию, требуется маска сети.
Если адреса указаны в формате CIDR, маску сети и сеть можно рассчитать по адресу. Если нет, сеть может быть рассчитана по адресу и маске сети. Невозможно надежно рассчитать маску сети из адреса и сети.
Предоставление адреса шлюза (маршрутизатора) для подсети позволяет настроить маршрут по умолчанию, разрешив маршрутизацию на адреса вне подсети.