IP адрес

Оглавление:  онлайн книга Компьютерные сети

1. Как работают компьютерные сети

2. IP адрес

2.1 Виды сетевых адресов

2.2 Зачем нужны два вида адресов MAC и IP

2.3 Виды IP адресов по постоянству: временные и постоянные

2.4 Приватность (публичные или приватные IP)

2.5 Кто управляет диапазонами IP (кто выдаёт IP адреса)

2.6 Двоичное и десятичное написание IP адресов

2.7 Почему в IP адресах нельзя использовать цифры более 255

2.8 Структура IP адреса

2.9 Классовая адресация IP

2.10 Бесклассовая адресация IP

2.11 Специальные диапазоны IP адресов

2.12 IP калькуляторы

2.13 Различные способы записи IP адресов

3. IPv6 адрес

4. HTTP протокол

5. Транспортные протоколы TCP и UDP

6. Канальный уровень передачи данных

7. Маршрутизация данных

8. Служебный протокол ICMP

9. DNS

10. Настройка сетевых подключений в командной строке Linux

11. Определение проблем работы сети

12. Туннелизация


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

Виды сетевых адресов

Сетевые устройства имеют MAC-адрес и IP адрес (за редким исключением – хабы не имеют ни того ни другого, поскольку являются устройствами физического уровня — они работают как ретрансляторы — данные пришедшие на один порт, пересылают на все остальные порты; свитчи имеют только MAC-адреса (хотя бывают модели и с IP)).

Зачем нужны два вида адресов MAC и IP

В первой части «Как работают компьютерные сети» мы увидели как происходит отправка и получение данных по компьютерной сети.

Для непосредственной отправки сетевого пакета с одного устройства на другое требуется MAC адрес. Передача данных возможна только с MAC адреса исходного пункта на MAC адрес пункта назначения — передача через промежуточный узел на основе MAC невозможна — в заголовках фрейма есть место только для адреса пункта назначения и исходного адреса. По этой причине каждый сетевой интерфейс обязательно имеет MAC адрес, который ещё называют аппаратным адресом — если нет MAC адреса, то этот интерфейс не может принимать участие в сетевом обмене данными. К тому же, если у устройства несколько сетевых интерфейсов (WAN порт, несколько LAN портов, две беспроводных сети на 2.5 и 5 ГГц), то у каждого из этих сетевых интерфейсов есть свой MAC адрес — иначе бы они просто не работали.

Предположим, в нашей небольшой локальной сети три устройства: компьютер_1 (192.168.0.89), компьютер_2 (192.168.0.101) и соединяющий их роутер (192.168.0.1), то есть схема сети такая:

192.168.0.89 → 192.168.0.1 ← 192.168.0.101

Предположим, нужно передать сетевой пакет с компьютер_1 на компьютер_2. Для связи с роутером, компьютер_1 будет использовать MAC адрес роутера. Роутер имеет несколько портов и может переправить полученный пакет по любому из них. Получив пакет для компьютер_2, исходя из IP адреса пункта назначения, роутер определит, на каком порту находится нужное устройство (или нужная сеть, если устройство подключено через дополнительные роутеры) и, указав MAC компьютера_2, отправит пакет для компьютер_2.

То есть без IP адреса роутеры не знали бы, куда нужно перенаправлять (маршрутизировать) сетевые пакеты, а без MAC адрес было бы вообще невозможно отправить пакеты с одного устройства на другое.

Уже было упомянуто, что MAC адрес называется аппаратным, то есть жёстко прописанным на уровне сетевой карты, а IP адрес является логическим и может быть легко изменён в настройках программного обеспечения используемых устройств.

В этом разделе мы рассмотрим IP адреса.

Виды IP адресов по постоянству: временные и постоянные

Сетевые адреса могут быть как временными (или динамичными) или постоянными (статичными). Временные адреса динамически назначаются станции и могут быть забраны и переназначены на другую станцию, если не используются в течении определённого периода времени (например, в течение 24 часов). Такие временные адреса обычно распределяются на пользовательские устройства с помощью DHCP. В то время как постоянный адрес настраивается вручную на компьютерной системе (сетевом устройстве). Обычно компьютерам, выполняющим роль серверов, и промежуточным устройствам (роутерам, например) даётся один или более постоянных IP адресов.

Приватность (публичные или приватные IP)

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

IP-адрес является глобальным стандартом, необходимым чтобы сетевой узел мог обмениваться данными с любыми другими узлами. IP-адрес является логическим адресом, поскольку он физически не связан с узлом (в отличии от MAC-адреса, который является физическим адресом, то есть жёстко прописан в самом устройстве).

Одновременно используются два разных стандарта IP: IPv4 (версия 4) и IPv6 (также известный как IP следующего поколения или IPng). Адрес IPv4 состоит из 32 битов, которые преобразуются в комбинацию из 4 десятичных значений (например, 127.232.53.8). IP-адрес состоит из частей идентификатора сети и узла. Например, в 172.232.53.8, 172.232 и 53.8 могут представлять идентификаторы сети и хоста соответственно. Принятие более продвинутой адресации IPv6 с 128 битами для адреса растёт, и будущее явно принадлежит ей.

Кто управляет диапазонами IP (кто выдаёт IP адреса)

IP-адрес состоит из частей:

  • идентификации сети — network identification (или сетевого адреса)
  • и идентификации хоста — host identification (или адреса хоста).

Идентификация сети указывает конкретную организацию (например, фирму, колледж, интернет-провайдера). Идентификация хоста назначается сетевому узлу. Сетевые адреса назначаются делегированным образом Управлением по присвоению номеров в Интернете (IANA) (http://www.iana.org/). Будучи ответственным за глобальную координацию пространства IP, IANA делегирует доступное пространство сетевых адресов региональным интернет-регистратурам (RIR). В настоящее время в мире существует пять RIR:

В прошлом запрос на блок IP-адресов напрямую отправлялся в реестр клиентской организацией. После получения, организация в течение длительного времени сохраняла право собственности на предоставленный блок IP. Все это изменилось, и теперь интернет-провайдеры (ISP) играют центральную роль в управлении пространством IP-адресов и его распределении среди запрашивающих организаций. Для этого крупные интернет-провайдеры (например, AT&T) получают блоки IP от RIR и делят их на более мелкие порции для распределения клиентам (например, мелкие интернет-провайдеры, коммерческие фирмы, школы). Тем временем частные лица и малые предприятия получают сетевой адрес от своих интернет-провайдеров. На рисунке показано делегирование нисходящего пространства IP. На веб-сайтах RIR, таких как http://ws.arin.net/, вы можете найти владельца определённого сетевого адреса.

Делегирование IP адресов:

Двоичное и десятичное написание IP адресов

IPv4 стандарт использует 32-битные адреса (например, 10000000.00000010.00000111.00001001) для уникальной идентификации сетевого узла. Такое длинное написание бинарных битов создаёт неудобство, поэтому обычно используется десятичный формат (например, 129.131.12.10), в котором каждая десятичная цифра отражает 8-битную комбинацию. В 32-битной структуре, всё адресное пространство IPv4 диапазона находится между 0.0.0.0 (все 0 в бинарной записи) и 255.255.255.255 (все 1 в бинарной записи).

Почему в IP адресах нельзя использовать цифры более 255

Каждый октет IP адреса не может быть больше 255. Данное число является максимальным восьми битным двоичным числом 11111111. То есть хотя октеты и обозначаются десятичными числами от 0 до 255, на самом деле в них двоичные числа, и максимальное двоичное число равно 255.

Именно двоичная природа IP адреса позволяет понять суть маски сети и правила выбора маршрута. По этой причине стоит уделить внимание двоичному написанию и полностью разобраться в нём.

Составим небольшую таблицу и будем к ней возвращаться по мере необходимости. В этой таблице показано десятичное значение двоичного бита, находящегося в позициях с 8 по 1), а также кумулятивное десятичное значение, когда стоит одна единица в самой левой части, затем две единицы в самой левой части, затем три единицы и так до конца – это будет нужно для работы с сетевыми масками.

Таблица преобразования двоичных и десятичных значений:

Положение единицы двоичного числа (8-бит) 8 7 6 5 4 3 2 1
Десятичное значение 128 64 32 16 8 4 2 1
Совокупные десятичные значения (кумуляция слева направо) 128 192 224 240 248 252 254 255

Структура IP адреса

