Подсеть или подсеть — это логическое подразделение IP-сети . [1] : 1, 16 Практика разделения сети на две или более сетей называется подсетями .
Компьютеры, принадлежащие к одной подсети, адресуются по одинаковой группе старших бит их IP-адресов . Это приводит к логическому разделению IP-адреса на два поля: номер сети или префикс маршрутизации и остальное поле или идентификатор хоста . Остальное поле — это идентификатор конкретного хоста или сетевого интерфейса.
Префикс маршрутизации может быть выражен как первый адрес сети, записанный в нотации бесклассовой междоменной маршрутизации (CIDR), за которым следует косая черта ( / ) и заканчивается длиной префикса в битах. Например, 198.51.100.0/24 — это префикс сети Интернет-протокола версии 4 , начинающийся с данного адреса, причем 24 бита выделены для префикса сети, а остальные 8 бит зарезервированы для адресации хоста . К этой сети относятся адреса в диапазоне от 198.51.100.0 до 198.51.100.255 , а широковещательным адресом подсети является 198.51.100.255 . Спецификация адреса IPv6 2001:db8:: / 32 представляет собой большой блок адресов с 2 96 адресами, имеющий 32-битный префикс маршрутизации.
Для IPv4 сеть также может характеризоваться маской подсети или сетевой маской , которая представляет собой битовую маску , которая при применении побитовой операции И к любому IP-адресу в сети дает префикс маршрутизации. Маски подсети также выражаются в десятичном формате, например IP-адрес. Например, префикс 198.51.100.0/24 будет иметь маску подсети 255.255.255.0 .
Обмен трафиком между подсетями осуществляется через маршрутизаторы , когда префиксы маршрутизации адреса источника и адреса назначения различаются. Маршрутизатор служит логической или физической границей между подсетями.
Преимущества разделения существующей сети на подсети различаются в зависимости от сценария развертывания. В архитектуре распределения адресов Интернета с использованием CIDR и в крупных организациях необходимо эффективное распределение адресного пространства. Создание подсетей также может повысить эффективность маршрутизации или дать преимущества в управлении сетью, когда подсети административно контролируются различными объектами в более крупной организации. Подсети могут быть организованы логически в иерархической архитектуре, разделяя адресное пространство сети организации на древовидную структуру маршрутизации или другие структуры, такие как ячейки.
Компьютеры, участвующие в IP-сети, имеют по крайней мере один сетевой адрес . Обычно этот адрес уникален для каждого устройства и может быть настроен автоматически сетевой службой с помощью протокола динамической конфигурации хоста (DHCP), вручную администратором или автоматически операционной системой с автоматической настройкой адреса без отслеживания состояния .
Адрес выполняет функции идентификации хоста и его местонахождения в сети при маршрутизации назначения. Наиболее распространенной архитектурой сетевой адресации является Интернет-протокол версии 4 (IPv4), но его преемник, IPv6 , все чаще используется примерно с 2006 года. Адрес IPv4 состоит из 32 битов. Адрес IPv6 состоит из 128 бит. В обеих архитектурах IP-адрес разделен на две логические части: префикс сети и идентификатор хоста . Все хосты в подсети имеют одинаковый сетевой префикс. Этот префикс занимает старшие биты адреса. Количество битов, выделяемых в сети для префикса, может варьироваться в зависимости от подсети в зависимости от сетевой архитектуры. Идентификатор хоста является уникальным локальным идентификатором и представляет собой либо номер хоста в локальной сети, либо идентификатор интерфейса.
Эта структура адресации позволяет избирательно маршрутизировать IP-пакеты по нескольким сетям через специальные компьютеры-шлюзы, называемые маршрутизаторами , к хосту назначения, если сетевые префиксы хостов-источника и хоста назначения различаются, или отправлять непосредственно на целевой хост в локальной сети, если они различаются. одинаковый. Маршрутизаторы образуют логические или физические границы между подсетями и управляют трафиком между ними. Каждая подсеть обслуживается назначенным по умолчанию маршрутизатором, но внутри может состоять из нескольких физических сегментов Ethernet , соединенных между собой сетевыми коммутаторами .
Префикс маршрутизации адреса идентифицируется маской подсети , записанной в той же форме, что и для IP-адресов. Например, маска подсети для префикса маршрутизации, состоящая из 24 старших бит адреса IPv4, записывается как 255.255.255.0 .
Современной стандартной формой указания сетевого префикса является нотация CIDR, используемая как для IPv4, так и для IPv6. Он подсчитывает количество бит в префиксе и добавляет это число к адресу после разделителя символов косой черты (/). Эта нотация была введена в бесклассовой междоменной маршрутизации (CIDR). [2] В IPv6 это единственная стандартная форма для обозначения префиксов сети или маршрутизации.
Например, сеть IPv4 192.0.2.0 с маской подсети 255.255.255.0 записывается как 192.0.2.0/24 , а запись IPv6 2001 :db8:: / 32 обозначает адрес 2001:db8:: и его сетевой префикс , состоящий из самые значимые 32 бита.
В классовых сетях IPv4 до введения CIDR сетевой префикс можно было получить непосредственно из IP-адреса на основе его битовой последовательности высшего порядка. Это определило класс (A, B, C) адреса и, следовательно, маску подсети. Однако с момента появления CIDR для назначения IP-адреса сетевому интерфейсу требуется два параметра: адрес и маска подсети.
Учитывая исходный адрес IPv4, связанную с ним маску подсети и адрес назначения, маршрутизатор может определить, находится ли пункт назначения в локальной сети или в удаленной сети. Маска подсети места назначения не требуется и обычно не известна маршрутизатору. [3] Однако для IPv6 определение соединения в деталях отличается и требует протокола обнаружения соседей (NDP). [4] [5] Назначение IPv6-адреса интерфейсу не требует наличия соответствующего префикса внутри канала и наоборот, за исключением локальных адресов канала .
Поскольку каждая локально подключенная подсеть должна быть представлена отдельной записью в таблицах маршрутизации каждого подключенного маршрутизатора, разделение на подсети увеличивает сложность маршрутизации. Однако при тщательном проектировании сети маршруты к коллекциям более удаленных подсетей внутри ветвей древовидной иерархии могут быть объединены в суперсеть и представлены отдельными маршрутами.
Маска подсети IPv4 состоит из 32 битов; это последовательность единиц ( 1 ), за которой следует блок нулей ( 0 ). Единицы обозначают биты адреса, используемые в качестве префикса сети, а завершающий блок нулей обозначает эту часть как идентификатор хоста.
В следующем примере показано отделение префикса сети и идентификатора узла от адреса ( 192.0.2.130 ) и связанной с ним маски подсети / 24 ( 255.255.255.0 ). Операция визуализируется в таблице с использованием форматов двоичных адресов.
Результатом побитовой операции И IP-адреса и маски подсети является префикс сети 192.0.2.0 . Часть хоста, равная 130 , получается посредством побитовой операции И адреса и дополнения до единиц маски подсети.
Создание подсетей — это процесс обозначения некоторых старших бит хостовой части как части префикса сети и соответствующей настройки маски подсети. Это делит сеть на более мелкие подсети. Следующая диаграмма изменяет приведенный выше пример, перемещая 2 бита из части хоста в префикс сети, чтобы сформировать четыре меньшие подсети, каждая из которых составляет четверть предыдущего размера.
IPv4 использует специально назначенные форматы адресов для облегчения распознавания специальных функций адреса. Первая и последняя подсети, полученные путем разделения на подсети более крупной сети, традиционно имели специальное обозначение и на раннем этапе имели особые последствия для использования. [6] Кроме того, IPv4 использует единый адрес хоста, то есть последний адрес в сети, для широковещательной передачи всем хостам в канале.
В первой подсети, полученной в результате разделения на подсети более крупной сети, все биты в группе битов подсети установлены на ноль. Поэтому она называется нулевой подсетью . [7] В последней подсети, полученной в результате разделения на подсети более крупной сети, все биты в группе битов подсети установлены в единицу. Поэтому ее называют подсетью «все единицы» . [8]
Первоначально IETF не одобрял производственное использование этих двух подсетей. Если длина префикса недоступна, более крупная сеть и первая подсеть имеют один и тот же адрес, что может привести к путанице. Аналогичная путаница возможна с широковещательным адресом в конце последней подсети. Поэтому в общедоступном Интернете было рекомендовано зарезервировать значения подсетей, состоящие только из нулей и единиц, [9] уменьшив количество доступных подсетей на две для каждой подсети. Эта неэффективность была устранена, и в 1995 году эта практика была объявлена устаревшей и актуальна только при работе с устаревшим оборудованием. [10]
Хотя значения хоста «все нули» и «все единицы» зарезервированы для сетевого адреса подсети и ее широковещательного адреса соответственно, в системах, использующих CIDR, все подсети доступны в разделенной сети. Например, сеть / 24 можно разделить на шестнадцать пригодных для использования сетей / 28 . Каждый широковещательный адрес, т. е. *.15 , *.31 , …, *.255 , уменьшает только количество хостов в каждой подсети.
Количество доступных подсетей и количество возможных хостов в сети можно легко вычислить. Например, сеть 192.168.5.0/24 может быть разделена на следующие четыре / 26 подсетей . В этом процессе выделенные два бита адреса становятся частью номера сети.
Остальные биты после битов подсети используются для адресации хостов внутри подсети. В приведенном выше примере маска подсети состоит из 26 бит, что составляет 255.255.255.192, оставляя 6 бит для идентификатора хоста. Это позволяет использовать 62 комбинации хостов (2 6 −2).
Обычно количество доступных хостов в подсети составляет 2 h −2, где h — количество битов, используемых для хостовой части адреса. Количество доступных подсетей равно 2 n , где n — количество битов, используемых для сетевой части адреса.
Из этого правила есть исключение для 31-битных масок подсети [11] , что означает, что идентификатор хоста имеет длину всего один бит для двух допустимых адресов. В таких сетях, обычно двухточечных , могут быть подключены только два хоста (конечные точки), и указание сетевых и широковещательных адресов не требуется.
Структура адресного пространства IPv6 существенно отличается от IPv4. Основная причина создания подсетей в IPv4 — повышение эффективности использования относительно небольшого адресного пространства, доступного, особенно предприятиям. В IPv6 таких ограничений не существует, поскольку большое адресное пространство, доступное даже конечным пользователям, не является ограничивающим фактором.
Как и в IPv4, разбиение на подсети в IPv6 основано на концепциях маскировки подсетей переменной длины (VLSM) и методологии бесклассовой междоменной маршрутизации . Он используется для маршрутизации трафика между глобальными пространствами распределения и внутри сетей клиентов между подсетями и Интернетом в целом.
Подсеть, совместимая с IPv6, всегда использует адреса с 64-битным идентификатором хоста. [12] Учитывая размер адреса 128 бит, он имеет префикс маршрутизации /64. Хотя технически возможно использовать подсети меньшего размера, [13] они непрактичны для локальных сетей, основанных на технологии Ethernet, поскольку для автоконфигурации адреса без сохранения состояния требуются 64 бита . [14] Internet Engineering Task Force рекомендует использовать подсети / 127 для каналов «точка-точка», которые имеют только два хоста. [15] [16]
IPv6 не реализует специальные форматы адресов для широковещательного трафика или сетевых номеров [17] , поэтому все адреса в подсети приемлемы для адресации хостов. Адрес, состоящий из всех нулей, зарезервирован как адрес произвольной рассылки маршрутизатора подсети. [18] Произвольный адрес маршрутизатора подсети — это самый низкий адрес в подсети, поэтому он выглядит как «сетевой адрес». Если маршрутизатор имеет несколько подсетей на одном и том же канале, то он имеет несколько произвольных адресов маршрутизатора подсети на этом канале. [19] Первый и последний адрес в любой сети или подсети не может быть назначен какому-либо отдельному хосту.
Раньше рекомендуемым выделением для сайта клиента IPv6 было адресное пространство с 48-битным ( / 48 ) префиксом. [20] Однако эта рекомендация была пересмотрена, чтобы поощрять использование блоков меньшего размера, например, с использованием 56-битных префиксов. [21] Другой распространенный размер распределения для сетей бытовых потребителей имеет 64-битный префикс.
Традиционно настоятельно рекомендуется не использовать для адресации нулевую подсеть и подсеть, состоящую из одних единиц. [...] Сегодня использование нулевой подсети и подсети «все единицы» общепринято, и большинство поставщиков поддерживают их использование.
первая [...] подсеть[...], известная как нулевая подсеть
[...] последняя подсеть[...], известная как [...] подсеть «все единицы»
Полезно сохранить и расширить интерпретацию этих специальных адресов в сетях с подсетями. Это означает, что значения всех нулей и всех единиц в поле подсети не должны присваиваться реальным (физическим) подсетям.
Эта практика устарела! Современное программное обеспечение сможет использовать все определяемые сети.(Информационный RFC, понижен в категории «Исторический »)
Для всех одноадресных адресов, за исключением тех, которые начинаются с двоичного значения 000, идентификаторы интерфейса должны иметь длину 64 бита и быть созданы в модифицированном формате EUI-64.(Обновлено RFC 5952, RFC 6052, RFC 7136, RFC 7346, RFC 7371, RFC 8064.)
Системный администратор несет ответственность за обеспечение соответствия длины префиксов, содержащихся в объявлениях маршрутизатора, длине идентификаторов интерфейса для этого типа канала. [...] реализация не должна предполагать определенную константу. Скорее, он должен ожидать любой длины идентификаторов интерфейса.(Обновлено RFC 7527.)
Идентификатор интерфейса [AARCH] для интерфейса Ethernet основан на идентификаторе EUI-64 [EUI64], полученном из встроенного 48-битного адреса IEEE 802 интерфейса. [...] Префикс адреса IPv6, используемый для автоконфигурации без сохранения состояния [ACONF] интерфейса Ethernet, должен иметь длину 64 бита.(Обновлено RFC 6085, RFC 8064.)
На каналах «точка-точка» между маршрутизаторами полезно использовать 127-битные префиксы IPv6 по соображениям безопасности и по другим причинам.
В этом документе параметру «Использование длины префикса /127 между маршрутизаторами, считающимся вредным» (RFC 3627) присваивается исторический статус, чтобы отразить обновленное руководство, содержащееся в «Использовании 127-битных префиксов IPv6 в каналах между маршрутизаторами» (RFC 6164).
В IPv6 нет широковещательных адресов, их функцию заменяют многоадресные адреса. [...] В IPv6 все нули и все единицы являются допустимыми значениями для любого поля, если это специально не исключено.
Этот произвольный адрес синтаксически совпадает с одноадресным адресом для интерфейса в канале с нулевым идентификатором интерфейса.
Все клиенты получают один /48, если только они не докажут, что им нужно более 65 тысяч подсетей. [...] Если у вас много клиентов-потребителей, вы можете присвоить /56 сайтам частных домов.
APNIC, ARIN и RIPE пересмотрели политику назначения конечных сайтов, чтобы поощрять назначение меньших блоков (т. е. /56) конечным сайтам.