Дополнительные возможности по реализации собственных протоколов

В ns2 на уровне ядра реализованы почти все известные протоколы сетей связи.
Среди наиболее актуальных на данный момент можно отметить следующие: MPLS, IPv6, OSPF, RSVP, протоколы беспроводной связи, web caching и многие другие. Так же реализовано целое семйство дисциплин обслуживания очередей: RED, WFQ, CBQ, SFQ и т.д.

Реализация собственного протокола в рамках ns2 не сложна, если пользователь знаком с принципами построения архитектуры ns2 и с основами программирования протоколов.
В первую очередь необходимо написать код С++, в который входит определение форматов пакетов нового протокола (если это необходимо), логики функционирования протокола, необходимых для этого классов С++ и функций bind (см. выше) для связи кода с OTcl. Далее модифицируется исходный для ns2 файл makefile и производится перекомпиляция ядра. В результате описанных действий пользователь имеет возможность использовать новый протокол в скрипте сценария моделирования сети связи. К сожлению, весьма слабым местом ns2 является документация, хотя руководство пользователя существует и всегда доступно в форматах html и ps. Это руководство не является исчерпывающим и некоторые свойства ns2 в нем не отражены.

Обеспечение сильной математической поддержки позволяет создавать различные виды трафика, начиная от простейшего, подчиняющегося пуассоновскому закону, заканчивая самоподобным. Гибкость архитектуры ns2 позволяет пользователю реализовывать собственные математические функции на С++.

Реализация модели ошибок позволяет моделировать возникновение ошибок на канальном уровне, т.е. искажение или потерю информации. Моделирование возникновения ошибки возможно на уровне битов, пакетов или вероятности в секунду. Возможна так же реализация пользовательской модели ошибок.



last updated Sun, August 29, 2004 19:38 by Yevgeni Koucheryavy