IP адрес составляется по крайней мере из двух частей: идентификатор сети (или сетевой адрес) и идентификатор хоста (или адрес хоста).


В этой части термин «сеть» используется как идентификатор организации (например, компании, университета). Например, есть идентификатор сети организации это 195.112.36.x, где x может быть значением идентификатором хоста, то сетевой адрес можно выразить как 195.112.36.0. Становится очевидным, что чем больше бит занято идентификатором сети, тем меньше бит доступно для идентификатора хостов.

Как правило, корпоративные сети разбиты на более маленькие сегменты подсетей. Подсети могут создаваться в соответствии с физическими (например, помещения, строения, этажи) и/или логическими (например, отдел или рабочие группы бизнеса, кафедры университета) границами организации. Сегментация сети на подсети требует, чтобы каждая подсеть могла быть уникально идентифицирована. Сетевой идентификатор не может быть изменён, поскольку он представляет официальный публичный адрес организации. Поэтому доступна возможность создания подсетей только разделяя поле идентификатора хоста на две части: одна для идентификаторов хостов и другая для идентификатора подсетей. Часто это разделение считается заимствованием бит из поля идентификатора хоста для создания идентификаторов сетей. Создание подсетей добавляет дальнейшую иерархию к структуре IP адреса.

Классовая адресация IP

Мы не будем рассматривать классовую адресацию IP, поскольку она устарела и больше практически не применяется. У неё были недостатки – она умела делить диапазоны IP адресов только на слишком громоздкие куски сети и поэтому пространства IP адресов использовались неэффективно. Применительно к сегодняшней модели адресации, выражения вроде «сеть класса A», «сеть класса B» и «сеть класса C» не несут особого смысла.

Бесклассовая адресация IP

В настоящее время применяется бесклассовая адресация IP.

Как мы помним, каждый IP адрес состоит из 32 бит. В бесклассовой IP адресации идентификатор сети необязательно кратен октету (то есть 8 битам, 16 битам или 24 битам) как в случае с классовой схемой. Например, первые 13 бит могут представлять идентификатор сети, а оставшиеся 19 бит – идентификатор хостов.

Предположим, нам дан IP адрес 123.45.56.89 для которого известно, что первые 13 бит являются идентификатором сети. Наша задача – найти адрес сети.

Находим количество бит, оставшееся для идентификатора хостов:

32 – 13 = 19

Для поиска адреса сети (и для многих других операций связанных с вычислением IP адресов и диапазонов) удобнее использовать бинарную запись IP адреса, когда он разделён на 8-битные блоки.

С помощью ipcalc

ipcalc 123.45.56.89

или онлайн IP калькулятором преобразуем 123.45.56.89 в бинарную форму. Получаем, что IP 123.45.56.89 в бинарной форме это 01111011.00101101.00111000.01011001.

Поскольку мы уже выяснили, что 19 бит остаются для идентификации хостов, то мы просто заменяем последние 19 цифр нулями и получаем: 01111011.00101000.00000000.00000000 (тринадцать бит идентификатор сети + девятнадцать 0 бит для идентификатора хостов).

Теперь конвертируем обратно в соответствующие десятичные значения (можно сделать здесь). В результате мы получаем адрес сети 123.40.0.0. То есть эту подсеть можно записать как 123.40.0.0/13. Причём, если идентификатор хостов заменить всеми единицами, то мы получим последний IP адрес данного диапазона. В данном случае это будет 01111011.00101111.11111111.11111111. Конвертируем эту запись в привычный вид и получаем 123.47.255.255. То есть для IP адреса 123.45.56.89 с маской сети 13, блок можно записать как 123.40.0.0/13 или в виде диапазона как 123.40.0.0-123.47.255.255

Чтобы понимать, что такое маска сети в нотации СЕТЬ/МАСКА, нужно представить себе IP адрес в виде двоичного числа длиной 32 символа. Так вот, МАСКА — это количество первых чисел, которые не могут меняться для обозначения хостов. Например, при длине маски 15, выделенные полужирным биты не могут меняться для обозначения хостов 01111011.00101101.00111000.01011001.

Следовательно, чем длиннее маска, тем меньший размер блока IP. При максимальной маске /32, в подсети всего один IP адрес. При длине маски /24 в подсети будет 256 адресов. При маске /22 будет 1024 адресов.

