• Что такое ip-адресация
  • Какие бывают ip-адреса
  • Как их назначать
  • Как с ними работать

Адреса ip

ip - протокол передачи данных на сетевом уровне

  • Одна из функций сетевого уровня адресация. Реализуется через ip-адреса

Говоря об ip-сетях имеется в виду диапозон ip-адресов. Есть широковещательный адрес и пул адресов, доступных внутри этого диапозона

Говоря об ip-сети, имеется в виду, что каждый хост в этой сети имеет одинаковую сетевую часть, каждый хост имеет свою уникальную хостовую часть в своем адресе. При этом адрес хоста не может быть нулем (адрес сети) и не может быть заполнен 1 (широковещательный диапозон)


IPv6

Необходимость ipv6:

  • Нехватка ipv4
  • Исправление ограничений ipv6
  • Зависимость от NAT (нарушает связность сети)

Сосуществование ipv4 и ipv6

  • Двойной стек (работа с 2 протоколами одновременно)
  • Тунеллирование (передача пакета ipv4 в заголовке ipv4)
  • Трансляция (NAT64) - преобразование одного адреса в другой

Заголовки ip


Адрес ipv4


Адрес ipv6

128 бит (16 байт). регистр не важен

гекстет


Формат адреса ipv6

  • Префикс
  • Адрес интерфейса
  • Длина префикса В ipv6 запись маски используется только через / Рекомендуется для подсети брать 64 бита. Внутри уже делить эти 64 бита на подсети


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

  1. Ведущие нули в гекстете (хекстете) могут не записываться

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

Тип рассылки и области действия ip-адресов

Типы рассылки ipv4

  • unicast
  • multicast (групповое/многоадресное вещание). Передается только устройствам, подписанным на эти адреса. Используется, например в ripv2. Там используется специальный групповой адрес для отправки rip - сообщений. Просто так оказаться подписанным нельзя. Нужно, чтобы существовал протокол для таких групповых адресов
  • broadcast (рассылка всем устройствам в сети)
    • Направленное (отправка всем устройства в сети с помощью широковещательного адреса сети (адрес хоста из 1))
    • Ограниченное (все 32 бита в адресе назначения - 1)

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


Типы рассылки ipv6

  • Unicast (уникальные во всей сети)
  • Multicast (группу подписанных на этот адрес устройств)
  • Anycast (специальная рассылка, когда один и тот же ipv6 адрес может быть назначен множеству устройств, но отвечает (получает) только одно устройство с таким адресом - ближайшее (по метрике) к отправителю)

Нет широковещательных адресов. Зато есть специальные групповые адреса:

  • ff02::1 - все узлы на каняле связи (можем передать сообщение на все хосты в канале связи (локальной сети))
  • ff02::2 - все маршрутизаторы на канале связи

Специальные ip-адреса

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


Область действия ipv4 адресов

  • Локальные диапозоны
    • 10.0.0.8/8
    • 172.16.0.0/16
    • 192.168.0.0/24 Не маршрутизируются в глобальной сети. NAT

Область действия ipv6 адресов

Подразумевается, что адресов достаточно для всех устройств в интернете

  • Global unicast address
    • Аналог публичных IPv4 - адресов
    • Распределяются IANA
    • Блок адресов: 2000::/3
  • Unique-local address
    • Аналог частных ipv4 - адресов
    • Блоки FC00::/7 и FD00::/8
    • Широкое распространение не получили
    • Не преобразуются в глобальные ip-адреса (нет NAT)
  • Link-local address
    • Не маршрутизируются
    • Назначаются автоматически (ос, всегда есть)
    • В пределах локального канала
    • Блок FE80::/10
    • На них нельзя построить сеть
    • Один и тот же адрес может повторяться в глобальной сети. На разные адреса интерфейсов можно назначить одинаковый link-local адрес
    • На link-local адресах работают протоколы маршрутизации ipv6
  • Site-local address
    • Не используются

В отличие от ipv4 сетях, в ipv6 устройству на один адрес может быть назначено несколько адресов


  • Префикс глобальной маршрутизации (48 бит) (регистратор)
  • Идентификатор подсети (16 бит) (клиент провайдера)
  • Идентификатор интерфейса

Адрес интерфейса может состоять из всех 1


Назначается либо руками, либо динамически (случайная генерация / использование mac-адреса)

Идентификатор генерируется обычно автоматически

Действие происходит в пределах одного канала

Сообщения между маршрутизаторами передаются по link-local адресам

