Лекция 6. Адресация в сети - IPv4.

6.1 Адреса IPv4

IPv4 содержит 32 бита и записывается в точечно-десятичной нотации - 4 блока по 8 бит разделенных точками. Каждый из 8 бит представляет из себя число 2 в степени n, степени считаются справа налево 8,7,6,5,4,3,2,1. Чтобы преобразовать бинарное число в десятичное, достаточно сложить степени двойки соответствующие единицам в бинарном числе.

10101100 = 128 + 0 + 32 + 0 + 8 + 4 + 0 + 0 = 172

00010000 = 0 + 0 + 0 + 16 + 0 + 0 + 0 + 0 = 16

00000001 = 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 = 1

00000001 = 0 + 0 + 0 + 16 + 0 + 4 + 0 + 0 = 20

Итак, 32х бита адреса делятся на 4 блока по 8 бит, число каждого блока переводится в десятичный вид. Затем они записываются через точку. 172.16.1.20

Преобразование из десятичной форму в бинарную возможно следующим способом:

Десятичное число из октета поочередно сравнивается со степенями двойки начиная с высшей в сторону убывания.

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

Таким образом преобразуем все октеты из десятичного вида в бинарный. Записываем их друг за другом и получаем 32е бинарное число.

6.2 Различные адреса для различных целей

Сетевой адрес - IPv4 адрес в у которого все биты узловой части = 0. (не назначается устройствам)

Широковещательный адрес - IPv4 адрес в у которого все биты узловой части = 1. (не назначается устройствам, используется для рассылки всем узлам сети)

Узловой адрес - IPv4 адрес в у которого все биты узловой части это смешение 1 и 0.

Сетевой префикс - число записываемое в виде /24, /25, /26, и указывающее сколько бит адреса является сетевой частью, т.е. 192.168.2.20/24 - первые три октета сетевая часть, остальные 8 бит узловая.

Адреса по типу доставки:

Одноадресные (unicast) - адрес принадлежит одному устройству в сети, пакеты отправленные на этот адрес доставляются только ему.

Многоадресные (multicast) - адрес прослушивает группа узлов, пакеты направляемые на этот адрес доставляются всем членам группы.

Широковещательные ограниченные (limited broadcast) - адрес вида 255.255.255.255, пакеты на этот адрес доставляются всем узлам одного сегмента сети.

Широковещательные направленные (directed broadcast) - последний адрес в сети, пакеты на этот адрес доставляются всем узлам указанной сети (может быть использован для отправки сообщений всем узлам выбранной сети из другой сети).

Блоки адресов:

0.0.0.0 - 223.255.255.255 - Одноадресные (Узловые) адреса

224.0.0.0 - 239.255.255.255 - Многоадресные

240.0.0.0 - 255.255.255.254 - зарезервированный для экспериментов диапазон

Классовая (classful) адресация (из-за неэкономного распределения адресов классовая адресация больше не применяется):

класс

диапазон

Сетей

Узлов

A

0.0.0.0 - 127.0.0.0

128

16,777,214

B

128.0.0.0 - 191.0.0.0

16,384

65,534

C

192.0.0.0 - 223.0.0.0

2,097,150

254

D

224.0.0.0 - 239.0.0.0

F

240.0.0.0 - 255.255.255.255

Специальные адреса одноадресного диапазона:

Приватные адреса (используются только внутри локальной сети, не маршрутизируются в интернет)

 10.0.0.0 - 10.255.255.255 (10.0.0.0 /8)

 172.16.0.0 - 172.31.255.255 (172.16.0.0 /12)

 192.168.0.0 - 192.168.255.255 (192.168.0.0 /16)

Маршрут по умолчанию:  0.0.0.0 - 0.255.255.255 (0.0.0.0 /8)

Петлевой интерфейс (loopback):  127.0.0.0 - 127.255.255.255 (127.0.0.0/8)

Link-local адреса: 169.254.0.0 to 169.254.255.255 (169.254.0.0 /16) используются для авто-настройки при отсутствии dhcp

Test-net адреса: 192.0.2.0 to 192.0.2.255 (192.0.2.0 /24) - используются для документаций

6.3 Назначение адресов

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

ICANN/IANA - выдает блоки адресов региональным регистраторам (RIR), а они в свою очередь продают адреса из полученных диапазонов организациям и провайдерам своего региона.

Провайдеры:

Tier1 - крупные трансконтинентальные провайдеры обеспечивающие основу интернета, обмениваются трафиком между собой, не покупают трафик.

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

Tier3/4 - небольшие провайдеры обслуживающие конечных пользователей. Покупают большую часть трафика.

IPv6 - улучшает управление пакетами, обеспечивает масштабируемость, вносит QoS и механизмы безопасности. Адрес 128 бит, записывается в 16ной нотации, блоки разделяются двоеточием.

6.4 Определить в моей ли сети находится узел.

Перед отправкой пакета узел источник должен определить в его ли сети находится узел назначения. Для этого он применяет логическое умножение (0 х 0 = 0; 1 х 0 = 0; 0 х 1 = 0; 1 х 1 = 1) между адресом назначения и своей маской сети. Если полученный адрес сети является адресом сети источника, это значит, что узел назначения находится с ним в одной сети. Если нет, значит узел назначения находится в другой сети.

6.5 Расчет адресов.

С целью разместить все интерфейсы маршрутизатора в разных сетях, а так же эффективно распределить имеющиеся адреса, возникает необходимость деления блоков адресов на подсети (subnetting). Это делается при помощи увеличения размера префикса. Надо помнить, что количество узлов в сети = 2^n - 2. А значит если мы берем /25 префикс то количество узлов будет 2^7 - 2 = 126; /26 префикс, 2^6 - 2 = 62; /27 префикс, 2^5 - 2 = 30; /28 префикс, 2^4 - 2 = 14 и т.д.

Порядок планирования сети:

- сгруппировать узлы

- определить количество необходимых адресов для каждой группы

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

Каждая подсеть в свою очередь тоже может быть разделена на меньшие подсети.

6.6 Тестирование сетевого уровня.

- пинг на loopback 127.0.0.1 - показывает, что стек протоколов работает

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

- пинг удаленных станций показывает, что удаленные сети доступны

Tracert - отправляет пакеты на заданный адрес начиная с TTL=1 и постепенно увеличивая его, до достижения узла назначения. Позволяет определить количество хопов (их имена и адреса) и время достижения пакетом каждого хопа.

Ping используется для тестирования сети. Отсылает echo-request на указанный узел, узел должен ответить echo-replay. Если узел не может ответить, источник в зависимости от ситуации может получить сообщение net/host/protocol/port unreachable.

Если превышено время жизни - Time Exceeded.

Если роутер хочет указать узлу другой маршрут для отправки пакетов - Route Redirection.

Так же в случае перегрузки, источнику может быть отправлено сообщение для того, чтобы он временно приостановил отправку пакетов - Source Quench.