Количество адресов в подсети можно посчитать по формуле 2(32-длина маски).

Специальные диапазоны IP адресов

Имеются диапазоны, которые выполняют специальную функцию.

Блок адресов Диапазон адресов Количество адресов Сфера Описание
0.0.0.0/8 0.0.0.0–0.255.255.255 16777216 Программное обеспечение Текущая сеть (действительно только в качестве адреса источника).
10.0.0.0/8 10.0.0.0–10.255.255.255 16777216 Частная сеть Используется для локальных (частых) сетей.
100.64.0.0/10 100.64.0.0–100.127.255.255 4194304 Частная сеть Совместное адресное пространство для связи между поставщиком услуг и его абонентами при использовании NAT операторского уровня.
127.0.0.0/8 127.0.0.0–127.255.255.255 16777216 Сам хост Используется для петлевых (loopback) адресов к локальному хосту.
169.254.0.0/16 169.254.0.0–169.254.255.255 65536 Подсеть Используется для локальных адресов каналов между двумя хостами в одной ссылке, если не указан другой IP-адрес, такой как обычно получаемый с сервера DHCP.
172.16.0.0/12 172.16.0.0–172.31.255.255 1048576 Частная сеть Используется для локальных (частых) сетей.
192.0.0.0/24 192.0.0.0–192.0.0.255 256 Частная сеть Назначения протокола IETF.
192.0.2.0/24 192.0.2.0–192.0.2.255 256 Документация Назначен как TEST-NET-1, документация и примеры.
192.88.99.0/24 192.88.99.0–192.88.99.255 256 Интернет Зарезервированный. Ранее использовался для ретрансляции IPv6-IPv4 (включая блок адресов IPv6 2002::/16).
192.168.0.0/16 192.168.0.0–192.168.255.255 65536 Частная сеть Используется для локальных (частых) сетей.
198.18.0.0/15 198.18.0.0–198.19.255.255 131072 Частная сеть Используется для тестирования производительности межсетевого взаимодействия между двумя отдельными подсетями.
198.51.100.0/24 198.51.100.0–198.51.100.255 256 Документация Назначен как TEST-NET-2, документация и примеры.
203.0.113.0/24 203.0.113.0–203.0.113.255 256 Документация Назначен как TEST-NET-3, документация и примеры.
224.0.0.0/4 224.0.0.0–239.255.255.255 268435456 Интернет Используется для многоадресной рассылки IP. (Бывшая сеть класса D).
240.0.0.0/4 240.0.0.0–255.255.255.254 268435455 Интернет Зарезервировано для будущего использования. (Бывшая сеть класса E).
255.255.255.255/32 255.255.255.255 1 Подсеть Зарезервировано для адреса назначения с «ограниченной трансляцией».

IP калькуляторы

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

Также многие IP калькуляторы с расширенными функциями представлены онлайн:

Различные способы записи IP адресов

Кроме уже рассмотренного двоичного способа записи IP адресов, который может применяться, например, для вычисления идентификатора сети или последнего IP диапазона. Также различное написание IP адресов может использоваться для обхода фильтров (или правильного написания фильтров IP).

В качестве примера возьмём IP адрес 157.245.118.66, его можно открыть в веб-браузере по ссылке http://157.245.118.66 (хотя там и будет сообщение об ошибке SSL сертификата).

Этот же самый адрес можно записать в виде десятичного числа http://2650109506 (ссылка также работает).

Чтобы перевести в Long IP адрес a.b.c.d нужно выполнить следующие вычисления:

a * 2553 + b * 2552 + c * 2551 + d * 2550

Также можно конвертировать в шестнадцатеричное число (перед числом нужно поставить 0x): http://0x9DF57642

Октеты можно записывать в виде шестнадцатеричных чисел: http://0x9D.0xF5.0x76.0x42, а также в виде восьмеричных чисел (чтобы было понятно, что это восьмеричное число, перед ними стоят нолики): http://0235.0365.0166.0102

Можно смешивать в одном IP адресе сразу несколько вариантов написания: http://157.0365.0×76.0x42

При написании IP адреса можно пропускать нули:

Конвертер IP адресов: https://suip.biz/ru/?act=ipconverter

Рекомендуется Вам:

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

Ваш адрес email не будет опубликован.