<company-name>AT&
T</company-name>
Существует ещё множество правил, касающихся составления корректного XML-документа, но целью данного краткого обзора было лишь показать основы, необходимые для понимания структуры XML - документа.
Задание на лабораторную работу
Задание состоит из следующих частей:
ознакомительная (общая часть), и индивидуальная (по вариантам). Необходимо выполнить обе части и результат представить в виде исходного кода с описанием.
Общая часть:
Необходимо найти описание перечисленных ниже примеров в j2eetutorial14, создать проекты с исходным кодом на Java из этих примеров, откомпилировать проект и запустить на выполнение, проконтролировав результат. Необходимо объяснить суть примера: какие библиотеки используются и их назначение, каков должен быть ожидаемый результат.
Список примеров:
Document Object Model,
Reading XML Data into a DOM (стр.188-194 j2eetutorial14)
Document Object Model,
Displaying a DOM Hierarchy (стр.195-211 j2eetutorial14)
Constructing a User-Friendly JTree from a DOM (стр.221-237 j2eetutorial14)
Extensible Stylesheet Language Transformations,
Writing Out a DOM as an XML File (стр.253-272 j2eetutorial14)
Transforming XML Data with XSLT, Writing the Basic Program (стр.287 -297 j2eetutorial14)
Transforming from the Command Line with Xalan (стр.311 j2eetutorial14) Индивидуальная часть:
1. Создать XML-файл, содержащий данные из определенной предметной области (по вариантам). Количество уровней вложенности - не менее 4 (вместе с корневым узлом). По крайней мере у двух разных уровней узлов должны быть атрибуты. Пример на основе классификации живых организмов дан в файле primer. xml в каталоге с данным описанием на диске. Также смотрите пример преобразования XSLT в файлах transform. xsl и module. xml module. xml. Это преобразование извлекает все узлы с именем par вне зависимости от вложенности и выводит их текстовое содержимое на экран с новой строки. Затем извлекает все узлы содержащие комментарии и выводит их следом за блоком параметров.
Предметные области (варианты):
1.1. Экономика;
1.2. Содержание издания;
1.3. Вычислительная техника;
1.4. Медицина;
1.5. Спорт;
1.6. Детские игрушки и игры;
1.7. Транспорт;
1.8. Военная техника;
1.9. Химия;
1.10. Астрономия;
1.11. Элементарные частицы;
1.12. Мебель;
1.13. Литература;
1.14. Архитектура;
1.15. Изобразительное искусство;
1.16. Оптические приборы;
1.17. Осветительные приборы;
1.18. Одежда;
1.19. Музыка;
1.20. Музыкальные инструменты;
1.21. Типы поверхности Земли;
1.22. Погода.
2. Создать на языке Java приложение, отображающее структуру xml файла в виде дерева JTree;
3. Разработать xsl таблицу позволяющую выводить на экран и в файл содержимое всех узлов в виде текста;
4. Разработать xsl таблицу позволяющую выводить на экран и в файл содержимое всех узлов в виде html (таблица или список по выбору);
5. Продемонстрировать работу созданных в п.3 и 4 xsl таблиц в командной строке xalan;
6. Разработать средство поиска текста по заданному ключу (начало слова) и/или атрибуту в xml файле с помощью XPathAPI библиотеки Xalan.
Включить это средство поиска в приложение, созданное в п.2.
3.8 Лабораторная работа №7 Маршрутизация в ВС
Лабораторная работа №7 выполняется после ознакомления основными алгоритмами маршрутизации в глобальной сети.
Цель работы:
Моделирование протоколов маршрутизации в вычислительных сетях.
Задание на лабораторную работу
Напишите программу, моделирующую один из вариантов:
1) Маршрутизацию методом заливки;
2) Маршрутизацию по вектору расстояния;
3) Маршрутизацию по состоянию связей;
4) Групповая маршрутизация. Остовые деревья (Spanning Trees)
5) Групповая маршрутизация. RPF (Reverse Path Forwarding).
6) Групповая маршрутизация. RPF (Reverse Path Forwarding). С усечением (prunes).
7) Групповая маршрутизация. RPF (Reverse Path Forwarding). С наращением (grant).
8) Групповая маршрутизация. CBT (Core Based Trees, Деревья с фиксированным ядром)
9) Групповая маршрутизация методом заливки.
Общие требования:
Программа должна обладать следующими возможностями:
Графический интерфейс.
Возможность вводить ненаправленный граф (входное дерево сети) в виде:
A B <cost>,
где A – имя маршрутизатора, для которого формируется запись;
B – имя узла, с которым есть соединение;
<cost> значение стоимости данного соединения в условных единицах (word);
Ввод можно осуществлять из файла или вручную.
Количество узлов в сети не менее 10;
Возможность просматривать таблицу маршрутизации для каждого узла, если таковая имеется;
Возможность обозначать начальный и конечный узел сети;
Индикация решения (оптимального пути на графе в виде последовательности вершин и суммарной стоимости пути) для заданных в п.4 вершин;
Возможность динамически добавлять и удалять узлы маршрутизаторов на существующей сети
Демонстрировать для добавленных узлов пошаговое формирование таблиц маршрутизации;
Демонстрировать, как меняется таблица маршрутизации соседнего узла если некоторый смежный узел был удален;
Для метода заливки показать пошаговое распространение пакетов оценить количество лишних – дублированных пакетов;
Для метода вектора расстояния продемонстрировать возникновение счета до бесконечности при удалении узла;
Для метода состояния связей продемонстрировать, как влияет динамическое изменение стоимости связи на принимаемые решения о маршрутизации;
Для алгоритмов групповой маршрутизации добавить возможность подсоединения узлов в групповой рассылке или данному групповому адресу. Реализовать возможность нескольких групповых адресов.
Теория.
Для маршрутизации применяются специальные алгоритмы и протоколы (например, RIP, OSPF, NLSP). C помощью протоколов маршрутизации создается карта сети или специальные таблицы маршрутизации, которые хранятся на каждом маршрутизаторе. Одношаговые алгоритмы маршрутизации определяют только следующий маршрутизатор в сети для отправки пакета, каждый маршрутизатор ответственен за выбор одного шага маршрута. В многошаговых алгоритмах узел источник задает полный маршрут следования пакета через промежуточные маршрутизаторы.
Одношаговые алгоритмы делятся на:
алгоритмы фиксированной маршрутизации.
Все записи в таблице маршрутизации являются статическими. Администратор сети сам решает, на какие маршрутизаторы надо передавать пакеты с теми или иными адресами, например с помощью команды route занося записи в таблицу маршрутизации. Различают одномаршрутные таблицы, где всякий раз выбирается один и тот же маршрут для пакетов с одним адресом, в многомаршрутных могу т определяться несколько путей, обычно это резервные пути, фиксированная маршрутизация подходит для сетей с не очень сложной топологией, например в магистральных каналах.
алгоритмы простой маршрутизации.
В этом случае таблица маршрутизации вообще не строится, либо строится без участия маршрутизаторов. Бывает несколько видов простой маршрутизации:
Случайная маршрутизация — пакет отсылается в любом случайном направлении, исключая направление с которого он поступил.
Лавинная маршрутизация — пакет широковещательно отсылается по всем направлениям кроме исходного.
Маршрутизация на основе предыдущего опыта — выбор маршрута осуществляется по таблице, таблица строится как в алгоритме настройки отсылки кадров прозрачными мостами и коммутаторами — на основе адресов появляющихся на входных портах.
алгоритмы адаптивной (или динамической) маршрутизации.
Обеспечивают автоматическое обновление таблиц маршрутизации после изменения конфигурации сети. В таблицах маршрутизации для каждого маршрута обычно хранится время в течение которого данный маршрут может считаться действительным — время жизни маршрута. Адаптивные алгоритмы должны обеспечивать если не оптимальность то рациональность маршрута при достаточной скорости определения маршрутов и построения таблица, при этом система построения маршрутов является децентрализованной — распределённой.
Адаптивные алгоритмы делятся на алгоритмы дистанционно векторного типа и алгоритмы состояния связей.
В первом случае каждый маршрутизатор отсылает, маршрутизатор периодически широковещательно рассылает вектор, компонентами которого являются кратчайшие расстояния от данного маршрутизатора до всех известных ему сетей. Под расстоянием обычно понимается число промежуточных маршрутизаторов на пути - хопов, или время прохождения пакета от узла к узлу. Каждый маршрутизатор получая вектор с расстояниями от своего соседа наращивает полученные расстояния от сетей на расстояние до соседа, также получив данные от соседа наращивает полученный вектор о новых сетях и снова отправляет вектор, также сохраняет в своей таблице первый маршрутизатор в кратчайшем пути. Данные алгоритмы хорошо работают в небольших сетях, так как в сетях со сложной топологией и размером они засоряют трафик, также алгоритмы могут работать не всегда корректно. В случае появления нового маршрута в сети данная информация распространяется достаточно быстро, но если маршрут теряется, то данная информация распространяется очень медленно.
Грубо говоря, это связано с механизмом рассылки таблиц, в которых хранится лишь информация о том, что у маршрутизатора есть путь до какого то маршрутизатора определенной длины (причем необязательно, что данный маршрутизатор соседний), в простейшем случае даже не посылается информация о, том через какой маршрутизатор лежит данный путь. Таким образом, даже если какой то маршрутизатор отключился, то маршрутизаторы, которые непосредственно не связаны с ним, продолжают посылать информацию о, том что у них есть путь, таким образом, непосредственно связанные маршрутизаторы могут начать считать, что путь лежит через уже через те маршрутизаторы.
Наиболее распространённым протоколом использующий данный алгоритм является RIP IP, RIP IPX.
Алгоритмы состояния связей.
Обеспечивают информацией все маршрутизаторы для построения достаточно точного графа связей сети. Вершинами графа являются как маршрутизаторы, так и объединяемые ими сети, поиск маршрута может осуществляться на основе такого графа, например, по алгоритму Дейкстры.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |


