Что такое пул адресов
Перейти к содержимому

Что такое пул адресов

  • автор:

IP-пул

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

Далее в этом разделе мы расскажем об основных понятиях, связанных с IP-адресами, и о том, как происходит их распределение в Plesk.

Об IP-адресах

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

Существует два формата IP-адресов:

  • IPv4. Это 32-разрядные адреса вида 192.168.1.1 . Сегодня они используются большинством сетевых устройств. Количество IPv4-адресов ограничено, и последняя группа свободных IP-адресов уже предоставлена Интернет-провайдерам.
  • IPv6. Это 128-разрядные сетевые адреса вида 2001:0db8:85a3:0000:0000:8a2e:0370:7334 . IPv6 — это новый стандарт, созданный для решения проблемы с исчерпанием сетевых адресов формата IPv4.

В случае установки в сети формата IPv6 Plesk может работать одновременно на IPv4- и IPv6-адресах. Провайдеры могут добавлять IPv4- и IPv6-адреса в IP-пул сервера, предоставлять их реселлерам и создавать на их основе подписки.

Каждой подписке на хостинг может быть предоставлено:

  • один IPv4-адрес,
  • один IPv6-адрес,
  • один IPv4 + один IPv6-адрес (двойные подписки).

Примечание. Каждая подписка, в рамках которой планируется предоставление анонимного доступа к FTP-ресурсам, должна иметь как минимум один выделенный IPv4-адрес.

Требования для использования IPv6

Для нормальной работы Plesk в сетях IPv6 должны выполняться следующие условия:

  • Сервер с Plesk должен иметь хотя бы один статичный IPv4-адрес. Это необходимо для соединения с серверами лицензий Plesk и каталогами приложений.
  • При работе в виртуальных средах нужно использовать контейнеры Virtuozzo 4.6 или выше.

Список операционных систем Linux, поддерживающих эту функцию, смотрите в примечаниях к выпуску Plesk.

Как скрыть IP-адреса

Один или несколько зарегистрированных в Plesk IP-адресов можно скрыть в интерфейсе Plesk. Скрытые IP-адреса не будут показываться на странице Инструменты и настройки > IP-адреса, и их невозможно будет назначать при создании подписок.

Чтобы скрыть один или несколько IP-адресов:

  1. Подключитесь к серверу Plesk по RDP, VNC, или с помощью любого другого клиента удаленного доступа.
  2. Откройте для редактирования файл C:\Program Files (x86)\Parallels\Plesk\admin\conf\panel.ini (создайте этот файл при необходимости) и добавьте в него следующие строки:

Укажите через запятую IP-адреса, которые хотите сделать скрытыми. В список скрытых адресов можно включать как IP-адреса IPv4, так и IPv6. Например:

  1. Войдите в Plesk, перейдите на страницу Инструменты и настройки > IP-адреса, и нажмите Перепроверить IP.
  2. Чтобы сделать какие-либо скрытые IP-адреса видимыми в интерфейсе Plesk, удалите их из списка скрытых и перепроверьте IP.

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

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

Ниже описан процесс предоставления IP-адресов в Plesk:

    IP-адреса добавляются в IP-пул сервера.

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

Примечание. Если Plesk работает в контейнере Virtuozzo, IP-адреса можно добавлять только на физическом сервере Virtuozzo.

При добавлении адреса в IP-пул сервера (Инструменты и настройки > IP-адреса > Добавить IP-адрес) нужно выбрать его тип — выделенный или общий:

    Выделенный IP-адрес может быть предоставлен одному реселлеру. Выделенные IP-адреса необходимы для хостинга интернет-магазинов с SSL-защитой, а также сайтов с FTP-ресурсами, доступными без ввода пароля.

Примечание. Server Name Indication (SNI) позволяет включить SSL-защиту для сайтов с общими IP-адресами, однако это может не работать на некоторых серверах и браузерах. Более подробную информацию смотрите в разделе SSL и общие IP-адреса. В случае с Windows с помощью одного сертификата можно защитить сразу несколько сайтов. Более подробную информацию смотрите в разделе Общие SSL-сертификаты (Windows).

  • В случае общих IP-адресов вы можете выбрать нужные адреса вручную.
  • В случае с выделенными IP-адресами вы можете указать только количество адресов, которое нужно предоставить: при создании реселлера ему будет автоматически предоставлен свободный выделенный IP-адрес из IP-пула сервера.
Использование динамических IP-пулов

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

Управление пулом IP-адресов сервера

Чтобы посмотреть список доступных вам IP-адресов:

    Перейдите в раздел Инструменты и настройки > IP-адреса (в разделе Инструменты и ресурсы).

IP_Addresses

Появится список ваших IP-адресов и следующая дополнительная информация:

  • В столбцах IP-адрес, Маска подсети и Интерфейс показано, какие IP-адреса установлены в различных сетевых интерфейсах.
  • В столбце Реселлеры отображается количество учетных записей пользователей, для которых был назначен данный IP-адрес. Для того чтобы просмотреть список пользователей, щелкните по соответствующему числу в столбце Реселлеры
  • В столбце Сайты показано количество веб-сайтов, размещенных на том или ином IP-адресе. Чтобы просмотреть доменные имена этих сайтов, щелкните по соответствующему числу в столбце Сайты.

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

