Category Archives: prace magisterskie

prace magisterskie z informatyki

Reprezentacja wiedzy inferencyjnej

[podrozdział pracy magisterskiej]

Wiedza inferencyjna w systemach ekspertowych jest związana z regułami wnioskowania. Ten rodzaj wiedzy eksploatacyjnej jest potrzebny przy roz­wiązywaniu takich problemów, jak np. diagnostyka objawowa i zadaniowa, określanie zakresu naprawy, planowanie użytkowania i obsługiwania. A więc wszędzie tam, gdzie należy podejmować decyzje.

Najbardziej rozpowszechnionym systemem reprezentacji wiedzy inferencyj­nej są bazy reguł. Istnieją programy narzędziowe, tzw. ES-Shell (Ekspert-System Shell), tworzące wyspecjalizowane środowisko programowe służące do projektowania systemów ekspertowych.

Chociaż systemy ekspertowe oparte o reguły wymagają silnego zawężenia dziedziny, to w wielu sytuacjach przedstawienie problemu w jednej bazie wiedzy prowadzi do znacznej jej nadmiarowości oraz możliwości konfliktu reguł. Dlatego też, już na etapie konceptualizacji należy przeanalizować możliwość dekompozycji problemu na względnie autonomiczne podproblemy o zróżnicowanym stopniu ogólności, którym odpowiadałyby odrębne bazy wiedzy. Modularność bazy wiedzy stwarza możliwość zanurzania modułów niższego rzędu zawierających wiedzę bardziej szczegółową w modułach wyższego rzędu zawierających wiedzę ogólną. Taka struktura bazy wiedzy jest łatwa do zaimplementowania, ponieważ programy ES-Shell mają możliwość wykonywania komend inicjujących inne bazy. Powstaje w ten sposób możliwość wielotorowości i wieloetapowości procesu konsultacji (wypracowywania porady). Każdy etap procesu konsultacji obsługiwany jest przez odrębny, specyficzny moduł bazy wiedzy wybierany w zależności od danych dostarczanych przez użytkownika i wcześniejszego przebiegu konsultacji.

Z metodologicznego punktu widzenia atrakcyjnym sposobem podejmowania decyzji w przemyśle jest oparcie ich na systemach ekspertowych. Takie systemy pozwalają na doskonalenie wnioskowania w oparciu o tworzone bazy wiedzy, wykorzystujące wiedzę heurystyczną (operatorską), wiedzę proceduralną (modele matematyczne, algorytmy identyfikacji) oraz wiedzę symulacyjną. Systemy ekspertowe maja swoje zastosowanie najczęściej w dziedzinach, które są słabo sformalizowane, tzn. do których trudno jest przypisać teorie matematyczne i zastosować ścisły algorytm działania. Przeciwieństwem są dziedziny, dla których istnieją algorytmy numeryczne. W takim przypadku stosowanie systemów ekspertowych nie jest celowe, gdyż programy algorytmiczne są na ogół znacznie szybsze i doprowadzają do optymalnego rozwiązania, a systemy ekspertowe prowadzą najczęściej do rozwiązań nie koniecznie optymalnych, lecz akceptowalnych przez użytkownika systemu. Zadania systemu ekspertowego w zakresie eksploatacji wynikają z potrzeb użytkownika i można je podzielić na następujące grupy: uczenie, informowanie, doradzanie.

Uczenie jest ukierunkowanym przekazywaniem informacji, być może ze wstępnym testowaniem stopnia ich rozumienia. Wymagana jest tu możliwość wyboru przez użytkownika różnych ścieżek i tempa uczenia w zależności od jego indywidualnych predyspozycji i posiadanej wiedzy. Informowanie jest genero­waniem odpowiedzi na predefiniowane grupy zapytań. Doradzanie jest proce­sem obejmującym wspomaganie przy precyzowaniu problemu oraz generowanie i testowanie hipotez wyjaśniających i operacyjnych (działaniowych). Na przy­kład, przy wystąpieniu zaburzeń funkcjonowania maszyny, wspomaganie obejmuje: pozyskanie od użytkownika precyzyjnej specyfikacji problemu wraz z kontekstem, wygenerowanie diagnozy, tj. postawienie hipotez odnośnie do przyczyn, zaproponowanie określonych działań regulacyjnych lub napraw­czych, ewentualnie dalszych działań sprawdzających.

Powstania programu Joomla!

praca magisterska z 2008 roku

W latach dziewięćdziesiątych. ubiegłego wieku firma Sun Microsystem uważała, że „sieć to komputer”. W tym samym czasie Microsoft uprawiał taką politykę, by system Windows znalazł się na dysku każdego komputera. Filozofię, którą można scharakteryzować jako „moje”.[1]

Motywacją powstania tych filozofii były względy ekonomiczne – Microsoft sprzedawał oprogramowanie dla komputerów z myślą o indywidualnych klientach, firma Sun z kolei sprzedawała sprzęt i programy dla przedsiębiorstw.

Internet powstał w latach 60. ubiegłego wieku, lecz dopiero po 30 latach zaczął się rozprzestrzeniać w szalonym tempie. Rozwój Internetu wzrastał dzięki językowi HTML (ang. HyperText Markup Language), w którym pisało się strony internetowe. Osoba, która nie posiadała adresu e-mail stawała się nieosiągalna, a firma bez strony WWW okazywała się nie tylko przestarzała, ale traciła także szacunek w oczach klientów. Nowi obywatele sieci pochodzili za świata, w którym rządziły dwie filozofie – „moje” i „nasze”. Ci pierwsi kupowali edytory HTML, by móc tworzyć strony

WWW, ci drudzy pisali kod własnoręcznie w prostych edytorach tekstu. Zaczęły powstawać agencje internetowe, w których można było zamówić strony internetowe. Wszystkie te grupy, które tworzyły strony internetowe, napotykały ten sam problem – strony napisane w HTML były statyczne, a zmiana zawartości strony wymagały poprawek na dysku twardym, wgrywania strony na serwer. Było to rozwiązanie niewygodne i nieekonomiczne oraz bardzo ograniczało tworzenie zaawansowanych projektów. Zaczęto tworzyć programy mające na celu automatyzację tych procesów. Takie strony zawierały interaktywne elementy w stylu licznika odwiedzin. Zaczęto tworzyć aplety Java, które były używane do obsługi interakcji aplikacji internetowych niemożliwych do osiągnięcia za pomocą HTML-a. Takie rozwiązanie pozwalało tworzyć bardziej zaawansowane projekty, jak na przykład internetowa rezerwacja biletów lotniczych. Rezultatem starań był rynek, na którym dochodziło do prezentacji coraz to nowszych wersji przeglądarek internetowych, co świadczyło o ogromnym potencjale tkwiącym w internetowym rynku.

Kolejnym przełomem było stworzenie nowego języka skryptowego PHP przez duńsko-grenlandzkiego informatyka Rasmusa Lerdorfa. Ten ambitny programista przyjął sobie za cel stworzenie interaktywnych elementów na swojej stronie domowej i w ten oto sposób powstał nowy język programowania. Od samego początku język ten był zintegrowany z bazą danych MySQL, był wspierany przez serwer sieciowy Apache, który zapewniał odpowiednią infrastrukturę do prawidłowego działania. W niedługim czasie zestaw Linux, Apache, MySQL oraz PHP stały się synonimem interaktywnej, opartej na bazach danych zawartości internetowej, która była wyświetlana za pomocą przeglądarki internetowej.

Początki były trudne, a nowa technologia zrozumiała dla nielicznych. Jednak bardzo szybko kod źródłowy języka PHP oraz innych aplikacji został ulepszony, ponieważ korzystało z niego wielu użytkowników i twórców. Powstawały nowe standardy oprogramowania służące do konkretnych celów, dla przykładu – phpBB to darmowa aplikacja umożliwiająca stworzenie forum dyskusyjnego. Dzięki prostej instalacji, obsłudze i ogromnym możliwością phpBB jest obecnie jednym z najpopularniejszych skryptów tego typu na świecie. phpMyAdmin to napisane w języku PHP narzędzie służące do łatwego zarządzania bazą danych MySQL.

Otwartość projektu zadecydowała o jego sukcesie. Statyczne strony HTML są uważane za przeżytek, wszystko musi być dynamiczne! Rozpoczęły się poszukiwania profesjonalnych aplikacji PHP o następujących cechach[2]:

  • prosty proces instalacji,
  • modyfikowalność kodu źródłowego,
  • bezpieczeństwo kodu źródłowego,
  • środowisko przyjazne dla użytkowników,
  • prostota w rozszerzaniu możliwości.

Wszystkie te cechy posiadał system Mambo opracowany w 2001 roku przez australijską firmę Miro [3]. System ten w celu przeprowadzenia testów został udostępniony w formie otwartego oprogramowania (ang. open source), co miało znaczący wpływ na jego dalszy rozwój. W 2002 roku produkt został podzielony na wersję komercyjną i ogólnodostępną. Wersja komercyjna nosiła nazwę Mambo CMS, a wersja ogólnodostępna Mambo Open Source (MOS). Dzięki temu projekt nadal mógł się rozwijać, a pojawienie się wersji komercyjnej gwarantowało zwiększony poziom bezpieczeństwa używania systemu oraz gwarancję firmy Miro na rozwijanie się danego produktu. Wersja darmowa miała całą rzeszę użytkowników – programistów, którzy bezustannie wprowadzali poprawki. Ponadto duże przedsiębiorstwa mogły budować na podstawie Mambo swoje własne rozwiązania.

W sierpniu 2005 roku firma Miro zakłada fundację dla projektu Mambo, która wyklucza zespół tworzący oprogramowanie z działalności korporacji. Rozpoczęły się zaciekłe dyskusje na forach społeczności na temat tego posunięcia. Powodem konfliktu była zmiana w licencji Mambo, która wprowadziła kilka istotnych ograniczeń do systemu. Fundacja z dnia na dzień zaczęła tracić zespół twórców oraz olbrzymią, międzynarodową społeczność składającą się z setek tysięcy wściekłych użytkowników. Ciągle trwał rozwój obydwu projektów, a 26 sierpnia Mambo Fundation wypuszcza kolejną wersję Mambo 4.5.3, lecz nie zostaje ona pozytywnie przyjęta na świecie.

Zespół twórców potrzebował nowej nazwy dla swego dzieła. Pierwszego września 2005 roku ogłoszono nową nazwę – Joomla!. Tym razem jednak zespół zapewnił sobie prawa do używania nazwy, a także dał społeczności możliwość zmiany istniejących serwisów stworzonych w Mambo na nową wersję. Praktycznie od razu na nowym forum zarejestrowało się 8 tysięcy użytkowników. Już w niespełna w miesiąc od pierwszego wydania, w październiku, podczas Linux & Open Source Awards w Londynie Joomla! wygrał w kategorii: „Najlepszy projekt Linux/Open Source”.

[1] Graf H., „Joomla! System zarządzania treścią.”, Helion, Gliwice 2007

[2] Linderman M., Fried J., “Przyjazne witryny WWW”, Helion, Gliwice 2005

[3] Graf H., „Joomla! System zarządzania treścią.”, Helion, Gliwice 2007

Decyzyjne modelowanie matematyczne systemu eksploatacji

Ogólna koncepcja modelowania systemu eksploatacji została przedstawiona w rozdziałach poprzednich. W rozdziale tym rozbudowano tę koncepcję przede wszystkim na podstawie wniosków wynikających z rozważań dotyczących prakseologicznego ciągu systemów [14].

Typowy schemat sytuacji matematycznego modelowania decyzyjnego przedstawiono na rys. 5.4.

Zgodnie z przedstawionym na rys. 5.4. schematem, budując matematyczny model decyzyjny wybranego systemu należącego do ciągu prakseologicznego należy uprzednio:

  • wybrać zasadę racjonalności, na podstawie której ustalimy kryterium modelu,
  • określić intuicję potrzeb, dla których model jest budowany (umożliwi to nam określenie dziedziny modelu, jego relacji założeń oraz najbardziej istotnego problemu decyzyjnego).
  • ustalić istotne parametry systemu oraz założenia metamodelowe (do założeń metamodelowych zaliczymy w szczególności te, zgodnie z którymi modelowany system traktujemy deterministycznie, stochastycznie lub growo).

Rys.5.4. Schemat sytuacji matematycznego modelowania decyzyjnego [14]

Koncepcję modelowania systemu przedstawioną na rys. 5.4. możemy zrealizować tylko wtedy, gdy poszczególne bloki tego schematu zostaną uprzednio wypełnione. Poniżej przedstawiona jest koncepcja wykorzystania do tego celu właściwości prakseologicznego ciągu systemów [14].

Niech będzie dany prakseologiczny ciąg systemów, którego fragment przedstawiono na rys. 5.5. Niech system Si, należący do tego ciągu, będzie tym systemem, dla którego mamy zbudować MMD. Bezpośrednie otoczenie systemowe systemu Si, niech stanowią systemy Si-1 oraz Si+1. Przyjmijmy, że z punktu widzenia modelowania systemu Si każdy z tych systemów charakteryzuje się zbiorem istotnych parametrów odpowiednio Xi, Xi-1 oraz Xi+1.

Rys. 5.5. Modelowany system oraz systemy ograniczające go

 

Koncepcję blokowego formułowania problemu decyzyjnego dotyczącego modelowania systemu Si można przyjąć w postaci następującej. Wyznaczyć takie X*i które spełni warunki:

1) Gi,i-1(Xi, Xi-1, Xi+1), miara jakości (kryterium);

2) Gi-1(Xi-1, Xi), ograniczenia potrzeb;

3) Hi+1(Xi+1, Xi), ograniczenia możliwości;

4) Mi(Xi, Xi-1, Xi+1) ograniczenia wewnętrzne.

Uwagi do przedstawionego schematu blokowego problemu decyzyjnego są następujące:

1) Miarę (wskaźnik) jakości albo kryterium podejmowania decyzji dla systemu modelowanego ustala się zawsze z punktu widzenia systemu za­bezpieczanego przez system modelowany.

2) Zbiór rozwiązań definiują ograniczenia przyjęte w modelu. Mogą to być ograniczenia tylko trojakiego rodzaju: kumulowane ograniczenia od systemu poprzedzającego w ciągu system modelowany, kumulowane ograniczenia od systemu następującego w ciągu po systemie modelowanym oraz ograniczenia wewnętrzne systemu modelowanego.

3) Wyróżnione kryterium jakości podejmowanych decyzji (1)  oraz ograniczenia (2), (3) i (4) są blokami problemu decyzyjnego.

4) Istotnym etapem modelowania decyzyjnego systemów eksploatacji powinno być blokowe formułowanie problemów decyzyjnych.

Z tego, co powyżej stwierdzono, można wyciągnąć praktyczne wnioski dotyczące poszukiwania zasad racjonalności, intuicji potrzeb oraz parametrów modelowanego systemu. Pozostaje jeszcze zaproponować koncepcję przyjmowania tzw. założeń metamodelowych. Założenia te dotyczą w praktyce zależności modelowanego systemu od czasu, od losu i od sytuacji decyzyjnej.

Przyjmując, że model systemu jest deterministyczny, zakładamy, iż wszyscy utajeni kierownicy tego systemu nie zakłócają rzeczywistego procesu kierowania.

Przyjmując, że wszyscy kierownicy systemu są zgodni, zakładamy, że nie działają oni w sytuacji growej.

Przyjmując, że właściwości modelowanego systemu nie zmieniają się z czasem oraz że kierowanie tym systemem nic zależy od czasu, zakładamy, iż wszystko dzieje się statycznie.

Tymczasem rzeczywisty system eksploatacji nie jest ani statyczny, ani deterministyczny, ani bezkonfliktowy. Dlatego też trzeba ze szczególną uwagą przyjmować wyróżnione tu założenia metamodelowe.

Dla przypadku, gdy problem decyzyjny dotyczy optymalizacji parametrów wybranego systemu kierowania, dokonuje się tzw. rozwinięcia prakseologicznego struktury kierowania tego systemu. Rozwinięcie to polega na tym, że dla systemu SK ustalamy jego bezpośrednie otoczenie systemowe składające się z systemu nadrzędnego SN i systemu roboczego SR. W każdym z tych systemów określamy zbiory istotnych parametrów wpływających na wartość wskaźnika jakości systemu optymalizowanego (rys. 5.6.) [14].

Rys. 5.6. Rozwinięcie prakseologiczne struktury systemu kierowania eksploatacją dla potrzeb matematycznego modelowania decyzyjnego [14]

 

Blokowe sformułowanie problemu decyzyjnego w tym przypadku możemy przedstawić następująco:

Wyznaczyć takie X*SK, które spełni następujące warunki:

1) GSRD,SK(X*SK, YSRD, YSRI)= ekstr GSRD,SK (XSK, YSRD, YSRI);

2) GSRD(XSK­, YSRD);

3) HSRI(XSK, YSRI);

4) MSK(XSK, ZSNI, ZSND).

Zauważmy, że warunek (1) definiuje X*SK za pomocą zbioru XSK a warunki (2), (3), (4) definiują zbiór XSK.

Sposoby rozwiązywania problemów w systemach ekspertowych

Systemy ekspertowe można podzielić na dziesięć kategorii [21]:

  1. Systemy interpretacyjne;
  2. Systemy prognostyczne;
  3. Systemy diagnostyczne;
  4. Systemy projektujące;
  5. Systemy planujące;
  6. Systemy nadzorujące;
  7. Systemy sterujące;
  8. Systemy do analizy i usuwania uszkodzeń;
  9. Systemy napraw;
  10. Systemy uczące.

Można wyróżnić dwie podstawowe grupy metod rozwiązywania problemów w systemach ekspertowych:

  1. słabe (bazowe ) metody rozwiązywania problemów,
  2. mocne metody rozwiązywania problemów.

Przykładami bazowych metod rozwiązywania problemów są na przykład:

  • systemy logiczne,
  • reguły,
  • ramy z mechanizmami dziedziczenia.

Dla eksploatacji największe znaczenie mają metody diagnostyczne. Diagnostyka heurystyczna jest stosowana do rozwiązywania problemów w przypadku których posiada się wiedzę określającą, jakie symptomy lub kombinacje symptomów wskazują z określonym stopniem niepewności na diagnozy pośrednie lub ostateczne. Podstawowymi typami obiektów są tu symptomy (cechy) i diagnozy (rozwiązania) oraz reguły postaci: cecha x wskazuje na rozwiązanie ze stopniem niepewności x. Jest wybierane rozwiązanie które osiąga najwyższą ocenę sumaryczną na podstawie zaobserwowanych cech. Diagnostyka heurystyczna różni się tym od pewnej diagnostyki, że jest wykorzystywana niepewna wiedza, i od diagnostyki statycznej tymże stopnie niepewności są szacowane przez ekspertów zamiast obliczania ich na podstawie wielu przypadków rzeczywistych.

Diagnostyka pokrywająca nadaje się do rozwiązywania problemów, w przypadku których rozwiązania relatywnie niezawodnie wywołują określone skutki. W porównaniu do reguł heurystycznych „cecha wskazuje na rozwiązanie” można tu zazwyczaj łatwiej podać reguły , ale trudniej je wykorzystać.

Na rysunku 7.3. przedstawiono zestawienie mocnych metod rozwiązywania problemów.

Rys.7.3. Mocne metody rozwiązywania problemów w systemach ekspertowych [21]

Diagnostyka funkcjonalna może być zastosowana do wyszukiwania uszkodzeń w systemach, których normalne a także wadliwe działanie można opisać za pomocą sieci komponentów i czynników oraz ich normalne i wadliwe działanie można wyjaśnić na podstawie zachowania tych komponentów i czynników.

Diagnostyka statystyczna nadaje się do rozwiązywania problemów diagnostycznych, dla których istnieje duży reprezentatywny zbiór prawidłowo rozwiązanych przypadków. Jej dużą zaletą jest obiektywność wiedzy. Wadą diagnostyki statystycznej jest konieczność spełnienia wielu warunków dla jej zastosowania (niezależność cech, zupełność zbioru rozwiązań, reprezentatywność zbioru przypadków).

Diagnostyka przez porównywanie przypadków jest stosowana wówczas gdy istnieje duży zbiór przypadków z konkretnymi rozwiązaniami i dodatkową wiedzą, przede wszystkim na temat relatywnej wagi cech.

System okablowania strukturalnego MOD-TAP

Spośród wielu systemów okablowania strukturalnego, do zastosowania w okablowaniu sieci komputerowej w ZAP S.A. Ostrów Wlkp. zostały wybrane produkty firmy Mod-Tap i Alcatel dla połączeń miedzianych. Na powyższy wybór wpłynęły następujące elementy:

  • uniwersalność i dostosowanie produktów do transmisji z częstotliwością do 100Mhz,
  • całkowita zgodność ze standardami komunikacyjnymi, sieciowymi i niskonapięciowymi oraz całkowita niezależność od producentów urządzeń aktywnych,
  • pełna gwarancja, że użytkownik będzie korzystał bez zakłóceń z przekazywania danych,
  • wieczysta gwarancja na wszystkie elementy,
  • wysoki udział na polskim rynku oraz szeroka i łatwa dostępność produktów Mod-Tap oraz literatury na temat instalatorstwa tego systemu,
  • produkty Mod-Tap w istniejącej sieci zakładowej; kabel UTP kat5. Mod-Tap.

Okablowanie poziome

Okablowanie poziome to część okablowania od wyjścia użytkownika (np. puszka) do zakończenia w punkcie rozdzielczym. Następujące elementy wchodzą w skład segmentu :

  • adapter (w razie potrzeby) dla konwersji złącza danego urządzenia na interfejs modularny,
  • kable stacyjne prowadzone między urządzeniem końcowym a interfejsem użytkownika,
  • interfejs użytkownika dla sieci kablowej (gniazdko ścienne),
  • nośnik sygnału (medium transmisyjne) kabel UTP, STP, koncentryczny, światłowodowy,
  • przewody i kable krosowe używane w szafie rozdzielczej.

 Zalecane odległości

W okablowaniu poziomym maksymalna długość przebiegu kabla wynosi 90m, pomiędzy interfejsem użytkownika (gniazdko na ścianie) i punktem rozdzielczym (szafa rozdzielcza). Całkowita długość kabla pomiędzy terminalem a sieciowym sprzętem komputerowym nie powinna przekroczyć 100m. Maksymalna długość kabli krosowych wynosi 6m, przy czym łączna długość kabla stacyjnego i krosowego może mieć maksymalnie 10m (rys. 2.21., tabela 2.4.).

Tabela 2.4. Zalecane odległości

Maksymalna długość Zalecana przez MOD-TAP
A = nie więcej niż 6m. A = nie więcej niż 6m.
A + C = 10m (łącznie) A + C = 10 m (łącznie)
B = 90m B = 60m.
C = 100m D = 70m

Topologia

Układ gwiaździsty lub drzewiasty (hierarchiczna gwiazda ) zalecany jest jako topologia okablowania poziomego, gdyż w ten sposób będzie można poprowadzić kabel od każdego użytkownika bezpośrednio do szafy rozdzielczej.

Sekwencje

Zalecaną sekwencją połączeń kabli w nowych instalacjach, w których stosuje się kable UTP jest sekwencja T568B, stosuje się tu standardowe 8-pinowe gniazdo modularne lub wtyczkę RJ45.

Tabela 2.5. Kod kolorowy dla kabla 4 parowego UTP

Pin EIA/TIA 568B Kolor
1 T2 pomarańczowo-biały
2 R2 pomarańczowy
3 T3 zielono-biały
4 R1 niebieski
5 T1 niebiesko-biały
6 R3 zielony
7 T4 brązowo-biały
8 R4 brązowy

 Ogólne zalecenia

Przy instalowaniu systemu okablowania strukturalnego istnieją zalecenia, które należy uwzględnić w każdym środowisku:

  • kable powinny być wprowadzane i wyprowadzane z głównych tras przebiegu pod kątem 90o zaś promienie ich zgięć w kanałach powinny być zgodne z zaleceniami,
  • przebieg kabli, biegnący w otwartej przestrzeni należy zamocować co 1,25-1,5m, eliminując niepotrzebne dodatkowe obciążenie kabli ich ciężarem własnym, które może wywołać w kablach szkodliwe naprężenia; należy stosować odpowiednie elementy podtrzymujące kable: rynny kablowe, korytka, dla zapewnienia stałego podtrzymania kabli,
  • instalując kable należy sprawdzić czy nie są naprężone na końcach i na całym swoim przebiegu; na otwartej przestrzeni powinny być umieszczane w jednej płaszczyźnie, nie wolno owijać kabli dookoła rur, kolumn itp.,
  • na trasie przebiegu kabli od punktu rozdzielczego do gniazda użytkownika nie dopuszczalne są dodatkowe połączenia w kablu typu mostki czy lutowanie,
  • ustalając trasę przebiegu kabla należy zachować następujące odległości od źródeł zasilania:
  • 15cm od przewodów elektrycznych 2KVA lub mniej,
  • 30cm od wysokonapięciowego oświetlenia (świetlówki),
  • 90cm od przewodów elektrycznych 5 KVA lub więcej,
  • 100cm od transformatorów i silników.

Nie dotyczy to kabli światłowodowych.

Okablowanie pionowe

Okablowanie szkieletowe (pionowe) to wszystkie kable, które prowadzone są pomiędzy głównym punktem rozdzielczym (dystrybucyjnym) i oddalonymi punktami pośrednimi. Najczęściej kabel taki prowadzony jest pionowo między piętrami w budynku wielopiętrowym. Okablowanie pionowe składa się z następujących elementów:

  • sprzęt końcowy na każdym końcu trasy przebiegu kabla (tablica rozdzielcza, łączówki),
  • kable łączą punkty rozdzielcze. Nośnikiem może być: UTP, STP, koncentryk, światłowód.

Maksymalną długość osiąga się stosując światłowód – 2000m.

Okablowanie między budynkami

Wyróżnia się trzy rodzaje połączeń między budynkami:

  • fizyczne – miedź i światłowód,
  • niefizyczne – mikrofale, podczerwień,
  • dzierżawione – połączenia dzierżawione.

Metody układania kabla:

  • napowietrzna – wymusza określoną odległość między budynkami połączonymi bezpośrednio max. 30m, gdy instalowane będą lekkie kable światłowodowe dielektryczne max. 90m, jeżeli kabel nie zawiera w sobie konstrukcji nośnej należy zamontować żyłę nośną, do której montujemy kabel,
  • podziemna – instalowane w kanałach ziemnych lub bezpośrednio w ziemi na głębokości min. 60cm pod powierzchnią gruntu, powinny być zabezpieczone przed działaniem wód gruntowych.

Topologia i okablowanie

Architektura sieci w ZAP S.A. Ostrów Wlkp. jest uwarunkowana standardem sieci Ethernet oraz zastosowanym okablowaniem, oparta jest na topologii gwiazdy hierarchicznej – okablowanie użyte w tej topologii to:

Kabel skręcany UTP 5 kat. 4 parowy- zainstalowany za pomocą spinek przybitych do ściany w dziale transportu , w korytkach instalacji kablowych w budynku przemysłowym, administracyjnym i dyrekcji oraz w rurkach ochronnych PCV na zewnętrznych ścianach budynków i w przestrzeni wolnej między budynkami administracyjnym a budynkiem dyrekcji jest podwieszony do linki stalowej. W kanale podziemnym między budynkiem administracyjnym a przemysłowym.

Uwaga: połączeń zewnętrznych między budynkami nie powinno się realizować za pomocą niekranowanego kabla skręcanego.

Enhanced PRCA (EPRCA)

[1, 3, 4, 11]

Omówiony wcześniej algorytm PRCA okazał się zbyt wolny. Sprzężenie zwrotne używane w algorytmie PRCA mówiło tylko o braku wystąpienia przeciążenia i pozwalało na zwiększenie prędkości przez źródło. Ustalanie optymalnej prędkości związane było z koniecznością wysłania kilku komórek zarządzających. Algorytm EPRCA powstał przez połączeni algorytm PRCA i algorytmu typu explicit-rate,(tzn. algorytmu używającego sprzężenia zwrotnego przenoszącego więcej informacji. np. aktualna prędkość, prędkość optymalna). Zasada działania algorytmu jest następująca:

Źródło wysyła wszystkie komórki z danymi,  z ustawionym bitem EFCI=0. Komórka zarządzająca RM jest wysyłana co n komórek danych. Komórka RM zawiera aktualną prędkość CCR(current cell rate)), prędkość docelową ER(explicit rate) i bit informujący o przeciążeniu CI (congestion indication). Źródło ustawia wartość ER  na swoją maksymalną dozwoloną prędkość PCR(peak cell rate) i ustawia bit CI=0.

Przełącznik oblicza współczynnik fairshare, czyli optymalne pasmo przepustowe dla danego połączenia  i jeżeli potrzeba to redukuje wartość ER w powracającej komórce RM do wartości fairshare. Używając ważonej średniej potęgowej obliczamy dozwoloną średnią przepływność bitową MACR (mean allowed cell rate), współczynniki fairshare przyjmuje część wartości obliczonej średniej.

MACR = (1 – a) MACR – aCCR

Fairshare = SW_DPF x MACR

gdzie, a jest współczynnikiem (rzędem) średniej potęgowej, SW_DPF jest mnożnikiem (zwanym współczynnikiem switch down pressure) bliskim, ale poniżej jedności. Sugerowane wartości dla a to 1/16 a dla SW_DPF to 7/8.

Źródło zmniejsza aktualną prędkość nadawania ACR po każdej nadanej komórce:

ACR = ACR x RDF

gdzie, RDF jest współczynnikiem redukcji.

Jeżeli źródło odbierze powrotną komórkę zarządzającą RM (nie mającą ustawionego bitu CI) zwiększa prędkość nadawania:

jeżeli CI = 0 to ACR = min(ACR + AIR, ER, PCR)

gdzie, AIR jest współczynnikiem zwiększenia.

Odbiorca monitoruje także bit EFCI w komórkach danych i jeżeli ostatnio odebrana komórka miała ustawiony ten bit, odbiorca ustawia bit CI w generowanej komórce zarządzającej RM.

Przełącznik oprócz ustawienia prędkości ER może także, jeżeli długość jego kolejki przekroczy ustalony próg ustawić bit CI w powracającej komórce RM.

Wybór metody kontroli przeciążenia

[1, 2, 3, 4, 7, 10, 11, 12]

Wybór metod kontroli przeciążenia jest obecnie największym problem organizacji ATM Forum, zajmującej się standaryzacją ATM. Istnieje kilka sprzecznych podejść do kontroli przeciążenia w sieci ATM, które  prowadzą do powstawania różnych metod kontroli przeciążenia. Niektóre podejścia po długich rozważaniach zostały zatwierdzone, inne są ciągle dyskutowane i otwarte na nowe rozwiązania. Przedstawię teraz kilka różnych proponowanych podejść do metod kontroli przeciążenia.

  1. algorytm typu credit-based czy typu rate-based?

W idealnych warunkach algorytm typu credit-based gwarantuje zerową stratę komórek na wskutek przeciążenia, podczas którego długość kolejki nie może wzrosnąć powyżej danych kredytów. Metoda typu rate-based nie może zagwarantować straty komórek. Podczas przeciążenia, istnieje możliwość zbyt gwałtownego wzrostu kolejki w buforze i jego przepełnienie, powodując utratę komórek. Algorytm credit-based pozwala także na bardzo szybkie osiągnięcie maksymalnego wykorzystanie pasma przez kanały wirtualne, w odróżnieniu od algorytmów typu rate-based, które potrzebują kilku lub kilkunastu komórek zarządzających do pełnego wykorzystania pasma. Jednak algorytm credit-based wymaga osobnej kolejki (bufora) w przełączniku dla każdego wirtualnego kanału (dotyczy to również nieaktywnych VC), co czyni ten algorytm bardzo skomplikowanym w realizacji.

ATM Forum po długich debatach zaakceptował algorytmy typu rate-based, a odrzucił tymczasowo credit-based. Głównym powodem odrzucenia algorytmu credit-based była konieczność implementacji osobnej  kolejki, która okazała się na razie zbyt skomplikowana i droga.

  1. Open-loop czy close-loop

W metodzie typu close-loop nadawca dostosowuje swoją prędkość na podstawie informacji z otrzymanego sprzężenia zwrotnego. Metoda typu open-loop nie potrzebują sprzężenia zwrotnego między nadawcą a odbiorcą, przykładem takiej metody jest rezerwacja.

Metoda typu close-loop jest za wolna w obecnych szybkich sieciach o dużym zasięgu, czas jaki upłynie zanim źródło odbierze sprzężenie zwrotne jest zbyt długi i tysiące komórek może zostać straconych. Z drugiej strony, jeżeli już wystąpi przeciążenie i trwa ono długo, to rozładowanie przeciążenia może nastąpić tylko poprzez wysłanie żądania zmniejszenia prędkości do nadawcy.

Połączenie ABR  zostało zaprojektowany w celu maksymalnego wykorzystania pozostałego pasma i źródło nadające w tym połączeniu musi znać stan sieci.

  1. typ sprzężenia zwrotnego

Obecnie stosowane są dwa typy sprzężenia zwrotnego binarny i typu explicit. Binarne sprzężenia zwrotne pozwala nam tylko na poinformowaniu o występowaniu przeciążenia. Używając sprzężenia typu explicit możemy przenieś nim więcej informacji o stanie sieci, które pozwolą na szybszą reakcję na pojawiające i znikające sytuacje przeciążenia.

W większości nowych metod stosowane jest sprzężenia typu explicit, niektóre metody stosują równocześnie dwa typy sprzężenia.

ATM Forum sprecyzował format komórki zarządzającej (sprzężenia zwrotnego) dla ruchu ABR.

  1. wykrywanie przeciążenia: wielkość kolejki czy przyrost kolejki

Wykrywanie przeciążenia w buforach może odbywać się na dwa sposoby:

  • ustalenie progu w buforze, którego przekroczenie oznacza stan przeciążenia
  • mierzenie prędkości zapełniania bufora

Ustalenie progu w buforze jest najprostszym sposobem wykrywania przeciążenia, jednak metoda ta nie odzwierciedla faktycznego stanu sieci. Np. kolejka z 1000 komórek nie jest bardziej „przeciążona” niż kolejka z 10 komórkami, jeżeli dane z pierwszej kolejki wychodzą szybciej niż przychodzą, a w drugim przypadku odwrotnie. Mierzenie prędkości zapełniania bufora pozwala nam ocenić aktualny stan sieci oraz przewidzieć późniejsze zmiany.

Filtrowanie w systemie operacyjnym

Dzisiaj jeszcze trochę pracy magisterskiej o zaporach ogniowych. Miłego czytania!

Użytkownik może nie zdawać sobie sprawy, że większość wersji UNIX i serwerów Windows NT zawiera moduł filtrowania pakietów w interfejsie protokołu TCP/IP. Można korzystać z tego jako dodatku do silnej ściany ogniowej i za jego pomocą nadzorować dostęp do poszczególnych serwerów. Można także wykorzystywać ten moduł do zapewnienia dodatkowego zabezpieczenia wewnątrz sieci, bez ponoszenia kosztów dodatkowych ścian ogniowych wewnątrz firmy.

Samo filtrowanie nie wystarcza do pełnej ochrony sieci, wewnętrzne filtrowanie zapewniane przez system operacyjny nie pozawala na utworzenie całkowicie bezpiecznego środowiska. Nie można polegać tylko na filtrowaniu wbudowanym do systemu operacyjnego. Funkcje filtrujące systemu operacyjnego można użyć tylko wewnątrz sieci do zbudowania filtrów, które przepuszczają dokładnie tylko te protokoły, które zamierza się obsługiwać. Zapobiega się w ten sposób niezamierzonemu działaniu oprogramowania oraz funkcjonowaniu koni trojańskich nawet wtedy, gdy udało się komuś je zainstalować.

Podstawowe filtrowanie zapewniane w systemie operacyjnym pozwala zdefiniować kryteria, na podstawie których karty sieciowe mogą akceptować przychodzące połączenia w  oparciu o:

  • numer protokołu IP
  • numer portu TCP
  • numer portu UDP

Filtrowanie to nie dotyczy zazwyczaj połączeń wychodzących (tych, które inicjowane są na serwerze użytkownika) i jest odrębne definiowane dla każdej karty w systemie. Dla systemu Windows trzeba pamiętać o tym, że Windows NT 4 w odróżnieniu od systemu Windows 2000 nie obsługuje filtrowania ruchu wychodzącego. Typowy serwer ustawia usługi tak, aby nasłuchiwały wymienionych poniżej portów. Aby usługi te mogły pracować prawidłowo, porty te muszą być otwarte w filtrze.

Podstawowe usługi TCP.IP zazwyczaj nasłuchują na następujących portach:

Tabela 1

Port Usługa TCP/IP
7 Echo
9 Discard (porzuć)
13 Time (czas)
17 Quote of Day (Cytat dnia)
19 Character Generator (Generator znaków)

Źródło własne

Serwery internetowe najczęściej nasłuchują portów:

Tabela 2

Port Serwer
21 FTP
23 Telnet
70 Gopher
80 WWW (HTTP)
119 Net News (NNTP)

Źródło własne

Serwery plików najczęściej nasłuchują portów:

Tabela 3

Port Usługa
53 DNS
135 RPC Locator Service [1]
137 NetBios Name Service [2]
139 NetBios Session Service [3]
515 LPR [4]
530 RPC [5]

Źródło własne

Serwery pocztowe najczęściej są konfigurowane tak, aby nasłuchiwać następujących portów:

Tabela 4

Port Serwer pocztowy
25 SMTP
110 POP wersja 3
143 IMAP

Źródło własne

Przy instalowaniu innej usługi trzeba upewnić się, że ustawienia filtru serwera pozwalają nasłuchiwać portów wymaganych przez usługi – w przeciwnym wypadku usługi te nie będą działać. producent oprogramowania powinien określić, które porty są wymagane dla danej usługi. nie dotyczy to granicznych ścian ogniowych, które powinny być tak skonfigurowane, aby przepuszczać tylko wtedy usługę, jeżeli zamierza się ją świadczyć publicznie.

Konfigurację filtrowania w systemie operacyjnym należy zacząć od zablokowania wszystkich protokołów i adresów. Następnie można precyzyjnie zezwalać na usługi i dostęp do hostów, które będą je świadczyły w sieci. Należy  zabronić wszystkich prób połączeń do hostów wewnątrz sieci. Zezwalając na połączenia do wewnątrz pozwala się hakerom na uzyskanie połączenia z koniami trojańskimi lub na wykorzystywanie błędów w oprogramowaniu usług.

Zaleca się odfiltrowywanie i nie odpowiadanie na komunikaty zmiany trasy ICMP oraz echo (ping). Należy odrzucać wszystkie pakiety IP z ustawionym wyborem trasy przez nadawcę. Mechanizm ten rzadko jest używany w legalnym celu. Należy także odrzucać wszystkie zmiany pochodzące z protokołów zewnętrznego routingu (RIP, OSPF) przeznaczone dla routerów wewnętrznych. Nikt z zewnątrz sieci nie powinien przesyłać zmian RIP. Trzeba umieścić hosty z usługami publicznymi (WWW i SMTP) na zewnątrz filtrów pakietów, żeby nie pozwolić na powstawanie luk w filtrze pakietów.


[1] tylko Windows NT

[2] tylko serwery WINS

[3] tylko sieć Windows i serwery SMB/CIFS

[4] usługa drukowania TCP/IP korzysta z LPR jeżeli została zainstalowana

[5] połączenie RPC jest wykorzystywane przez usługę WinLogon w Windows NT, jak również przez wiele innych sieciowych aplikacji wyższych warstw

Budowa i składowe ściany ogniowej

Dzisiaj wracamy do pracy magisterskiej o zaporach ogniowych. Miłego czytania!

Zapora sieciowa w swej istocie jest raczej koncepcją, a nie produktem. Celem istnienia zapór jest przyznanie, bądź odmowa przyznania połączenia danemu użytkownikowi do danej usługi sieciowej. W bardziej ogólnym sensie zapora sieciowa składa się z odpowiedniego oprogramowania i sprzętu. Oprogramowanie może być typu freeware, shareware lub komercyjne. Sprzęt może być jakimkolwiek urządzeniem, na którym pracuje dany program.

Firewall zabezpiecza połączenie z Internetem w takim stopniu w jakim jest to możliwe za pomocą sprawdzania i zatwierdzania lub odrzucania prób połączenia między siecią wewnętrzną użytkownika a sieciami zewnętrznymi. Silne ściany ogniowe chronią sieć na poziomie wszystkich warstw – od warstwy łącza danych w górę do warstwy aplikacji.

Ściana ogniowa jest umieszczana na granicach sieci – w punktach, które zapewniają dostęp do innych sieci. Z tego powodu ściana uważana jest za gwaranta bezpiecznej granicy. Pojęcie gwaranta bezpiecznej granicy jest ważne, ponieważ bez niego każda stacja w sieci musiałaby samodzielnie wykonywać funkcje ściany, niepotrzebnie zużywać swoje zasoby obliczeniowe i zwiększać ilość czasu potrzebnego do połączenia, uwierzytelniania i szyfrowania danych. Ściany ogniowe pozwalają scentralizować wszystkie zewnętrzne usługi sieciowe na komputerach, które są dedykowane i zoptymalizowane pod kątem tej pracy.

Z natury rzeczy ściany ogniowe tworzą wąskie gardło między sieciami wewnętrznymi a zewnętrznymi, ponieważ cały ruch przechodzący między sieciami musi przechodzić przez pojedynczy punkt kontroli. Jest to niewielka cena, która płaci się za bezpieczeństwo. Ponieważ zewnętrzne połączenia wykorzystujące linie dzierżawione są względnie wolne w porównaniu do szybkości współczesnych komputerów, zwłoka spowodowana przez ścianę ogniową może być całkowicie pominięta.

Firewall działa w oparciu o trzy podstawowe mechanizmy:

  • filtrowanie pakietów (ang. packet filtering) polega na tym, że odrzucane są pakiety TCP/IP z nieautoryzowanych hostów i próby połączenia z nieautoryzowanymi usługami.

Translacja adresów sieciowych NAT (ang. Network address translation) polega na dokonywaniu zmiany adresu IP hosta wewnętrznego w celu ukrycia go przed zewnętrznym monitorowaniem. Mechanizm ten jest również nazywany maskowaniem adresu IP (ang. IP masquerading).

Usługi proxy – ściana ogniowa może dokonywać połączenia na poziomie aplikacji w imieniu wewnętrznego hosta, przerywane jest wtedy połączenie na poziomie warstwy sieciowej pomiędzy hostami wewnętrznymi i zewnętrznymi.

Duża część ścian ogniowych wykonuje jeszcze dwie inne usługi bezpieczeństwa.

  • szyfrowane uwierzytelnianie – użytkownicy sieci publicznej muszą udowodnić swoją tożsamość wobec ściany ogniowej zanim uzyskają dostęp do sieci wewnętrznej.

Szyfrowane tunelowanie – pozwala na ustanowienie bezpiecznego połączenia między dwoma prywatnymi sieciami za pośrednictwem publicznego medium typu Internet. Dzięki temu dwie fizycznie rozdzielone sieci mogą użyć do komunikowania się Internetu zamiast linii dzierżawionej. Tunelowanie jest także nazywane wirtualnymi sieciami prywatnymi.

Przedstawione mechanizmy wykorzystywane są do zapewnienia bezpieczeństwa we wszystkich prawie ścianach ogniowych. Aktualnie na rynku istnieją setki tego typu produktów wzajemnie rywalizujących ze sobą. Oczywiście użytkownicy mogą korzystać tylko z niektórych wymienionych wyżej funkcji za pomocą odpowiednich urządzeń lub serwerów na przykład użytkownik może mieć router filtrujący pakiety i na odrębnym komputerze serwer proxy. Wtedy albo filtr pakietów musi przepuszczać ruch do serwera proxy, albo serwer proxy musi znajdować się na zewnątrz sieci użytkownika i nie mieć ochrony zapewnianej przez filtr pakietów. Obydwa rozwiązania są bardziej niebezpieczne niż używanie pojedynczej ściany ogniowej, która wszystkie funkcje ma zgrupowane w jednym miejscu.

Architektury zapór ogniowych

Dual-Homed Host Firewall (router ekranujący)

Rysunek 1

źródło własne

Umieszczenie routera ekranującego i filtra pakietowego na komputerze z dwoma kartami sieciowymi jest najprostszym rozwiązaniem, w którym jeden komputer oddziela sieć lokalną od potencjalnych zagrożeń. Blokuje on ruch pomiędzy konkretnymi sieciami, hostami lub niektórymi portami.

Screened Host Gateway Firewall (firewall z routerem ekranującym)

Rysunek 2

źródło własne

Taka konfiguracja wymaga dodania WAN routera, który dostarcza połączenie z WAN i filtrowanie pakietów. Rozwiązanie to pozwala umieścić komputer główny z dala od sieci publicznej. Komputer główny w tym przypadku to serwer firewall z usługami proxy i dodatkowym filtrowaniem pakietów. Przerwanie bezpośredniego połączenia tego serwera z Internetem pozwala znacząco zwiększyć bezpieczeństwo.

Screened Subnet Firewall (firewall z dwoma routerami ekranującymi)

Rysunek 3

źródło własne

Firewall z dwoma routerami ekranującymi zapewnia dodatkową izolację sieci lokalnej. Oprócz routera WAN dodajemy router LAN, który kontroluje przepływ danych w sieci lokalnej. Dzięki temu, że komputer główny z Proxy Server jest umieszczony w osobnej sieci, atak ogranicza się jedynie do uderzenia na niego. Dodatkowo router LAN uniemożliwia nieautoryzowany dostęp do komputera głównego z wnętrza sieci. Oba routery mogą zostać skonfigurowane, by serwer komunikował się wyłącznie z nimi.