- •Оглавление
- •Практическое занятие 1. Адресация iPv4
- •1.1. Протокол ip версии 4
- •1.1.1. Понятие ip-адресации
- •1.1.2. Представление и структура адреса iPv4
- •1.1.3. Классовая адресация iPv4
- •1.1.4. Частные и публичные адреса iPv4
- •1.1.5. Формирование подсетей
- •1.1.6. Маски подсети переменной длины (vlsm)
- •1.1.7. Бесклассовая адресация iPv4
- •1.1.8. Общие функции классовой и бесклассовой адресации
- •1.2. Выделение адресов
- •1.3. Агрегирование маршрутов и суперсети
- •6.4. Способы конфигурации адреса iPv4
- •Практическое занятие 1. Задания
- •1.1. Преобразование десятичного формата представления числа в двоичный
- •1.2. Преобразование двоичного формата представления числа в десятичный
- •1.3. Преобразование ip-адреса из десятичного формата в двоичный
- •1.4. Преобразование ip-адреса из двоичного формата в десятичный
- •1.5. Определение классов ip-адресов
- •1.6. Определение допустимых для использования ip-адресов
- •1.7. Вычисление количества битов, необходимого для подсетей
- •1.8. Вычисление масок подсети
- •1.9. Разбиение сети на подсети с использованием маски подсети фиксированной длины
- •2.1. Формат заголовка iPv6
- •2.2. Представление и структура адреса iPv6
- •0:0:0:0:0:0:13.1.68.3 Или в сокращенном виде ::13.1.68.3
- •0:0:0:0:0:Ffff:129.144.52.38 или в сокращенном виде ::ffff:129.144.52.38
- •2.3. Типы адресов iPv6
- •2.4. Индивидуальные адреса
- •Идентификатор интерфейса
- •Глобальные индивидуальные адреса iPv6
- •Локально-используемые индивидуальные адреса iPv6
- •2.5. Альтернативные адреса
- •2.6. Групповые адреса
- •2.7. Способы конфигурации адреса iPv6
- •2.8. Планирование подсетей iPv6
- •3.2 Методика расчета времени двойного оборота и уменьшения межкадрового интервала
- •3.3 Пример расчета конфигурации сети
- •Практическое занятие 3. Задание
- •3.1. Произвести оценку конфигурации сети в соответствии с вариантом:
- •3.2. По результатам расчетов сделать вывод о корректности конфигурации сети Ethernet.
- •Практическое занятие 4. Система доменных имен
- •4.1. Пространство имен
- •4.1.1. Плоское пространство имен
- •4.1.2. Иерархическое пространство имен
- •4.1.5.1.2. Частично определенное имя домена
- •4.1.6. Домен
- •4.2. Распределение имен
- •4.2.1. Иерархия серверов имен
- •4.2.2. Зона
- •4.2.3. Корневой сервер
- •4.2.4. Первичные и вторичные серверы
- •4.3. Dns в Интернете
- •4.3.1. Родовой домен
- •4.3.2. Домены страны
- •4.3.3. Инверсный домен
- •4.4. Распознавание имен
- •4.4.1. Распознаватель (resolver)
- •4.4.2. Отображение имен в адреса
- •4.4.3. Отображение адресов в имена
- •4.4.4. Рекурсивное распознавание
- •4.4.5. Итерационное распознавание
- •4.4.6. Кэширование
- •4.5.1. Заголовок
- •4.6.2. Запись ресурса
- •4.7. Сжатие
- •Примеры
- •Пример 1
- •Пример 2
- •4.9. Инкапсуляция
- •Практическое занятие 4. Задания
- •Практическое занятие 5. Протокол snmp (Простой протокол управления сетью)
- •5.2. Концепция
- •5.3. Менеджеры и агенты
- •5.4. Компоненты управления
- •5.4.1. Задачи snmp
- •5.4.2. Задачи smi
- •5.4.3. Задачи mib
- •5.4.4. Аналогия
- •5.5. Общие замечания
- •5.6. Структура управляющей информации, версия 2 (smIv2)
- •5.6.2.1. Простой тип
- •5.6.2.2. Структурированный тип
- •5.7. Метод кодирования
- •5.7.1.2. Таблицы
- •Лексикографическое упорядочение
- •Ответ (Response)
- •Ловушка (Trap)
- •5.9. Формат
- •5.10. Сообщения
- •Пример 1
- •Практическое занятие 5. Задания
- •Практическое занятие 6. Гипертекстовый протокол http (часть 1)
- •6.1. Соглашения по нотации и общая грамматика. Расширенные bnf
- •6.2. Основные правила
- •6.2. Параметры протокола. Версия http
- •6.3. Универсальные идентификаторы ресурсов (uri)
- •6.4. Общий синтаксис
- •6.4.2. Сравнение uri
- •6.5. Форматы даты/времени. Полная дата
- •6.5.1. Интервалы времени в секундах
- •6.6. Наборы символов
- •Кодировки содержимого
- •Транспортное кодирование
- •Типы среды
- •Канонизация и текст по умолчанию
- •Составные типы
- •Лексемы (token) продукта
- •2.9. Значения качества (Quality values)
- •Языковые метки
- •Метки объектов
- •Структурные единицы
- •Http сообщение. Типы сообщений
- •Заголовки сообщений
- •Общие поля заголовка
- •Строка запроса
- •Uri запроса
- •Ресурс, идентифицируемый запросом
- •Поля заголовка запроса
- •Статусная строка
- •Статусный код и словесный комментарий
- •Поля заголовка отклика
- •Объект (Entity)
- •Поля заголовка объекта
- •Тело объекта
- •Соединения. Постоянные соединения. Цель
- •Общие процедуры
- •Согласование
- •Буферизация
- •Проксисерверы
- •Практические соображения
- •Требования к передаче сообщений
- •Метод определений
- •Безопасные и идемпотентные методы. Безопасные методы
- •Идемпотентные методы
- •Метод get
- •Метод head
- •Метод post
- •Метод put
- •Метод delete
- •Метод trace
- •Successful 2xx (Успешная доставка)
- •201 Created (Создано)
- •202 Accepted (Принято)
- •203 NonAuthoritative Information (Не надежная информация)
- •204 No Content (Никакого содержимого)
- •205 Reset Content (Сброс содержимого)
- •206 Partial Content (Частичное содержимое)
- •Redirection 3xx (Переадресация)
- •300 Multiple Choices (Множественный выбор)
- •301 Moved Permanently (Постоянно перемещен)
- •302 Moved Temporarily (Временно перемещен)
- •303 See Other (смотри другие)
- •304 Not Modified (Не модифицировано)
- •305 Use Proxy (Используйте прокси)
- •Client Error 4xx (Ошибка клиента)
- •400 Bad Request (Плохой запрос)
- •401 Unauthorized (Не авторизован)
- •402 Необходима оплата
- •403 Forbidden (Запрещено)
- •404 Not Found (Не найдено)
- •405 Method Not Allowed (Метод не разрешен)
- •406 Not Acceptable (Не приемлемо)
- •407 Proxy Authentication Required (Необходима идентификация прокси)
- •408 Request Timeout (Таймаут запроса)
- •409 Conflict (Конфликт)
- •410 Gone (Исчез)
- •415 Unsupported Media Type (Неподдерживаемый тип среды)
- •Server error 5xx (ошибка сервера)
- •Базовая схема идентификации (Authentication)
- •Краткое изложение схемы авторизации
- •Согласование содержимого
- •Согласование, управляемое сервером
- •Согласование, управляемое агентом (Agentdriven Negotiation)
- •Прозрачное согласование (Transparent Negotiation)
- •Кэширование в http
- •Корректность кэша
- •Предупреждения
- •Механизмы управления кэшем
- •Прямые предупреждения агента пользователя
- •Исключения для правил и предупреждений
- •Работа под управлением клиента
- •Модель истечения срока годности. Определение срока годности под управлением сервера
- •Эвристический контроль пригодности
- •Вычисление возраста
- •Вычисление времени жизни (Expiration)
- •Устранение неопределенности значений времени жизни
- •Неопределенность из-за множественных откликов
- •Модель проверки пригодности
- •Даты последней модификации
- •Валидаторы кэша для меток объектов (Entity Tag Cache Validators)
- •Слабые и сильные валидаторы
- •Правила того, когда использовать метки объекта и даты последней модификации
- •Условия пригодности
- •Кэшируемость отклика
- •Формирование откликов кэшей
- •Заголовки End-to-end (точкаточка) и Hop-by-hop (шагза-шагом)
- •Немодифицируемые заголовки
- •Комбинирование заголовков
- •Комбинирование байтовых фрагментов
- •Кэширование согласованных откликов
- •Кэши коллективного и индивидуального использования
- •Ошибки и поведение кэша при неполном отклике
- •Побочные эффекты методов get и head
- •Несоответствие после актуализации или стирания
- •Обязательная пропись (Write-Through Mandatory)
- •Замещения в кэше
- •Списки предыстории
- •Определения полей заголовка
- •Поле Accept
- •Поле Accept-Charset
- •Поле Accept-Encoding
- •Поле Accept-Language
- •Поле Accept-Ranges
- •Поле Age
- •Поле Allow
- •Авторизация
- •Поле Cache-Control
- •Что допускает кэширование?
- •Что может быть записано в память кэша?
- •Модификации базового механизма контроля времени жизни
- •Управление перепроверкой пригодности и перезагрузкой
- •Директива No-Transform
- •Расширения управления кэшем
- •Соединение
- •Кодирование содержимого
- •Язык содержимого
- •Длина содержимого
- •Поле Content-Location
- •Отрывок содержимого
- •Тип содержимого
- •Поле eTag
- •Поле Expires
- •Поле From
- •Поле Host
- •Поле If-Modified-Since
- •Поле If-Match
- •Поле If-None-Match
- •Заголовок If-Range
- •Поле If-Unmodified-Since
- •Поле Last-Modified
- •Поле Location
- •Поле Max-Forwards
- •Поле Pragma
- •Поле Proxy-Authenticate
- •Поле Proxy-Authorization
- •Поле Public
- •Фрагмент. Фрагменты байт
- •Запросы получения фрагментов
- •Поле Referer
- •Поле Retry-After
- •Поле Server
- •Поле Transfer-Encoding (Транспортное кодирование)
- •Заголовок Upgrade (Актуализация)
- •Поле User-Agent (Агент пользователя)
- •Поле Vary
- •Поле Via
- •Поле Warning (Предупреждение)
- •Поле www-Authenticate
- •Соображения безопасности
- •Аутентификация клиентов
- •Предложение выбора схемы идентификации
- •Злоупотребление служебными (Log) записями сервера
- •Передача конфиденциальной информации
- •Атаки, основанные на именах файлов и проходах
- •Персональная информация
- •Аспекты конфиденциальности, связанные с заголовками Accept
- •Фальсификация dns
- •Заголовки Location и мистификация
- •Приложения
- •1. Интернетовский тип среды message/http
- •2. Тип среды Интернет multipart/byteranges
- •3. Толерантные приложения
- •4. Различие между объектами http и mime
- •Преобразование к канонической форме
- •Введение кодирования содержимого
- •Поля заголовка в многофрагментных телах
- •Введение транспортного кодирования
- •Дополнительные методы запросов Метод patch
- •Метод link
- •Определения дополнительных полей заголовка Поле Alternates
- •Поле Content-Version
- •Поле Derived-From
- •Поле Link
- •Практическое занятие 8. Функционирование веб-приложений. Как работают веб-приложения
- •Краткие итоги
- •Протокол http/https
- •Краткие итоги
- •Что такое веб-сервер?
- •Краткие итоги
- •Контрольные вопросы
1.1.4. Частные и публичные адреса iPv4
В сети Интернет идентификация устройств осуществляется уникальными IPv4-адресами, которые не должны повторяться в глобальной сети. Такие IPv4-адреса называются публичными адресами (public addresses). Однако число публичных адресов ограничено, поэтому в каждом из классов IP-сетей определено так называемое частное пространство IP-адресов (private addresses). Частные IPv4-адреса предназначены для использования в локальных компьютерных сетях и не маршрутизируются в Интернет. Для локальных сетей, не подключенных к сети Интернет, можно использовать любые возможные адреса, уникальные в пределах данной сети.
Публичные адреса находятся в пределах от 1.0.0.1 до 223.255.255.254 за исключением частных адресов IPv4.
Адресное пространство частных IPv4-адресов состоит из 3 блоков:
10.0.0.0 – 10.255.255.255 (класс А);
172.16.0.0 – 172.31.255.255 (класс В);
192.168.0.0 – 192.168.255.255 (класс С).
Помимо этого определены IPv4-адреса (таблица 7.2), которые имеют специальное назначение (специальные адреса).
Таблица 1.2. Специальные IP-адреса
Идентификатор сети |
Идентификатор узла |
Описание |
Все «0» |
Все «0» |
0.0.0.0 - адрес узла, сгенерировавшего пакет. Используется устройством для ссылки на самого себя, если оно не знает свой IPv4-адрес. Например, когда устройство пытается получить IPv4-адрес с помощью протокола DHCP |
Все «0» |
Идентификатор узла |
Узел назначения принадлежит той же сети, что и узел-отправитель, например, 0.0.0.25 |
Идентификатор сети |
Все «0» |
Адрес IPv4-сети, например, 175.11.0.0 |
Идентификатор сети |
Все «1» |
Ограниченный широковещательный адрес (в пределах данной IP-сети), например, 192.168.100.255 |
Все «1» |
Все «1» |
255.255.255.255 – «глобальный» широковещательный адрес |
127.0.0.1 |
Адрес интерфейса обратной петли (loopback), предназначен для тестирования оборудования без реального отправления пакета |
|
1.1.5. Формирование подсетей
Изначально адрес IPv4 имел два уровня иерархии: идентификатор сети и идентификатор узла. Каждой организации выдавался IPv4-адрес из нужного диапазона (А, В или С) в зависимости от текущего числа компьютеров и его планируемого увеличения.
Для более эффективного использования адресного пространства были внесены изменения в существующую классовую систему адресации. В RFC 950 была описана процедура разбиения сетей на подсети, и в структуру IPv4-адреса был добавлен еще один уровень иерархии – подсеть (subnetwork). Таким образом, была создана трехуровневая иерархия в системе IP-адресации: сеть, которая содержит подсети, каждая из которых включает определенное количество узлов.
Появление еще одного уровня иерархии не изменило самого IPv4-адреса, он остался 32-разрядным, а часть адреса, отведенная ранее под идентификатор узла, была разделена на 2 части – идентификатор подсети и идентификатор узла (Рис. 6.12).
Рис. 1.11 Трехуровневая иерархия IP-адреса
Разбиение одной крупной сети на несколько более мелких позволяет:
лучше соответствовать физической структуре сети;
рационально использовать адресное пространство (т.е. для каждого сегмента сети не требуется выделять целиком блок IP-адресов класса А, В или С, а только его часть);
упростить маршрутизацию;
повысить безопасность и управляемость сети (за счет уменьшения размеров сегментов и изоляции трафика сегментов друг друга).
Рис. 1.12 Пример разбиения на подсети
С появлением трехуровневой иерархии IPv4-адреса потребовались дополнительные методы, которые позволяли бы определить, какая часть адреса указывает на идентификатор подсети, а какая – на идентификатор узла. Было предложено использовать битовую маску (bit mask), которая отделяла бы часть адресного пространства идентификаторов узлов от адресного пространства идентификаторов подсети. Такая битовая маска называется маской подсети (subnet mask).
Маска подсети – это 32-битное число, двоичная запись которого содержит непрерывную последовательность единиц в тех разрядах, которые определяют идентификатор подсети и непрерывную последовательность нулей в тех разрядах, которые определяют идентификатор узла. Маска записывается в точечно-десятичном представлении аналогично IP-адресу.
Рис. 1.13 Формирование маски подсети
Чтобы получить адрес сети, зная IPv4-адрес и маску подсети, необходимо применить к ним операцию логическое «И». Другими словами, в тех позициях IPv4-адреса, в которых в маске подсети стоят двоичные 1, находится идентификатор сети, а где двоичные 0 – идентификатор узла. Во избежание проблем с адресацией и маршрутизацией все узлы в одном сегменте сети должны использовать одну и ту же маску подсети.
Рис. 1.14 Получение адреса сети из IP-адреса и маски подсети
Для сетей класса А, В и С определены фиксированные маски подсети, которые жестко определяют количество возможных IPv4-адресов и механизм маршрутизации.
Таблица 1.3. Маски подсети для стандартных классов сетей
Класс сети |
Маска подсети |
Количество битов идентификатора сети |
A |
255.0.0.0 |
8 |
B |
255.255.0.0 |
16 |
C |
255.255.255.0 |
24 |
При применении масок сети можно разбивать на меньшие по размеру подсети путем расширения сетевой части адреса и уменьшения узловой части. Технология разделения сети дает возможность создавать большее число сетей с меньшим количеством узлов в них, что позволяет эффективно использовать адресное пространство.
Для вычисления количества подсетей используется формула 2s, где s – количество битов, занятых под идентификатор сети из части, отведенной под идентификатор узла. Количество узлов в каждой подсети вычисляется по формуле 2n–2, где n – количество битов, оставшихся в части, идентифицирующей узел, а два адреса – адрес подсети и широковещательный адрес – в каждой полученной подсети зарезервированы.
Рассмотрим пример планирования подсети. Какой должна быть маска подсети, если организации необходимо разбить сеть 192.168.1.0 на 20 подсетей по 6 компьютеров в каждой. Для начала необходимо определить, к какому классу относится адрес. 192.168.1.0 – это класс С, соответственно, стандартная маска подсети для класса С равна 255.255.255.0 и под идентификатор узла отведен 4-й октет. Затем определяется количество битов 4-го октета, занимаемых для формирования 20 подсетей. Поскольку найти число, при котором степень 2 будет равна 20 невозможно, выбираем ближайшее большее число 25 = 32. Таким образом, 5 первых битов 4-го октета будут использованы для идентификации подсети, а оставшиеся 3 бита – для идентификации узлов в них. Маска подсети должна быть 255.255.255.248 (Рис. 1.15).
Рис. 1.15 Пример разбиения сети 192.168.1.0 на подсети
