Modelowanie i symulacje sieci
- Przemysław Pawełczak,
- Tomasz Rogowski,
- 01.06.2004
Jak redukować koszty przy zachowaniu tej samej jakości obsługi? Jedną z metod optymalizacji jest wykorzystanie narzędzi do modelowania i symulacji sieci.
Jak redukować koszty przy zachowaniu tej samej jakości obsługi? Jedną z metod optymalizacji jest wykorzystanie narzędzi do modelowania i symulacji sieci.
Symulatory oraz narzędzia do modelowania zagadnień sieciowych wywodzą się ze środowisk naukowych oraz ośrodków naukowo-badawczych. Zapotrzebowanie na oprogramowanie tego typu dla projektantów i naukowców wynika często z braku narzędzi i środków technicznych do projektowania i testowania nowych protokołów oraz szybkiej analizy sieci. Symulatory pozwalają np. na przetestowanie sieci po rekonfiguracji lub rozbudowie, bez potrzeby realizacji kosztownego modelu fizycznego. Dzisiaj symulatory sieciowe są również coraz częściej stosowane w przedsiębiorstwach komercyjnych jako narzędzia szybkiej analizy protokołów oraz konfiguracji sieciowych. Przykładowo pozwalają one na:
- dostarczenie statystyk wykorzystania zasobów sieci, przepustowości łączy, opóźnień przy różnych parametrach obciążenia ruchem;
- określenie "wąskich gardeł" sieci;
- optymalizowanie wydajności sieci przez wykorzystanie informacji dotyczących efektywności mechanizmów sterowania przepływem, wykorzystania pasma czy narzutu protokołów.
Co dają symulatory?
Realizując i testując nowe konfiguracje sieci za pomocą oprogramowania tego typu, można uzyskać:- redukcję kosztów podstawowych (optymalizacja doboru i wykorzystania urządzeń oraz elementów sieciowych);
- poprawę wydajności operacyjnej (automatyczna, powtarzalna diagnostyka i funkcje oceny technicznej pozwalają na optymalne wykorzystanie zasobów ludzkich przy wdrażaniu projektu);
- zwiększenie produktywności biznesowej (optymalizacja: opóźnień odpowiedzi aplikacji związanych z zapytaniami klienta i serwera, czasu propagacji, transmisji oraz działania implementowanych protokołów; sprecyzowanie zatorów w pracy aplikacji oraz wspomaganie bezproblemowego wprowadzania nowych aplikacji);
- redukcję ryzyka (możliwość zamodelowania i opracowania scenariuszy ratunkowych w razie problemów lub uszkodzeń elementów sieciowych, a w związku z tym minimalizacja ryzyka wystąpienia awarii).
Bezpłatne i komercyjne
Ogólnie oprogramowanie to można podzielić na dwie grupy: oprogramowanie bezpłatne - najczęściej dystrybuowane na zasadzie Open Source, licencji GPL (General Public Licence) lub APL (Academic Public Licence) oraz komercyjne.Oprogramowanie zamieszczone w tabelach jest tylko częścią całej gamy oprogramowania do symulacji sieci dostępnego na rynku. Jak duża jest grupa protokołów i środowisk sieciowych, tak duża jest liczba dedykowanych symulatorów. Gros z nich to symulatory służące do prac badawczych i rozwojowych (głównie oparte na oprogramowaniu z otwartym kodem źródłowym i rozwijanym w ośrodkach naukowo-badawczych).
Oprogramowaniu objętemu licencją APL towarzyszy bardzo interesująca polityka producentów w stosunku do różnego rodzaju ośrodków naukowych (uniwersytetów, uczelni technicznych, laboratoriów badawczych). Coraz częściej udostępniają oni licencje edukacyjne (obniżając koszty zakupu), tworzą programy edukacyjne oraz próbują nawiązać ścisłą współpracę w celu rozwoju swojego oprogramowania.
Symulacje przed testami
Należy zdać sobie sprawę, że istnieje wiele sytuacji, kiedy administratorzy chcą usprawnić działającą sieć, a testowa rozbudowa o nowe elementy nie jest możliwa. Przykładowo, gdy usprawnienia wymaga połączenie pomiędzy oddziałami odległymi o kilkaset kilometrów, to wstępne testowanie sprzętu na tak dużych odległościach wydaje się nieekonomiczne. Również wtedy, gdy sieć ma znaczenie krytyczne dla działania przedsiębiorstwa i wszelkie testy oraz zmiany prowadzone na "żywym organizmie" są niewskazane. Tu nieocenioną pomocą będą wszelkie pakiety symulacyjne.
Wiarygodność symulacji
Wadą czy raczej immanentną cechą wszelkich symulacji (nie tylko w informatyce czy w telekomunikacji) są uogólnienia. Ponieważ bardzo trudno byłoby uwzględniać wszystkie zjawiska pojawiające się w testowanym środowisku, niektóre z nich pomija się, by uczynić symulację szybszą. Teoretycznie czyni to wynik symulacji niewiarygodnym, w praktyce jednak wprowadzenie pewnych uogólnień sprawia, że symulację można szybciej analizować, nie tonąc w gąszczu parametrów, a i wynik nie będzie znacznie odbiegał od rzeczywistości.
Niezmiernie ważnym parametrem jest czas symulacji. Przetwarzanie sieci, nawet o kilku elementach przy prostych założeniach, może zająć nawet minuty. Stąd programy te powinny być instalowane na wydajnych obliczeniowo jednostkach.
Kłopoty z przeglądem
Przegląd oprogramowania tego typu jest niezwykle trudny ze względu na liczbę istniejących obecnie protokołów sieciowych, poruszanych zagadnień, mnogość struktur, a także dynamiczne zmiany zachodzące w technologiach informatycznych (HTTP, FTP, P2P, SAN itd.) czy sieciowych (Ethernet, ATM, IP, MPLS, sieci optyczne oraz bezprzewodowe itd.). Ponadto oprogramowanie tego typu powstaje często na potrzeby konkretnych projektów badawczych i nie jest dalej rozwijane (niemniej może być one przydatne do rozwiązywania istniejących problemów sieciowych i warto o nim wspomnieć).
Istnieje wiele programów i skryptów niewymienionych tutaj, służących do symulacji tylko jednego wąskiego zagadnienia sieciowego (np. przepływu komórek pomiędzy dwoma komutatorami ATM). Nieocenioną składnicą takich programów jest np. centrum wymiany plików MATLABA (http://www.mathworks.com/matlabcentral/fileexchange ), skąd programy można ściągnąć za darmo.