Курсовая работа: Отслеживание и анализ пути сетевых пакетов в ядре Linux
Описание
Оглавление
Заключение............................................................................................................................. 29
Список литературы.......................................................................................................... 30
4
Введение
Рост человеческих потребностей вкупе с развитием технологий способствуют созданию более продвинутых программных и аппаратных решений. Основополагающим элементом таких решений зачастую является обширная и комплексная сетевая инфраструктура. Множество различных устройств и виртуальных интерфейсов, сетевые пространства имён, настройки маршрутизации, фильтрации пакетов и межсетевого экрана, разнообразные сетевые протоколы — всё это позволяет создавать системы с ранее невозможной функциональностью и предоставлять пользователям новые сервисы. Естественным образом при разработке и сопровождении таких систем разработчики и администраторы сталкиваются с множеством проблем.
Обычно для отладки сетевых ошибок необходимо проверить все узлы, участвующие в сетевом взаимодействии: отправляющий, связующие и принимающий. Однако из-за сложной конфигурации, в сети возникают неочевидные связи и взаимодействий между различными элементами, что сильно осложняет процесс поиска источника неполадки даже в рамках одного узла. Неизбежно возникнет ситуация, в которой непонятно, с какой стороны подступиться проблеме. Тогда разр
| Введение...................................................................................................... | 5 | ||
| 1. Постановка задачи................................................................................ | 7 | ||
| 2. Требования к реализации.................................................................... | 8 | ||
| 3. Обзор...................................................................................................... | 10 | ||
| 3.1 | Подходы к отслеживанию пути сетевого пакета ................... | 11 | |
| 3.1.1 | Модификация кода ядра ........................................ | 11 | |
| 3.1.2 | Зондирование ядра ............................................. | 12 | |
| 3.1.3 | Точки трассировки ............................................. | 13 | |
| 3.1.4 ftrace .......................................................... | 13 | ||
| 3.1.5 | Extended Berkeley Packet Filter ................................... | 14 | |
| 3.1.6 | Вывод ......................................................... | 14 | |
| 3.2 | Обзор технологии eBPF ............................................ | 15 | |
| 3.3 | Жизненный цикл eBPF программ ................................... | 17 | |
| 3.3.1 | Компиляция и загрузка ......................................... | 17 | |
| 3.3.2 | Ограниченный язык программирования C ........................ | 18 | |
| 3.3.3 | Верификатор .................................................. | 18 | |
| 4. Реализация утилиты........................................................................... | 20 | ||
| 4.1 | Алгоритм работы .................................................. | 20 | |
| 4.2 eBPF программы .................................................. | 22 | ||
| 4.2.1 eBPF классификатор ............................................ | 22 | ||
| 4.2.2 eBPF зонды .................................................... | 23 | ||
| 4.3 eBPF массивы ..................................................... | 25 | ||
| 4.4 | Загрузка и прикрепление eBPF программ ............................ | 26 | |
| 4.5 | Разница контекстов точек крепления ................................ | 26 | |
| 4.6 | Особенности реализации ........................................... | 27 | |
| 4.7 | Демонстрация работы прототипа .................................... | 27 | |
| 3 | |||
Заключение............................................................................................................................. 29
Список литературы.......................................................................................................... 30
4
Введение
Рост человеческих потребностей вкупе с развитием технологий способствуют созданию более продвинутых программных и аппаратных решений. Основополагающим элементом таких решений зачастую является обширная и комплексная сетевая инфраструктура. Множество различных устройств и виртуальных интерфейсов, сетевые пространства имён, настройки маршрутизации, фильтрации пакетов и межсетевого экрана, разнообразные сетевые протоколы — всё это позволяет создавать системы с ранее невозможной функциональностью и предоставлять пользователям новые сервисы. Естественным образом при разработке и сопровождении таких систем разработчики и администраторы сталкиваются с множеством проблем.
Обычно для отладки сетевых ошибок необходимо проверить все узлы, участвующие в сетевом взаимодействии: отправляющий, связующие и принимающий. Однако из-за сложной конфигурации, в сети возникают неочевидные связи и взаимодействий между различными элементами, что сильно осложняет процесс поиска источника неполадки даже в рамках одного узла. Неизбежно возникнет ситуация, в которой непонятно, с какой стороны подступиться проблеме. Тогда разр
Характеристики курсовой работы
Учебное заведение
Семестр
Просмотров
1
Размер
466 Kb
Список файлов
Отслеживание и анализ пути сетевых пакетов в ядре Linux.doc
Комментарии
Нет комментариев
Стань первым, кто что-нибудь напишет!
МГУ им. Ломоносова
Tortuga













