Адресация IPv4 - как это работает? Руководство для начинающих

Этот пост содержит информацию по следующим темам:


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

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

Адрес IPv4 известен как иерархический адрес, поскольку его можно разделить на несколько более мелких доменов, каждый из которых затем определяет определенный аспект устройства. Адрес IPv4 в сочетании с маской подсети сообщает вам две части информации: сеть, в которой находится устройство, и уникальный идентификатор самого устройства.

Это отличается от MAC-адреса, который называется плоским адресом; это только говорит вам о самом устройстве. MAC-адрес дает вам уникальный идентификатор устройства, но не может сказать, где в сети находится это устройство. Адрес IPv4 может сообщить вам как о том, где в сети находится устройство, так и об уникальном идентификаторе самого устройства.

То, как компьютер или другое цифровое устройство видит IPv4-адрес, отличается от того, как люди видят IPv4-адрес. Цифровое устройство воспринимает IPv4-адрес как 32-битное число. Но люди придумали способ преобразовать это 32-битное число во что-то более простое для просмотра и работы. Для человека адрес IPv4 представляет собой 32-битное число, разбитое на четыре группы по 8 бит в каждой. Каждая группа из 8 битов называется октетом (или байтом), а четыре октета разделены точками:

11000000.10101000.00000001.00000001

Поскольку нам удобнее работать с десятичной системой счисления, эти двоичные октеты затем преобразуются в десятичную для простоты использования:

192.168.1.1

Поскольку адреса IPv4 являются иерархическими, необходимо каким-то образом различать сетевую часть адреса и часть узла. Для этого адрес IPv4 должен быть связан с маской сети , которую также иногда называют маской подсети или просто маской или маской подсети . Сетевая маска — это 32-битная строка двоичных символов, которая определяет, какая часть адреса представляет сеть, а какая — конкретный хост.

Правила создания сетевой маски следующие:

  1. 1 в маске подсети определяет сетевой бит.

  2. 0 в маске подсети определяет бит хоста.

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

Примечание

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

Существует три способа обозначения маски подсети:

  • В двоичном формате: 11111111.11111111.11111111.00000000

  • В десятичном виде: 255.255.255.0

  • В слеше: /24

Каждый из них говорит об одном и том же: первые 24 бита 32-битной маски равны 1, а последние 8 бит маски равны 0. Это говорит нам о том, что по сравнению с адресом IPv4 первые 24 бита определяют сеть. часть адреса, а последние 8 бит определяют часть адреса. Если мы вернемся к адресу из начала этого блога и добавим к нему эту маску подсети, то получим следующее:

11000000.10101000.00000001.00000001 (адрес)

11111111.11111111.11111111.00000000 (маска подсети)

192.168.1.1 255.255.255.0 (адрес и маска через один пробел)

192.168.1.1/24 (адрес и маска с использованием / для отделения адреса от маски)

Во всех трех случаях мы можем сказать, что сетевая часть адреса 192.168.1.1/24 — это 192.168.1, а хостовая часть — .1.

Когда адресация IPv4 была впервые разработана, у устройств и людей должен был быть способ распознать, относится ли адрес к конкретному устройству или к группе устройств. Некоторые правила были созданы, чтобы помочь определить разницу между сетевым адресом и адресом узла (или хоста):

В IP-адресе:

  • Хостовая часть всех двоичных 0 относится к самой сети.

  • Часть хоста с комбинацией двоичных 0 и 1 относится к конкретному хосту.

  • Хостовая часть всех двоичных единиц относится к широковещательному адресу сети.

Так в чем же разница между этими тремя?

  • Сетевой адрес определяет всю сеть и все узлы внутри нее. Этот адрес не может быть назначен конкретному устройству.

  • Адрес хоста определяет одно конкретное устройство внутри этой сети. Этот адрес может быть назначен одному устройству.

  • Широковещательный адрес представляет все хосты в определенной сети. Все устройства в сети запрограммированы на прием сообщений, отправленных на этот адрес.

Возвращаясь к нашему исходному примеру 192.168.1.1/24, какую информацию мы можем теперь получить об этом адресе? Мы уже знаем, что на основе маски /24 сетевая часть — 192.168.1, а хостовая часть — .1. Мы знаем, что последние 8 бит являются битами хоста. Зная, что мы теперь знаем о сети, хосте и широковещательном адресе:

  1. Все 0 в хостовой части адреса равны 00000000, что равно десятичному 0, поэтому сетевой адрес этой конкретной сети — 192.168.1.0.

  2. Часть узла в двоичном формате равна 00000001, что равно 1 в десятичном виде, поэтому этот узел является первым узлом в сети.

  3. Диапазон хостов в этой сети составляет от 00000001 до 11111110 в двоичном формате или от 1 до 254 в десятичном формате. В этой сети 254 уникальных адреса для устройств.

  4. Широковещательный адрес этой сети 11111111, или все 1 в хостовой части. Это означает, что широковещательный адрес для этой сети — .255.

В виде диаграммы эта сеть будет выглядеть так:

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

Классы адресов были разбиты на основе концепции, называемой начальным битовым шаблоном первого октета адреса IPv4. Помните, что машина считывает адресацию IPv4 как одно 32-битное число, поэтому все разработанные шаблоны основаны на двоичном коде. Это приводит к некоторым не столь очевидным десятичным группировкам адресов.

Классы были названы от A до E и имели характеристики, описанные в Таблице 1-1 .

Классы A, B и C — единственные классы, которые можно использовать для одноадресной передачи. Класс D используется для многоадресной связи , что означает, что одно устройство может связываться с определенной группой хостов в сети (в отличие от широковещательной связи, когда одно устройство взаимодействует со всеми хостами в сети). Класс E зарезервирован для будущего использования и/или тестирования. Адреса класса E никогда не будут использоваться для одноадресной передачи.

В классах от A до C четыре октета адреса IPv4 были разбиты либо на сетевые октеты, либо на октеты узла (или хоста). На следующей диаграмме показано, как классы были разбиты на сетевые биты, называемые N битами, или биты узла (хоста), называемые H битами. Также показана маска подсети по умолчанию:

Эта диаграмма говорит нам больше о размерах различных классов адресов:

  • Сеть класса А имеет 24 бита, которые используются для назначения хостам. 2 · 24 = 16 777 216 адресов. Удаление двух хостов для сетевой идентификации (все 0 в части хоста) и широковещательной связи (все 1 в части хоста) означает, что каждая сеть класса A может содержать 16 777 214 уникальных устройств в одной сети.

  • Сеть класса B имеет 16 битов, доступных для назначения хоста. 2 · 16 = 65 536 хостов. Вычтите два адреса, зарезервированных для сети и широковещательной рассылки, и вы получите 65 534 действительных хоста на сеть класса B.

  • Сеть класса C имеет 8 битов, доступных для хостов. 2 8 = 256 хостов. Вычитание двух адресов, зарезервированных для сети и широковещательной рассылки, дает вам 254 действительных хоста на сеть класса C.

Объединив эти знания с информацией из диаграммы классов адресов IPv4, мы также можем сделать следующие выводы:

  • Существует 126 действительных сетей класса А по 16 777 214 действительных хостов в каждой.

  • Существует 16 384 действительных сети класса B по 65 534 действительных хоста в каждой.

    • Мы получаем 16 384 из-за того, что первые 16 бит адреса являются сетевыми битами, но первые два из них фиксированы по образцу 10. Это означает, что у нас осталось 14 бит действительных сетевых битов в диапазоне от 10 000000.00000000 (что 128,0) до 10 111111,11111111 (что равно 191,255). Это 16 384 различных сетей.

  • Существует 2 097 152 сети класса C по 254 действительных хоста в каждой.

    • Снова возьмем диаграмму, которая говорит, что имеется 24 N битов (сетевых битов), и три из этих битов фиксированы по шаблону 110. Это означает, что у нас остается 21 бит для назначения сетям в диапазоне 110 00000.00000000.00000000 ( 192.0.0) до 110 11111.11111111.11111111 (223.255.255). Это 2 097 152 отдельных сети.

Оглядываясь назад на наш первоначальный пример в этой статье 192.168.1.1/24, мы теперь знаем больше информации:

  • Сеть является сетью класса C.

  • Сеть находится в сети RFC 1918, что означает, что она является частной и может маршрутизироваться только внутри сети.

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

Примечание

При первоначальном проектировании было выбрано использование 32-битных чисел, потому что считалось, что 2 32 уникальных адреса настолько велики, что никогда не будут достигнуты. Вот почему целая сеть класса А (127) была зарезервирована для проверки обратной связи. Вам нужен только один адрес для проверки обратной связи, но для этого теста было зарезервировано более 16 миллионов адресов — 24 бита хоста означают , что было зарезервировано 224 адреса, когда был нужен только один. 16 777 216 адресов могут показаться большим количеством, но помните, что два из этих адресов зарезервированы для сетевых и широковещательных адресов, поэтому у вас есть только 16 777 214 адресов, зарезервированных для проверки обратной связи. Чувствовать себя лучше?

