Понимание IP-адресов, подсетей и обозначений CIDR для работы в сети

Вступление

Понимание сетей является фундаментальной частью настройки сложных сред в Интернете. Это имеет значение при попытке эффективного взаимодействия между серверами, разработки защищенных сетевых политик и организации ваших узлов.

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

Понимание IP-адресов

Каждое местоположение или устройство в сети должно быть адресуемым . Это просто термин, который означает, что он может быть достигнут путем ссылки на его назначение в рамках предопределенной системы адресов. В обычной модели сетевого уровня TCP / IP это обрабатывается на нескольких разных уровнях, но обычно, когда мы ссылаемся на адрес в сети, мы говорим об IP-адресе.

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

Каждый IP-адрес должен быть уникальным в своей собственной сети. Сети могут быть изолированы друг от друга, и их можно объединить и перевести для обеспечения доступа между различными сетями. Система, называемая « Трансляция сетевых адресов» , позволяет переписывать адреса, когда пакеты пересекают границы сети, чтобы позволить им продолжить работу до их правильного адресата. Это позволяет использовать один и тот же IP-адрес в нескольких изолированных сетях, в то же время позволяя им связываться друг с другом, если они настроены правильно.

Разница между IPv4 и IPv6

Существует два пересмотра протокола IP, которые сегодня широко применяются в системах. IPv4, который является четвертой версией протокола, в настоящее время является поддержкой большинства систем. Более новая, шестая ревизия, называемая IPv6, развертывается с большей частотой из-за улучшения протокола и ограничений адресного пространства IPv4. Проще говоря, в мире сейчас слишком много подключенных к Интернету устройств для количества адресов, доступных через IPv4.

Адреса IPv4 — это 32-разрядные адреса. Каждый байт или 8-битный сегмент адреса делится на период и обычно выражается как число 0-255. Несмотря на то, что эти числа обычно выражаются в десятичной форме для помощи в понимании человека, каждый сегмент обычно называют октетом,чтобы выразить тот факт, что он представляет собой 8 бит.

Типичный IPv4-адрес выглядит примерно так:

192.168.0.5

Самое низкое значение в каждом октете — 0, а наибольшее значение — 255.

Мы также можем выразить это в бинарном представлении, чтобы лучше понять, как будут выглядеть четыре октета. Мы разделим каждый 4 бита пробелом для удобочитаемости и заменим точки пунктиром:

1100 0000 - 1010 1000 - 0000 0000 - 0000 0101

Признание того, что эти два формата представляют одинаковое число, будет важно для понимания концепций позже.

Несмотря на некоторые другие отличия в протоколе и функциональности фона IPv4 и IPv6, наиболее заметным отличием является адресное пространство. IPv6 выражает адреса как 128-битное число. Чтобы представить это в перспективе, это означает, что IPv6 имеет пространство для более чем 7,9 × 10 28 раз больше адресов в виде IPv4.

Чтобы выразить этот расширенный диапазон адресов, IPv6 обычно записывается как восемь сегментов из четырех шестнадцатеричных цифр. Шестнадцатеричные числа представляют цифры 0-15, используя цифры 0-9, а также цифры af для выражения более высоких значений. Типичный IPv6-адрес может выглядеть примерно так:

1203:8fe0:fe80:b897:8990:8a7c:99bf:323d

Вы также можете увидеть эти адреса, записанные в компактном формате. Правила IPv6 позволяют удалять любые ведущие нули из каждого октета и заменять один диапазон обнуленных групп двойным двоеточием (: :).

Например, если у вас есть одна группа в адресе IPv6, которая выглядит так:

...:00bc:...

Вместо этого вы можете просто ввести:

...:bc:...

Чтобы продемонстрировать второй случай, если у вас есть диапазон в адресе IPv6 с несколькими группами в качестве нулей, например:

...:18bc:0000:0000:0000:00ff:...

Вы можете сжать это так (также удаляя ведущие нули группы, как мы делали выше):

...:18bc::ff...

Вы можете сделать это только один раз на адрес, иначе полный адрес не сможет быть восстановлен.

Хотя IPv6 становится все более распространенным каждый день, в этом руководстве мы будем изучать оставшиеся концепции с использованием адресов IPv4, потому что их легче обсуждать с меньшим адресным пространством.

IPv4 Адреса Классы и зарезервированные диапазоны

IP-адреса обычно состоят из двух отдельных компонентов. Первая часть адреса используется для идентификации сети, частью которой является адрес. Часть, которая приходит после этого, используется для указания конкретного хоста в этой сети.

Когда спецификация сети заканчивается и начинается спецификация хоста, зависит от конфигурации сети. Мы обсудим это более тщательно на мгновение.

Адреса IPv4 традиционно были разделены на пять разных «классов», названных от A до E, предназначенных для дифференциации сегментов доступного адресуемого пространства IPv4. Они определяются четырьмя четырьмя битами каждого адреса. Вы можете определить, к какому классу принадлежит IP-адрес, просматривая эти биты.

Вот таблица переводов, которая определяет адреса на основе их старших бит:

  • Класс А
    • 0 — : если первый бит IPv4-адреса равен «0», это означает, что адрес является частью класса A. Это означает, что любой адрес от 0.0.0 до 127.255.255.255 находится в классе A.
  • Класс B
    • 10— : Класс B включает любой адрес от 128.0.0.0 до 191.255.255.255 . Это представляет адреса, которые имеют «1» для их первого бита, но не имеют «1» для их второго бита.
  • Класс C
    • 110- : Класс C определяется как адреса от 192.0.0.0 до 223.255.255.255 . Это представляет все адреса с «1» для первых двух битов, но без «1» для их третьего бита.
  • Класс D
    • 1110 : Этот класс включает адреса, которые имеют «111» в качестве первых трех бит, но «0» для следующего бита. Этот диапазон адресов включает адреса от 224.0.0.0 до 239.255.255.255 .
  • Класс E
    • 1111 : Этот класс определяет адреса между 240.0.0.0 и 255.255.255.255 . В этот класс входит любой адрес, начинающийся с четырех бит «1».

Адреса класса D зарезервированы для протоколов многократного ввода, которые позволяют отправлять пакет группе хостов одним движением. Адреса класса E зарезервированы для будущего и экспериментального использования и в основном не используются.

Традиционно каждый из обычных классов (AC) по-разному разделял сетевые и хост-порты адреса для размещения сетей различного размера. Адреса класса А использовали оставшуюся часть первого октета для представления сети и остальной части адреса для определения узлов. Это было полезно для определения нескольких сетей с большим количеством хостов.

В адресах класса B использовались первые два октета (оставшаяся часть первой и всей второй) для определения сети, а остальная часть — для определения узлов в каждой сети. Адреса класса C использовали первые три октета для определения сети и последнего октета для определения хостов в этой сети.

Разделение больших частей пространства IP на классы в настоящее время почти является концепцией наследия. Первоначально это было реализовано как стоп-лосс для проблемы быстрого истощения адресов IPv4 (у вас может быть несколько компьютеров с одним и тем же хостом, если они находятся в разных сетях). Это было заменено в основном на более поздние схемы, которые мы обсудим ниже.

Зарезервированные частные диапазоны

Зарезервированные частные диапазоны

Также есть некоторые части пространства IPv4, зарезервированные для конкретных целей.

Одним из наиболее полезных зарезервированных диапазонов является диапазон петли, указанный по адресам от 127.0.0.0 до 127.255.255.255. Этот диапазон используется каждым хостом для тестирования сети. Как правило, это выражается первым адресом в этом диапазоне: 127.0.0.1.

Каждый из обычных классов также имеет диапазон внутри них, который используется для обозначения адресов частной сети. Например, для адресов класса А адреса от 10.0.0.0 до 10.255.255.255 зарезервированы для назначения частной сети. Для класса B этот диапазон равен 172.16.0.0 до 172.31.255.255. Для класса C диапазон от 192.168.0.0 до 192.168.255.255 зарезервирован для частного использования.

Любой компьютер, который не подключен напрямую к Интернету (любой компьютер, который проходит через маршрутизатор или другую систему NAT), может использовать эти адреса по своему усмотрению.

Существуют дополнительные диапазоны адресов, зарезервированные для конкретных случаев использования. Здесь вы можете найти сводку зарезервированных адресов .

Netmasks и подсети

Процесс деления сети на более мелкие разделы сети называется подсети . Это может быть полезно для разных целей и помогает изолировать группы хостов и легко справляться с ними.

Как мы обсуждали выше, каждое адресное пространство делится на часть сети и часть хоста. Сумма, которую занимает каждый из этих адресов, зависит от класса, к которому принадлежит адрес. Например, для адресов класса C первые 3 октета используются для описания сети. Для получения адреса 192.168.0.15, то 192.168.0часть описывает сеть , и 15описывает хост.

По умолчанию каждая сеть имеет только одну подсеть, которая содержит все адреса хоста, определенные внутри. Маска сети — это в основном спецификация количества адресных битов, которые используются для сетевой части. Маска подсети — это еще одна сетевая маска, используемая для дальнейшего разделения сети.

Каждый бит адреса, который считается значимым для описания сети, должен быть представлен как «1» в сетевой маске.

Например, адрес, который мы обсуждали выше, 192.168.0.15может быть выражен следующим образом: в двоичном формате:

1100 0000 - 1010 1000 - 0000 0000 - 0000 1111

Как мы описали выше, сетевой частью для адресов класса C являются первые 3 октета или первые 24 бита. Поскольку это важные биты, которые мы хотим сохранить, сетевая маска будет выглядеть так:

1111 1111 - 1111 1111 - 1111 1111 - 0000 0000

Это можно записать в обычном формате IPv4 как 255.255.255.0. Любой бит, который является «0» в двоичном представлении сетевой маски, считается частью хост-части адреса и может быть переменным. Биты, которые являются «1», являются статическими, однако, для обсуждаемой сети или подсети.

Мы определяем сетевую часть адреса, применяя побитовое И-операцию между адресом и сетевой маской. Побитовая операция И в основном сохранит сетевую часть адреса и отбросит часть хоста. Результатом этого в нашем примере выше, который представляет нашу сеть, является:

1100 0000 - 1010 1000 - 0000 0000 - 0000 0000

Это можно выразить как 192.168.0.0. Спецификация хоста — это разница между этим исходным значением и хост-частью. В нашем случае хост 0000 1111«или» 15.

Идея подсети состоит в том, чтобы взять часть пространства хоста адреса и использовать его в качестве дополнительной сетевой спецификации, чтобы снова разделить адресное пространство.

Например, сетевая маска, 255.255.255.0как мы видели выше, оставляет нам 254 узла в сети (вы не можете положить 0 или 255, потому что они зарезервированы). Если бы мы хотели разделить это на две подсети, мы могли бы использовать один бит обычной хост-части адреса в качестве маски подсети.

Итак, продолжая наш пример, сетевая часть:

1100 0000 - 1010 1000 - 0000 0000

Часть хоста:

0000 1111

Мы можем использовать первый бит нашего хоста для обозначения подсети. Мы можем сделать это, настроив маску подсети следующим образом:

1111 1111 - 1111 1111 - 1111 1111 - 0000 0000

К этому:

1111 1111 - 1111 1111 - 1111 1111 - 1000 0000

В традиционной нотации IPv4 это будет выражаться как 192.168.0.128. То, что мы здесь сделали, — это обозначить первый бит последнего октета как важный для адресации сети. Это эффективно создает две подсети. Первая подсеть — от 192.168.0.1до 192.168.0.127. Второй подсеть содержит узлы 192.168.0.129в 192.168.0.255. Традиционно сама подсеть не должна использоваться как адрес.

Если мы используем больше бит из пространства хоста для работы в сети, мы можем получить все больше и больше подсетей.

Обозначение CIDR

В качестве альтернативы традиционной подсети была разработана система под названием «Бесклассовая междоменная маршрутизация» или «CIDR». Идея состоит в том, что вы можете добавить спецификацию в самом IP-адресе как о количестве значимых битов, составляющих часть маршрутизации или сети.

Например, мы могли бы выразить мысль о том, что IP-адрес 192.168.0.15связан с сетевой маской 255.255.255.0, используя нотацию CIDR 192.168.0.15/24. Это означает, что первые 24 бита указанного IP-адреса считаются значимыми для сетевой маршрутизации.

Это дает нам некоторые интересные возможности. Мы можем использовать их для обозначения «суперсеть». В этом случае мы имеем в виду более широкий диапазон адресов, который невозможен при использовании традиционной маски подсети. Например, в сети класса C, как и выше, мы не смогли объединить адреса из сети 192.168.0.0и 192.168.1.0потому , что маска подсети для адресов класса С 255.255.255.0.

Однако, используя нотацию CIDR, мы можем объединить эти блоки, ссылаясь на этот кусок как 192.168.0.0/23. Это указывает, что для части сети, на которую мы ссылаемся, используется 23 бита.

Таким образом, первая сеть (192.168.0.0) может быть представлена ​​следующим образом в двоичном формате:

1100 0000 - 1010 1000 - 0000 0000 - 0000 0000

Хотя вторая сеть (192.168.1.0) будет выглядеть так:

1100 0000 - 1010 1000 - 0000 0001 - 0000 0000

Указанный CIDR-адрес указывает, что первые 23 бита используются для сетевого блока, на который мы ссылаемся. Это эквивалентно сетевой маске 255.255.254.0, или:

1111 1111 - 1111 1111 - 1111 1110 - 0000 0000

Как вы можете видеть, с этим блоком 24-й бит может быть либо 0, либо 1, и он все равно будет соответствовать, потому что сетевой блок заботится только о первых 23 цифрах.

В принципе, CIDR позволяет нам больше контролировать адресацию непрерывных блоков IP-адресов. Это гораздо более полезно, чем подсеть, о которой мы говорили первоначально.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *