Celem tego wykładu jest przedstawienie zagadnień mających wspomóc przygotowanie projektu sieci tak, aby spełniał on wymagania biznesowe klienta oraz postawione cele techniczne. W wykładzie omówione zostaną poszczególne fazy związane z przygotowaniem i wdrożeniem sieci komputerowej w firmie/organizacji. Przygotowanie projektu sieci będzie składało się z: fazy zbierania informacji na temat istniejącej struktury, aktualnych i przyszłych wymagań użytkowników, analizy zebranych informacji i stworzenia dokumentacji fazy modelowania propozycja rozwiązań dotyczących zalecanej technologii, sprzętu oraz oprogramowania (logiczny i fizyczny projekt sieci) fazy planowania stworzenie planu implementacji, określenie zasad testowania i weryfikacji. Faza zbierania informacji. W celu zaprojektowania sieci spełniającej potrzeby klienta musimy je dokładnie poznać i przeanalizować. Celem tego wykładu jest dostarczenie wiedzy pozwalającej na zidentyfikowanie tych potrzeb. Ma ona nam pomóc sformułować pytania, zrozumieć, które elementy sieci wymagają analizy, oraz stworzyć zakres dla projektu. Następnie w oparciu o zebrane informacje stworzony zostanie projekt spełniający wymagania klienta. Dla wyznaczenia potrzeb i celów klienta powinniśmy: dokonać analizy celów i ograniczeń biznesowych wynikających ze specyfiki działania firmy/organizacji, w której sieć będzie wdrażana dokonać analizy celów technicznych sieci scharakteryzować istniejące rozwiązania sieciowe w firmie/organizacji scharakteryzować oczekiwany ruch w sieci
Analiza celów i ograniczeń biznesowych. Zrozumienie celów biznesowych jest kluczowym aspektem projektu sieciowego, poprzez odpowiednią analizę pozwala przygotować projekt zgodny z oczekiwaniami klienta. W ramach tej fazy warto zapoznać się formą działalności klienta, przeanalizować rynek na którym operuje, dostawców, odbiorców, produkty i usługi świadczone przez klienta. Wiedza o działalności klienta i jego powiązaniach pozwoli zaproponować rozwiązanie wzmacniające pozycję klienta na rynku. W czasie spotkania z klientem musimy uzyskać informacje o: Strukturze organizacyjnej firmy podziale na wydziały, partnerach, przepływie informacji, zdalnych biurach, mobilnych użytkownikach, kadrze zarządzającej. Pozwoli to na identyfikację użytkowników sieci, scharakteryzowanie przepływu informacji, ustalenie decydentów, którzy będą akceptować lub odrzucać nasze propozycje. Głównym celu sieci, co musi być zrealizowane aby był usatysfakcjonowany (np. oszczędności w firmie, poprawa komunikacji z kooperantami itd.). Używanych w sieci aplikacjach ich wymaganiach oraz generowanym przez nie ruchu w sieci. Musimy ponadto ustalić w jakim stopniu nowa sieć jest krytyczna z punktu widzenia działalności klienta w jaki sposób niepoprawne działanie lub niedotrzymanie terminu wpłynie na pracę firmy. Przy projektowaniu sieci należy również uwzględnić ograniczenia biznesowe: Ograniczenia ekonomiczne projekt powinien maksymalizować korzyści płynące z budowy sieci podporządkowując się jednocześnie ograniczeniom finansowym i czasowym. Wymagania mniej krytyczne mogą być przesunięte w czasie lub wyeliminowane z projektu. Należy więc wyznaczyć obszary gdzie zmiany najmniej wpłyną na wydajność sieci, dostępność usług, bezpieczeństwo Ograniczenia społeczne projekt musi uwzględniać wpływ nowej sieci na pracowników firmy. W tym celu projektant powinien ustalić czy istnieją grupy pracowników zainteresowane porażką wdrożenia (nowa sieć może pozbawić pracy część personelu, część osób może mieć przydzielone nowe obowiązki związane z obsługą sieci projekt powinien być ukierunkowany na uproszczenie takich zadań).
Ograniczenia związane z polityką firmy np. umowy z dostawcami konkretnego sprzętu czy oprogramowania. Na koniec zbierania informacji o firmie projektant powinien wypełnić listę kontrolną czynności związanych z określeniem celów biznesowych, która powinna zawierać między innymi następujące punkty: Rozpoznano obszar działalności firmy Zapoznano się ze strukturą organizacyjną firmy Sporządzono listę celów biznesowych określając podstawowy cel projektu Klient określił najbardziej krytyczne operacje Zrozumiano kryteria klienta, które pozwolą uznać projekt za sukces oraz skutki niepowodzenia Zidentyfikowano aplikacje wymagane przez klienta Znany jest budżet projektu Ustalono terminarz projektu Przygotowano plan przeszkolenia personelu Zapoznano się z ograniczeniami socjalnymi oraz wynikającymi z polityki firmy. Analiza celów technicznych. Analiza techniczna powinna uwzględniać takie aspekty sieciowe jak: Skalowalność sieci Dostępność usług dla użytkowników Wydajność sieci Bezpieczeństwo sieci Łatwość użytkowania i zarządzania siecią Efektywność kosztową Skalowalność oznacza że projekt sieci powinien uwzględniać możliwość adaptacji sieci do rosnących potrzeb użytkowników, do zwiększania zasięgu sieci oraz zastosowania nowych pojawiających się technologii.
Klient powinien pomóc nam zrozumieć jak sieć będzie się rozwijała w kolejnych latach (jakie nowe miejsca będą dodawane, w jakim stopniu sieć będzie wykorzystywana w nowych miejscach, ilu użytkowników będzie dodawanych w kolejnych latach, czy będą pojawiały się nowe serwery). W oparciu o dostarczoną wiedzę musimy wybrać technologię, która spełni nie tylko aktualne potrzeby użytkownika, ale może być rozbudowana tak aby spełnić przyszłe wymagania. Dostępność odnosi się do ilości czasu, w którym sieć jest dostępna dla użytkowników, może być wyrażona poprzez podanie stosunku czasu prawidłowego jej funkcjonowania do czasu, w którym powinna działać (określa procentowy maksymalny możliwy czas przestojów). Dostępność sieci jest związana ze stabilnością sieci (np. poziomem błędów, czasem pomiędzy awariami) oraz często odnoszona jest do tzw. pojemności sieci, która mówi o zdolności technologii do przesyłania ruchu użytkowników. Z dostępnością sieci związane jest również pojęcie nadmiarowości, które może być użyta jako rozwiązanie gwarantujące wysoki poziom dostępności. Z dostępnością wiąże się posiadanie przez firmę planu reakcji na zdarzenia, które mogą zakłócić funkcjonowanie sieci (awarie spowodowane zdarzeniami losowymi jak np. zalanie, pożar, awarie sprzętu, błędy użytkowników). Plan taki powinien zawierać opis strategii zabezpieczenia danych oraz procedury ich odzyskiwania. Dla najważniejszych usług powinniśmy spróbować określić straty spowodowane czasem ich przestoju (np. strata wynikająca z niedostępności przez godzinę). Pozwoli to na określenie czy dla danej usługi musimy zagwarantować odpowiednią nadmiarowość i obsługę w momencie awarii. Podczas analizy wymagań technicznych w projekcie sieci powinniśmy określić wymagania klienta odnośnie wydajności sieci w tym: - pasmo przenoszenia (pojemność) wyraża maksymalną prędkość danej technologii przy przesyłaniu sygnału wyrażoną zwykle w bitach na sekundę - utylizacją procent całkowitej pojemności dostępnej dla użytkowników - przepustowość ilość bezbłędnych danych, które mogą być przesłane pomiędzy węzłami sieci (wynika z użytego pasma przenoszenia i stopnia wykorzystania sieci) - poprawność dane, które dotrą do celu powinny być takie same jak u źródła (błędy mogą wynikać ze skoków napięcia, źle wykonanych połączeń, zakłóceń zewnętrznych); miarą poprawności jest BER (bit terror rate)
- efektywność określa nadmiarowość związaną z przesłaniem danych (jest związana np. z nagłówkami dodawanymi przez protokoły wykorzystywane w sieci ) - opóźnienia użytkownicy aplikacji interaktywnych oczekują minimalnych opóźnień w odpowiedziach na ich żądania, z kolei aplikacje multimedialne wymagają minimalnych różnic w opóźnieniach kolejnych pakietów (stałość opóźnienia); opóźnienia wynikają z zastosowanej technologii i urządzeń sieciowych (np. router powoduje większe opóźnienia niż przełącznik, konfiguracja przełącznika może wpływać na opóźnienie) - czas odpowiedzi jest najważniejszym dla użytkowników parametrem, określa jak szybko użytkownik otrzymuje dostęp do żądanej informacji. Bezpieczeństwo jest jednym z ważniejszych aspektów, który musimy rozważyć przy projektowaniu sieci. Pierwszym krokiem jest określenie elementów, które muszą być chronione, ich wartości oraz straty spowodowanej ich utratą. Te elementy to sprzęt, oprogramowanie, aplikacje i dane oraz np. reputacja firmy. Przy przygotowaniu zabezpieczeń musimy wziąć pod uwagę: analizę ryzyka jak znaczące są dane klienta, jaka jest wielkość strat firmy wynikających z dostępu do danych, sekretów firmy, czy zmianę danych przez osobę niepowołaną, koszt braku dostępu użytkowników do usług i zasobów; jakie urządzenia (koncentratory, przełączniki, routery, firewall-e) używane są w sieci oraz w jaki sposób ich przejęcie wpłynie na zagrożenie sieci. Następnie tworzymy wymagania związane z bezpieczeństwem, które powinny uwzględnić: - poufność danych tak, że tylko autoryzowani użytkownicy będą mieli do nich dostęp - integralność danych polegająca na tym że tylko autoryzowani użytkownicy mogą zmieniać dane - dostępność danych i usług, powinna dostarczać nieprzerwany dostęp do ważnych zasobów - określenie dostępu zewnętrznych użytkowników (np. klientów, dostawców) do danych - określenie zasad dostępu mobilnych pracowników firmy - wykrywanie intruzów i minimalizowanie szkód przez nich wyrządzonych - zabezpieczenie kluczowych urządzeń (np.. komunikacji między routerami) - zabezpieczenie danych przed wirusami - przeszkolenie użytkowników i administratorów sieci w problemach związanych z zabezpieczeniami sieci
Przy projektowaniu sieci powinniśmy również rozważyć łatwość dostępu i zarządzania siecią. Niektórzy klienci mają dokładnie sprecyzowane cele, które mają być zrealizowane (np. możliwość monitorowania i zarządzania pracą przełączników) i wtedy powinniśmy je udokumentować oraz w projekcie uwzględnić urządzenia z takimi możliwościami. W większości przypadków w projekcie powinniśmy wziąć pod uwagę: - zarządzanie kontami mechanizmy tworzenia kont, zarządzanie uprawnieniami, monitorowanie kont - zarządzanie wydajnością analiza ruchu i zachowania aplikacji w celu optymalizacji sieci - zarządzanie awariami wykrywanie, izolowanie i usuwanie problemów, raportowanie problemów. - zarządzanie konfiguracjami zbieranie i analiza danych z urządzeń Dla sprawdzenia czy rozważyliśmy wszystkie aspekty techniczne przydatna może być lista kontrolna, w której odpowiemy na następujące kwestie: Mamy udokumentowane plany klienta dotyczące zwiększenia ilości lokalizacji, użytkowników i serwerów w najbliższych 2 latach Klient określił plany implementacji ekstranetu w celu umożliwienia kontaktu z partnerami Mamy udokumentowany wymaganą dostępność sieci (okresloną akceptowanym procentowym czasem przestojów) Mamy udokumentowaną listę aplikacji kluczowych z punktu widzenia klienta z określonym maksymalnym czasem ich odpowiedzi (np. < 100 ms) Przedyskutowaliśmy z klientem ryzyko utraty danych i propozycje zabezpieczeń Zebraliśmy wymagania dotyczące zarządzania siecią Charakterystyka istniejącej sieci. Ponieważ często przy projektowaniu sieci mamy sytuację, w której firma posiada już pewną infrastrukturę ważnym krokiem jest analiza istniejącej w firmie sieci. W tym celu musimy poznać strukturę sieci, sposób jej użytkowania, udokumentować problemy z wydajnością, występujące wąskie gardła, określić urządzenia i połączenia, które powinny być zastąpione w celu osiągnięcia celów stawianych przez klienta.
Charakterystyka istniejącej infrastruktury polega na utworzeniu map sieci, określeniu położenia urządzeń sieciowych i segmentów sieci, dokumentowaniu nazw i adresów tych urządzeń oraz stosowanej metody adresacji i konwencji nazewniczej. Dodatkowo odnotowujemy typy i długości poszczególnych segmentów oraz istniejące w każdej z lokalizacji ograniczenia architektoniczne (ściany, materiał z którego są wykonane, występowanie klimatyzacji, instalacji elektrycznej) i środowiskowe - może to mieć wpływ np. na zastosowanie technologii bezprzewodowej. Powinniśmy również scharakteryzować logiczną topologię sieci np. czy jest ona hierarchiczna czy płaska, wpływa bowiem ona na możliwości rozwoju sieci (struktura hierarchiczna jest bardziej skalowalna). Następnie określamy kondycję istniejącej sieci określamy jej parametry wydajnościowe (aktualną utylizację, ilość błędów, opóźnienia i czasy odpowiedzi dla najważniejszych aplikacji) pozwoli to zademonstrować klientowi zalety nowej sieci gdy zostanie ona zaimplementowana. Ostatnim krokiem fazy zbierania informacji jest charakterystyka ruchu w sieci. Polega ona na określeniu jaki ruch występuje w sieci, jego wielkości oraz zachowania używanych protokołów sieciowych. Techniki używane dla scharakteryzowania ruchu zawierają rozpoznanie źródeł i celów ruchu, dokumentowanie używanych aplikacji oraz protokołów. Na koniec tej fazy powinniśmy być w stanie być w stanie wykonać logiczny i fizyczny projekt sieci spełniający oczekiwania klienta. Charakterystyka powinna być oparta na analizie istniejącej sieci oraz oczekiwaniach klienta. Na scharakteryzowanie ruchu w sieci składa się: - analiza przepływu danych w sieci zidentyfikowanie kierunku ruchu (określenie czy jest dwukierunkowy i symetryczny często bowiem klienci wysyłają niewielkie zapytania, które z kolei generują duży ruch związany z odpowiedziami serwerów), określenie głównych miejsc składowania danych w sieci (serwerów, farm serwerów, miejsc składowania kopii zapasowych danych; dla analizy ruchu warto również rozważyć typ używanych w sieci aplikacji (czy są to aplikacje terminalowe, aplikacje działające w architekturze klient/serwer, aplikacje typu peer-to-peer, aplikacje multimedialne) gdyż to również ma wpływ na ruch w sieci.
- analiza obciążenia sieci pozwoli ona zaprojektować sieć o odpowiedniej przepustowości, obciążenie sieci będzie zależało od używanych aplikacji, ich typu, ilości użytkowników korzystających z tych aplikacji, długości i częstości sesji aplikacyjnych, ilości stacji roboczych działających w sieci, użytych protokołów - oprócz ruchu związanego z dostępem do usług i zasobów sieci, część ruchu związanego jest z działaniem protokołów warstw niższych od aplikacyjnej np. w postaci nagłówków porcji danych, komunikacji pomiędzy urządzeniami sieciowymi (np. protokołów routingu). - analiza zachowania ruchu w sieci czy jest to ruch o typu unicast, multicast, czy broadcast od tego może zależeć zaproponowana topologia sieci oraz np. podział sieci na podsieci (w celu zmniejszenia domen rozgłoszeniowych); czy używane protokoły wymagają mechanizmów kontroli poprawności dostarczania danych (powoduje to użycie protokołow o większej nadmiarowości). Dla sprawdzenia czy wykonaliśmy najważniejsze zadania związane ze scharakteryzowaniem ruchu w sieci przydatna jest lista kontrolna, w której odpowiemy na pytania, czy: Zidentyfikowaliśmy główne źródła i miejsca składowania danych w sieci i udokumentowaliśmy ruch pomiędzy nimi a odbiorcami danych Scharkateryzowaliśmy typy aplikacji występujące w sieci i rodzaj ruchu z nimi związany Określiliśmy przybliżoną przepustowość wymaganą przez każdą aplikację Scharakteryzowaliśmy ruch w sieci w sensie broadcast/multicast/unicast.