Введение
IP-адрес является 32-битным в длину и состоит из двух частей: адресной части сети и адресной части хоста. Сетевой адрес используется для определения сети и является общим для всех устройств, подключенных к сети. Адрес хоста (или узла) используется для определения конкретного устройства, подключенного к сети. Обычно IP-адрес имеет десятичное представление с разделительными точками, в которой 32 бита разделены на четыре октета. Каждый октет можно представить в десятичном формате с десятичной точкой в качестве разделителя. Для получения более подробных сведений об IP-адресе см. статью IP-адресация и создание подсетей для новых пользователей.
Длина маски подсети.
Количество хостов в подсети определяется как 232-N-2, при этом N — длина маски.
Логичный вывод: чем длиннее маска, тем меньше в ней хостов.
Ещё один полезный логический вывод: максимальной длиной маски для подсети с хостами будет N=30.
Именно сети /30 чаще всего используют для адресации на point-to-point-линках между маршрутизаторами.
Большинство маршрутизаторов сегодня отлично работает и с масками /31, используя адрес подсети (нуль в однобитовой хостовой части) и бродкаст (единица) в качестве адресов интерфейсов. Однако администраторы и сетевые инженеры иногда просто боятся такого подхода, согласно проверенному принципу «мало ли что».
А вот *маска IP-адреса* /32 используется гораздо чаще. С ней удобно работать, во-первых, при адресации так называемых loopback-интерфейсов. Во-вторых, практически невозможно ничего напутать: /32 — это подсеть, состоящая из одного хоста, то есть по сути никакая и не сеть.
Если администратору сети приходится оперировать не группами хостов, а индивидуальными машинами, то с каждым разом сеть становится всё менее масштабируемой, в ней резко увеличивается вероятность всяческого бардака и никому не понятных правил. За исключением, наверное, только написания файрвольных правил для серверов: вот там специфичность ценится и котируется.
Другими словами, с пользователями лучше обращаться не индивидуально, а массово, целыми подсетями, иначе сеть быстро станет неуправляемой.
Интерфейс, на котором настроен IP-адрес, иногда могут называть IP-интерфейсом или L3-интерфейсом («эл-три», тема «модель OSI»).
До того как послать IP-пакет, компьютер определяет, попадёт ли адрес назначения в «свою» подсеть. Если ответ положительный, то он шлёт пакет «напрямую», если отрицательный — направляет его шлюзу по умолчанию, то есть маршрутизатору.
Адресом шлюза по умолчанию обычно назначают первый адрес хоста в подсети, хотя это и вовсе не обязательно. В нашем примере адрес шлюза 192.168.8.1 — для красоты.
В чем назначение маски подсети в сочетании с ip-адресом?
Итак,существует пять классов маршрутизации – A, B, C, D, E. Различным организациям выделяются адреса из диапазонов A, B и C, D и E, которые используются для технических и исследовательских нужд.
Однако выделение какой-либо организации (или частному лицу в Интернете) сети из класса В – недопустимое расточительство. Например, вам нужен «белый» адрес для работы в сети Интернет.
Провайдер располагает адресами класса В и выделяет для вас одного сеть 129.16.0.0. Теперь у вас 65534 «белых» адресов, которые вы маловероятно задействуете.
Вот тут и нужна маска подсети. Маска нужна для определения, какая часть адреса относится к сети, а какая – к хосту. Адресация с использованием маски сети называется бесклассовой (от английского Classless Inter-Domain Routing или CIDR).
Маска подсети определена стандартом RFC 917.
Как именно работает и на что влияет маска подсети? Провайдеру, располагающему сетью 129.16.0.0 нет нужды отдавать ее полностью в чье-то ведение. Теперь можно разбить ее, используя маску сети на много подсетей меньшего размера.
Маршрутизатор и шлюз подсети.
Наверное, лучше повторить: шлюз и маршрутизатор — это одно и то же!
Из того, о чём говорилось только что, следует достаточно ясный вывод. Маршрутизатор с адресом интерфейса 192.168.8.1 ничего не знает о трафике, передаваемом, например, между хостами 192.168.8.5 и 192.168.8.7.
У начинающих администраторов одна из самых типичных ошибок — желание заблокировать или как-то иначе проконтролировать с помощью шлюза трафик между хостами в одной подсети. На самом деле, чтобы трафик проходил через маршрутизатор, адресат и отправитель должны находиться в разных подсетях.
А отсюда следует, что в сети даже самого маленького предприятия должно быть несколько IP-подсетей (больше двух) и маршрутизатор (точнее, файрвол, но сейчас можно считать эти слова синонимами), который маршрутизирует и контролирует трафик между подсетями.
Важный следующий шаг: разбиение подсетей на более мелкие подсети.
Сеть из нашего примера 192.168.8.0/21 можно разбить на две подсети /22, четыре подсети /23, восемь /24 и так далее. Общее правило, как можно догадаться, такое:
K=2X-Y,
при этом K — количество подсетей с длиной маски Y, которые умещаются в подсеть с длиной маски X.
Что такое маска сети (подсети)?
Наверняка каждый юзер, использующий для настроек протоколы типа TCP/IP (IPv4, Ipv6), замечал, что при отсутствии автоматического присвоения IP-адреса определенному компьютерному терминалу все параметры приходится вводить вручную, причем получены они должны быть именно от провайдера.
Иными словами, это своеобразная настройка переадресации запроса пользовательской системы через шлюз для последующего доступа в сеть Интернет. В данном случае получается, что IP-адрес, маска сети, предпочитаемый DNS-сервер (а иногда и WINS-сервер) предполагают настройку исключительно в ручном режиме. Но это еще далеко не все. К сожалению, не все знают, как определить маску сети, поскольку в самом простом стандартном варианте используется адрес 255.255.255.0.
Составление адресного плана.
Мы помним, что *маска IP-адреса* бывает разной длины. Чем больше длина маски, тем меньше хостов может быть в подсети. Одновременно увеличивается доля «съеденных» адресов на адреса подсети, шлюза по умолчанию и направленного бродкаста.
Пример. Подсеть с маской /29 (232-29 = 8 комбинаций). Здесь остаётся всего пять доступных для реального использования адресов, в процентах это будет 62,5%. Легко поставить себя на место провайдера, которому необходимо выдать тысячам корпоративных клиентов блоки /29. Для него грамотная разбивка IP-пространства на подсети жизненно необходима.
Эту науку ещё называют составлением адресного плана. Каждый, кто разбивает IP-пространство на подсети, должен уметь не только видеть и учитывать множество факторов, но и искать разумные компромиссы.
Если используется большой диапазон адресов, удобно работать с масками, совпадающими по длине с границами октетов.
Пример. Адреса из блоков частного сектора: 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16.
*Маска IP-адреса*: /8, /16, /24 или, соответственно, по-другому 255.0.0.0, 255.255.0.0, 255.255.255.0.
Такой подход серьёзно облегчает работу мозга и снижает нагрузку на калькулятор: не надо постоянно переходить на двоичную систему и биты. Ничего плохого в этом методе нет. Кроме одного: возможности чересчур сильно расслабиться. и наделать ошибок.
Интернет-протокол версии 4
Определение префикса сети
Маска подсети IPv4 состоит из 32 бит; это последовательность единиц ( 1 ), за которой следует блок нулей ( ). Единицы указывают биты в адресе, используемом для префикса сети, а завершающий блок нулей обозначает эту часть как идентификатор хоста.
Следующий пример показывает разделение префикса сети и идентификатор хоста от адреса ( 192.0.2.130 ) и связанной с ним 24 маски подсети ( 255.255.255.0 ). Операция отображается в виде таблицы с использованием двоичных форматов адресов.
Двоичная форма | Точечно-десятичная запись | |
---|---|---|
айпи адрес | 192.0.2.130 | |
Маска подсети | 255.255.255.0 | |
Префикс сети | 192.0.2.0 | |
Идентификатор хоста | 0.0.0.130 |
Результатом побитовой операции И для IP-адреса и маски подсети является префикс сети 192.0.2.0 . Часть хоста, равная 130 , получается побитовой операцией AND адреса и дополнения до единицы маски подсети.
Подсети
Разделение на подсети — это процесс обозначения некоторых старших битов из части хоста как части префикса сети и соответствующей настройки маски подсети. Это делит сеть на более мелкие подсети. Следующая диаграмма изменяет приведенный выше пример, перемещая 2 бита от части хоста к префиксу сети, чтобы сформировать четыре меньшие подсети, каждая четверть предыдущего размера.
Двоичная форма | Точечно-десятичная запись | |
---|---|---|
айпи адрес | 192.0.2.130 | |
Маска подсети | 255.255.255.192 | |
Префикс сети | 192.0.2.128 | |
Хост-часть | 0.0.0.2 |
Специальные адреса и подсети
IPv4 использует специально назначенные форматы адресов, чтобы облегчить распознавание специальных функций адреса. Первая и последняя подсети, полученные путем разбиения на подсети более крупной сети, традиционно имели специальное обозначение и, с самого начала, особые последствия использования. Кроме того, IPv4 использует адрес узла « все единицы» , т. Е. Последний адрес в сети, для широковещательной передачи всем узлам в канале связи.
В первой подсети, полученной в результате разбиения на подсети более крупной сети, все биты в группе битов подсети установлены в ноль (0). Поэтому он называется нулевой подсетью . В последней подсети, полученной в результате разбиения на подсети более крупной сети, все биты в группе битов подсети установлены в единицу (1). Поэтому называется все-онов подсети .
Первоначально IETF не одобряла использование этих двух подсетей в производственной среде. Если длина префикса недоступна, большая сеть и первая подсеть имеют один и тот же адрес, что может привести к путанице. Подобная путаница возможна с широковещательным адресом в конце последней подсети. Поэтому рекомендуется зарезервировать значения подсети, состоящие из всех нулей и всех единиц в общедоступном Интернете, уменьшив количество доступных подсетей на два для каждой подсети. Эта неэффективность была устранена, и в 1995 году эта практика была объявлена устаревшей и актуальной только при работе с устаревшим оборудованием.
Хотя значения хоста «все нули» и «все единицы» зарезервированы для сетевого адреса подсети и ее широковещательного адреса , соответственно, в системах, использующих CIDR, все подсети доступны в разделенной сети. Например, сеть 24 можно разделить на шестнадцать используемых сетей 28 . Каждый широковещательный адрес, например * .15 , * .31 ,…, * .255 , уменьшает только количество хостов в каждой подсети.
Количество хостов подсети
Количество доступных подсетей и количество возможных хостов в сети можно легко вычислить. Например, сеть 192.168.5.0 24 может быть разделена на следующие четыре подсети 26 . Выделенные два бита адреса становятся частью номера сети в этом процессе.
Сеть | Сеть (двоичная) | Адрес трансляции |
---|---|---|
192.168.5.0/26 | 192.168.5.63 | |
192.168.5.64/26 | 192.168.5.127 | |
192.168.5.128/26 | 192.168.5.191 | |
192.168.5.192/26 | 192.168.5.255 |
Остальные биты после битов подсети используются для адресации хостов внутри подсети. В приведенном выше примере маска подсети состоит из 26 бит, что составляет 255.255.255.192, оставив 6 бит для идентификатора хоста. Это позволяет использовать 62 комбинации хостов (2 6 -2).
В целом, количество доступных хостов в подсети составляет 2 ч -2, где ч есть число битов , используемых для принимающей части адреса. Количество доступных подсетей равно 2 n , где n — количество битов, используемых для сетевой части адреса.
Есть исключение из этого правила для 31-битных масок подсети, что означает, что идентификатор хоста имеет длину всего один бит для двух допустимых адресов. В таких сетях, как правило , точка-точка ссылки , только два хостов (конечные точки) могут быть подключены и спецификация сети и широковещательные адреса не является необходимым.
Вычисление максимально возможного количества хостов в подсети:
Чтобы найти максимальное количествохосты, посмотрите количество бинарных битов в указанном выше номере узла. Самый простой способ сделать это — вычесть длину сетевой маски от 32 (количество бит в адресе IPv4). Это дает вам количество бит хоста в адресе. В этот момент .
Максимальное количество хостов = 2 ** (32 — netmask_length) — 2
Причина, по которой мы вычитаем 2 выше, заключается в том, что зарезервированы номера хостов all-ones и all-zeros. Номер хоста all-zeros — это номер сети; номер хоста all-ones — широковещательный адрес.
Используя пример подсети 128.42.0.0/21 выше, количество хостов .
Максимальное количество хостов = 2 ** (32 — 21) — 2 = 2048 — 2 = 2046
Предварительные условия
Используемые компоненты
Настоящий документ не имеет жесткой привязки к каким-либо конкретным версиям программного обеспечения и оборудования.
Сведения, представленные в этом документе, были получены от устройств, работающих в специальной лабораторной среде. Все устройства, описанные в этом документе, были запущены с чистой (стандартной) конфигурацией. В рабочей сети необходимо изучить потенциальное воздействие всех команд до их использования.
Дополнительные сведения
Если определения помогают вам, воспользуйтесь следующими терминами словаря, чтобы начать работу:
-
Адрес — Уникальный ID-номер, назначенный одному узлу или интерфейсу в сети.
-
Подсеть — это часть сети, в которой совместно используется определенный адрес подсети.
-
Маска подсети — 32-битная комбинация, используемая для того, чтобы описать, какая часть адреса относится к подсети, а какая к узлу.
-
Интерфейс — сетевое подключение.
Если уже имеются адреса в Интернете, официально полученные из центра сетевой информации InterNIC, то можно приступать к работе. Если подключение к Интернету не планируется, настоятельно рекомендуется использовать зарезервированные адреса, как описано в документе RFC 1918.
Маска подсети
Маска подсети (маска подсети) также называется маской сети, маской адреса, маской подсети и используется для указания того, какие биты IP-адреса идентифицируют подсеть, где расположен хост, а какие Является ли битовая маска хоста.
Маска подсети не может существовать одна, ее необходимо использовать вместе с IP-адресом. Маска подсети имеет только одну функцию, которая заключается в разделении IP-адреса на сетевой адрес и адрес хоста.Маска подсети — это 32-разрядный адрес, используемый для маскировки части IP-адреса, чтобы отличить идентификатор сети от идентификатора хоста, и указать, находится ли IP-адрес в локальной сети или в удаленной сети.
Маска подсети — битовый шаблон «все 1», который маскирует сетевую часть IP-адреса. Для адресов класса A маска подсети по умолчанию — 255.0.0.0; Для адресов класса B маска подсети по умолчанию — 255.255.0.0; Для адресов класса C маска подсети по умолчанию — 255.255.255.0.
Поиск минимальной сетевой маски, которая содержит два IP-адреса:
Предположим, кто-то дает нам два IP-адреса и ожидает, что мы найдем самую длинную сетевую маску, содержащую их оба; например, что, если бы у нас было:
- 128.42.5.17
- 128.42.5.67
Проще всего сделать, чтобы преобразовать оба в двоичный файл и найти самую длинную строку сетевых битов из левой части адреса.
В этом случае минимальная сетевая маска будет /25
ПРИМЕЧАНИЕ. Если вы попытаетесь начать с правой стороны, не обманывайте себя только потому, что вы найдете один соответствующий столбец бит; могут существовать несогласованные биты за пределами этих совпадающих битов. Честно говоря, самым безопасным делом является запуск с левой стороны.
Агрегация.
Любой приличный айтишник, включая сетевого администратора, должен знать наизусть степени двойки от нуля до 16. Просто для того, чтобы не стыдно было получать зарплату.
Есть такой процесс, называемый агрегацией. Это значит объединение мелких префиксов — с длинной маской подсети, в которых мало хостов — в крупные, с короткой маской подсети, в которых много хостов. Второе название этого же процесса — суммаризация. Запомните, не суммирование!
Агрегация необходима, чтобы минимизировать количество информации, которую использует маршрутизатор для поиска пути передачи в сети.
Пример: провайдеры выдают клиентам множество маленьких блоков по типу /29. При этом весь остальной Интернет об этом даже не подозревает. За каждым провайдером закреплены префиксы намного крупнее — от /19 и выше. Благодаря такой системе в Глобальную таблицу Интернет-маршрутизации заносится намного меньше записей: их число сократилось на несколько порядков.
Классы
Ниже приведены классы IP-адресов.
-
Класс A—Первый октет означает адрес сети, а последние три–адресную часть хоста. Любой IP-адрес, октет которого находится в диапазоне от 1 до 126 является адресом класса A. Следует учитывать, что 0 зарезервирован как часть адреса по умолчанию, а 127 зарезервировано для внутреннего тестирования с обратной связью.
-
Класс B—Первые два октета означают адрес сети, а последние два–адресную часть хоста. Любой адрес, первый октет которого находится в диапазоне от 128 до 191, является адресом класса B
-
Класс С—Первые три октета означают адрес сети, а последний–адресную часть хоста. Первый октет, расположенный в диапазоне от 192 до 223 является адресом класса C.
-
Класс D—используется для многоадресной рассылки. Первые октеты IP-адресов многоадресной рассылки находятся в диапазоне от 224 до 239.
-
Класс E—зарезервирован для экспериментального использования и содержит диапазон адресов, в которых первый октет расположен в диапазоне от 240 до 255.
Поиск минимальной сетевой маски, которая содержит два IP-адреса:
Предположим, кто-то дает нам два IP-адреса и ожидает, что мы найдем самую длинную сетевую маску, содержащую их оба; например, что, если бы у нас было:
- 128.42.5.17
- 128.42.5.67
Проще всего сделать, чтобы преобразовать оба в двоичный файл и найти самую длинную строку сетевых битов из левой части адреса.
В этом случае минимальная сетевая маска будет /25
ПРИМЕЧАНИЕ. Если вы попытаетесь начать с правой стороны, не обманывайте себя только потому, что вы найдете один соответствующий столбец бит; могут существовать несогласованные биты за пределами этих совпадающих битов. Честно говоря, самым безопасным делом является запуск с левой стороны.
IP-адрес = сетевой адрес + адрес хоста
В соответствии с различными начальными символами IP-адреса можно разделить на адреса A, B, C, D и E.
Адрес класса A: 0 (начало) + 7 бит (сетевой адрес) + 24 бита (адрес хоста) Адрес класса B: 10 (начало) + 14 бит (сетевой адрес) + 16 бит (адрес хоста) Адрес класса C: 110 (начало) + 21 бит (сетевой адрес) + 8 бит (адрес хоста) Класс D начинается в 1110 и используется для многоадресной рассылки Класс E начинается в 11110 для резервирования научных исследований
Есть несколько моментов, на которые следует обратить внимание при разделении области действия: Класс A от 1.0.0.0 до 126.255.255.255 Класс B с 128.0.0.0 до 191.255.255.255 Класс C с 192.0.0.0 по 223.255.255.255 где адресное пространство сегмента 127.x.x.x является зарезервированным адресом обратной связи
Класс D начинается в 1110 и используется для многоадресной рассылки Класс E начинается в 11110 для резервирования научных исследований
Адреса класса A имеют 24 адреса хоста, поэтому они используются в крупномасштабных средах. Адреса класса C имеют 8-битные адреса хостов и используются в небольших сетяхКласс B по центру
Среди адресов A, B и C есть некоторые IP-адреса (частные адреса), используемые для интрасетей (локальных сетей).
Поиск минимальной сетевой маски, которая содержит два IP-адреса:
Предположим, кто-то дает нам два IP-адреса и ожидает, что мы найдем самую длинную сетевую маску, содержащую их оба; например, что, если бы у нас было:
- 128.42.5.17
- 128.42.5.67
Проще всего сделать, чтобы преобразовать оба в двоичный файл и найти самую длинную строку сетевых битов из левой части адреса.
В этом случае минимальная сетевая маска будет /25
ПРИМЕЧАНИЕ. Если вы попытаетесь начать с правой стороны, не обманывайте себя только потому, что вы найдете один соответствующий столбец бит; могут существовать несогласованные биты за пределами этих совпадающих битов. Честно говоря, самым безопасным делом является запуск с левой стороны.
Расчет максимально возможного количества хостов в подсети:
Чтобы найти максимальное количество хостов, посмотрите на количество двоичных битов в номере хоста выше. Самый простой способ сделать это — вычесть длину маски из 32 (количество бит в адресе IPv4). Это дает вам количество бит хоста в адресе. В таком случае…
Максимальное количество хостов = 2 ** (32 — длина маски сети) — 2
Причина, по которой мы вычитаем 2 выше, заключается в том, что номера хостов, состоящие из единиц и всех нулей, зарезервированы. Номер хоста из всех нулей — это номер сети; номер хоста «все единицы» — это широковещательный адрес.
Используя пример подсети 128.42.0.0/21 выше, количество хостов …
Максимальное количество хостов = 2 ** (32 — 21) — 2 = 2048 — 2 = 2046
Интернет-протокол версии 6
Структура адресного пространства IPv6 значительно отличается от IPv4. Основная причина использования подсетей в IPv4 заключается в повышении эффективности использования доступного относительно небольшого адресного пространства, особенно для предприятий. В IPv6 таких ограничений нет, поскольку доступное большое адресное пространство даже для конечных пользователей не является ограничивающим фактором.
Как и в IPv4, разделение на подсети в IPv6 основано на концепциях маскирования подсети переменной длины (VLSM) и методологии бесклассовой междоменной маршрутизации . Он используется для маршрутизации трафика между глобальными пространствами распределения и внутри клиентских сетей между подсетями и Интернетом в целом.
Подсеть, совместимая с IPv6, всегда использует адреса с 64-битным идентификатором хоста. Учитывая размер адреса 128 бит, он имеет префикс маршрутизации / 64. Хотя технически возможно использовать меньшие подсети, они непрактичны для локальных сетей, основанных на технологии Ethernet, поскольку для автоконфигурации адреса без сохранения состояния требуется 64 бита . Engineering Task Force Интернет рекомендует использовать / 127 подсетей для точка-точка ссылки, которые имеют только два хозяев.
IPv6 не реализует специальные форматы адресов для широковещательного трафика или сетевых номеров, поэтому все адреса в подсети приемлемы для адресации узлов. Адрес со всеми нулями зарезервирован как произвольный адрес маршрутизатора подсети.
В прошлом рекомендованное выделение для сайта клиента IPv6 было адресным пространством с 48-битным ( / 48 ) префиксом. Однако эта рекомендация была пересмотрена, чтобы поощрять блоки меньшего размера, например, с использованием 56-битных префиксов. Другой распространенный размер выделения для сетей частных клиентов имеет 64-битный префикс.
Итоги по маске IP-адреса.
Само понятие «классы адресов», о котором нет-нет да и приходится читать/слышать, давно устарело. Уже больше 20 лет назад выяснилось, что длина префикса может быть любой. Если же раздавать адреса блоками по /8, то никакого Интернета не получится. Итак: «классов адресов» не существует!
Другой, мягко говоря, странный термин. Иногда говорят «сеть класса такого-то» по отношению к подсети с той или иной длиной маски. Например, «сеть класса C» про 10.1.2.0/24. или что-то подобное. Знайте, так никогда не скажет серьёзный специалист. Класс сети, когда он ещё существовал, не имел отношения к длине маски и определялся совсем другими факторами — а именно комбинациями битов в адресе. Если классовая адресация использовалась, то длина масок тоже была строго регламентирована. Каждому классу соответствовали маски только строго определённой длины. Хотя бы поэтому подсеть 10.1.2.0/24, как в примере, никогда не принадлежала и не могла принадлежать к классу C.
Но лучше об этом не вспоминать
Важно только вот что. «Под одной крышей» в RFC3330 собраны все существующие глобальные конвенции, которые посвящены специальным значениям разнообразных блоков адресов
В них блоки 10/8, 172.16/12 и 192.168/16 (написание сокращённое) определяются как диапазоны для частного использования, запрещённые к маршрутизации в интернете. Другими словами, каждый может использовать их по своему усмотрению, в частных целях.
Пусть вас не удивляет способ написания префиксов, когда полностью отбрасывается хостовая часть: он широко применяется и не вызывает разночтений или недоразумений.
Далее, блок 224.0.0.0/4 зарезервирован для мультикаста, и так далее. Но конвенции — это не совсем законы в полном юридическом смысле слова. Их цель — сделать проще и легче административное взаимодействие. Конвенции крайне не рекомендуется нарушать, но до поры до времени никем не запрещено использовать любые адреса для любых целей. Ровно до того момента, пока вы не встречаетесь с внешним миром