
- •Часть I. Основы сетей передачи данных 25
- •Глава 1. Эволюция компьютерных сетей 26
- •Глава 2. Общие принципы построения сетей 45
- •Глава 3. Коммутация каналов и пакетов 92
- •Глава 4. Архитектура и стандартизация сетей 130
- •Глава 5. Примеры сетей 167
- •Глава 6. Сетевые характеристики 198
- •Глава 7. Методы обеспечения качества обслуживания 227
- •Часть II. Технологии физического уровня 283
- •Глава 8. Линии связи 284
- •Глава 9. Кодирование и мультиплексирование данных 320
- •Глава 10. Беспроводная передача данных 357
- •Глава 11. Первичные сети 389
- •Часть III. Локальные вычислительные сети 441
- •Глава 12. Технологии локальных сетей на разделяемой среде 443
- •Глава 13. Коммутируемые сети Ethernet 507
- •Глава 14. Интеллектуальные функции коммутаторов 565
- •Часть IV. Сети tcp/ip 607
- •Глава 15. Адресация в стеке протоколов tcp/ip 608
- •Глава 16. Протокол межсетевого взаимодействия 652
- •Глава 17. Базовые протоколы tcp/ip 700
- •Глава 18. Дополнительные функции маршрутизаторов ip-сетей 758
- •Часть V. Технологии глобальных сетей 834
- •Глава 19. Транспортные услуги и технологии глобальных сетей 838
- •Глава 20. Технология mpls 885
- •Глава 21. Ethernet операторского класса 921
- •Глава 22. Удаленный доступ 961
- •Глава 23. Сетевые службы 1008
- •Глава 24. Сетевая безопасность 1052
- •От авторов
- •Для кого эта книга
- •Изменения в четвертом издании
- •Структура книги
- •Благодарности
- •Часть I. Основы сетей передачи данных
- •Глава 1. Эволюция компьютерных сетей
- •Два корня компьютерных сетей Вычислительная и телекоммуникационная технологии
- •Системы пакетной обработки
- •Многотерминальные системы — прообраз сети
- •Первые компьютерные сети Первые глобальные сети
- •Первые локальные сети
- •Конвергенция сетей Сближение локальных и глобальных сетей
- •Конвергенция компьютерных и телекоммуникационных сетей
- •Вопросы и задания
- •Глава 2. Общие принципы построения сетей
- •Простейшая сеть из двух компьютеров Совместное использование ресурсов
- •Сетевые интерфейсы
- •Связь компьютера с периферийным устройством
- •Обмен данными между двумя компьютерами
- •Доступ к пу через сеть
- •Сетевое программное обеспечение
- •Сетевые службы и сервисы
- •Сетевая операционная система
- •Сетевые приложения
- •Физическая передача данных по линиям связи
- •Кодирование
- •Характеристики физических каналов
- •Проблемы связи нескольких компьютеров
- •Топология физических связей
- •Адресация узлов сети
- •Коммутация
- •Обобщенная задача коммутации
- •Определение информационных потоков
- •Маршрутизация
- •Продвижение данных
- •Мультиплексирование и демультиплексирование
- •Разделяемая среда передачи данных
- •Типы коммутации
- •Вопросы и задания
- •Глава 3. Коммутация каналов и пакетов
- •Коммутация каналов
- •Элементарный канал
- •Составной канал
- •Неэффективность при передаче пульсирующего трафика
- •Коммутация пакетов
- •Буферизация пакетов
- •Дейтаграммная передача
- •Передача с установлением логического соединения
- •Передача с установлением виртуального канала
- •Сравнение сетей с коммутацией пакетов и каналов
- •Транспортная аналогия для сетей с коммутацией пакетов и каналов
- •Количественное сравнение задержек
- •Ethernet — пример стандартной технологии с коммутацией пакетов
- •Вопросы и задания
- •Глава 4. Архитектура и стандартизация сетей
- •Декомпозиция задачи сетевого взаимодействия
- •Многоуровневый подход
- •Протокол и стек протоколов
- •Модель osi
- •Общая характеристика модели osi
- •Физический уровень
- •Канальный уровень
- •Сетевой уровень
- •Транспортный уровень
- •Сеансовый уровень
- •Уровень представления
- •Прикладной уровень
- •Модель osi и сети с коммутацией каналов
- •Стандартизация сетей
- •Понятие открытой системы
- •Источники стандартов
- •Стандартизация Интернета
- •Стандартные стеки коммуникационных протоколов
- •Стек osi
- •Стек ipx/spx
- •Стек NetBios/smb
- •Стек tcp/ip
- •Соответствие популярных стеков протоколов модели osi
- •Информационные и транспортные услуги
- •Распределение протоколов по элементам сети
- •Вспомогательные протоколы транспортной системы
- •Вопросы и задания
- •Глава 5. Примеры сетей
- •Классификация компьютерных сетей
- •Классификация компьютерных сетей в технологическом аспекте
- •Другие аспекты классификации компьютерных сетей
- •Обобщенная структура телекоммуникационной сети
- •Сеть доступа
- •Магистральная сеть
- •Информационные центры
- •Сети операторов связи
- •Клиенты
- •Инфраструктура
- •Территория покрытия
- •Взаимоотношения между операторами связи различного типа
- •Корпоративные сети
- •Сети отделов
- •Сети зданий и кампусов
- •Сети масштаба предприятия
- •Интернет
- •Уникальность Интернета
- •Структура Интернета
- •Классификация провайдеров Интернета по видам оказываемых услуг
- •Вопросы и задания
- •Глава 6. Сетевые характеристики
- •Типы характеристик Субъективные оценки качества
- •Характеристики и требования к сети
- •Временная шкала
- •Соглашение об уровне обслуживания
- •Производительность
- •Идеальная сеть
- •Статистические оценки характеристик сети
- •Активные и пассивные измерения в сети
- •Характеристики задержек пакетов
- •Характеристики скорости передачи
- •Надежность Характеристики потерь пакетов
- •Доступность и отказоустойчивость
- •Характеристики сети поставщика услуг
- •Расширяемость и масштабируемость
- •Управляемость
- •Совместимость
- •Вопросы и задания
- •Глава 7. Методы обеспечения качества обслуживания
- •Обзор методов обеспечения качества обслуживания
- •Приложения и качество обслуживания
- •Предсказуемость скорости передачи данных
- •Чувствительность трафика к задержкам пакетов
- •Чувствительность трафика к потерям и искажениям пакетов
- •Классы приложений
- •Анализ очередей
- •Модель м/м/1
- •Очереди и различные классы трафика
- •Техника управления очередями
- •Очередь fifo
- •Приоритетное обслуживание
- •Взвешенные очереди
- •Комбинированные алгоритмы обслуживания очередей
- •Механизмы кондиционирования трафика
- •Классификация трафика
- •Профилирование
- •Формирование трафика
- •Обратная связь Назначение
- •Участники обратной связи
- •Информация обратной связи
- •Резервирование ресурсов Резервирование ресурсов и контроль допуска
- •Обеспечение заданного уровня задержек
- •Инжиниринг трафика
- •Недостатки традиционных методов маршрутизации
- •Методы инжиниринга трафика
- •Инжиниринг трафика различных классов
- •Работа в недогруженном режиме
- •Вопросы и задания
- •Часть II. Технологии физического уровня
- •Глава 8. Линии связи
- •Классификация линий связи Первичные сети, линии и каналы связи
- •Физическая среда передачи данных
- •Аппаратура передачи данных
- •Характеристики линий связи Спектральный анализ сигналов на линиях связи
- •Затухание и волновое сопротивление
- •Помехоустойчивость и достоверность
- •Полоса пропускания и пропускная способность
- •Биты и боды
- •Соотношение полосы пропускания и пропускной способности
- •Типы кабелей
- •Экранированная и неэкранированная витая пара
- •Коаксиальный кабель
- •Волоконно-оптический кабель
- •Структурированная кабельная система зданий
- •Вопросы и задания
- •Глава 9. Кодирование и мультиплексирование данных
- •Модуляция Модуляция при передаче аналоговых сигналов
- •Модуляция при передаче дискретных сигналов
- •Комбинированные методы модуляции
- •Дискретизация аналоговых сигналов
- •Методы кодирования Выбор способа кодирования
- •Потенциальный код nrz
- •Биполярное кодирование ami
- •Потенциальный код nrzi
- •Биполярный импульсный код
- •Манчестерский код
- •Потенциальный код 2b1q
- •Избыточный код 4в/5в
- •Скремблирование
- •Компрессия данных
- •Обнаружение и коррекция ошибок
- •Методы обнаружения ошибок
- •Методы коррекции ошибок
- •Мультиплексирование и коммутация
- •Коммутация каналов на основе методов fdm и wdm
- •Коммутация каналов на основе метода tdm
- •Дуплексный режим работы канала
- •Вопросы и задания
- •Глава 10. Беспроводная передача данных
- •Беспроводная среда передачи Преимущества беспроводных коммуникаций
- •Беспроводная линия связи
- •Диапазоны электромагнитного спектра
- •Распространение электромагнитных волн
- •Лицензирование
- •Беспроводные системы Двухточечная связь
- •Связь одного источника и нескольких приемников
- •Связь нескольких источников и нескольких приемников
- •Типы спутниковых систем
- •Геостационарный спутник
- •Средне- и низкоорбитальные спутники
- •Технология широкополосного сигнала
- •Расширение спектра скачкообразной перестройкой частоты
- •Прямое последовательное расширение спектра
- •Множественный доступ с кодовым разделением
- •Вопросы и задания
- •Глава 11. Первичные сети
- •Сети pdh
- •Иерархия скоростей
- •Методы мультиплексирования
- •Синхронизация сетей pdh
- •Ограничения технологии pdh
- •Сети sonet/sdh
- •Иерархия скоростей и методы мультиплексирования
- •Типы оборудования
- •Стек протоколов
- •Кадры stm-n
- •Типовые топологии
- •Методы обеспечения живучести сети
- •Новое поколение протоколов sdh
- •Сети dwdm
- •Принципы работы
- •Волоконно-оптические усилители
- •Типовые топологии
- •Оптические мультиплексоры ввода-вывода
- •Оптические кросс-коннекторы
- •Сети otn Причины и цели создания
- •Иерархия скоростей
- •Стек протоколов otn
- •Кадр otn
- •Выравнивание скоростей
- •Мультиплексирование блоков
- •Коррекция ошибок
- •Вопросы и задания
- •Часть III. Локальные вычислительные сети
- •Глава 12. Технологии локальных сетей на разделяемой среде
- •Общая характеристика протоколов локальных сетей на разделяемой среде Стандартная топология и разделяемая среда
- •Стандартизация протоколов локальных сетей
- •Ethernet со скоростью 10 Мбит/с на разделяемой среде
- •Форматы кадров технологии Ethernet
- •Доступ к среде и передача данных
- •Возникновение коллизии
- •Время оборота и распознавание коллизий
- •Спецификации физической среды
- •Максимальная производительность сети Ethernet
- •Технологии Token Ring и fddi
- •Беспроводные локальные сети ieee 802.11 Проблемы и области применения беспроводных локальных сетей
- •Топологии локальных сетей стандарта 802.11
- •Стек протоколов ieee 802.11
- •Распределенный режим доступа dcf
- •Централизованный режим доступа pcf
- •Безопасность
- •Физические уровни стандарта 802.11
- •Физические уровни стандарта 802.11 1997 года
- •Физические уровни стандартов 802.11а и 802.11b
- •Физический уровень стандарта 802.11g
- •Физический уровень стандарта 802.11n
- •Персональные сети и технология Bluetooth Особенности персональных сетей
- •Архитектура Bluetooth
- •Стек протоколов Bluetooth
- •Кадры Bluetooth
- •Поиск и стыковка устройств Bluetooth
- •Пример обмена данными в пикосети
- •Новые свойства Bluetooth
- •Вопросы и задания
- •Глава 13. Коммутируемые сети Ethernet
- •Мост как предшественник и функциональный аналог коммутатора Логическая структуризация сетей и мосты
- •Алгоритм прозрачного моста ieee 802.1d
- •Топологические ограничения при применении мостов в локальных сетях
- •Коммутаторы Параллельная коммутация
- •Дуплексный режим работы
- •Неблокирующие коммутаторы
- •Борьба с перегрузками
- •Характеристики производительности коммутаторов
- •Скоростные версии Ethernet
- •История создания
- •Физические уровни технологии Fast Ethernet
- •История создания
- •Проблемы совместимости
- •Средства обеспечения диаметра сети в 200 м на разделяемой среде
- •Спецификации физической среды стандарта Gigabit Ethernet
- •Gigabit Ethernet на витой паре категории 5
- •Архитектура коммутаторов
- •Конструктивное исполнение коммутаторов
- •Вопросы и задания
- •Глава 14. Интеллектуальные функции коммутаторов
- •Алгоритм покрывающего дерева
- •Классическая версия stp
- •Три этапа построения дерева
- •Недостатки и достоинства stp
- •Версия rstp
- •Агрегирование линий связи в локальных сетях Транки и логические каналы
- •Борьба с «размножением» пакетов
- •Выбор порта
- •Фильтрация трафика
- •Виртуальные локальные сети
- •Назначение виртуальных сетей
- •Создание виртуальных сетей на базе одного коммутатора
- •Создание виртуальных сетей на базе нескольких коммутаторов
- •Альтернативные маршруты в виртуальных локальных сетях
- •Качество обслуживания в виртуальных сетях
- •Классификация трафика
- •Маркирование трафика
- •Управление очередями
- •Резервирование и профилирование
- •Ограничения коммутаторов
- •Вопросы и задания
- •Часть IV. Сети tcp/ip
- •Глава 15. Адресация в стеке протоколов tcp/ip
- •Стек протоколов tcp/ip
- •Типы адресов стека tcp/ip
- •Локальные адреса
- •Сетевые ip-адреса
- •Доменные имена
- •Формат ip-адреса
- •Классы ip-адресов
- •Особые ip-адреса
- •Использование масок при ip-адресации
- •Порядок назначения ip-адресов
- •Назначение адресов автономной сети
- •Централизованное распределение адресов
- •Адресация и технология cidr
- •Отображение ip-адресов на локальные адреса
- •Протокол разрешения адресов
- •Протокол Proxy-arp
- •Система dns Плоские символьные имена
- •Иерархические символьные имена
- •Обратная зона
- •Протокол dhcp
- •Режимы dhcp
- •Алгоритм динамического назначения адресов
- •Вопросы и задания
- •Глава 16. Протокол межсетевого взаимодействия
- •Формат ip-пакета
- •Упрощенная таблица маршрутизации
- •Просмотр таблиц маршрутизации без масок
- •Примеры таблиц маршрутизации разных форматов
- •Источники и типы записей в таблице маршрутизации
- •Пример ip-маршрутизации без масок
- •Маршрутизация с использованием масок
- •Структуризация сети масками одинаковой длины
- •Просмотр таблиц маршрутизации с учетом масок
- •Использование масок переменной длины
- •Перекрытие адресных пространств
- •Фрагментация ip-пакетов
- •Параметры фрагментации
- •Механизм фрагментации
- •Вопросы и задания
- •Глава 17. Базовые протоколы tcp/ip
- •Протоколы транспортного уровня tcp и udp
- •Порты и сокеты
- •Протокол udp и udp-дейтаграммы
- •Протокол tcp и тср-сегменты
- •Логические соединения — основа надежности tcp
- •Повторная передача и скользящее окно
- •Реализация метода скользящего окна в протоколе tcp
- •Управление потоком
- •Общие свойства и классификация протоколов маршрутизации
- •Протокол rip
- •Построение таблицы маршрутизации
- •Адаптация маршрутизаторов rip к изменениям состояния сети
- •Пример зацикливания пакетов
- •Методы борьбы с ложными маршрутами в протоколе rip
- •Протокол ospf
- •Два этапа построения таблицы маршрутизации
- •Метрики
- •Маршрутизация в неоднородных сетях Взаимодействие протоколов маршрутизации
- •Внутренние и внешние шлюзовые протоколы
- •Протокол bgp
- •Протокол icmp
- •Утилита traceroute
- •Утилита ping
- •Вопросы и задания
- •Глава 18. Дополнительные функции маршрутизаторов ip-сетей
- •Фильтрация
- •Фильтрация пользовательского трафика
- •Фильтрация маршрутных объявлений
- •Стандарты QoS в ip-сетях
- •Модели качества обслуживания IntServ и DiffServ
- •Алгоритм ведра маркеров
- •Случайное раннее обнаружение
- •Интегрированное обслуживание и протокол rsvp
- •Дифференцированное обслуживание
- •Трансляция сетевых адресов
- •Причины подмены адресов
- •Традиционная технология nat
- •Базовая трансляция сетевых адресов
- •Трансляция сетевых адресов и портов
- •Групповое вещание
- •Стандартная модель группового вещания ip
- •Адреса группового вещания
- •Основные типы протоколов группового вещания
- •Протокол igmp
- •Принципы маршрутизации трафика группового вещания
- •Протокол dvmrp
- •Протокол mospf
- •Протокол pim-sm
- •IPv6 как развитие стека tcp/ip
- •Система адресации протокола iPv6
- •Снижение нагрузки на маршрутизаторы
- •Переход на версию iPv6
- •Маршрутизаторы Функции маршрутизаторов
- •Уровень интерфейсов
- •Уровень сетевого протокола
- •Уровень протокола маршрутизации
- •Классификация маршрутизаторов по областям применения
- •Вопросы и задания
- •Часть V. Технологии глобальных сетей
- •Глава 19. Транспортные услуги и технологии глобальных сетей
- •Базовые понятия Типы публичных услуг сетей операторов связи
- •Выделенные каналы для построения частной сети
- •Виртуальная частная сеть
- •Доступ в Интернет
- •Традиционная телефония
- •Многослойная сеть оператора связи
- •Услуги и технологии физического уровня
- •Услуги и технологии пакетных уровней
- •Туннелирование
- •Технология Frame Relay История стандарта
- •Техника продвижения кадров
- •Гарантии пропускной способности
- •Технология atm
- •Ячейки atm
- •Виртуальные каналы atm
- •Категории услуг atm
- •Виртуальные частные сети
- •Ip в глобальных сетях Чистая ip-сеть
- •Протокол hdlc
- •Протокол ррр
- •Использование выделенных линий ip-маршрутизаторами
- •Работа ip-сети поверх сети atm
- •Вопросы и задания
- •Глава 20. Технология mpls
- •Базовые принципы и механизмы mpls Совмещение коммутации и маршрутизации в одном устройстве
- •Пути коммутации по меткам
- •Заголовок mpls и технологии канального уровня
- •Стек меток
- •Протокол ldp
- •Мониторинг состояния путей lsp
- •Тестирование путей lsp
- •Трассировка путей lsp
- •Протокол двунаправленного обнаружения ошибок продвижения
- •Инжиниринг трафика в mpls
- •Отказоустойчивость путей mpls Общая характеристика
- •Использование иерархии меток для быстрой защиты
- •Вопросы и задания
- •Глава 21. Ethernet операторского класса
- •Обзор версий Ethernet операторского класса Движущие силы экспансии Ethernet
- •Разные «лица» Ethernet
- •Стандартизация Ethernet как услуги
- •Технология EoMpls Псевдоканалы
- •Услуги vpws
- •Услуги vpls
- •Ethernet поверх Ethernet Области улучшений Ethernet
- •Разделение адресных пространств пользователей и провайдера
- •Маршрутизация, инжиниринг трафика и отказоустойчивость
- •Функции эксплуатации, администрирования и обслуживания
- •Функции эксплуатации, администрирования и обслуживания в Ethernet
- •Протокол cfm
- •Протокол мониторинга качества соединений y.1731
- •Стандарт тестирования физического соединения Ethernet
- •Интерфейс локального управления Ethernet
- •Мосты провайдера
- •Магистральные мосты провайдера
- •Формат кадра 802.1 ah
- •Двухуровневая иерархия соединений
- •Пользовательские мас-адреса
- •Инжиниринг трафика и отказоустойчивость
- •Магистральные мосты провайдера с поддержкой инжиниринга трафика
- •Вопросы и задания
- •Глава 22. Удаленный доступ
- •Схемы удаленного доступа
- •Типы клиентов и абонентских окончаний
- •Мультиплексирование информации на абонентском окончании
- •Режим удаленного узла
- •Режим удаленного управления и протокол telnet
- •Коммутируемый аналоговый доступ
- •Принцип работы телефонной сети
- •Удаленный доступ через телефонную сеть
- •Коммутируемый доступ через сеть isdn Назначение и структура isdn
- •Интерфейсы bri и pri
- •Стек протоколов isdn
- •Использование сети isdn для передачи данных
- •Технология adsl
- •Доступ через сети catv
- •Беспроводной доступ
- •Вопросы и задания
- •Глава 23. Сетевые службы
- •Электронная почта
- •Электронные сообщения
- •Протокол smtp
- •Непосредственное взаимодействие клиента и сервера
- •Протоколы рорз и imap
- •Протокол http
- •Формат http-сообщений
- •Динамические веб-страницы
- •Ранняя ip-телефония
- •Стандарты н.323
- •Стандарты на основе протокола sip
- •Связь телефонных сетей через Интернет
- •Новое поколение сетей ip-телефонии
- •Распределенные шлюзы и программные коммутаторы
- •Новые услуги
- •Интеграция систем адресации е.164 и dns на основе enum
- •Протокол передачи файлов
- •Основные модули службы ftp
- •Управляющий сеанс и сеанс передачи данных
- •Команды взаимодействия ftp-клиента с ftp-сервером
- •Сетевое управление в ip-сетях Функции систем управления
- •Архитектуры систем управления сетями
- •Вопросы и задания
- •Глава 24. Сетевая безопасность
- •Основные понятия информационной безопасности Определение безопасной системы
- •Угроза, атака, риск
- •Типы и примеры атак Атаки отказа в обслуживании
- •Перехват и перенаправление трафика
- •Внедрение в компьютеры вредоносных программ
- •Троянские программы
- •Сетевые черви
- •Шпионские программы
- •Методы обеспечения информационной безопасности
- •Классификация методов защиты
- •Политика безопасности
- •Шифрование
- •Симметричные алгоритмы шифрования
- •Алгоритм des
- •Несимметричные алгоритмы шифрования
- •Алгоритм rsa
- •Односторонние функции шифрования
- •Аутентификация, авторизации, аудит Понятие аутентификации
- •Авторизация доступа
- •Строгая аутентификация на основе многоразового пароля в протоколе chap
- •Аутентификация на основе одноразового пароля
- •Аутентификация на основе сертификатов
- •Сертифицирующие центры
- •Инфраструктура с открытыми ключами
- •Аутентификация информации
- •Цифровая подпись
- •Аутентификация программных кодов
- •Антивирусная защита
- •Сканирование сигнатур
- •Метод контроля целостности
- •Сканирование подозрительных команд
- •Отслеживание поведения программ
- •Сетевые экраны
- •Типы сетевых экранов разных уровней
- •Реализация
- •Архитектура
- •Прокси-серверы
- •Функции прокси-сервера
- •Прокси-серверы прикладного уровня и уровня соединений
- •«Проксификация» приложений
- •Системы обнаружения вторжений
- •Протоколы защищенного канала. IPsec
- •Иерархия технологий защищенного канала
- •Распределение функций между протоколами ipSec
- •Безопасная ассоциация
- •Транспортный и туннельный режимы
- •Протокол ан
- •Протокол esp
- •Базы данных sad и spd
- •Сети vpn на основе шифрования
- •Вопросы и задания
- •Рекомендуемая и использованная литература
Глава 16. Протокол межсетевого взаимодействия
Эта глава посвящена протоколу IP (Intrenet Protocol — межсетевой протокол), описанному в документе RFC 751. В каждой очередной сети, лежащей на пути перемещения пакета, протокол IP обращается к средствам транспортировки этой сети, чтобы с их помощью передать пакет на маршрутизатор, ведущий к следующей сети, или непосредственно на узел-получатель. Таким образом, одной из важнейших функций IP является поддержание интерфейса с нижележащими технологиями сетей, образующих составную сеть. Кроме того, в функции протокола IP входит поддержание интерфейса с протоколами вышележащего транспортного уровня, в частности с протоколом TCP, который решает все вопросы обеспечения надежной доставки данных по составной сети в стеке TCP/IP. Протокол IP относится к протоколам без установления соединений, он поддерживает обработку каждого IP-пакета как независимой единицы обмена, не связанной с другими пакетами. В протоколе IP нет механизмов, обычно применяемых для обеспечения достоверности конечных данных. Если во время продвижения пакета происходит какая-либо ошибка, то протокол IP по своей инициативе ничего не предпринимает для исправления этой ошибки. Например, если на промежуточном маршрутизаторе пакет был отброшен из-за ошибки по контрольной сумме, то модуль IP не пытается заново послать потерянный пакет. Другими словами, протокол IP реализует политику доставки «по возможности» (с максимальными усилиями).
В этой главе мы подробно рассмотрим основную функцию протокола IP — маршрутизацию. Основательно изучим структуру таблиц маршрутизации как без использования, так и с использованием масок. Приведем примеры применения масок одинаковой и переменной длины, перекрывающихся адресных пространств, разделения на подсети и объединения подсетей. Также мы исследуем возможности протокола IP, связанные с фрагментацией пакетов.
Формат ip-пакета
Имеется прямая связь между количеством полей заголовка пакета и функциональной сложностью протокола, который работает с этим заголовком. Чем проще заголовок — тем проще соответствующий протокол. Большая часть действий протокола связана с обработкой той служебной информации, которая переносится в полях заголовка пакета. Изучая назначение каждого поля заголовка IP-пакета, мы получаем не только формальные знания о структуре пакета, но и знакомимся с основными функциями протокола IP.
IP-пакет состоит из полей заголовка и данных. Далее перечислены поля заголовка, показанные на рис. 16.1.
Рис. 16.1. Структура заголовка IP-пакета
Поле номера версии занимает 4 бита и идентифицирует версию протокола IP. Сейчас повсеместно используется версия 4 (IPv4), хотя все чаще встречается и новая версия (IPv6).
Значение длины заголовка IP-пакета также занимает 4 бита и измеряется в 32-битных словах. Обычно заголовок имеет длину в 20 байт (пять 32-битных слов), но при добавлении некоторой служебной информации это значение может быть увеличено за счет дополнительных байтов в поле параметров. Наибольшая длина заголовка составляет 60 байт.
Поле типа сервиса (Type of Service, ToS) имеет и другое, более современное название — байт дифференцированного обслуживания, или DS-байт. Этим двум названиям соответствуют два варианта интерпретации этого поля. В обоих случаях данное поле служит одной цели — хранению признаков, которые отражают требования к качеству обслуживания пакета. В прежнем варианте первые три бита содержат значение приоритета пакета: от самого низкого — 0 до самого высокого — 7. Маршрутизаторы и компьютеры могут принимать во внимание приоритет пакета и обрабатывать более важные пакеты в первую очередь. Следующие три бита поля ToS определяют критерий выбора маршрута. Если бит D (Delay — задержка) установлен в 1, то маршрут должен выбираться для минимизации задержки доставки данного пакета, установленный бит Т (Throughput — пропускная способность) — для максимизации пропускной способности, а бит R (Reliability — надежность) — для максимизации надежности доставки. Оставшиеся два бита имеют нулевое значение.
Стандарты дифференцированного обслуживания, принятые в конце 90-х годов, дали новое название этому полю и переопределили назначение его битов. В DS-байте также используются только старшие 6 бит, а два младших бита остаются в качестве резерва. Назначение битов DS-байта рассмотрено в разделе «Дифференцированное обслуживание» главы 18.
Поле общей длины занимает 2 байта и характеризует общую длину пакета с учетом заголовка и поля данных. Максимальная длина пакета ограничена разрядностью поля, определяющего эту величину, и составляет 65 535 байт, однако в большинстве компьютеров и сетей столь большие пакеты не используются. При передаче по сетям различного типа длина пакета выбирается с учетом максимальной длины пакета протокола нижнего уровня, несущего IP-пакеты. Если это кадры Ethernet, то выбираются пакеты с максимальной длиной 1500 байт, умещающиеся в поле данных кадра Ethernet. В стандартах TCP/IP предусматривается, что все хосты должны быть готовы принимать пакеты длиной вплоть до 576 байт (независимо от того, приходят ли они целиком или фрагментами).
Идентификатор пакета занимает 2 байта и используется для распознавания пакетов, образовавшихся путем деления на части (фрагментации) исходного пакета. Все части (фрагменты) одного пакета должны иметь одинаковое значение этого поля.
Флаги занимают 3 бита и содержат признаки, связанные с фрагментацией. Установленный в 1 бит DF (Do not Fragment — не фрагментировать) запрещает маршрутизатору фрагментировать данный пакет, а установленный в 1 бит MF (More Fragments — больше фрагментов) говорит о том, что данный пакет является промежуточным (не последним) фрагментом. Оставшийся бит зарезервирован.
Поле смещения фрагмента занимает 13 бит и задает смещение в байтах поля данных этого фрагмента относительно начала поля данных исходного (нефрагментированного) пакета. Используется при сборке/разборке фрагментов пакетов. Смещение должно быть кратно 8 байт.
Поле времени жизни (Time То Live, TTL) занимает один байт и используется для задания предельного срока, в течение которого пакет может перемещаться по сети. Время жизни пакета измеряется в секундах и задается источником. По истечении каждой секунды пребывания на каждом из маршрутизаторов, через которые проходит пакет во время своего «путешествия» по сети, из его текущего времени жизни вычитается единица; единица вычитается и в том случае, если время пребывания было меньше секунды. Поскольку современные маршрутизаторы редко обрабатывают пакет дольше, чем за одну секунду, то время жизни можно интерпретировать как максимальное число транзитных узлов, которые разрешено пройти пакету. Если значение поля времени жизни становится нулевым до того, как пакет достигает получателя, пакет уничтожается. Таким образом, время жизни является своего рода часовым механизмом самоуничтожения пакета.
Поле протокола верхнего уровня занимает один байт и содержит идентификатор, указывающий, какому протоколу верхнего уровня принадлежит информация, размещенная в поле данных пакета. Значения идентификаторов для разных протоколов приводятся в документе RFC 1700, доступном по адресу http://www.iana.org. Например, 6 означает, что в пакете находится сообщение протокола TCP, 17 — протокола UDP, 1 — протокола ICMP.
Контрольная сумма заголовка занимает 2 байта (16 бит) и рассчитывается только по заголовку. Поскольку некоторые поля заголовка меняют свое значение в процессе передачи пакета по сети (например, поле времени жизни), контрольная сумма проверяется и повторно рассчитывается на каждом маршрутизаторе и конечном узле как дополнение к сумме всех 16-битных слов заголовка. При вычислении контрольной суммы значение самого поля контрольной суммы устанавливается в нуль. Если контрольная сумма неверна, то пакет отбрасывается, как только обнаруживается ошибка.
Поля IP-адресов источника и приемника имеют одинаковую длину — 32 бита. Поле параметров является необязательным и используется обычно только при отладке сети. Это поле состоит из нескольких подполей одного из восьми предопределенных типов В этих подполях можно указывать точный маршрут, регистрировать проходимые пакетоу маршрутизаторы, помещать данные системы безопасности или временные отметки.
Так как число подполей в поле параметров может быть произвольным, то в конце заголовке должно быть добавлено несколько нулевых байтов для выравнивания заголовка пакета по 32-битной границе.
Далее приведена распечатка значений полей заголовка одного из реальных IP-пакетов, захваченных в сети Ethernet средствами анализатора протоколов сетевого монитора (Network Monitor, NM) компании Microsoft. В данной распечатке NM в скобках дает шестнадцате- ричные значения полей, кроме того, программа иногда представляет числовые коды полей в виде, более удобном для чтения. Например, дружественный программный интерфейс NM интерпретирует код 6 в поле протокола, помещая туда название соответствующего протокола — TCP (см. строку, выделенную полужирным шрифтом).
Схема IР-маршрутизации
Рассмотрим механизм IP-маршрутизации на примере составной сети, представленной на рис. 16.2.
Рис. 16.2. Принципы маршрутизации в составной сети
В этой сети 20 маршрутизаторов (изображенных в виде пронумерованных квадрантных блоков) объединяют 18 сетей в общую сеть; N1, N2,..., N18 — это номера сетей.
На каждом маршрутизаторе и конечных узлах А и В функционируют протоколы IP. К нескольким интерфейсам (портам) маршрутизаторов присоединяются сети. Каждый интерфейс маршрутизатора можно рассматривать как отдельный узел сети: он имеет сетевой адрес и локальный адрес в той подсети, которая к нему подключена. Например, маршрутизатор под номером 1 имеет три интерфейса, к которым подключены сети N1, N2, N3. На рисунке сетевые адреса этих портов обозначены IР11, IP12 и IP13. Интерфейс IР11 является узлом сети N1, и следовательно, в поле номера сети порта IР11 содержится номер N1. Аналогично интерфейс IP12 — это узел в сети N2, а порт IP13 — узел в сети N3. Таким образом, маршрутизатор можно рассматривать как совокупность нескольких узлов, каждый из которых входит в свою сеть. Как единое устройство маршрутизатор не имеет выделенного адреса, ни сетевого, ни локального.
В сложных составных сетях почти всегда существуют несколько альтернативных маршрутов для передачи пакетов между двумя конечными узлами. Так, пакет, отправленный из узла А в узел В, может пройти через маршрутизаторы 17, 12, 5, 4 и 1 или маршрутизаторы 17, 13, 7, 6 и 3. Нетрудно найти еще несколько маршрутов между узлами А и В.
ПРИМЕЧАНИЕ
При наличии у маршрутизатора блока управления (например, по протоколу SNMP) этот блок имеет собственные локальный и сетевой адреса, по которым к нему обращается центральная станция управления. Эти адреса выбираются из того же пула, что и адреса физических интерфейсов маршрутизатора. В технической документации такого рода адреса называются адресами обратной петли (looopback address), или адресами виртуальных интерфейсов (virtual interface address). В отличие от адресов 127.х.х.х, зарезервированных для передачи данных между программными компонентами, находящимися в пределах одного компьютера, адреса виртуальных интерфейсов предполагают обращение к ним извне.
Задачу выбора маршрута из нескольких возможных решают маршрутизаторы, а также конечные узлы. Маршрут выбирается на основании имеющейся у этих устройств информации о текущей конфигурации сети, а также на основании критерия выбора маршрута. В качестве критерия часто выступает задержка прохождения маршрута отдельным пакетом, средняя пропускная способность маршрута для последовательности пакетов или наиболее простой критерий, учитывающий только количество пройденных на маршруте промежуточных маршрутизаторов (ретрансляционных участков, или хопов). Полученная в результате анализа информация о маршрутах дальнейшего следования пакетов помещается в таблицу маршрутизации.