- •Оглавление
- •Практическое занятие 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.2. Представление и структура адреса iPv4
Адрес IPv4 представляет собой 32-разрядное (4 байта) двоичное поле. Для удобства восприятия и запоминания этот адрес разделяют на 4 части по 8 бит (октеты), каждый октет переводят в десятичное число и при записи разделяют точками. Это представление адреса называется десятично-точечной нотацией. Преобразование IP-адреса из двоичного (бинарного) представления в десятичное показано на Рис. 6.5.
Рис. 1.4 Представление IPv4-адреса в бинарном и десятичном виде
Следует отметить, что максимальное значение октета равно 11111111 в двоичной системе счисления, что соответствует 255 в десятичной системе счисления, поэтому IP-адреса, в которых хотя бы один октет превышает максимальное значение, считаются недействительными.
Чтобы быстро в уме выполнить преобразование из двоичного вида в десятичный, полезно запомнить таблицу, приведенную ниже. Десятичное число легко вычисляется как сумма цифр, соответствующих ненулевым битам в октете (таблица 6.1).
Таблица 1.1. Преобразование из двоичного вида в десятичный
Двоичное значение октета |
Значение битов октета |
Десятичное значение октета |
00000000 |
0 |
0 |
10000000 |
128 |
128 |
11000000 |
128+64 |
192 |
11100000 |
128+64+32 |
224 |
11110000 |
128+64+32+16 |
240 |
11111000 |
128+64+32+16+8 |
248 |
11111100 |
128+64+32+16+8+4 |
252 |
11111110 |
128+64+32+16+8+4+2 |
254 |
11111111 |
128+64+32+16+8+4+2+1 |
255 |
Маршрутизация пакетов в сетях передачи данных возможна благодаря тому, что IP-адрес структурирован и состоит из двух логических частей: идентификатора сети (Net ID) – сетевая часть адреса и идентификатора узла (Host ID), который однозначно определяет устройство в сетевом сегменте. Такая структура IP-адреса представляет собой двухуровневую иерархическую модель и позволяет устройству при передаче данных в составную сеть указывать не только удаленную сеть, но и узел в этой сети.
Рис. 1.5 Структура адреса IPv4
Идентификатор сети определяет конкретную сеть или сегмент сети, в которой находится узел и используется для передачи данных на нужный сетевой интерфейс маршрутизатора.
После того как данные достигают нужной сети, они передаются уникальному узлу в соответствии с идентификатором узла. Все узлы, использующие один и тот же идентификатор сети, должны быть расположены в одной сети или подсети (логическом сегменте сети).
1.1.3. Классовая адресация iPv4
При разработке базовых стандартов и протоколов, положенных в основу будущей глобальной сети (Интернет), невозможно было представить, какое количество адресов потребуется для работы всех узлов сети. Размер адреса IPv4 был выбран длиной в 32 бита (при этом можно адресовать 232 = 4,3 млрд. устройств). Как показала практика, этой длины адреса для современной сети Интернет недостаточно. В связи с этим при использовании IPv4 очень важным вопросом является оптимизация выдаваемых адресов с точки зрения максимально эффективного использования адресного пространства IPv4.
Хронологически первым методом разделения IP-адресов является так называемая классовая модель IP-адресации, которая частично решила проблему нерационального использования адресного пространства. Согласно этой модели, все пространство IP-адресов делится на 5 классов в зависимости от значения первых четырех битов адреса IPv4. Классам присвоены имена от А до Е.
Первые 3 класса А, В и С используются для индивидуальной (unicast) адресации сетей и узлов, класс D – для многоадресной или групповой (multicast) рассылки, класс Е зарезервирован для экспериментов. Классы А, В и С имеют различную длину сетевой части адреса.
Для сетей класса А под идентификатор сети отводится 1 байт (первый октет), 3 оставшихся байта (3 октета) используются для идентификатора узла, причем старший (левый) бит идентификатора сети всегда равен 0.
Рис. 1.6 Формат адреса IPv4 класса А
Поскольку первый бит идентификатора сети всегда равен нулю, то оставшиеся 7 битов позволяют адресовать 128 (27) различных сетей. Однако ввиду того, что адреса 0.0.0.0 и 127.0.0.0 являются специальными IPv4-адресами, количество доступных сетей класса А равно 126 (27-2). В каждой сети класса А можно адресовать до 16 777 214 (224-2) узлов. Два адреса вычитаются вследствие того, что они используются в специальных целях и не могут быть назначены устройству (первый — адрес сети, последний — широковещательный адрес).
Сети класса В определяются значениями 10 в двух старших битах адреса. Первые 2 байта в адресе используются для идентификатора сети, оставшиеся 2 байта – для идентификатора узла. В результате количество доступных сетей класса В составляет 16 384 (214) с количеством узлов в каждой сети равным 65 534 (216-2).
Рис. 1.7 Формат адреса IPv4 класса В
Для сетей класса С под идентификатор сети отводится 3 байта в то время как под идентификатор узла только 1 байт. Три старших бита первого октета всегда равны 110, позволяя определить, что адрес относится именно к классу С. Таким образом, получаем 2 097 152 (221) сетей, в каждой из которых находится 254 (28-2) узла.
Рис. 1.8 Формат адреса IPv4 класса С
Сети класса D определяются значениями 1110 в первых четырех битах адреса, остальные биты используются для адресации многоадресной группы. Адресное пространство класса D зарезервировано для групповой рассылки и используется для адресации группы узлов. Идентификаторов сетей и узлов в IPv4-адресе класса D не выделяют.
Рис. 1.9 Формат адреса IPv4 класса D
Сети класса Е являются экспериментальными и в настоящее время не используются. Адреса в этом классе определяются значениями 1111 в первых четырех битах.
Рис. 1.10 Формат адреса IPv4 класса E