Примечание

В исходном дизайне классов адресов сеть, состоящая из всех двоичных нулей или всех двоичных единиц, считалась недействительной. Ранние устройства использовали строку из 0 или 1 в качестве внутренних кодов связи, поэтому их нельзя было использовать. Следовательно, сеть 0.0.0.0 и сеть 255.xxx недействительны. Сеть 255 является частью зарезервированного сетевого пространства класса E, поэтому у нас никогда не было возможности ее использовать, но сеть 0 является частью назначаемого адресного пространства класса A. Еще 16 777 214 адресов потеряны.

Примечание

Первоначально мы думали, что 2 32 -битное адресное пространство будет невозможно достичь, но появление общедоступного Интернета, а затем и мобильных устройств привело к необходимости новой схемы адресации. IPv6 — это 128-битное адресное пространство. Достижение лимита в 2 128 адресов может показаться невозможным, но с появлением Интернета вещей (IoT) становится ли это невозможным?

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

Хотя классовая адресация изначально использовалась на заре использования IPv4, быстро обнаружилась неэффективность этой жесткой схемы — кому на самом деле нужны 16 миллионов хостов в одной сети? Такие концепции, как CIDR и маскирование подсети переменной длины (VLSM), были созданы для обеспечения более эффективного распределения адресов и сетей IPv4.

В бесклассовой адресации все правила остаются прежними, за исключением одного: размера сетевой маски по умолчанию. При бесклассовой адресации маску сети можно изменить с размеров по умолчанию /8, /16 или /24, чтобы обеспечить необходимый размер сети. Например, обычной практикой является взять сеть класса A, такую ​​как сеть RFC 1918 10.0.0.0, и разбить эту большую сеть на более мелкие, более управляемые.сети. Таким образом, вместо одной сети из 16,7 миллионов хостов мы можем использовать маску /16 и создать 256 сетей по 65 534 хоста в каждой:

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

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

Другим распространенным случаем является использование сети класса A и использование маски по умолчанию класса C для создания 65 536 сетей по 254 хоста в каждой сети:

Третий распространенный случай — взять сеть класса B и использовать маску по умолчанию класса C для создания 256 сетей по 254 хоста в каждой сети:

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

Вы узнали, что простой IPv4-адрес и маска сети говорят нам много информации.

192.168.1.1/24 говорит нам:

  • Сетевая часть этого адреса — 192.168.1.

    • Мы обозначаем это как 192.168.1.0/24.

  • Хостовая часть этого адреса — .1.

  • В этой сети 254 действительных хоста в диапазоне от .1 до .254.

    • Это первый действительный хост в этой сети.

    • Хосты с адресами от .2 до .254 в этой сети будут локальными для этого устройства и, следовательно, смогут напрямую связываться с .1.

  • Широковещательный адрес для этой сети — 192.168.1.255/24.

    • Все единицы в основной части равны 11111111 или 0,255.

  • Это адрес класса C.

    • Первый октет имеет число 192.

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

    • Он не зарезервирован для других целей, таких как многоадресный адрес класса D.

    • Он не зарезервирован для тестирования/использования в будущем, как адрес класса E.

    • Он не зарезервирован для петлевого тестирования.

    • Это не является недопустимым, как сети 0 или 255.

      • Это не сетевой адрес или широковещательный адрес.

Вас заинтересует / Intresting for you:

Что такое SEOR? Обзор платформ...
Что такое SEOR? Обзор платформ... 2045 просмотров Андрей Васенин Sun, 12 Dec 2021, 18:18:11
12-ти факторная модель создани...
12-ти факторная модель создани... 4921 просмотров Doctor Sun, 18 Nov 2018, 07:59:34
Cisco: сброс конфигурации комм...
Cisco: сброс конфигурации комм... 3121 просмотров Андрей Волков Mon, 15 Feb 2021, 19:12:17
Что такое сети Cisco? Основные...
Что такое сети Cisco? Основные... 11124 просмотров Александров Попков Wed, 09 Oct 2019, 17:21:43
Войдите чтобы комментировать

1dz аватар
1dz ответил в теме #10436 2 года 2 мес. назад
Очень познавательная статья по IPv4 адресации. Понятно для чего эти адреса и как это работает.
ildergun аватар
ildergun ответил в теме #10427 2 года 2 мес. назад
Огромное спасибо за внятное руководство по адресации Ipv4. Незаменимо для новичка!