Конфигурирование Встроенных Систем диплом

Вид материалаДиплом
5Список литературы
Подобный материал:
1   2   3   4   5   6   7

4Заключение


В настоящей работе был произведен анализ протоколов управления сетевыми устройствами. Так же были рассмотрены доступные решения для управления сетевыми устройствами с точки зрения требований, предъявляемых к решению поставленной задачи.

С учетом проведенного анализа была разработана архитектура программного продукта и объектная модель. Был использован объектно-ориентированный подход: введено понятие мета-тип, для мета-типов реализовано наследование, переопределение методов и другие особенности. При разработке объектной модели учитывались особенности рассмотренных протоколов управления.

Были реализованы модули, отвечающие за конфигурирование сетевых ресурсов: основные типы интерфейсов, порты, маршрутизация, управление межсетевым экраном, программным и аппаратным коммутатором (bridge).

Результаты данной работы были использованы в совместном проекте компаний Ланит Терком, OKTET Labs. и шведской компании – производителя сетевых устройств. Командой разработчиков были реализованы модули для поддержки протоколов удаленного управления SNMP, TR-069 и частного протокола заказчика.

5Список литературы

  1. Дональд Кнут, Искусство программирования, том 3. Сортировка и поиск, 2-е изд. : М., 2001, стр. 492-516
  2. D.D. Sleator and R.E. Tarjan. Self-Adjusting Binary Search Trees. Journal of the ссылка скрыта 32:3, pages 652-686, 1985
  3. ITU-T Recommendation X.700 (1992): Management Framework for Open Systems Interconnection (OSI) for CCITT Applications
  4. ITU-T Recommendation X.690 (2002): Information technology – ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)
  5. DSL Forum TR-069: CPE WAN Management Protocol, May 2004
  6. DSL Forum TR-098: Internet Gateway Device Version 1.1 Data Model for TR-069, September 2005
  7. DSL Forum TR-106: Data Model Template for TR-069-Enabled Devices, September 2005
  8. DSL Forum TR-111: Applying TR-069 to Remote Management of Home Networking Devices, December 2005
  9. IETF RFC 1155: Structure and Identification of Management Information for TCP/IP based Internets
  10. IETF RFC 1156: Management Information Base for Network Management of TCP/IP-based internets
  11. IETF RFC 1157: A Simple Network Management Protocol (SNMP)
  12. IETF RFC 3411-3417: Набор RFC, определяющий структуру протокола SNMPv3, 2002
  13. IETF RFC 3415: View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP), December 2002
  14. IETF RFC 1332: The PPP Internet Protocol Control Protocol (IPCP), May 1992
  15. IETF RFC 2578: Structure of Management Information Version 2 (SMIv2)
  16. ссылка скрыта, ссылка скрыта,
  17. ссылка скрыта, Quagga Routing Software Suite
  18. ссылка скрыта, BIRD Internet Routing Daemon Project
  19. ссылка скрыта, домашняя страница проекта netfilter/iptables
  20. ссылка скрыта, домашняя страница проекта, ebtables.
  21. ссылка скрыта, диаграмма обработки пакетов в OS Linux

1 Операционная система отдает данные несколькими способами: ioctl, procfs, netlink, сокетные опции и т.д. Целостно отдаются только некоторые куски. Например, можно получить всю таблицу маршрутизации через /proc/net/route в целостном виде, но вот получить одновременно с этим список интерфейсов невозможно. Так что может получиться, что мы получили маршрут, посмотрели интерфейс в этом маршруте, а он уже пропал. Хотя обычно все находится в статичном состоянии.

2 Как же мы получаем ситуацию, описанную в 3.5.1.11Error: Reference source not found, когда тип метаданные наследуется от структуры?
  1. Мы инициализируем тип метаданные временными метаданными, замкнутыми на самих себя.
  2. Создаем тип базовый узел на основе только что заполненных метаданных.
  3. После чего сообщаем, что для дальнейшей работы нам необходимы все базовые типы и корневой узел.
  4. Далее модуль, отвечающий за базовые типы, регистрирует типы boolean, строка, бинарные данные и прочие, а так же множество. Все они наследуются от базового узла.
  5. Управление передается модулю, регистрирующему тип массив, который регистрирует тип и тоже сообщает о невозможности дальнейшей работы без корневого узла.
  6. Аналогично создается тип структура, но не регистрируется.
  7. Создается тип группа, унаследованный от массива.
  8. Наконец, регистрируется корневой узел.
  9. Далее происходит регистрация типов в дереве: группа, массив, структура, базовых типов (целое число, строка, boolean и т.д.).
  10. Регистрируется созданный в начале тип метаданные.
  11. Далее, создается нормальный тип метаданные (наследованием от структуры) и происходит его регистрация в дереве.
  12. Происходит обновление метаданных всех ранее созданных типов.

Этот немного запутанный сценарий загрузки позволяет держать метаданные в дереве и удобно с ними работать.

3 В случае 2.4 ядер – это число от 0 до 255.