В качестве шлюза по умолчанию принято использовать link-local адреса


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

  • Статически
  • Динамически

Команды


Пример назначения глобальных адресов

2001::/64 - учебные сети


? Какая маска?

Таблица маршрутизации ipv6


Задание ipv6 адреса на хосте

Шлюз лучше назначать через link-local? Это возможно?


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

3 способа автоматического назначения адресов ipv6:

  • Без сохранения состояния (Нигде не записывается какому хосту какой ipv6 адрес выдан (нет внешнего устройства))
    • SLAAC
    • SLAAC + DHCPv6
  • С сохранением состояния (есть внешнее устройство, отслеживающее состояние(dhcp))
    • DHCPv6

DHCPv4 (повторение)

4 этапа:

  1. DISCOVER (ищем сервер в сети) - широковещательное
  2. OFFER - Предложение ip хосту
  3. RECEIVED? (подтверждение, что взяли адрес) - широковещательное (если несколько DHCP)
  4. ACKNOWLEDGED (Сохранение связки - MAC-адрес/ip-адрес, срок аренды)

Сообщения ICMPv6

  • RA, route advertisement) - маршрутизатор сообщает о себе
  • RS, Router Soliciation

SLAAC

  1. Клиент включается в сеть
    1. Ждем сообщение маршрутизатора RA (ff02::1)
    2. Или с помощью RS пингуем маршрутизатор (multicast адрес ff02::2), чтобы он отправил RA
  2. В RA указывается префикс сети, который должен использовать хост для префикса своего адреса
  3. Случайным образом задает адрес интерфейса
    1. Либо рандомно назначается ОС
    2. Либо берется mac-адрес интерфейса и происходит это (менее предпочтительный способ)


Прицип работы SLAAC

3 шаг - попытка “пингануть” занимаемый интерфейс. Если ответа нет, адрес интерфейса можно занять


Флаги

2 бита. При обычном SLAAC обнулены


Stateless DHCP (DHCPv6 + SLAAC)

Начало такое же. Хост посылает ra*, принимает rs и префикс сети. Но с поднятым флагом O. Далее нужно получить адрес интерфейса от DHCPv6 по схеме:


Обращение к DHCP происходит по специальному multicast-адресу

  1. SOLICIT
  2. ADVERTISE
  3. INFORMATION-REQUEST (запрос на получение информации о сети)
  4. REPLY (предоставление информации о сети)

При этом адрес интерфейса генерируется хостом и проверяется по схеме SLAAC


Stateful DHCP (DHCPv6)

  1. К маршрутизатор
  2. M = 1, O = 1. Префикс от маршрутизатора не рассматривается
  3. Ищем DHCP
  4. В 4 этапа получаем IPv6 адрес на время аренды


Пример динамически сгенерированных адресов на хосте

Для обоих видов адресов (глобального и link-local) интерфейсная часть одинаковая (всегда?)

Создание адреса на маршрутизаторе

Тут же предпочтительнее испоьзовать EUI-64

У serial интерфейсов нет mac-адресов, поэтому возьмется mac-адрес, назначенный на младшем интерфейсе типа gigabit-ethernet или каком-то другом интерфейсе, имеющем mac-адреса

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


Просмотр настроек интерфейсов ipv6

link-local всегда есть, генерируются автоматически, можно переназначить


Таблица маршрутизации ipv6


Сообщения ICMPv6

RA (отправляются маршрутизаторами)

  • В сообщении маршрутизатор указывает префикс сети, длину префикса сети. Может указывать dns, доменные имена
  • Может указывать себя в качестве шлюза по умолчанию
  • Отправляются каждые 200 секунд всем хостам

RS (отправляются хостами для того, чтобы досрочно вынудить маршрутизаторы отправить RA)


Обнаружение соседей

NA - поиск соседей

NS - поиск дублированного адреса. Можно отправить хостам в сети, в интерфейсе указать адрес, который себе хочет назначить хост. Если пришел ответ, значит можно брать интерфейс. Иначе нужно поменять адрес адрес интерфейса

По сути аналог arp:

- Отправляется NA c интерфейсом, mac-адрес которого нужно узнать. Откликается только устройство с запрашиваемым интерфесом, сообщая mac

ping IPv6


Разделение на подсети


Разделение на подсети

  • CIDR - бесклассовая адресация
  • VLSM - VLSM - маска подсети переменной длины

Формула расчета количества подсетей


ipv6 разделение на подсети

В адресе предусмотрено поле для теления диапозона на подсети

ipv6 адресов дофига. Их не экономят


Пример ipv6 сети