Чтобы добавить IP-адрес на сервер:

  1. Перейдите в раздел Инструменты и настройки > IP-адреса (в разделе Инструменты и ресурсы) и нажмите Добавить IP-адрес.
  2. Выберите сетевой интерфейс для нового IP из меню Интерфейс. В этом меню показываются все сетевые карты, установленные на вашем сервере.
  3. В соответствующих полях введите IP-адрес и маску подсети. Например: 123.123.123.123/16 или 2002:7b7b:7b7b::1/64 .
  4. Выберите тип нового IP-адреса: общий или выделенный.
  5. Из выпадающего списка выберите SSL-сертификат по умолчанию для нового IP-адреса. Вы можете выбрать следующие сертификаты:
    • default certificate — сертификат, который входит в дистрибутив Plesk. Этот сертификат не подписан признанными органами сертификации (в веб-браузерах будет появляться предупреждающее сообщение). Сертификат по умолчанию используется для предоставления доступа к Plesk по протоколу https (https://имя-сервера-или-IP-адрес:8443/).
    • Другие сертификаты — сертификаты (самозаверенные или заверенные центром сертификации), которые вы добавили в репозиторий SSL-сертификатов. Информацию о добавлении сертификатов смотрите в Руководстве клиента, раздел Защита подключений с помощью SSL-сертификатов.
  6. Если ваш сервер работает под Windows и вы хотите разрешить безопасные соединения по FTP (FTP over SSL) для домена на выделенном IP-адресе, поставьте галочку FTP over SSL.

Примечание. Для работы безопасных FTP-соединений FTP-сервер, установленный на вашем сервере Plesk, должен поддерживать FTP over SSL. Например, серверы Gene6, Serv-U FTP и IIS FTP 7.x поддерживают FTP over SSL.

Чтобы удалить IP-адрес с сервера:

  1. Перейдите в раздел Инструменты и настройки > IP-адреса (в разделе Инструменты и ресурсы).
  2. Поставьте соответствующую галочку и нажмите Удалить, подтвердите удаление и нажмите OK.

Чтобы назначить IP-адрес реселлеру:

  1. Перейдите в раздел Инструменты и настройки > IP-адреса (в разделе Инструменты и ресурсы), щелкните по соответствующему числу в столбце Реселлеры и нажмите Назначить.
  2. Выберите нужную учетную запись и нажмите OK.

Чтобы отменить назначение IP-адреса реселлеру:

  1. Перейдите в раздел Инструменты и настройки > IP-адреса (в разделе Инструменты и ресурсы) и щелкните по соответствующему числу в столбце Реселлеры.
  2. Выберите нужный элемент и нажмите Удалить.
  3. Подтвердите удаление и нажмите OK.

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

Чтобы указать сайт по умолчанию для IP-адреса:

  1. Перейдите в раздел Инструменты и настройки > IP-адреса (в разделе Инструменты и ресурсы) и щелкните по нужному IP-адресу.
  2. В меню Сайт по умолчанию выберите нужный сайт и нажмите OK.

Чтобы изменить тип назначенного IP-адреса (общий, выделенный) или назначить другой SSL-сертификат IP-адресу:

Пулы IP-адресов

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

Замечания:
1. Рекомендуется разделить IP-адреса используемые для компьютеров в локальной сети предприятия и IP-адреса пользователей выдаваемые Carbon Billing.
По умолчанию, используется следующая схема:

  • Диапазон «10.0.0.2 – 10.127.255.255» используется для IP-адресов компьютеров
  • Диапазон «10.128.0.1 – 10.255.255.254» используется для IP-адресов пользователей.

2. Раздел Пулы IP-адресов доступен только Главному администратору.

Создание пула IP-адресов

Чтобы создать новый пул:
1. В разделе Пулы IP-адресов на панели инструментов нажмите кнопку Добавить новый пул IP-адресов. Появится следующее окно:

2. Заполните поля:
Наименование – название создаваемого пула. Например, «Пул для всех пользователей».
Диапазон – диапазон IP-адресов (IP-адрес первого и IP-адрес последнего). Например, «10.200.1.0 – 10.200.1.255».
Следующий пул в цепочке, - номер пула, из которого будут выделяться адреса, если в текущем все заняты
Зарезервировать – Если признак установлен, это означает что этот пул будет «зарезервирован», то есть IP-адреса из этого IP-диапазона не будут раздаваться автоматически, даже если они входят в какой-нибудь другой пул. Рекомендуется для пулов реальных IP-адресов.
Включен – если признак не установлен, то пользователи, у которых установлен данный пул, не смогут выйти в Интернет.

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

[Конспект] Компьютерные сети. Курс Андрея Созыкина

    Коммутация каналов (в телефонной линии).

Строится маршрут между отправителем и получателем -> передаются данные по установленному соединению

При выходе из строя одного из узлов соединение разрывается, а данные теряются

Данные делятся на пакеты -> строится маршрут между отправителем и получателем по каждому пакету

При выходе из строя одного из узлов ищется новый маршрут

По технологии передачи:

Данные доступны всем компьютерам в сети

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

По протяженности:

  • Персональная — 1 м (На столе)
  • Локальная — 10 м – 1 км (Комната, здание, кампус)
  • Муниципальная — 10 км (Город)
  • Глобальная — 100 – 1000 км (Страна, континент)
  • Объединение сетей — 10 000 км (Весь мир)

Стандарты компьютерных сетей

IEEE — стандарты сетевого оборудования.

RFC — протоколы интернет.

W3C — стандарты WEB.

Базовые понятия компьютерных сетей

Сервис — функции, которые реализует уровень.

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

Протокол — правила и соглашения для одного уровня.

Модель OSI (Open System Interconnection)

  • Передача битов по физическому каналу связи.
  • Не вникает в смысл передаваемой информации.
  • Задача: Как представить биты информации в виде сигналов, передаваемых по среде.
  • Передача сообщений по каналу связи.
    • Определение начала/конца сообщения в потоке бит.
    • Управление доступом к среде передачи данных.
    • Физическая адресация.
    • Создание составной сети, согласование различий в сетях.
    • Адресация (сетевые или глобальные адреса).
    • Определение маршрута пересылки пакетов в составной сети (маршрутизация).
    • Обеспечивает передачу данных между процессами на хостах.
    • Управление надежностью:
      • Может предоставлять надежность выше, чем у сети.
      • Наиболее популярный сервис – защищенный от ошибок канал с гарантированным порядком следования сообщений.
      • Управление диалогом (очерёдность передачи сообщений).
      • Управление маркерами (предотвращение одновременного выполнения критичной операции).
      • Синхронизация (метки в сообщениях для возобновления передачи в случае сбоя).
      • Обеспечивает согласование синтаксиса и семантики передаваемых данных
        • Форматы представления символов
        • Форматы чисел
        • Набор приложений, полезных пользователям:
          • Гипертекстовые Web-страницы
          • Социальные сети
          • Видео и аудио связь
          • Электронная почта
          • Доступ к разделяемым файлам
          • и многое другое

          Единицы передачи данных

          Уровень Название единицы
          Прикладной Сообщение
          Представления Сообщение
          Сеансовый Сообщение
          Транспортный Сегмент/Дейтаграмма
          Сетевой Пакет
          Канальный Кадр
          Физический Бит

          Сетевое оборудование

          Уровень модели OSI Оборудование
          Сетевой Маршрутизатор
          Канальный Коммутатор, точка доступа
          Физический Концентратор

          Физический уровень

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

          Важные характеристики канала связи:

          • Пропускная способность.
          • Задержка.
          • Количество ошибок.

          Типы каналов связи

          • Симплексный — можно передавать только в одну сторону.
          • Дуплексный — можно передавать в обе стороны.
          • Полудуплексный — можно передавать в обе стороны, но по очереди.

          Среды передачи данных:

          1. Кабель
            • Телефонный кабель (“лапша”)
            • Коаксиальный кабель
            • Витая пара
            • Оптический кабель
            • Провода электропитания 220В
          2. Беспроводные технологии
            • Радиоволны
            • Инфракрасное излучение
          3. Спутниковые каналы
          4. Беспроводная оптика (лазеры)

          Для представления сигналов можно использовать два подхода:

          • Цифровые сигналы. Метод представления сигналов: кодирование. Используется в медных кабелях. (0 — отсутствие напряжения, 1 — есть напряжение).
          • Аналоговые сигналы. Метод представления сигнала: модуляция. Используется в беспроводной среде и в оптоволокне.

          Канальный уровень

          • Передача сообщений каналам связи – кадров (frame)
            • Определение начала/конца кадра в потоке бит
            • Адресация
            • Согласованный доступ к каналу

            Формирование кадра

            [Заголовок][Пакет сетевого уровня][Концевик]

            Методы выделения кадров

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

            80482902 — первый байт говорит сколько в кадре

            Если первый байт исказится, то следующий кадр будет выделен неправильно

            При ошибке вся передача данных будет сорвана — не используется

            Вставка байтов (byte stuffing) и битов (bit stuffing) — в начало и в конец

            • DLE STX – начало кадра
            • DLE ETX – конец кадра
            • Escape последовательность в данных – DLE
            • 01111110 начало и конец кадра
            • В данных после пяти последовательных 1 добавлялся 0

            Средства физического уровня

            • Длина 8 байт
            • Первые 7 байт: 10101010
            • Последний байт: 10101011 (ограничитель начала кадра)
            • Начало кадра – пара символы J (11000) и K (10001)
            • Конец кадра – символ T (01101)

            Обнаружение и исправление ошибок

            • Контрольная сумма
            • Коды исправляющие ошибки (с избыточной информацией)
            • Позволяют обнаруживать и исправлять ошибки

            Повторная отправка данных

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

            Методы повторной отправки

            Остановка и ожидание

            • Отправитель посылает кадр и останавливается
            • Получатель отправляет подтверждение
            • Отправитель посылает новый кадр
            • Отправитель посылает несколько кадров один за другим, не дожидаясь подтверждения
            • Количество кадров, которое можно отправить, называется размером окна
            • Получать подтверждает получение кадров
            • Отправитель посылает новую порцию кадров

            Подуровни канального уровня

            Подуровень управления логическим каналом (LLC)

            • Отвечает за передачу данных (создание кадров, обработка ошибок и т.д.)
            • Общий для разных технологий

            Подуровень управления доступом к среде (MAC):

            • Совместное использование разделяемой среды
            • Адресация
            • Специфичный для разных технологий
            • Не является обязательным
            Услуги подуровня LLC

            Мультиплексирование — передача данных разных протоколов (IP, ARP, ICMP) на уровень MAC

            Управление потоком — предотвращение «затопления» медленного получателя быстрым отправителем

            Множественный доступ к каналу

            Данные искажаются, если несколько компьютеров передают одновременно

            • Коллизия
            • Обеспечение использования канала только одним отправителем

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

            • Рандомизированный выбирается один с вероятностью 1/N. (Ethernet, Wi-Fi).
            • На основе правил использования. (Token Ring).

            Ethernet

            Находится на канальном и физическом уровне.

            Физический уровень Ethernet:

            • Коаксиальный кабель
            • Витая пара
            • Оптоволокно

            Канальный уровень Ethernet :

            • Методы доступа и протоколы, одинаковые для любой среды передачи данных
            • В классическом Ethernet смешаны подуровни LLC и MAC

            MAC-адреса

            Служат для идентификации сетевых интерфейсов узлов сети Ethernet Регламентированы стандартом IEEE 802

            • Длина 6 байт (48 бит)
            • Форма записи – шесть шестнадцатеричных чисел:

            Типы MAC-адресов:

            • Индивидуальный (unicast) — данные, которые отправляются на этот MAC-адрес, получает только один компьютер.

            Уникальность MAC-адресов

            В одном сегменте сети не должно быть одинаковых MAC-адресов

            • Одна широковещательная среда Ethernet
            • Один VLAN в коммутируемом Ethernet

            Если будет два компьютера с одним MAC-адресом, то один из них не будет работать

            • Какой именно не регламентируется

            Способы назначения

            • Адреса назначаются производителем оборудования
            • Правила назначения описываются стандартом IEEE 802
            • Адреса назначаются администратором сети
            • Администратор должен обеспечить уникальность

            Индикатор способа назначения — второй бит старшего байта MAC-адреса:

            • 0 – адрес назначен централизованно
            • 1 – адрес назначен локально

            При централизованном назначении MAC-адреса должны быть уникальны во всем мире Структура MAC-адреса:

            • Первые 3 байта – уникальный идентификатор организации (OUI), выдаются IEEE производителям оборудования
            • Последние 3 байта – назначает производитель оборудования, который отвечает за уникальность
            • Примеры OUI:
              • 00:00:0C – Cisco (еще 6C:50:4D, 70:81:05 и др.)
              • 00:02:B3 – Intel
              • 00:04:AC – IBM

              Формат кадра Ethernet

              • MAC получателя [6 байт]
              • MAC отправителя [6 байт]
              • Тип протокола следующего уровня [0800 – IPv4, 86DD – IPv6, 0806 – ARP] [2 байт]
              • Данные [46-1500 байт]
              • Контрольная сумма[4 байта]

              Доступ к среде

              Управление доступом к среде

              • Обеспечение использования канала только одним отправителем

              Классический Ethernet использует метод доступа к среде CSMA/CD

              • Carrier Sense Multiple Access with Collision Detection
              • Множественный доступ с прослушиванием несущей частоты и распознаванием коллизий

              Прослушивание несущей

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

              Способ определить, свободна ли среда – прослушивание основной гармоники сигнала (несущей частоты).

              Обнаружение коллизий

              Два компьютера начали передачу одновременно – коллизия.

              • Компьютер передает и принимает сигналы одновременно
              • Если принятый сигнал отличается от переданного – значит возникла коллизия

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

              Модель CSMA/CD

              Период передачи — передача данных.

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

              • Первые 7 байт: 10101010
              • Последний байт: 10101011 (ограничитель начала кадра)
              • Компьютер, который узнал свой адрес, продолжает записывать кадр
              • Остальные удаляют кадр из буфера
              • Адаптер принимает все кадры в сети, не зависимо от MAC-адреса назначения

              9,6 мкс в классическом Ethernet

              Предотвращение монопольного захвата канала

              Приведение сетевых адаптеров в исходное состояние

              Период конкуренции — борьба за монопольное использование конкурентной среды.

              Если компьютер начал передавать данные и обнаружил коллизию, то он делает паузу.

              Длительность паузы — L * 512 битовых интервалов

              Битовый интервал – время между появлениями двух последовательных битов данных

              • 0,1 мкс в классическом Ethernet

              Экспоненциальный двоичный алгоритм отсрочки. L случайно выбирается из диапазона [0, 2^N-1]

              • N – номер попытки
              • 1 попытка: [0, 1]
              • 2 попытка: [0, 3]
              • 3 попытка: [0, 7]
              • 5 попытка: [0, 31]
              • 10 попытка: [0, 1023]
              • После 10 попыток интервал не увеличивается
              • После 16 попыток передача прекращается

              Алгоритм хорошо работает при низкой загрузке

              • В сети мало компьютеров
              • Компьютеры редко передают данные Если нагрузка высокая, то коллизии возникают чаще:
              • Растет число попыток передачи
              • Растет интервал, из которого выбирается L, и длительность пауз
              • Экспоненциально увеличивается задержка

              Период простоя — нет никаких данных для передачи.

              Время оборота

              Время оборота (round trip time, RTT) – время, за которое сигнал успевает дойти от одного конца сети до другого и вернуться назад.

              Время оборота должно быть меньше, чем время передачи самого короткого кадра.

              • Сигнал о коллизии может прийти уже после того, как компьютер завершил передачу кадра
              • Компьютер будет считать, что кадр передан, а на самом деле произошла коллизия

              Параметры Ethernet подобраны так, чтобы коллизии гарантированно распознавались

              • Минимальная длина данных в кадре 46 байт (если данных меньше, то они дополняются до 46 байт)
              • Максимальная длина сети 2500 м

              Концентратор и коммутатор

              • Исторически появился первый (1973 г.)
              • Разделяемая среда, коллизии
              • Метод CSMA/CD
              • Недостатки: плохая масштабируемость, низкая безопасность и др.
              • Новая усовершенствованная технология (1995 г., Fast Ethernet, IEEE 802.3u)
              • Нет разделяемой среды
              • Нет коллизий
              • Новые устройства – коммутаторы (switch)
              • Физический уровень
              • Топология – общая шина
              • Канальный уровень
              • Полносвязная топология

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

              Основные особенности работы коммутаторов:

              1. Таблица коммутации — Соответствие MAC-адресов портам коммутатора.
              2. Алгоритм обратного обучения — Заполнение таблицы коммутации.
              3. Алгоритм прозрачного моста — Передача кадров коммутатором.

              Таблица коммутации

              • Соответствие MAC-адресов портам коммутатора
              • Содержит данные о доступности MAC-адресов через порты коммутатора
              Порт коммутатора MAC-адрес

              Алгоритм обратного обучения

              Заполнение таблицы коммутации по заголовкам отправителям.

              Алгоритм прозрачного моста

              Передача кадров коммутатором

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

              VLAN (Virtual Local Area Network, Виртуальная локальная сеть) — технология разделения единой сети на несколько логических сетей, изолированных друг от друга.

              В модели OSI и TCP/IP технология VLAN находится на канальном уровне и реализуется на коммутаторах.

              Преимущества изоляции локальных сетей:

              • Безопасность.
              • Распределение нагрузки.
              • Ограничение широковещательного трафика.

              Для описания VLAN используются номера. Компьютеры, подключенные к VLAN с разными номерами, не могут передавать данные друг другу.

              • На основе коммутаторов (нетегированные). Номер VLAN задается в таблице коммутации. Работает только внутри одного коммутатора.
              • Тегированные — номер VLAN передается в кадре Ethernet (стандарт IEEE 802.1Q). Может использоваться в сети с несколькими коммутаторами.
              • MAC получателя [6 байт]
              • MAC отправителя [6 байт]
              • Поле Тип стандартного кадра: 0x8100 – указатель, что кадр с VLAN [2 байт]
              • Тег – содержит номер VLAN [2 байт]
              • Второе поле Тип – код протокола уровня выше [2 байт]
              • Данные [46-1500 байт]
              • Контрольная сумма[4 байта]

              Протокол связующего (остовного) дерева (Spanning Tree Protocol, STP) позволяет автоматически отключать дублирующие соединений в Ethernet, чтобы в сети не образовалось кольца и широковещательного шторма.

              Протокол STP определен в стандарте IEEE 802.1D.

              • Надежность соединений между коммутаторами.
              • Защита от ошибок конфигурации.

              Протокол STP работает в 3 этапа:

              1. Выбор корневого коммутатора
              2. Определение кратчайших путей до корневого коммутатора
              3. Отключение всех остальных соединений

              Для реализация STP коммутаторы каждые 2 секунды отправляют управляющие сообщения Bridge Protocol Data Units (BPDU) на групповой адрес STP 01:80:C2:00:00:00.

              Расширения протокола STP.

              RSTP (Rapid Spanning Tree Protocol):

              • Срабатывает быстрее при подключении оборудования и изменении конфигурации сети
              • Стандарт IEEE 802.1w
              • Multiple Spanning Tree Protocol (MSTP), 802.1s
              • Отдельное связующее дерево для каждого VLAN

              Wi-Fi – торговая марка, принадлежит компании Wi-Fi Alliance.

              Технология Wi-Fi описана в стандартах серии IEEE 802.11, она очень похожа на формат Ethernet.

              В модели OSI Wi-Fi находится на канальном уровне.

              Wi-Fi может работать в двух режимах:

              • инфраструктурном
              • одноранговом.
              Название Год принятия Скорость Частота
              802.11 1997 1 и 2 Мб/с 2,4 ГГц
              802.11a 1999 54 Мб/с 5 ГГц
              802.11b 1999 11 Мб/с 2,4 ГГц
              802.11g 2003 54 Мб/с 2,4 ГГц
              802.11n 2009 600 Мб/с / 150 Мб/с одна станция 2,4 и 5 ГГц
              802.11ac 2014 6.77 Гб/с / 1.69 Гб/с одна станция 5 ГГц

              Wi-Fi использует для передачи данных электромагнитное излучение:

              • 2,4 ГГц – 802.11, 802.11b, 802.11g, 802.11n
              • 5 ГГц – 802.11a, 802.11n, 802.11ac

              Современные стандарты Wi-Fi используют метод Orthogonal Frequency Division Multiplexing (OFMD, мультиплексирование с ортогональным частотным разделением). При этом данные передаются параллельно на разных частотах.

              В диапазоне 2,4 ГГц используется 14 каналов передачи данных с разной частотой.

              Wi-Fi может использовать каналы разной ширины: 20, 40, 80 или 160 МГц.

              Wi-Fi позволяет менять скорость при разном качестве сигнала за счет изменения метода модуляции, ширины канала, и времени между передачей отдельных символов (Guard Interval).

              Управление доступом к разделяемой среде

              Wi-Fi использует для передачи данных разделяемую среду — радиоэфир. В разделяемой среде возможны коллизии. Чтобы их избежать, необходим метод доступа к среде, который бы обеспечивал, что в один момент времени данные передает только один компьютер.

              Особенности беспроводной среды:

              • Вероятность ошибки передачи выше, чем в проводной среде
              • Мощность передаваемого сигнала намного выше, чем принимаемого
              • Ограниченный диапазон распространения сигнала – не все компьютеры в сети получают данные (проблема скрытой станции и проблема засвеченной станции).

              Так как ошибки при передаче данных возникают часто, то в Wi-Fi на канальном уровне используется подтверждение доставки.

              Коллизии в Wi-Fi обнаруживаются по отсутствию подтверждений.

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

              Поэтому в Wi-Fi используется метод CSMA/CA — ножественный доступ с прослушиванием несущей частоты с предотвращением коллизий.

              Другой метод доступа к среда в Wi-Fi: протокол Multiple Access with Collision Avoidance (MACA). Он позволяет решить проблему скрытой и засвеченной станции. Однако на практике метода CSMA/CA почти всегда достаточно, поэтому поддержка протокола MACA в оборудовании Wi-Fi не обязательна.

              В MACA перед передачей данный компьютер отправляет короткое сообщение Request To Send (RTS). Принимающий компьютер в ответ передает сообщение Clear To Send (CTS). После этого отправитель может передавать данные.

              Формат кадра Wi-Fi

              Wi-Fi использует два формата кадра. При передаче по беспроводной среде на уровне MAC используется формат кадра IEEE 802.11. Однако при поступлении на компьютер на уровне LLC происходит преобразование в формат кадра Ethernet.

              Формат кадра IEEE 802.11 сильно отличается от формата Ethernet. Во-первых, в кадре Wi-Fi используется 4 MAC-адреса следующего назначения:

              • Адрес 1 — MAC адрес устройства (точка доступа), которое принимает данные из беспроводной среды (Receiver Address). [6 байт]
              • Адрес 2 — MAC адрес устройства, которое передает данные в беспроводную среду (Transmitter address). [6 байт]
              • Адрес 3 — MAC адрес устройства получателя (Destination Address). [6 байт]
              • Адрес 4 — MAC адрес устройства отправителя (Source Address). [6 байт]

              Размер поля данных в Wi-Fi 2304 байта (в Ethernet размер поля данных 1500 байт).

              Поле “Управление кадром” содержит большое количество управляющих флагов.

              Типы кадров Wi-Fi:

              • Кадры данных (передача данных)
              • Кадры контроля (control frames). Служебные кадры (RTS, CTS, ACK)
              • Кадры управления (management frames). Реализация сервисов Wi-Fi (например, ассоциация с точкой доступа).

              Технология IEEE 802.11 Power Saving Mode позволяет экономить питание при работе Wi-Fi.

              Фрагментация в Wi-Fi позволяет передавать данные, даже если ошибки возникают очень часто. При этом кадры делятся на отдельные части (фрагменты) и передаются отдельно.

              Сервисы Wi-Fi

              Наборы сервисов Wi-Fi:

              • Базовый набор сервисов (basic service set).
              • Расширенный набор серсивов (extended service set).
              • Ассоциация
              • Аутентификация
              • Передача данных
              • Защита информации (шифрование)
              • Роуминг

              Идентификаторы наборов сервисов Wi-Fi:

              • BSSID — идентификатор базового набора сервисов, MAC-адрес точки доступа.
              • SSID — идентификатор набора сервисов в понятном для человека виде, текстовая строка.

              Сетевой уровень

              Сетевой уровень (network layer) объединяет сети, построенные на основе разных технологий.

              • Ethernet
              • Wi-Fi
              • MPLS
              • ATM, TokenRing, FDDI (устаревшие)

              Согласование различий в сетях.

              • Кадры из Wi-Fi принимаются с отправкой подтверждения, а в Ethernet отправляются без подтверждений
              • Глобальные адреса, не зависимые от конкретных технологий
              • Методы преобразования глобального адреса в локальный (ARP для TCP/IP)
              • Пакеты отправляются всем хостам в сети по индивидуальным адресам

              Масштабируемость на сетевом уровне

              • Работа не с отдельными адресами, а с блоками адресов
              • Блок адресов — сеть

              Запрет пересылки «мусорных» пакетов:

              • Пакет отбрасывается, если нельзя определить, куда его нужно отправлять

              Возможность наличия нескольких путей в сети:

              • Одна из основных причин создания сетей с пакетной коммутацией
              • Допускается несколько активных путей
              • Задача выбора лучшего пути — маршрутизация

              Задачи сетевого уровня

              • Объединение сетей (internet working)
              • Маршрутизация
              • Обеспечение качества обслуживания

              Маршрутизация

              Маршрутизация (routing) – поиск маршрута доставки пакета между сетями через транзитные узлы – маршрутизаторы

              • Учет изменений в топологии сети
              • Учет загрузки каналов связи и маршрутизаторов

              Продвижение (forwarding) – передача пакета внутри маршрутизатора в соответствии с правилами маршрутизации

              IP адреса

              Локальные и глобальные адреса

                Адреса в технологии канального уровня

              Пример: MAC адрес в Ethernet, IMEI в 3G

                Адреса сетевого уровня

              IP-адреса — глобальные адреса, используемые в стеке протоколов TCP/IP

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

              Широко используются в Интернет

              Две версии протокола IP:

              • IPv4 (далее просто IP): адрес 4 байта или 32 бита
              • IPv6: адрес 16 байт

              Типы IP-адресов:

              • Индивидуальный (unicast) — если отправлять на этот адрес, то получает только один компьютер
              • Групповой (multicast) — если отправлять на этот адрес, то получают несколько компьютеров в сети
              • Широковещательный (broadcast) — если отправлять на этот адрес, то получают все компьютеры в сети

              IP-адреса и IP-сети

              Сетевой уровень использует агрегацию адресов:

              • Масштабирование – работа не с отдельными адресами, а с подсетями

              Подсеть (IP-сеть, сеть) – множество компьютеров, у которых старшая часть IP-адреса одинаковая:

              Маршрутизаторы работают с подсетями, а не отдельными компьютерами.

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

              • Номер подсети – старшие биты.
              • Номер хоста (компьютера в сети) – младшие биты.

              IP-адрес: 213.180.193.3

              Номер подсети: 213.180.193.0

              Номер хоста: 3 (0.0.0.3)

              Маска подсети

              Маска подсети показывает, где в IP-адресе номер сети, а где хоста.

              • Длина 32 бита
              • Единицы в позициях, задающих номер сети
              • Нули в позициях, задающих номер хоста

              IP (десятичный): 213.180.193.3

              IP: 11010101.10110100.11000001.00000011

              Маска: 11111111.11111111.11111111.00000000

              Подсеть: 11010101.10110100.11000001.00000000

              Подсеть (десятичный): 213.180.193.0

              subnet = ip & mask

              Запись маски подсети

              • IP-адрес: 213.180.193.3
              • Маска подсети: 255.255.255.0
              • Адрес подсети: 213.180.193.0

              В виде префикса:

              • 213.180.193.3/24 24 (8 * 3) бита 1, остальные 0
              • Адрес подсети: 213.180.193.0

              Маска подсети не обязательно должна заканчиваться на границе октетов

              Широковещательный адрес

              Формат широковещательного адреса:

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

              IP-адрес: 213.180.193.3 /24

              Широковещательный адрес: 213.180.193.255

              В IP широковещательные пакеты передаются только внутри подсети (ограниченное широковещание).

              • Маршрутизаторы не пересылают широковещательные пакеты.
              • Нет возможности указать в адресе «все компьютеры в Интернет» (пакет «Godzillagram»).

              Исчерпание IP-адресов

              Длина IPv4 адреса 32 бита

              • Максимум 4 294 967 296 (232) IP-адресов
              • IPv6, длина адреса 16 байт
              • Network Address Translation (NAT)

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

              В номере хоста нельзя использовать только битовые 0 или 1

              Битовые 0 в номере хоста:

              • Адрес подсети: 213.180.193.0

              Битовые 1 в номере хоста:

              • Широковещательный адрес: 213.180.193.255

              Договоренность (не обязательная):

              • Хост с номером 1 – маршрутизатор по умолчанию (шлюз): 213.180.193.1

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

              0.0.0.0 – текущий хост (подсеть)

              255.255.255.255 – все хосты в текущей подсети (ограниченный широковещательный адрес)

              127.0.0.0 /8 – обратная петля (loopback)

              • Сеть для тестирования
              • Данные не передаются в сеть, а приходят обратно
              • 127.0.0.1 – localhost (текущий компьютер)

              169.254.0.0 /16 – Link-local адреса

              • Назначаются ОС хоста автоматически, если недоступна другая IP конфигурация
              • Могут использоваться в пределах подсети

              Распределение IP-адресов

              IP-адреса должны быть уникальны во всем мире

              IANA (Internet Assigned Numbers Authority) – специальная организация, ответственная за распределение IP-адресов

              Региональные регистраторы (RIR – Regional Internet Register) IANA

              Частные IP-адреса

              Зарезервированные диапазоны адресов (RFC 1918):

              • 10.0.0.0 /8
              • 172.16.0.0 /12
              • 192.168.0.0 /16

              Не маршрутизируются в Интернет.

              Могут использоваться внутри организации без обращения в IANA.

              Подключение к Интернет с использованием технологии NAT (Network Address Translation).

              Протокол IP

              Internet Protocol – межсетевой протокол, находящийся на сетевом уровне.

              • internet working – объединение сетей.
              • internet – объединенная сеть / subnet — подсеть.
              • Internet – название самой крупной объединенной сети.
              • без гарантии доставки.
              • без сохранения порядка следования сообщений.

              Протокол IP использует передачу данных без установки соединения.

              • Объединение сетей.
              • Маршрутизация.
              • Качество обслуживания.

              Формат заголовка IP-пакета

              Номер версии [4 bit]
              • Длина IP-адреса 4 байта
              • Нехватка IP-адресов
              • Используется сейчас
              • Длина IP-адреса 16 байт
              • Вводится в эксплуатацию
              Длина заголовка [4 bit]

              Длина всех заголовков IP в байтах.

              Тип сервиса [8 bit]

              Здесь задаются абстрактные параметры желаемого качества сети. На практике используется редко. Последние два бита

              • 00 — перегрузки нет.
              • 11 — перегрузка есть.
              Общая длина [16 bit]

              Общая длина пакета, включая заголовок и данные.

              • Измеряется в байтах.
              • Максимальное значение – 65535 байт.
              • На практике длина выбирается с учетом размера кадра канального уровня

              Фрагментация

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

              Различия в сетях.

              • Максимальный размер передаваемых данных (Maximum Transmission Unit, MTU).
              • Ethernet – 1500 байт.
              • Token Ring – 4464 байта.
              • FDDI – 4352 байта.

              Фрагментация – разделение пакета на несколько частей (фрагментов) для передачи по сети с маленьким MTU.

              Идентификатор пакета [16 bit]

              Идентификатор пакета, который был разбит на несколько.

              Флаги [3 bit]

              Размер поля флаги – 3 бита.

              • Первый бит зарезервирован и не используется.
              • DF (Don’t Fragment) – не фрагментировать.
              • MF (More Fragments) – есть еще фрагменты.

              Флаг DF (Don’t Fragment) запрещает фрагментацию пакета.

              Если MTU сети меньше размера пакета.

              • Маршрутизатор отбрасывает пакет.
              • Получателю отправляется ICMP сообщение Тип 3, Код 4 (Destination Unreachable, Fragmentation required, and DF flag set).
              Смещение фрагмента [13 bit]

              Смещение фрагмента в поле данных исходного пакета.

              • Измеряется в 8-байтовых блоках.

              Исходный пакет 4000 байт (заголовок 20 байт, данные 3980 байт)

              MTU целевой сети 1500 байт (заголовок 20 байт, данные 1480 байт)

              Три фрагмента данные: 0-1479, 1480-2959, 2960-3980

              Смещение фрагментов: 0, 185 (8 * 185 = 1480), 370

              Время жизни [8 bit]

              Время жизни (TTL, Time To Live) – максимальное время, в течение которого пакет может перемещаться по сети.

              Введено для предотвращения «бесконечного» продвижения пакетов.

              • Секунды (не используется).
              • Прохождение через маршрутизатор (hop) — на каждом маршрутизаторе уменьшает на единицу.
              Тип протокола [8 bit]

              Указывается тип протокола следующего (вышестоящего) уровня.

              Предназначено для реализации функции мультиплексирования/демультиплексирования

              Код протокола, данные которого передаются:

              • TCP – 6
              • UDP – 17
              • ICMP – 1
              Контрольная сумма [16 bit]

              Используется для праверки правильности пакета.

              Если контрольная сумма не сходится, то пакет отбрасывается.

              Считается только по заголовку IP пакета, пересчитывается на каждом маршрутизаторе.

              IP адрес отправителя [32 bit]

              IP адрес отправителя

              IP адрес получателя [32 bit]

              IP адрес получателя

              Опции (необязательные заголовки)

              Заголовок IP-пакета может включать дополнительные поля:

              • Записать маршрут
              • Маршрут отправителя
              • Жесткая маршрутизация
              • Свободная маршрутизация
              • Временные метки
              • Опции могут иметь разный размер
              • Длина заголовка IP-пакета должна быть кратна 32 битам
              • Для выравнивания до 32 бит поле опций дополняется нулями

              Маршрутизация

              Маршрутизация – поиск доставки пакета между сетями через транзитные узлы – маршрутизаторы.

              • Изучение сети:
                • Какие сети есть
                • Какие маршрутизаторы есть

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

                Post main image

                • Адрес (Network Destination) — адрес сети или узла назначения, либо указание, что маршрут является маршрутом по умолчанию.
                • Маска сети назначения (Netmask)
                • Шлюз (Gateway) — обозначает адрес маршрутизатора в сети, на который необходимо отправить пакет, следующий до указанного адреса назначения. Адрес, с которого можно попасть в сеть, если текущий маршрутизатор напрямую подключен к сети, то указывается 0.0.0.0.
                • Интерфейс (Interface), через который доступен шлюз (в зависимости от системы, это может быть порядковый номер, GUID или символьное имя устройства; интерфейс может быть отличен от шлюза, если шлюз доступен через дополнительное сетевое устройство, например, сетевую карту). Собственный IP адрес маршрутизатора с которого будет отправлен пакет.
                • Метрику (Metric) — числовой показатель, задающий предпочтительность маршрута. Чем меньше число, тем более предпочтителен маршрут.
                Записи в таблице маршрутизации
                • Конфигурация интерфейсов
                • Вручную прописанные маршруты к сетям
                • Конфигурируются автоматически
                • Протоколы маршрутизации RIP, OSPF, BGP и др.
                Маршрут по умолчанию

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

                Маршрутизатор по умолчанию (шлюз, default router, gateway) – маршрутизатор, на который отправляются пакеты для неизвестных сетей.

                • 0.0.0.0, маска 0.0.0.0
                • default
                Длина маски подсети

                Маршрутизатор принял пакет с адресом получателя 192.168.100.23 .

                В таблице маршрутизации две записи:

                • 192.168.100.0/24
                • 192.168.0.0/16

                Выбирается маршрут с более длинной маской.

                • Поиск маршрута к хосту (маска /32)
                • Поиск маршрута к сети (с маской максимальной длины)
                • Маршрут по умолчанию (маска /0, подходит все)

                Таблица маршрутизации есть не только у маршрутизаторов, но и у всех хостов в сети.

                Содержание таблицы маршрутизации хоста:

                • Присоединенная сеть
                • Маршрутизатор по умолчанию (шлюз, gateway)
                • (Не обязательно) маршруты к знакомым сетям

                Просмотр таблицы маршрутизации:

                • route print (Windows)
                • route (Linux)
                • ip route (Linux)

                Управляющие протоколы сетевого уровня

                Протокол DHCP

                DHCP (Dynamic Host Configuration Protocol) – протокол динамической конфигурации хостов.

                Для работы в сети компьютеру нужен IP-адрес.

                Методы назначения IP-адресов:

                • Вручную
                • Автоматически

                Протокол DHCP позволяет автоматически назначать компьютерам в сети IP-адреса.

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

                Клиент и сервер обмениваются сообщениями DHCP в режиме запрос-ответ.

                Сообщение DHCP Назначение Замечания
                DISCOVER Поиск DHCP сервера Отправляется на широковещательный адрес Ethernet
                OFFER Предложение IP-адреса DHCP сервером клиенту Включает IP адрес
                REQUEST Запрос IP-адреса DHCP клиентом
                ACK Подтверждение назначения IP-адреса DHCP клиенту
                NACK Запрет использования запрошенного DHCP клиентом IP-адреса
                RELEASE Освобождение IP-адреса
                INFORM Запрос и передача дополнительной конфигурационной информации

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

                • Фиксированный — выделенный IP-адрес для каждого MAC-адреса
                • Динамический — выделение компьютеру любого IP-адреса из пула адресов
                • Список (диапазон) IP-адресов, которые назначает DHCP сервер
                • DHCP сервер следит за уникальностью распределения адресов
                Время аренды в DHCP

                IP-адрес выделяется DHCP клиенту на ограниченное время

                • Время аренды (lease time)
                • Типичное время: 1 час, 1 сутки, 3 суток и т.п.

                После окончания времени аренды IP-адрес освобождается DHCP клиент может продлить использование IP-адреса после окончания аренды.

                • Сокращенная процедура получения IP-адреса. (REQUEST -> ACK)
                Прекращение использования адреса

                Окончание использования IP-адреса.

                • Сообщение DHCP Release.
                • Сервер может назначить освободившийся адрес другому клиента

                Сообщение DHCP Release автоматически отправляется современными ОС при корректном выключении.

                Отсутствие сообщения DHCP Release:

                • До окончания срока аренды DHCP сервер считает IP-адрес занятым
                • После окончания аренды адрес освобождается

                Если маршрутизатор умеет работать в режиме DHCP Relay, то он может передать данные протокола DHCP в другую подсеть.

                Конфигурационная информация

                Для работы в сети нужен не только IP-адрес.

                Конфигурационные параметры передаются DHCP в качестве опций DHCP предоставляет дополнительно:

                • Маску подсети
                • Маршрутизатор по умолчанию (шлюз)
                • Адреса DNS-серверов
                • Адреса серверов времени
                • Маршруты
                • и другую информацию

                Протокол ARP

                ARP (Address Resolution Protocol) – протокол разрешения адресов.

                Адреса компьютера в сети:

                • Сетевой уровень: IP-адрес (192.168.10.43)
                • Канальный уровень: MAC-адрес (54:BE:F7:88:15:47)

                Протокол ARP позволяет определить по IP-адресу компьютера его MAC-адрес.

                На практике сетевое взаимодействие выполняется с использованием IP-адресов:

                Но данные передаются с помощью технологии канального уровня: Ethernet, Wi-Fi, MAC-адреса. Следовательно нам необходимы средства определения MAC-адреса компьютера по его IP-адресу.

                ARP работает в режиме запрос-ответ.

                Поле Значение
                Тип сети 1
                Тип протокола 2048
                Длина локального адреса 6
                Длина глобального адреса 4
                Операция 1
                Локальный адрес отправителя 1C:75:08:D2:49:45
                Глобальный адрес отправителя 192.168.10.15
                Локальный адрес получателя 00:00:00:00:00:00
                Глобальный адрес получателя 192.168.10.43
                Поле Значение
                Тип сети 1
                Тип протокола 2048
                Длина локального адреса 6
                Длина глобального адреса 4
                Операция 2
                Локальный адрес отправителя 54:BE:F7:88:15:47
                Глобальный адрес отправителя 192.168.10.43
                Локальный адрес получателя 1C:75:08:D2:49:45
                Глобальный адрес получателя 192.168.10.15

                ARP не проходит через маршрутизаторы.

                Компьютеры в сети записывают информацию о найденных MAC-адресах в кэш.

                • Нет необходимости запрашивать MAC-адрес при каждом отправлении.

                ARP-таблица хранит данные о соответствии MAC и IP-адресов arp -a .

                IP-aдрес MAC-адрес Тип
                172.16.10.253 00:1С:С5:34:В3:01 Динамический
                172.16.10.88 1C:75:08:D2:49:45 Статический
                Оптимизации ARP

                Извлечение информации из ARP-запроса.

                • Запросы отправляются на широковещательный адрес.
                • Все компьютеры извлекают и запоминают IP и MAC-адреса отправителя запроса.

                Добровольный ARP-запрос (Gratuitous ARP):

                • Запрос собственного IP-адреса.
                • Используется при назначении нового IP-адреса для быстрого оповещения всех компьютеров в сети.
                • Предотвращение использования одинаковых IP-адресов в сети

                Протокол ICMP

                ICMP (Internet Control Message Protocol) – протокол межсетевых управляющих сообщений.

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

                • Оповещение об ошибках на сетевом уровне.
                • Тестирование работоспособности сети.

                Сообщения об ошибках ICMP не обязательно должны обрабатываться.

                • Тип сообщения — 1 байт
                • Код сообщения — 1 байт
                • Контрольная сумма — 2 байта
                • Зависит от типа и кода сообщения — 4 байта

                Сообщения об ошибках в работе сети:

                • Получатель недоступен.
                • Закончилось время жизни пакета (TTL).
                • Запрещено фрагментировать пакет.

                Тестирование работы сети:

                • ping (проверка доступности получателя).
                  • Проверка доступности компьютера в сети
                  • Эхо-протокол ICMP:
                    • Эхо-запрос ICMP (Тип = 8, Код = 0)
                    • Эхо-ответ ICMP (Тип = 0, Код = 0)
                    • Определяет маршрут от отправителя к получателю (делает серию запроса с ttl=1 постепенно увеличивая значение).
                    • Находит адреса всех маршрутизаторов, через которые проходит пакет.

                    Транспортный уровень

                    Задачи транспортного уровня:

                    • Передача данных между процессами на хостах.
                    • Адресация — информация о том, какому процессу принадлежит пакет.
                    • Предоставление нужного уровня надежности передачи данных, не зависимого от надежности сети.

                    Адресация. Порты

                    Адрес на транспортном уровне: число от 1 до 65535.

                    Адрес называется портом.

                    Каждое сетевое приложение на хосте имеет свой порт.

                    Номера портов у приложений не повторяются.

                    Форма записи: 192.168.0.1:80 .

                    Типы портов

                    Хорошо известные порты: 1-1024

                    • 80 – HTTP (Web)
                    • 25 – SMTP (Электронная почта)
                    • 53 – DNS
                    • 67,68 – DHCP
                    • Использовать может только root/Администратор

                    Зарегистрированные порты: 1025-49151

                    • Регистрация в Internet Assigned Numbers Authority (IANA)

                    Динамические порты: 49151-65535

                      Автоматически назначаются операционной системой сетевым приложениям

                    Надежность на транспортном уровне

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

                    • Эффективно на практике

                    Гарантия доставки данных:

                    • Подтверждение получения.
                    • Повторная отправка не подтвержденных данных.

                    Гарантия порядка следования сообщений:

                    • Нумерация сообщений.
                    • TCP
                    • UDP
                    • Сокеты

                    User Datagram Protocol (UDP) — протокол дейтаграмм пользователя.

                    Сообщение UDP называется дейтаграмма.

                    • Нет соединения.
                    • Нет гарантии доставки данных.
                    • Нет гарантии сохранения порядка сообщений.

                    Надежность доставки по сравнению с IP не повышается.

                    Формат заголовка UDP:

                    • Порт отправителя [16 bit].
                    • Порт получателя [16 bit].
                    • Длина UDP [16 bit].
                      • Минимум 8 байт (только заголовок).
                      • Максимум 65 515 байт (максимальная длина данных IP-пакета).

                      Преимущество UDP – скорость работы:

                      • Нет накладных расходов на установку соединения.
                      • В современных сетях ошибки происходят редко.
                      • Ошибку может обработать приложение.
                      • Клиент-сервер.
                      • Короткие запросы-ответы.

                      Transmission Control Protocol (TCP) – протокол управления передачей.

                      • Надежная передача потока байт (reliable byte stream).
                      • Доставка данных
                      • Сохранения порядка следования сообщений

                      От приложения TCP получает поток байт, который может быть очень большим.

                      Поток разбивается на отдельные части – сегменты.

                      Сегменты передаются отдельно от отправителя к получателю.

                      • Получатель собирает сегменты и передает принимающему приложению поток байт

                      В протоколе TCP подтверждается не каждый сегмент, а несколько сегментов отправленных друг за другом.

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

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

                      Механизм скользящего окна.

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

                        Выборочное подтверждение (Selective Acknowledgment, SACK):

                        • Подтверждение диапазонов принятых байт
                        • Эффективно при большом размере окна
                        • Дополнительное поле заголовка TCP (параметр)

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

                        • Сегменты приходят в неправильном порядке.
                        • Сегменты дублируются.

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

                        Перед отправкой данных по TCP необходимо установить соединение. Задачи соединения:

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

                        Процесс передачи данных в TCP:

                        • Установка соединения — Отправитель посылает сообщение SYN + номер байта (выбирается по сложному алгоритму можно считать неким uniqid1). — Получатель отвечает сообщением SYN + номер следующего ожидаемого байта (uniqid2) + ACK и uniqid1++. — Отправитель посылает сообщение uniqid1++ + ACK + uniqid2++. — Соединение установлено.
                        • Передача данных.
                        • Разрыв соединения.
                          • Соединение в TCP дуплексное:
                            • Данные могут передаваться в обе стороны.
                            • Одновременное (обе стороны разорвали соединение).
                            • Одностороннее (одна сторона прекращает передавать данные, но может принимать).
                            • Одностороннее закрытие (FIN).
                              • Отправитель посылает сообщение FIN .
                              • Получатель отвечает сообщение ACK .
                              • Получатель по-прежнему может передавать данные;
                              • Отправитель повторно посылает сообщение FIN .
                              • Получатель повторно сообщение ACK .
                              • Отправитель посылает сообщение RST .

                              После завершения передачи данных соединение TCP разрывается.

                              Формат заголовка

                              Порт отправителя [16 bit]

                              Порт получателя [16 bit]

                              Порядковый номер — номер первого байта в сегменте [32 bit]

                              Номер подтверждения — номер следующего ожидаемого байта [32 bit]

                              Длина заголовка [5 bit]

                              Зарезервированные биты [3 bit]

                              NS (ECN-nonce concealment protection) [1 bit] – Защита от случайного или злонамеренного изменения флагов ECN

                              CWR (Congestion Window Reduced) [1 bit] – Устанавливается отправителем для подтверждения получения сигнала о перегрузке

                              ECE (ECN-Echo) [1 bit] – Устанавливается получателем при получении сигнала о перегрузке от маршрутизатора

                              URG — указывает, что в сегменте содержатся срочные данные, которые нужно передать приложению (не используется) [1 bit]

                              АCK — флаг подтверждения (используется с полем номер подтверждения) [1 bit]

                              • PSH — указывает, что весь сегмент нужно передать приложению (не используется) [1 bit]
                              • RST — разрыв соединения [1 bit]
                              • SYN — установка соединения [1 bit]
                              • FIN — разрыв соединения [1 bit]
                              • Размер окна [16 bit]
                              • Контрольная сумма [16 bit]
                              • Указатель на срочные данные (не используется) [16 bit]
                              • Параметры (не обязательно) [32 bit]
                                • Максимальный размер сегмента (Maximum Segment Size, MSS)
                                • Масштаб окна — позволяет увеличить размер окна до 1 ГБ, что эффективно для быстрых каналов
                                • Выборочное подтверждение (Selective Acknowledgment, SACK) – подтверждение диапазонов принятых байт
                                • Метки времени
                                Управление потоком

                                В сети могут быть устройства разной производительности.

                                Управление потоком (flow control): предотвращение «затопления» медленного получателя быстрым отправителем.

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

                                Управление перегрузкой в TCP

                                Коллапс перегрузки в Интернет (congestion collapse)

                                • Произошел в 1986 г. (теоретически предсказан в 1984)
                                • Каналы связи загружены полностью
                                • Скорость передачи данных между хостами падала на порядок
                                • Учет загрузки сети при определении размера окна
                                • Традиционный подход: фиксированное окно 8 сегментов
                                • Предложенный подход: размер окна динамически меняется в зависимости от нагрузки на сеть.
                                • Механизм реализации: окно перегрузки

                                Окно перегрузки, в отличие от окна управления потоком, рассчитывается отправителем.

                                Управление скоростью передачи в TCP.

                                • Маленький размер окна.
                                • Сегментов в сеть отправляется мало, не полностью используется пропускная способность сети.
                                • Низкая скорость передачи данных.

                                Большой размер окна.

                                • Сегментов в сеть отправляется слишком много, происходит перегрузка и маршрутизаторы отбрасывают пакеты.
                                • Низкая скорость передачи данных.

                                Необходим способ определения оптимального размера окна.

                                Additive increase/multiplicative decrease (Аддитивное увеличение, мультипликативное уменьшение)

                                • Метод, который используется в TCP для определения размера окна перегрузки

                                При каждом подтверждении прибавляем к размеру окна некоторое значение a если перегрузки не было. Если же перегрузка произошла то размера окна умножаем на b .

                                Размер окна 4 сегмента — произошла перегрузка

                                Посылаем 4 * 1/2 = 2 сегмента

                                Перегрузки не произошло

                                Посылаем 2 + 1 = 3 сегмента

                                ….

                                • a – максимальный размер сегмента (MSS).
                                • b – 1/2.

                                Сигнал о перегрузке

                                • Потеря сегмента. Проблемы сигнала «потеря сегмента»
                                  • TCP создает перегрузку
                                    • Размер окна постоянно увеличивается
                                    • Окно начинает уменьшаться только после того, как перегрузка произошла
                                    • Место в буфере маршрутизатора заканчивается, он отбрасывает все новые сегменты
                                    • Отправители получают сигнал о перегрузке и уменьшают размер окна
                                    • Передача данных начинается всеми отправителями почти одновременно
                                    • Надежность ниже, чем у задержки сегмента
                                    • «Несправедливость» на загруженных каналах
                                      • Размер окна уменьшается при задержке сегмента, а другие отправители уменьшают только при потерях сегмента
                                      • Совместное использование сигналов задержка и потеря сегментов
                                      • Пример: Compound TCP компании Microsoft
                                      • Random Early Detection
                                      • Explicit Congestion Notification
                                        • Маршрутизатор устанавливает флаги перегрузки в заголовках IP. А получатель устанавливает в заголовок TCP и отдает ответ.

                                        Проблема AIMD – медленный (линейный) рост размера окна перегрузки.

                                        • Приемлемо на медленных каналах.
                                        • Неприемлемо на быстрых надежных каналах.

                                        Медленный старт — альтернативный метод управления размером окна перегрузки:

                                        • Первоначально размер окна перегрузки устанавливается маленьким (1 или 4 сегмента).
                                        • На каждое полученное подтверждение отправляется 2 сегмента.
                                        • Экспоненциальный рост размера окна.
                                        • После сигнала о перегрузке начинаем с начала.

                                        Размер окна 4 сегмента — перегрузки не произошло (ack=1)

                                        Посылаем 4 * 1 = 4 сегмента

                                        Перегрузки не произошло (ack=2)

                                        Посылаем 4 * ack=2 = 8 сегмента

                                        ….

                                        В TCP используется комбинация AIMD и медленного старта.

                                        • Сначала используется медленный старт.
                                        • Как только размер окна достиг некоторого константного значения (порог медленного старта), включается механизм AIMD.

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

                                        • Используется медленный старт до наступления перегрузки
                                        • Максимально значение размера окна делится пополам.

                                        Интерфейс сокетов

                                        Сокеты впервые появились в ОС Berkeley UNIX 4.2 BSD (1983 г.).

                                        • Сокет в UNIX – файл специального вида.
                                        • Все, что записывается в файл, передается по сети.
                                        • Передача данных по сети скрыта от программиста.

                                        Сокеты – де-факто стандарт интерфейсов для транспортной подсистемы.

                                        Различные варианты сокетов реализованы в разных ОС и языках программирования.

                                        Операции сокетов Беркли.

                                        Операция Группа Назначение
                                        Socket Создание советов Создать новый сокет
                                        Bind Создание советов Связать сокет с IP-адресом и портом
                                        Listen Создание советов Объявить о желании принимать соединения
                                        Accept Установка соединения Принять запрос на установку соединения
                                        Connect Установка соединения Установить соединение
                                        Send Передача данных Отправить данные по сети
                                        Receive Передача данных Получить данные из сети
                                        Close Закрытие соединения Закрыть соединение

                                        Интерфейс сокетов использует клиент-серверную модель.

                                        Post main image

                                        1. Создается сокет командой socket (будет создан файл специального типа).
                                        2. Вызывается метод bind , который связывает сокет с адресом и портом.
                                        3. Вызывается метод listen , который говорит, что чокет готов принимать соединения по сети. Здесь можно указать размер очереди на соединение.
                                        4. Вызывается accept , сервер переходит в режим ожидания соединений.
                                        5. Клиент вызывает socket .
                                        6. Клиент вызывает connect с IР-адресом и портом для соединения.
                                        7. Отправляется запрос на соединение.
                                        8. Сервер создает копию сокета.
                                        9. Передача данных и соединение происходит с копией сокета.
                                        10. Клиент передает порцию данных с помощью метода send .
                                        11. Сервер принимает данные с помощью метода receive .
                                        12. Клиент вызывает close , происходит разрыв соединения.

                                        NAT (Network Address Translation) – трансляция сетевых адресов.

                                        Технология преобразования IP-адресов внутренней (частной) сети в IP-адреса внешней сети (Интернет).

                                        Цель создания – преодоление нехватки адресов IPv4.

                                        • Применяются в сети Интернет
                                        • Должны быть уникальными
                                        • Распределяются ICANN
                                        • Адресов IPv4 не хватает для всех устройств в Интернет (количество адресов IPv4 примерно 4 млрд.)
                                        • Диапазон частных сетей (RFC 1918): 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16.
                                        • Не маршрутизируются в Интернет.
                                        • Могут использоваться без обращения в ICANN
                                        • Допускается использование одинаковых адресов в разных сетях (т.к. они не будут видны в Интернет)

                                        NAT работает с помощью устройства NAT,

                                        Преобразование выполняется с помощью таблицы NAT.

                                        Использует комбинацию IP-адрес + порт

                                        Внутренний IP Внутренний порт Внешний IP Внешний порт
                                        192.168.1.2 50300 184.86.48.128 49127
                                        192.168.1.3 52001 184.86.48.128 49128
                                        192.168.1.2 49238 184.86.48.128 49129

                                        Преимущества и недостатки NAT.

                                        • Позволяет преодолеть нехватку адресов IPv4
                                        • Легко развернуть и использовать
                                        • Скрывает структуру сети от внешнего мира
                                        • Нарушение фундаментального принципа построения IP-сетей: каждый компьютер может соединиться с любым другим
                                        • Нет возможности подключиться к компьютерам во внутренней сети из внешнего мира
                                        • Плохо работают протоколы не устанавливающие соединения
                                        • Некоторые прикладные протоколы работают неправильно (FTP)
                                        • Нет единого стандарта NAT, много разных вариантов

                                        Решение проблем с NAT.

                                        Фиксированное отображение IP-адресов:

                                        • Внутренний IP <-> Внешний IP.
                                        • Требуется несколько внешних IP-адресов.

                                        Фиксированное отображение портов:

                                        • Порт 80 -> Внутренний адрес Web-сервера и порт 80.
                                        • Порт 25 -> Внутренний адрес почтового сервера и порт 25.
                                        • Порт 21 -> Внутренний адрес FTP сервера и порт 21.

                                        Технология NAT Traversal:

                                        • Позволяет устанавливать соединение с компьютерами во внутренней сети.
                                        • Используется VoIP приложениями (Skype).
                                        • RFC 3489 и другие варианты.

                                        Транспортный уровень

                                        Задачи транспортного уровня

                                        • Передача данных между процессами на хостах
                                        • Адресация
                                        • Предоставление нужного уровня надежности передачи данных, не зависимого от надежности сети

                                        Функции уровня представления.

                                        • Для защиты передаваемых по сети данных часто используется шифрование:
                                        • Secure Sockets Layer
                                        • Transport Layer Security

                                        Протоколы, которые используют TSL/SSL:

                                        • HTTPS, порт 443
                                        • IMAPS, порт 993
                                        • SMTPS, порт 465
                                        • FTPS

                                        Функции сеансового уровня.

                                        Сеанс (сессия) – это набор связанных между собой сетевых взаимодействий, направленных на решение одной задачи.

                                        • Загрузка теста страницы (.html)
                                        • Загрузка стилевого файла (.css)
                                        • Загрузка изображений

                                        Подходы к загрузке Web-страницы:

                                        • Для каждого элемента создается отдельное соединение (HTTP 1.0)
                                        • Загрузка всех элементов через одно соединение TCP (HTTP keep-alive)

                                        Система DNS позволяет преобразовывать имена компьютеров в IP-адреса.

                                        • Понятные человеку имена.
                                        • Возможность менять сетевую инфраструктуру.

                                        Файл содержит имена компьютеров их адреса

                                        • Linux/Unix: /etc/hosts
                                        • Windows: C:\Windows\System32\drivers\etc\hosts
                                        • Быстро увеличивается размер
                                        • Сложно вносить изменения
                                        • Возможны конфликты имен

                                        Особенности DNS

                                        • Нет единого сервера, на котором описываются имена хостов.
                                        • Пространство имен разделено на отдельные части – домены.
                                        • За каждый домен отвечает отдельная организация.
                                        • Дублирование серверов DNS.

                                        Распределением доменных имен занимаются регистраторы.

                                        Post main image

                                        Регистратор корневого домена один.

                                        • Internet Corporation for Assigned Names and Numbers (ICAN).

                                        Регистраторы зон первого уровня:

                                        • Необходима аккредитация в ICANN.
                                        • Один или несколько регистраторов для каждой зоны.
                                        • Регистрируют домены второго уровня.

                                        Режимы работы DNS

                                        • Если сервер отвечает за данную доменную зону – он возвращает ответ
                                        • Если не отвечает, то возвращает адрес DNS-сервера, у которого есть более точная информация
                                        • Сервер сам выполняет запросы к другим серверам DNS, чтобы найти нужный адрес

                                        Сервер разрешения имен DNS

                                        • Компьютер получает адрес локального сервера DNS по DHCP
                                        • Google: 8.8.8.8 и 8.8.4.4
                                        • Яндекс: 77.88.8.8 и 77.88.8.7 (с блокировкой порно и эротики)

                                        Типы ответов DNS

                                        • Авторитетный (authoritative, “заслуживающий доверия”)
                                          • Ответ от сервера, обслуживающего доменную зону
                                          • Получен из файлов на диске сервера
                                          • Ответ от сервера, который не обслуживает доменную зону
                                          • Получен из кэша, данные могли устареть
                                          • Модель клиент-сервер.
                                          • Запрос-ответ.
                                          • DNS использует протокол UDP (Номер порта 53).

                                          Используются утилиты host и dig .

                                          Пакет DNS

                                          • Идентификатор запроса [2 bytes]
                                          • Флаги [2 bytes]
                                            • QR – запрос (0) или ответ (1)
                                            • OPCODE (4 бита) – тип запроса, 0 – стандартный запрос
                                            • AA – авторитетный ответ (1) или нет (0)
                                            • TC – пакет был обрезан (1) или не был (0)
                                            • RD – запрос на рекурсивный режим
                                            • RA – рекурсивный режим доступен
                                            • Z – зарезервировано
                                            • is auth – @todo
                                            • not authed – @todo
                                            • RCODE (4 бита) – статус, 0 – успешно, другие коды — ошибка
                                            • Имя
                                            • Тип записи
                                            • Класс записи — сейчас доступно только 1 — IN Internet
                                            • Имя
                                            • Тип записи
                                            • Класс записи
                                            • Время жизни (TTL)
                                            • Длина данных
                                            • Данные

                                            Что еще может делать DNS?

                                            • Определять для доменного имени адреса IPv4 и IPv6
                                            • Задавать несколько доменных имен для одного IP-адреса
                                            • Находить адрес почтового сервера для домена
                                            • Определять IP-адрес и порт некоторых сетевых сервисов
                                            • Задавать адрес DNS-серверов для доменной зоны
                                            • Определять по IP-адресу доменное имя

                                            Тип записи DNS

                                            Каждая DNS запись (Resource Record, RR) имеет:

                                            • Тип записи – для чего предназначена запись
                                            • Класс записи – в каких сетях используется (IN – Интернет)

                                            Типы записей для IP-адресов

                                            • A – IPv4 адрес компьютера
                                            • AAAA – IPv6 адрес компьютера

                                            e.ns.apple.com. 78809 IN AAAA 2001:500:90:1::129

                                            a.ns.apple.com. 79447 IN A 17.253.200.1

                                            DNS псевдонимы

                                            Запись типа CNAME (Canonical Name Record/каноническая запись имени)

                                              Определяет псевдоним для другого доменного имени

                                            ysa-static.passport.yandex.ru. 152 IN CNAME ysa-static.passport.yandex.net.

                                            Альтернативный способ — задать несколько A записей для одного IP-адреса.

                                            Нельзя создавать CNAME от CNAME.

                                            Адреса почтового сервера

                                            Запись типа MX (Mail eXchange):

                                              MX Приоритет адрес

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

                                            Для некоторых сервисов можно задавать не только IP-адреса, но и порты

                                            • Jabber
                                            • CIP
                                            • Kerberos

                                            Запись типа SRV (Service record):

                                            • _сервис._протокол.имя. -> приоритет вес порт имя
                                            • _xmpp-server._tcp.example.com. -> 0 5 5269 xmpp.example.com
                                            • _xmpp-server._tcp.example.com. -> 20 0 5269 backup_xmpp.example.com

                                            mail.ru. 141 IN SOA ns1.mail.ru. hostmaster.mail.ru. 3302735406 900 900 604800 60

                                            Запись типа NS (Name Server)

                                            • Указывает адреса DNS-серверов, отвечающих за зону.

                                            Вышестоящий домен использует «приклеенные» A-записи, чтобы определить адреса серверов в NS-записях.

                                            Определение имени по IP-адресу

                                            • Прямая – определение IP-адреса по доменному имени
                                            • Обратная (reverse) – определение доменного имени по IP-адресу

                                            Специальное доменное имя для обратных зон

                                            • in-addr.arpa.
                                            • IP-адрес записывается в обратном порядке
                                            • 77.88.55.66 -> 66.55.88.77.in-addr.arpa.

                                            Запись типа PTR (Pointer)

                                            66.55.88.77.in-addr.arpa. 7200 IN PTR yandex.ru.

                                            Запись SOA

                                            SOA (Start of Authority) — указывает, на каком сервере хранится эталонная информация о доменном имени. Критически важна для работы службы DNS.

                                            mail.ru. 600 IN SOA ns1.mail.ru. hostmaster.mail.ru. 3302735406 900 900 604800 60

                                            Запись TXT

                                            TXT (Text string) — содержит любую текстовую запись. Широко применяется для проверок на право владения доменом при подключении дополнительных сервисов, а также для записи SPF и ключа DKIM.

                                            mail.ru. 600 IN TXT “v=spf1 redirect=_spf.mail.ru”

                                            Записей TXT может быть сколько угодно. Вам может потребоваться добавить записи TXT при подключении бесплатной Яндекс.Почты и при получении бесплатного SSL-сертификата, и они не будут друг другу мешать, т.к. необходимы для подтверждения владения доменом в разных сервисах, в первом случае — в Яндекс, во втором — в сертификационном центре Global Sign.

                                            Запись SPF

                                            SPF (Sender Policy Framework) — указывает сервера, которые могут отправлять почту от имени домена. Запись SPF вносят в TXT-запись домена.

                                            Пример записи SPF:

                                            site.ru TXT v=spf1 include:_spf.hosting.reg.ru ip4:37.140.192.92 a mx

                                            В данном примере:

                                            • v=spf1 — определяет версию используемой записи SPF;
                                            • include:_spf.hosting.reg.ru — включает в запись SPF значение SPF записи другого домена. Т.е. для домена будут действовать в том числе все значения записи SPF для домена «_spf.hosting.reg.ru» ;
                                            • ip4:37.140.192.92 — разрешает приём почты с IP-адреса 37.140.192.92;
                                            • a — разрешает приём почты с сервера, IP-адрес которого стоит в ресурсной A записи домена. Проще говоря с сервера, где размещен сайт;
                                            • mx — разрешает приём почты, если отправляющий сервер указан в одной из записей MX для домена;

                                            Типы записей DNS:

                                            • A – адрес IPv4
                                            • AAAA – адрес IPv6
                                            • CNAME – псевдоним для доменного имени
                                            • MX – адрес почтового сервера
                                            • SRV – адреса и порты сетевых сервисов
                                            • NS – адреса DNS-серверов, ответственных за зону
                                            • PTR – доменное имя для IP-адреса
                                            • Другие редко используемые типы записей

                                            Протокол HTTP

                                            Hypertext Transfer Protocol (HTTP) – протокол передачи гипертекста, основа World Wide Web.

                                            Тим Бернерс-Ли в ЦЕРН предложил концепцию Web в 1989 году

                                            • Язык гипертекстовой разметки страниц HTML
                                            • Протокол передачи гипертекстовых страниц
                                            • Web-сервер
                                            • Текстовый web-браузер

                                            Сейчас Тим Бернерс-Ли директор консорциума W3C

                                            Uniform Resource Locator (URL) – уникальное положение ресурса.

                                            Формат URL: протокол://доменное имя/имя страницы

                                            Не обязательно гипертекст

                                            Версии протокола HTTP

                                            HTTP 0.9 – экспериментальная версия ЦЕРН, 1991

                                            HTTP 1 – первая официальная версия протокола, 1996

                                            HTTP 1.1 – расширение первой версии HTTP, 1997

                                            • Кэширование, keep-alive, аутентификация
                                            • Используется сейчас

                                            HTTP 2 – современная версия HTTP, 2015

                                            • Вводится в эксплуатацию

                                            Структура пакета HTTP

                                              [METHOD] /[RESOURCE] HTTP/[VERSION]\r\n

                                            Заголовки (не обязательно).

                                            Host: www.yandex.ru (обязательно в HTTP 1.1).

                                            Content-Type: text/html; charset=UTF-8.

                                            Content-Length: 5161.

                                            Тело сообщения (не обязательно).

                                            • Страница HTML.
                                            • Параметры, введенные пользователем.

                                            Методы HTTP

                                            • GET – запрос Web-страницы
                                            • POST – передача данных на Web-сервер
                                            • HEAD – запрос заголовка страницы
                                            • PUT – помещение страницы на Web-сервер
                                            • DELETE – удаление страницы с Web-сервера
                                            • TRACE – трассировка страницы
                                            • OPTIONS – запрос поддерживаемых методов HTTP для ресурса
                                            • CONNECT – подключение к Web-серверу через прокси

                                            Статусы HTTP

                                            1XX – информация 2XX – успешное выполнение (200 ОК) 3ХХ – перенаправление (301 – постоянное перемещение, 307 – временное перенаправление) 4ХХ – Ошибка на стороне клиента (403 – доступ запрещен, 404 – страница не найдена) 5ХХ – Ошибка сервера (500 – внутренняя ошибка сервера)

                                            Постоянное соединение в HTTP

                                            Протокол HTTP 1

                                            • Режим работы: запрос-ответ
                                            • Простые текстовые документы

                                            Работа HTTP в современных условиях:

                                            • Загрузка большого количества ресурсов с Web-сервера
                                              • Создание соединения
                                              • Получение страницы
                                              • Закрытие соединения
                                              • Создание соединения
                                              • Получение, например, CSS для страницы.
                                              • Закрытие соединения

                                              Постоянное соединение HTTP (HTTP keep-alive, HTTP persistent connection)

                                              • Использование одного TCP-соединения для загрузки нескольких ресурсов

                                              Преимущества постоянного соединения.

                                              • Сокращение накладных расходов на установку TCP-соединения.
                                              • Нет необходимости каждый раз начинать передачу данных с маленьким размером окна TCP (медленный старт).

                                              В стандарте HTTP 1 возможности использовать постоянное соединение нет.

                                              После публикации стандарта HTTP 1 был предложен заголовок.

                                              • Connection: keep-alive.

                                              Соединение остается открытым.

                                              • Используется заголовок Connection: keep-alive.
                                              • Клиент и сервер поддерживают постоянное соединение.
                                              • Имеется достаточно ресурсов для сохранения соединения открытым.

                                              В стандарте HTTP 1.1 по умолчанию все соединения постоянные.

                                              Использование заголовка «Connection: keep-alive» не обязательно.

                                              • Многие браузеры и Web-серверы все равно используют этот заголовок.

                                              Можно явно попросить закрыть соединение.

                                              • Connection: close.

                                              Недостатки постоянного соединения

                                              • Для поддержания соединения Web-серверу нужны ресурсы
                                                • Если клиент открыл соединение и не использует его, то эти ресурсы недоступны другим клиентам
                                                • Плохо для высоконагруженных серверов
                                                • Таймаут 5-15 секунд

                                                Кэширование в HTTP

                                                Современные Web-браузеры поддерживают кэширование редко меняющихся ресурсов:

                                                • Web-страницы
                                                • Изображения (логотипы компаний, кнопки навигации и т.п.)
                                                • Таблицы стилей
                                                • Библиотеки Java Script

                                                Кэширование сокращает время загрузки страницы.

                                                Требуется место на локальном диске компьютера для кэша.

                                                Протокол HTTP поддерживает работу кэша.

                                                Expires: Sun, 12 Jun 2016 10:35:18 GMT

                                                • Указывает, до какого времени можно хранить ресурс в кэш
                                                • Web-сервера не всегда устанавливают этот заголовок

                                                Last-Modified: Wed, 25 May 2016 06:13:24 GMT

                                                • Если страница долго не менялась, то скорее всего можно загрузить ее из кэша.
                                                • Возможны ошибки.

                                                Запрос GET с условием (Conditional GET) – запрос Web-серверу передать ресурс, если он изменился с указанного времени.

                                                Запрос ресурса с помощью GET.

                                                • Ответ содержит заголовок Last-Modified.
                                                • Ресурс записывается в кэш.

                                                Запрос GET с условием.

                                                • Ответ содержит заголовок If-Modified-Since.
                                                • If-Modified-Since: Wed, 25 May 2016 06:13:24 GMT.

                                                Ресурс не изменился.

                                                • Короткое сообщение.
                                                • Статус ответа: 304 Not Modified.
                                                • Дополнительные заголовки: Expires, Last-Modified, Cache-Control.
                                                • Полная передача обновленной версии ресурса.
                                                • Статус ответа: 200 ОК.

                                                ETag (entity tag).

                                                • Код, который генерируется на основе содержимого ресурса
                                                • Заголовок ETag добавляется к HTTP ответу
                                                • ETag: “57454284-3d8f”
                                                • При изменении содержимого ресурса меняется его ETag
                                                • Появился в стандарте HTTP 1.1

                                                Запрос Get с условием

                                                • Заголовок If-None-Match
                                                • If-None-Match: 57454284-3d8f

                                                Заголовок для управления кэшированием

                                                • Cache-Control: private, max-age=10
                                                • Появился в версии HTTP 1.1
                                                • no-store
                                                • no-cache
                                                • public
                                                • private
                                                • max-age=86400

                                                Протокол SMTP

                                                SMTP (Simple Mail Transfer Protocol) – простой протокол передачи почты.

                                                • Протокол SMTP был создан в 1982 году.
                                                • Расширение SMTP (ESMTP, Extended SMTP) – 2008 год.

                                                Теоретически SMTP может использовать любой транспортный протокол:

                                                • TCP
                                                • UDP
                                                • другие возможные протоколы
                                                • Порт 25 – передача почты между почтовыми серверами
                                                • Порт 587 – прием почты от клиентов

                                                На практике используется

                                                • Протокол TCP
                                                • Порт 25

                                                Формат электронного письма

                                                • Конверт — содержит команды SMTP
                                                  • Заголовки
                                                    • Пустая строка
                                                    • Строка с символом .

                                                    Команды SMTP

                                                    Команда Назначение Пример
                                                    HELO Установка соединения HELO example.com
                                                    MAIL Адрес отправителя MAIL FROM: <sender@example.com>
                                                    RCPT Адрес получателя RCPT TO: <recipient@mail.ru>
                                                    DATA Передача письма DATA Закончить ввод данных можно строкой с одной точкой
                                                    QUIT Выход QUIT

                                                    Ответы SMTP

                                                    Код Назначение Пример
                                                    220 Подключение к серверу успешно 220 smtp.example.com ESMTP Postfix
                                                    250 Успешное выполнение предыдущей команды 250 Hello example.com
                                                    250 Ok
                                                    354 Начало передачи письма 354 End data with .
                                                    502 Команда не реализована 502 5.5.2 Error: command not recognized
                                                    503 Неправильная последовательность команд 503 5.5.1 Error: need MAIL command
                                                    221 Закрытие соединения 221 2.0.0 So long, and thanks for all the fish

                                                    Заголовки письма

                                                    Заголовок Назначение
                                                    From: Отправитель (имя и адрес)
                                                    To: Получатель
                                                    CC: Получатель копии письма
                                                    BCC: Получатель копии, адрес которого не должен быть показан
                                                    Reply-To: Адрес для ответа
                                                    Subject: Тема письма
                                                    Date: Дата отправки письма

                                                    Пример сеанса SMTP

                                                    220 smtp.example.ru ESMTP Postfix

                                                    HELO yandex.ru

                                                    250 smtp.example.ru

                                                    MAIL FROM: <zinvapel@yandex.ru>

                                                    250 2.1.0 Ok

                                                    RCPT TO: <reciever@example.ru>

                                                    250 2.1.5 Ok

                                                    DATA

                                                    354 End data with <CR><LF>.<CR><LF>

                                                    From: Zin Vapel

                                                    zinvapel@yandex.ru

                                                    Subject: An Example of SMTP

                                                    Hello, email world!

                                                    Hello, SMTP!

                                                    .

                                                    250 2.0.0 Ok: queued as 7FD9DC2E0060

                                                    QUIT

                                                    221 2.0.0 Bye

                                                    Расширение SMTP

                                                    ESMTP появился в 2008 году

                                                    • EHLO – Extended HELO, дополнительно возвращает доступные команды.
                                                    • STARTTLS – использование шифрования
                                                    • SIZE – объявление максимально возможного размера письма
                                                    • DSN – подтверждение о доставки письма
                                                    • SMTP мог использовать только 7-битные наборы символов
                                                    • ESMTP допускает использование 8-битных наборов символов (можно передавать русские буквы)

                                                    Безопасность и спам

                                                    SMTP не содержит механизмов защиты данных

                                                    • Содержимое полей MAIL FROM и FROM никак не контролируется
                                                    • Данные передаются по сети в открытом виде (кроме использования STARTTLS)
                                                    • Рассылка нежелательных сообщений, как правило рекламных

                                                    Защита от спама:

                                                    • Проверка домена отправителя через DNS
                                                    • Почтовые серверы принимают письма только для локальных получателей
                                                    • Проверка адреса отправителя с помощью цифровой подписи

                                                    POP (Post Office Protocol) – протокол почтового отделения.

                                                    • POP1 – 1984 г.
                                                    • POP2 – 1985 г.
                                                    • POP3 – 1988 г.
                                                    • Обновленная версия POP3 c дополнительными механизмами аутентификации и расширениями – 1996 г.
                                                    • Подход «загрузить и удалить».
                                                      • Почтовый ящик считается временным хранилищем сообщений.
                                                      • Все сообщения должны быть переписаны на почтовый клиент.
                                                      • После загрузки на клиент сообщение удаляется с сервера.
                                                      • Простой протокол.
                                                      • Письма доступны при отсутствии подключения к сети.
                                                      • Только один клиент
                                                      • Единое хранилище писем (нет папок, фильтров, флагов, и т.п.)

                                                      Протокол транспортного уровня — TCP, порт — 110. POP3 работает в текстовом режиме. Взаимодействие запрос-ответ.

                                                      Состояния сеанса POP3

                                                      Авторизация — клиент представляется и подтверждает, что он тот, за кого себя выдает.

                                                      Транзакция — клиент загружает почту и помечает загруженные сообщения на удаление.

                                                      Обновление — сервер удаляет помеченные сообщения и закрывает соединение.

                                                      Команды POP3.

                                                      Команда Назначение Пример
                                                      USER Указать имя пользователя USER zinvapel
                                                      PASS Указать пароль PASS qwerty123
                                                      STAT Количество писем на сервере STAT
                                                      LIST [msg_num]? Передача информации о сообщениях LIST 2
                                                      RETR [msg_num] Передать сообщение на клиент RETR 1
                                                      TOP [msg_num] [lines_count]? Передать на клиент заголовок сообщения TOP 2 10
                                                      DELE [msg_num] Пометить сообщение на удаление DELE 1
                                                      QUIT акрытие транзакции, удаление сообщений QUIT
                                                      • +OK – успешное выполнение команды
                                                      • -ERR – ошибка

                                                      IMAP (Internet Message Access Protocol) – протокол доступа к электронной почте.

                                                      • IMAP1 (Interim Mail Access Protocol) – 1986 г.
                                                      • IMAP2 (Interactive Mail Access Protocol ) – 1988 г.
                                                      • IMAP3 – 1991 г.
                                                      • IMAP4 – 1994 г., последние изменения в 2003 г.
                                                      • Письма хранятся на почтовом сервере
                                                        • Клиенты подключаются к серверу и загружают письма только после запроса пользователя
                                                        • Сервер может выполнять сложные операции с письмами
                                                        • Одновременно могут работать несколько клиентов
                                                        • Все клиенты видят одно и то же состояние почтового ящика
                                                        • Протокол более сложен, по сравнению с POP3
                                                        • Место на сервере для почтового ящика, как правило, ограничено

                                                        Протокол транспортного уровня — TCP, порт — 143.

                                                        Папки

                                                        IMAP позволяет использовать несколько почтовых ящиков (mailbox) или папок.

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

                                                        Флаги

                                                        Флаг — метка (token) письма. У письма на сервере может быть один или несколько флагов.

                                                        Системные флаги (начинаются с \)

                                                        • \Seen — прочитано
                                                        • \Answered — написан ответ
                                                        • \Flagged — срочное
                                                        • \Deleted — помечено для удаления
                                                        • \Draft — черновик
                                                        • \Recent — новое сообщение, оно поступило в почтовый ящик после окончания прошлого сеанса.

                                                        Если в команде указаны флаги, то они устанавливаются для добавляемого сообщения. В любом случае для сообщения устанавливается флаг \Recent.

                                                        Сети, блоки, пулы IP-адресов

                                                        Для передачи данных между устройствами их объединяют в вычислительные сети. Чтобы идентифицировать устройство в сети, ему назначается IP-адрес. IP-адреса назначаются по стандартам сетевых протоколов IPv4 и IPv6.

                                                        Каждая сеть состоит из множества IP-адресов. Один из них является шлюзом для остальных. Через шлюз отправляются пакеты для устройств в других сетях. Это позволяет получать доступ к устройствам из других сетей.

                                                        Сеть можно разбить на блоки IP-адресов. Блоки IP-адресов логически объединяются в пулы.

                                                        Сети IP-адресов

                                                        Основное назначение физических сетей в платформе — учёт адресного пространства. Платформа не взаимодействует с физическими сетями напрямую.

                                                        IPv4-адреса обычно записывают в виде четырёх десятичных чисел от 0 до 255, разделённых точками. Например, 192.168.0.3.

                                                        Битовая маска определяет диапазон адресов, входящих в сеть. Например, маска 255.255.255.0 для сети 10.0.0.0 указывает, что эта сеть состоит из адресов с 10.0.0.0 по 10.0.0.255. Часто маска записывается в виде префикса для сокращения записи. Например, маске 255.255.255.0 соответствует префикс /24.

                                                        Начальный адрес IPv4-сети называется адресом сети и используется для её идентификации. Конечный адрес называется широковещательным и используется для отправки данных на все устройства в сети. Все остальные адреса могут быть назначены вычислительным устройствам.

                                                        Например, сеть 192.168.0.0/24 включает все адреса с 192.168.0.0 по 192.168.0.255. Устройствам в сети могут быть назначены адреса с 192.168.0.1 по 192.168.0.254.

                                                        Запись IPv6-адреса имеет вид восьми шестнадцатеричных чисел, разделённых двоеточиями. Например, 2001:0db8:85a3:0000:0000:8a2e:0370:7334.

                                                        Префикс сети определяет диапазон адресов, входящих в сеть. Например, запись 2001:0db8:85a3:0001::/64 означает, что в сеть включены адреса с 2001:0db8:85a3:0001:0000:0000:0000:0000 по 2001:0db8:85a3:0001:ffff:ffff:ffff:ffff.

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

                                                        В DCImanager 6 вы можете создать IPv6-сеть с длиной префикса от 0 до 64.

                                                        Блоки и пулы IP-адресов

                                                        Физическую сеть можно разбить на блоки. Например, сеть 192.168.0.0/24 можно разбить на отдельные адреса (192.168.0.1), адреса по префиксу маски (192.168.0.16/28) или диапазоны адресов (192.168.0.1-192.168.0.5).

                                                        Блоки IP-адресов логически объединяются в пулы. Пулы в платформе используются для объединения IP-адресов по логическому признаку. Например, пулы можно использовать для:

                                                        • разделения блоков адресов на публичные и приватные;
                                                        • выдачи адресов определённой группе серверов;
                                                        • выдачи адресов другой платформе, с которой настроена интеграция.

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

                                                        Cвязь IP-адреса с пулом указывает на то, из какого пула этот адрес был выделен. Один адрес может быть в нескольких пулах или не входить ни в один пул.

                                                        Использование сетей и пулов в DCImanager 6

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

                                                        Вы можете выбрать пулы, которые будут использоваться при заказе и освобождении сервера. Подробнее см. Работа с пулами.

                                                        В DCImanager 6 сети и пулы создаются отдельно для каждой локации. Адресация сетей на разных локациях может пересекаться или полностью совпадать. Это связано с тем, что дата-центры могут использовать одинаковые сети с внутренними IP-адресами.

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

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