12.07.2015 Views

Виртуална Лаборатория по Компютърни Мрежи и Разпределени ...

Виртуална Лаборатория по Компютърни Мрежи и Разпределени ...

Виртуална Лаборатория по Компютърни Мрежи и Разпределени ...

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Виртуална Лаборатория по Компютърни Мрежи и Разпределени Системиприема. Тази служебна информация в симулатора се представя със структура.Отделните полета на тази структура представляват отделните флагове иполета, които съдържат нужната информация. В този .h файл се декларира иAgent на този клас, който наследява class Agent, явяващ се базов за него.Именно този клас съдържа цялата функционалност, а ние само добавяме новаако това е необходимо. Това е класа, съдържащ голяма част от кода напротокола. Този клас е достъпен през TCL скрипта и може да се управлявапрез него.За изпращане на периодични съобщения се използва класа Timer, както иако се пази дадена информация за определено време като запис в таблица.Така се задават expired times. За изпращане на контролни съобщения енеобходимо да се дефинира нов тип packet. В този пакет се съдържа цялатанеобходима информация необходима за поддържането на функционалносттана протокола.Друг важен клас е Trace класа. Посредством него се записва информацияв файл или файлове за това, какво е станало по време на симулацията. Следкоето е възможно визуализирането на тази информация.Всеки маршрутизиращ протокол се нуждае от два обекта: AddressClassifier и Port Classifier. Първият обект се използва когато полученотосъобщение не е за самата станция или когато тя иска да изпрати пакет додруга станция. Тогава съответния пакет се маршрутизира; вторият обект екогато трябва получения пакет да се предаде на съответния агент на погорнитеслоеве.Всеки агент наследява от базовия клас две функции: recv() и command().Първата се вика когато се получи пакет, а това става по два начина. Единияте ако самата станция иска да изпрати пакет и по-горните слоеве (катотранспортните протоколи на транспортния слой ТСР и UDP) предават надолутекущия пакет и той трябва да се енкапсулира с новата информация и да семаршрутизира или просто когато се получи пакет от друга станция. Вторатафункция се вика от TCL скрипта за да се конфигурира С++ обекта и даизпълни някаква функционалност. В това извикване се указва всичко, което енеобходимо като параметри за да се осъществи предаването. Имаконфигурационни файлове за протоколите които се указват, че ще сеизползват, които са заредени със стойности по подразбиране. За целите насимулацията те се променят.Посредством код на С++ се описват функционалностите на протокола,като всяка функция се разписва в съответния файл. Маршрутизиращитетаблици са нещо без което един маршрутизиращ протокол не може дафункционира. Такава таблица може да се имплементира или чрезвъвеждането на нов тип клас или чрез друг вид структура – хеш таблицанапример. В тях се пази информация за следваща стъпка, за IP адрес нададена станция. Всичко това е необходимо, за да се маршрутизира всеки единпакет до местопредназначението си. Друга информация се поема отСтр.75Симулационно изследване на мрежови протоколи

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!