какая должна быть маска подсети
Маска IP-адреса.
Вопрос о том, что такое *маска IP-адреса*, из чего она состоит и как используется, приходится слышать довольно часто. Самое неприятное, что в Интернете есть много непроверенной, устаревшей и не соответствующей действительности информации. Поэтому постараюсь ответить максимально подробно.
Из скольки бит состоит IP-адрес?
Для вас это простой вопрос, на который вы отвечаете не задумываясь? И ответите правильно, даже если вас разбудят среди ночи? Значит, вы профессиональный айтишник — сетевой инженер или, например, администратор. Если вы засомневались, не беда. Дочитав статью до конца, вы наверняка узнаете много интересного.
Для удобства информация разделена на шесть порций, или небольших глав. Есть мудрая поговорка, что нельзя съесть слона целиком, но можно съесть его по частям. Поехали.
Маска ip адреса общие понятия.
IP-адрес (v4) состоит из 32-бит. Это можно взять в рамочку, как в школьных учебниках. Желательно запомнить и про IPv6 тоже: 128 бит.
Теоретически IPv4-адресов может быть: 2 32 = 2 10 *2 10 *2 10 *2 2 = 1024*1024*1024*4 ≈ 1000*1000*1000*4 = 4 млрд.
Всего 4 миллиарда. Но дальше будет рассмотрено, сколько из них не используется, грубо говоря, съедается.
Как записывается IPv4-адрес? Он состоит из четырёх октетов и записывается в десятичном представлении без начальных нулей, октеты разделяются точками: например, «192.168.11.10».
Если что, октет — это ровно то же самое, что байт. Но если вы скажете «октет» в среде профессионалов, они вас сразу зауважают и вам легче будет сойти за своего.
В заголовке IP-пакета есть поля «source IP» и «destination IP». Это адреса источника: кто посылает и назначения: кому отправлено. Почти как на почтовом конверте. Внутри пакетов у IP-адресов нет никаких масок, и разделителей между октетами тоже нет. Просто 32 бита для адреса назначения и еще 32 для адреса источника.
Однако, когда IP-адрес присваивается интерфейсу — ещё говорят, сетевому адаптеру — компьютера или маршрутизатора, то, кроме самого адреса этого устройства, ему присваивают еще и маску подсети.
Можно повторить, это важно: *маска IP-адреса* НЕ передается в заголовках IP-пакетов.
Компьютерам маска подсети нужна для определения границ. угадайте, чего именно. подсети. Это нужно, чтобы каждый мог определить, кто находится с ним в одной (под)сети, а кто — за ее пределами. Вообще-то можно говорить просто «сети», часто этот термин используют именно в значении «IP-подсеть». Внутри одной сети компьютеры обмениваются пакетами напрямую, но если нужно послать пакет в другую сеть, шлют их шлюзу по умолчанию (это третий параметр, настраиваемый в сетевых свойствах). Вот как это происходит.
Маска подсети — это тоже 32-бита. Но, в отличие от IP-адреса, нули и единицы в ней не могут чередоваться. Всегда сначала идут единицы, потом нули.
Сначала N единиц, потом 32-N нулей. Легко догадаться, что такая форма записи избыточна. Вполне хватило бы числа N, называемого длиной маски. Так и делают: пишут 192.168.11.10/21 вместо 192.168.11.10 255.255.248.0. Обе формы имеют один и тот же смысл, но первая заметно удобнее.
Чтобы определить границы подсети, компьютер делает побитовое умножение (логическое И) между IP-адресом и маской, а на выходе получает адрес с обнулёнными битами в позициях нулей маски.
Рассмотрим пример 192.168.11.10/21:
Маска ip адреса, адрес подсети.
Владение двоичной арифметикой обязательно для любого профессионального администратора. Нужно уметь безошибочно переводить IP-адреса из десятичной формы в двоичную и обратно. Это может делаться в уме или на бумажке. Обходиться в таких вопросах без калькулятора — это требование суровой действительности.
Адрес 192.168.8.0 называется адресом подсети. Обратите внимание на все обнулённые биты на позициях, которые соответствуют нулям в маске. Адрес подсети обычно нельзя использовать в качестве адреса для интерфейса того или иного хоста.
Если, наоборот эти же биты превратить в единицы, то получится адрес 192.168.15.255. Такой адрес называется направленным бродкастом (то есть широковещательным) для данной сети. Сейчас особого смысла в нём нет, но когда-то раньше считалось, что все хосты в подсети должны на него откликаться. Сейчас это неактуально, однако этот адрес тоже (обычно) нельзя использовать как адрес хоста.
Получается, из каждой подсети выбрасывается два адреса. Остальные адреса в диапазоне от 192.168.8.1 до 192.168.15.254 включительно — это полноправные адреса хостов внутри подсети 192.168.8.0/21. Их, все без исключения, можно использовать для назначения на компьютерах.
Зрительно адрес как бы делится на две части. Та часть адреса, которой соответствуют единицы в маске, является идентификатором подсети — или адресом подсети. Обычно её называют «префикс».
Вторая часть, которой соответствуют нули в маске — это идентификатор хоста внутри подсети.
Очень часто встречается адрес подсети в таком виде:
Когда маршрутизатор прокладывает в сети маршруты для передачи трафика, он оперирует именно префиксами.
Как ни странно, он не интересуется местонахождением хостов внутри подсетей. Об этом знает только шлюз по умолчанию конкретной подсети (технологии канального уровня могут отличаться).
Главное: в отрыве от подсети адрес хоста не используется совсем.
Длина маски подсети.
Количество хостов в подсети определяется как 232-N-2, при этом N — длина маски.
Логичный вывод: чем длиннее маска, тем меньше в ней хостов.
Ещё один полезный логический вывод: максимальной длиной маски для подсети с хостами будет N=30.
Именно сети /30 чаще всего используют для адресации на point-to-point-линках между маршрутизаторами.
Большинство маршрутизаторов сегодня отлично работает и с масками /31, используя адрес подсети (нуль в однобитовой хостовой части) и бродкаст (единица) в качестве адресов интерфейсов. Однако администраторы и сетевые инженеры иногда просто боятся такого подхода, согласно проверенному принципу «мало ли что».
А вот *маска IP-адреса* /32 используется гораздо чаще. С ней удобно работать, во-первых, при адресации так называемых loopback-интерфейсов. Во-вторых, практически невозможно ничего напутать: /32 — это подсеть, состоящая из одного хоста, то есть по сути никакая и не сеть.
Если администратору сети приходится оперировать не группами хостов, а индивидуальными машинами, то с каждым разом сеть становится всё менее масштабируемой, в ней резко увеличивается вероятность всяческого бардака и никому не понятных правил. За исключением, наверное, только написания файрвольных правил для серверов: вот там специфичность ценится и котируется.
Другими словами, с пользователями лучше обращаться не индивидуально, а массово, целыми подсетями, иначе сеть быстро станет неуправляемой.
Интерфейс, на котором настроен IP-адрес, иногда могут называть IP-интерфейсом или L3-интерфейсом («эл-три», тема «модель OSI»).
До того как послать IP-пакет, компьютер определяет, попадёт ли адрес назначения в «свою» подсеть. Если ответ положительный, то он шлёт пакет «напрямую», если отрицательный — направляет его шлюзу по умолчанию, то есть маршрутизатору.
Адресом шлюза по умолчанию обычно назначают первый адрес хоста в подсети, хотя это и вовсе не обязательно. В нашем примере адрес шлюза 192.168.8.1 — для красоты.
Маршрутизатор и шлюз подсети.
Наверное, лучше повторить: шлюз и маршрутизатор — это одно и то же!
Из того, о чём говорилось только что, следует достаточно ясный вывод. Маршрутизатор с адресом интерфейса 192.168.8.1 ничего не знает о трафике, передаваемом, например, между хостами 192.168.8.5 и 192.168.8.7.
У начинающих администраторов одна из самых типичных ошибок — желание заблокировать или как-то иначе проконтролировать с помощью шлюза трафик между хостами в одной подсети. На самом деле, чтобы трафик проходил через маршрутизатор, адресат и отправитель должны находиться в разных подсетях.
А отсюда следует, что в сети даже самого маленького предприятия должно быть несколько IP-подсетей (больше двух) и маршрутизатор (точнее, файрвол, но сейчас можно считать эти слова синонимами), который маршрутизирует и контролирует трафик между подсетями.
Важный следующий шаг: разбиение подсетей на более мелкие подсети.
Сеть из нашего примера 192.168.8.0/21 можно разбить на две подсети /22, четыре подсети /23, восемь /24 и так далее. Общее правило, как можно догадаться, такое:
при этом K — количество подсетей с длиной маски Y, которые умещаются в подсеть с длиной маски X.
Агрегация.
Любой приличный айтишник, включая сетевого администратора, должен знать наизусть степени двойки от нуля до 16. Просто для того, чтобы не стыдно было получать зарплату.
Есть такой процесс, называемый агрегацией. Это значит объединение мелких префиксов — с длинной маской подсети, в которых мало хостов — в крупные, с короткой маской подсети, в которых много хостов. Второе название этого же процесса — суммаризация. Запомните, не суммирование!
Агрегация необходима, чтобы минимизировать количество информации, которую использует маршрутизатор для поиска пути передачи в сети.
Пример: провайдеры выдают клиентам множество маленьких блоков по типу /29. При этом весь остальной Интернет об этом даже не подозревает. За каждым провайдером закреплены префиксы намного крупнее — от /19 и выше. Благодаря такой системе в Глобальную таблицу Интернет-маршрутизации заносится намного меньше записей: их число сократилось на несколько порядков.
Составление адресного плана.
Мы помним, что *маска 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.
Такой подход серьёзно облегчает работу мозга и снижает нагрузку на калькулятор: не надо постоянно переходить на двоичную систему и биты. Ничего плохого в этом методе нет. Кроме одного: возможности чересчур сильно расслабиться. и наделать ошибок.
Итоги по маске 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 зарезервирован для мультикаста, и так далее. Но конвенции — это не совсем законы в полном юридическом смысле слова. Их цель — сделать проще и легче административное взаимодействие. Конвенции крайне не рекомендуется нарушать, но до поры до времени никем не запрещено использовать любые адреса для любых целей. Ровно до того момента, пока вы не встречаетесь с внешним миром
Таблица подсетей различной ёмкости для IPv4
11 сентября 2013 г.
IP-адрес — это массив битов. Принцип IP-адресации — выделение диапазона IP-адресов, в котором некоторые битовые разряды имеют фиксированные значения, а остальные разряды пробегают все возможные значения. Блок адресов задаётся указанием начального адреса и маски подсети. Бесклассовая адресация основывается на переменной длине маски подсети (англ. variable length subnet mask, VLSM), в то время, как в классовой (традиционной) адресации длина маски строго фиксирована 0, 1, 2 или 3 установленными октетами.
Маски и размеры подсетей
Количество адресов подсети не равно количеству возможных узлов. Нулевой IP-адрес резервируется для идентификации подсети, последний — в качестве широковещательного адреса. Таким образом, в реально действующих сетях возможно количество узлов на два меньшее количества адресов.
Зарезервированные адреса
Некоторые адреса IPv4 зарезервированы для специальных целей и не предназначены для глобальной маршрутизации.
Подсеть | Назначение |
---|---|
0.0.0.0/8 | Адреса источников пакетов «этой» («своей») сети, предназначены для локального использования на хосте при создании сокетов IP. Адрес 0.0.0.0/32 используется для указания адреса источника самого хоста. |
10.0.0.0/8 | Для использования в частных сетях. |
127.0.0.0/8 | Подсеть для коммуникаций внутри хоста (см.: localhost). |
169.254.0.0/16 | Канальные адреса; подсеть используется для автоматического конфигурирования адресов IP в случае отсутствия сервера DHCP. |
172.16.0.0/12 | Для использования в частных сетях. |
100.64.0.0/10 | Для использования в сетях сервис-провайдера. |
192.0.0.0/24 | Регистрация адресов специального назначения. |
192.0.2.0/24 | Для примеров в документации. |
192.168.0.0/16 | Для использования в частных сетях. |
198.51.100.0/24 | Для примеров в документации. |
198.18.0.0/15 | Для стендов тестирования производительности. |
203.0.113.0/24 | Для примеров в документации. |
240.0.0.0/4 | Зарезервировано для использования в будущем. |
255.255.255.255 | Ограниченный широковещательный адрес. |
Зарезервированные адреса, которые маршрутизируются глобально.
Какая должна быть маска подсети
Маски подсети и CIDR-диапазоны
Сетевая маска | Инверсия | CIDR-диапазон | Используется | Размер |
0.0.0.0 | 255.255.255.255 | /0 | 4,294,967,294 | весь интернет |
128.0.0.0 | 127.255.255.255 | /1 | 2,147,483,646 | 128 классов A |
192.0.0.0 | 63.255.255.255 | /2 | 1,073,741,822 | 64 класса A |
224.0.0.0 | 31.255.255.255 | /3 | 536,870,910 | 32 класса A |
240.0.0.0 | 15.255.255.255 | /4 | 268,435,454 | 16 классов A |
248.0.0.0 | 7.255.255.255 | /5 | 134,217,726 | 8 классов A |
252.0.0.0 | 3.255.255.255 | /6 | 67,108,862 | 4 класса A |
254.0.0.0 | 1.255.255.255 | /7 | 33,554,430 | 2 класса A |
255.0.0.0 | 0.255.255.255 | /8 | 16,777,214 | 1 класс A |
255.128.0.0 | 0.127.255.255 | /9 | 8,388,606 | 128 классов B |
255.192.0.0 | 0.63.255.255 | /10 | 4,194,302 | 64 класса B |
255.224.0.0 | 0.31.255.255 | /11 | 2,097,150 | 32 класса B |
255.240.0.0 | 0.15.255.255 | /12 | 1,048,574 | 16 классов B |
255.248.0.0 | 0.7.255.255 | /13 | 524,286 | 8 классов B |
255.252.0.0 | 0.3.255.255 | /14 | 262,142 | 4 класса B |
255.254.0.0 | 0.1.255.255 | /15 | 131,070 | 2 класса B |
255.255.0.0 | 0.0.255.255 | /16 | 65,534 | 1 класс B |
255.255.128.0 | 0.0.127.255 | /17 | 32,766 | 128 классов C |
255.255.192.0 | 0.0.63.255 | /18 | 16,382 | 64 класса C |
255.255.224.0 | 0.0.31.255 | /19 | 8,190 | 32 класса C |
255.255.240.0 | 0.0.15.255 | /20 | 4,094 | 16 классов C |
255.255.248.0 | 0.0.7.255 | /21 | 2,046 | 8 классов C |
255.255.252.0 | 0.0.3.255 | /22 | 1,022 | 4 класса C |
255.255.254.0 | 0.0.1.255 | /23 | 510 | 2 классов C |
255.255.255.0 | 0.0.0.255 | /24 | 254 | 1 класс C |
255.255.255.128 | 0.0.0.127 | /25 | 126 | 128 хостов |
255.255.255.192 | 0.0.0.63 | /26 | 62 | 64 хоста |
255.255.255.224 | 0.0.0.31 | /27 | 30 | 32 хоста |
255.255.255.240 | 0.0.0.15 | /28 | 14 | 16 хостов |
255.255.255.248 | 0.0.0.7 | /29 | 6 | 8 хостов |
255.255.255.252 | 0.0.0.3 | /30 | 2 | 4 хоста |
255.255.255.254 | 0.0.0.1 | /31 | 0 | 2 хоста |
255.255.255.255 | 0.0.0.0 | /32 | 1 | 1 хост |
IP-адреса используются для идентификации устройств в сети. Для взаимодействия c другими устройствами по сети IP-адрес должен быть назначен каждому сетевому устройству — компьютерам, серверам, маршрутизаторам, принтерам и т.д. С помощью маски подсети определяется максимально возможное число хостов в конкретной сети.
Числовой показатель, который определяет размер сети, построенной на базе TCP/IP. Имеет двоичное представление, например, 11111111 11111111 11111111 00000000 (единицы всегда слева, нули — справа). Однако, для удобства, записывается в десятичном виде как xxx.xxx.xxx.xxx. Пример маски для стандартной домашней сети — 255.255.255.0 (сеть IPv4).
Чтобы рассчитать, какое количество IP-адресов может войти в сеть с определенной маской, можно воспользоваться таблицей. Маска для минимальной сети равна 255.255.255.252 — она ограничивает подсеть 4-я IP-адресами или 2-я рабочими (для узлов)
Также расчет можно выполнять вручную. Для этого адрес и маску нужно представить в десятичном виде и записать друг под другом, например:
11000000.10101000.01 111010.00010111 (192.168.122.23)
11111111.11111111.11 000000.00000000 (255.255.192.0)
11000000.10101000.01 000000.00000000 (192.168.64.0)
У каждого хоста в сети Интернет должен быть уникальный адрес. Если сеть изолирована от Интернета (например, связывают два филиала компании), для хостов можно использовать любые IP-адреса. Однако, уполномоченной организацией по распределению нумерации в сети Интернет (IANA) специально для частных сетей зарезервированы следующие три блока IP-адресов:
Разделение IP адреса на сетевую и узловую части
Логический 32-битный IP-адрес представляет собой иерархическую систему и состоит из двух частей. Первая идентифицирует сеть, вторая — узел в сети. Обе части являются обязательными.
Например, если IP-адрес узла – 192.168.18.57, то первые три октета (192.168.18) представляют собой сетевую часть адреса, а последний октет (.57) является идентификатором узла. Такая система называется иерархической адресацией, поскольку сетевая часть идентифицирует сеть, в которой находятся все уникальные адреса узлов. Маршрутизаторам нужно знать только путь к каждой сети, а не расположение отдельных узлов.
Другой пример иерархической сети – это телефонная сеть. В телефонном номере код страны, региона и станции составляют адрес сети, а оставшиеся цифры — локальный номер телефона.
При IP-адресации в одной физической сети могут существовать несколько логических сетей, если сетевая часть адреса их узла отличается. Пример. Три узла в одной физической локальной сети имеют одинаковую сетевую часть в своем IP-адресе (192.168.50), а три других узла — другую сетевую часть (192.168.70). Три узла с одной сетевой частью в своих IP-адресах имеют возможность обмениваться данными друг с другом, но не могут обмениваться информацией с другими узлами без использования маршрутизации. В данном случае имеем одну физическую сеть и две логические IP-сети.
Почему подсеть так важна
Одной из наиболее важных причин является безопасность. Когда вы находитесь в той же подсети, что и другие устройства, существует свободная связь, но устройства в других подсетях не смогут получить прямой доступ к вам.
Хорошим примером этого является домашняя сеть. У вас есть маршрутизатор, который будет использовать подсеть для безопасности. Ваш провайдер выделит вам публичный статический IP-адрес. Этот номер будут видеть все веб-сайты и всё, к чему вы подключаетесь. Однако, если вы проверите идентификатор вашего компьютера, он, скорее всего, будет отличаться от общедоступного.
Это связано с тем, что на домашней стороне маршрутизатора имеется подсеть, на которую нельзя войти извне. Входящий трафик проходит через маршрутизатор, который затем транслирует и направляет его на правильное устройство. Таким образом, все по-прежнему связано, но не подключено напрямую.
Подсеть увеличит количество устройств, которые могут выходить в Интернет. В стандартной сети IPv4 доступно только около трех миллиардов адресов. Этого недостаточно, чтобы удовлетворить глобальный спрос на подключение.
Таким образом, подсеть используется, чтобы позволить множеству устройств подключаться к Интернету с одним IP-адресом через маршрутизатор (как у вас дома или в офисе), и таким образом намного больше трех миллиардов устройств может иметь доступ к интернету.
Типичная маска подсети для домашних сетей – 255.255.255.0. Это 24-битная маска, которая позволяет использовать до 256 уникальных номеров. Однако возможны «только» 254 хоста, которых должно быть достаточно для большинства квартир. Но в больших масштабах этого очень мало. Хорошо, что 255.255.255.0 можно изменить на что-то другое. Это увеличит сеть и пропускную способность хостов. Например, 255.255.0.0, который является 16-битной маской, может иметь 65 536 хостов.
В чем разница между IP-адресом и маской
Это кажется немного запутанным. Как узнать разницу между маской подсети и IP? Давайте использовать пример, чтобы устранить путаницу.
Лучший способ сделать это – подумать об обычном адресе, таком как домашний или физический адрес вашей компании. Итак, допустим, что один из ваших друзей хочет отправить вам письмо. Он пишет ваш адрес на конверте, затем добавляет штамп и помещает в свой почтовый ящик.
Почтовый работник получает письмо и, если адрес получателя является локальным, отправляет его прямо в ваш почтовый ящик. Если адрес находится в другом городе или поселке, письмо отправляется в центральное почтовое отделение, где работники его сортируют и отправляют туда, куда оно должно дойти. IP-адрес работает аналогичным образом.
Итак, если ваш IP – 20.0.0.1, а маска подсети – 255.0.0.0, это означает, что адреса в диапазоне 20.x.x.x находятся в вашей локальной сети. Однако, если вы хотите отправить что-либо на IP-адрес за пределами вашей подсети, например, 30.0.0.1, вы не можете сделать это напрямую (по аналогии с почтой это будет в другом городе).
В этом случае почта отправляет сообщение в местный центральный офис, а затем в местный центральный офис предполагаемого получателя. И только после этого почтовый работник доставляет его.
Таким образом, IP-адрес – это номер, который имеет номер сети, номер подсети (это необязательно) и номер хоста. Номера сети и подсети используются при маршрутизации, а номер хоста является адресом хоста.
Маска подсети численно определяет формат IP-адреса, где биты сети и подсети, которые формируют адрес, имеют значения битов маски 1, а компонент узла адреса использует значение бита маски 0.
Сравнение протоколов IP версии 4 (IPv4) и IP версии 6 (IPv6)
Когда в 1980 году был утвержден стандарт TCP/IP, он основывался на схеме двухуровневой адресации, которая в то время давала необходимую масштабируемость. К сожалению, создатели TCP/IP не могли предположить, что их протокол станет основой для глобальной сети обмена информацией, сети развлечений и коммерции. Более двадцати лет назад в протоколе IP версии 4 (IPv4) была предложена стратегия адресации, которая, будучи вполне подходящей для того времени, привела к неэффективному распределению адресов.
Адреса классов А и В покрывают 75% всего адресного пространства IPv4, но относительное число организаций, которые могли бы использовать сети этих классов, не превышает 17000. Сетей класса С значительно больше, чем сетей классов А и В, но количество доступных IP-адресов ограничивается всего 12,5% от их общего числа, равного 4 млрд.
К сожалению, в сетях класса С не может быть более 254 узлов, что не соответствует потребностям достаточно крупных организаций, но которые вместе с тем не настолько велики, чтобы получить адреса классов А и В. Даже если бы существовало больше адресов сетей классов А, В и С, слишком большое их число привело бы к тому, что маршрутизаторы сети Internet были бы вынуждены обрабатывать огромное количество таблиц маршрутизации, хранящих маршруты ко всем сетям.
За последние два десятилетия был разработан ряд технологий, расширяющих IPv4 и направленных для модернизации существующей 32-битовой схемы адресации. Две наиболее значительные из них — это маски подсетей и маршрутизация CIDR (Classless InterDomain Routing — бесклассовая междоменная маршрутизация).
Приблизительно в то же время была разработана и одобрена еще более расширяемая и масштабируемая версия технологии IP — IP версии 6 (IPv6). Протокол IPv6 использует для адресации 128 битов вместо 32-х битов в IPv4 (см. рис. ниже). В стандарте IPv6 используется шестнадцатеричная запись числа для представления 128-битовых адресов, и он позволяет использовать 16 млрд. IP-адресов. Эта версия протокола IP должна обеспечить необходимое количество адресов как на текущий момент, так и в будущем.
Для представления 128-битового адреса в протоколе IPv6 используется запись из восьми шестнадцатибитовых чисел, представляемых в виде четырех шестнадцатеричных цифр, как это показано на рис. ниже. Группы из четырех шестнадцатеричных цифр разделены двоеточиями, нули в старших позициях могут быть опущены.
Разработка и планирование технологии заняли годы, прежде чем протокол IPv6 постепенно начал использоваться в отдельных сетях. В перспективе стандарт IPv6 должен заменить IPv4 в качестве доминирующего протокола в сети Internet.
О цене ошибок
А что может произойти, если вы допустите ошибку? Исходя из того, что мы теперь уже знаем о том, что такое маска подсети, можно с уверенностью утверждать: если она будет задана неверно, существует большая вероятность того, что ваш компьютер будет отрезан от внешнего мира. Например, если вписать в качестве маски 0.0.0.0, то операционная система будет считать любой IP-адрес локальным и не будет даже пытаться использовать шлюз, что приведет к потере возможности связываться с компьютерами вне вашей локальной сети.
Если же совершите другую ошибку, указав слишком «тесную» маску подсети, то ваш компьютер может начать испытывать проблемы уже с подключением к «соседям» по локальной сети – даже если вы будете обращаться к локальному IP, маска подсети будет указывать на то, что доступ к нему возможен только через шлюз, а это может привести либо к повышенной нагрузке на сеть, либо к абсолютной недоступности компьютеров в «локалке».