ВСТРОЕННЫЙ МАРШРУТИЗАТОР 1 Руководители: •Бондарев Антон •Смирнов Кирилл Участники: •Перескокова Татьяна •Тихонова Анна •Филиппова Анастасия •Чуновкин Фёдор ВСТРОЕННЫЕ СИСТЕМЫ (EMBEDDED SYSTEM) Специализированная компьютерная система разработанная для представления одной или нескольких специальных функций. Обычно встроены, как часть большего устройства. Преимущества: Возможность оптимизации, уменьшение размера и стоимости продукта. Увеличение надежности и производительности. Производятся в больших количествах (дешевле). 2 ВСТРОЕННЫЕ СИСТЕМЫ 3 ВСТРОЕННАЯ КОМПЬЮТЕРНАЯ СИСТЕМА ВЫБОР ОС Коммерческие: Open Windows CE, VxWorks, QNX, Symbian EPOC, RTLinux … Source: uCLinux (http://uclinux.org/), NetBSD (http://netbsd.org/), eCos (http://ecos.sourceware.org/), … 4 НАШ ВЫБОР: LINUX Туча готовых компонентов. Не нужно долго ждать реализации нужных features. Нет – реализуем сами. Постоянно что-нибудь новенькое. Поддерживает большое количество архитектур процессоров. 5 LINUX ДЛЯ ВС Ядро (берем стандартное ядро (http://www.kernel.org/), конфигурируем под целевую платформу, собираем). Файловая система (rootfs), содержащая библиотеки и утилиты. (С этим сложнее – нет стандартного пути собрать rootfs только с нужными компонентами) 6 PTXDIST (HTTP://WWW.PENGUTRONIX.DE/SOFTWARE/PTXDIST/INDEX_EN.HTML) Позволяет собрать ядро и файловую систему для различных платформ. Состоит из системы конфигурирования (как при сборке ядра) и набора makefile-ов, которые делают основную работу. С сайтов дистрибутивов загружается для компиляции только необходимое. 7 СРЕДСТВА РАЗРАБОТКИ Недостаточность ресурсов ВС для быстрой и удобной сборки программ. Частое отсутствие устройств вводавывода и удобного пользовательского интерфейса. Платы дороги и не всегда доступны в процессе разработки. Как следствие, необходимо использовать cross-средства компиляции (crosstool) и эмуляторы целевой платформы (qemu). 8 ПЛАТА RADISYS ENP-2611 9 КРОСС-ТРАНСЛЯТОР Архитектура: ARM (Advanced RISC Machine) Порядок байтов: big-endian Версии различных компонентов транслятора: gcc 3.4.5 (GNU Compiler Collection) glibc 2.3.6 (GNU C Library) binutils 2.15 (GNU Binary Utilities) 10 ЭМУЛЯЦИЯ ПЛАТФОРМ Дистрибутив Debian ОС Linux запущенный под эмулятором QEMU в режиме эмуляции процессора архитектуры ARM: 11 МАРШРУТИЗАТОР (ROUTER) Сетевое устройство, на основании информации о топологии сети и определённых правил, принимающее решения о пересылке пакетов сетевого уровня между различными сегментами сети. 12 IP-МАРШРУТИЗАЦИЯ Стек протоколов TCP/IP модель OSI упрощённая модель Сокеты Пример 13 СТЕК ПРОТОКОЛОВ TCP/IP Модель OSI (Open Systems Interconnection, модель взаимодействия открытых систем) Уровень Примеры протоколов 7 Прикладной HTTP, SMTP, FTP 6 Представительный XML 5 Сеансовый SSL 4 Транспортный TCP, UDP 3 Сетевой IP 2 Канальный Ethernet, Wi-Fi 1 Физический электричество, радиосвязь 14 СТЕК ПРОТОКОЛОВ TCP/IP Упрощённая модель Уровень Примеры протоколов 5 Прикладной HTTP, SMTP, FTP 4 Транспортный TCP, UDP 3 Сетевой IP 2 Канальный Ethernet, Wi-Fi 1 Физический электричество, радиосвязь 15 СОКЕТ (SOCKET) Название программного интерфейса для обеспечения информационного обмена между процессами. Сокет — абстрактный объект, представляющий конечную точку соединения. 16 ПРИМЕР: СНИФФЕР 17 ПЛАН ДАЛЬНЕЙШЕЙ РАБОТЫ Наделение платы возможностями маршрутизации Создание интерфейса для настройки и отслеживания состояния устройства 18