Я пытаюсь определить топологию сети на языке C / C ++. Цель состоит в том, чтобы проанализировать его с C / C ++ на XML и наоборот. В этой топологии (как вы видите на рисунке) маршрутизаторы связаны с интерфейсами; у каждого из них есть IP-адрес и пропускная способность.
Существуют ли классы (например, графики) или структуры для упрощения реализации топологии сети?
Топология сети — это просто график.
Наиболее популярными представлениями графа являются список / матрица смежности. Узел списка смежности имеет следующую структуру (например):
template <class T>
struct Node {
T data;
std::vector<Node*> childs;
};
Если позже вы захотите использовать графовые алгоритмы, лучше используйте матрицу смежности Смежная матрица
Существует множество хороших API синтаксического анализатора C ++ XML, смотрите: Какой анализатор XML я должен использовать в C ++?
Есть также много хороших сетевых библиотек, см .: Лучшая сетевая библиотека C / C ++