System otwarty
• Mianem systemu otwartego nazywamy dany system rozproszony w obrębie którego mogą działać urządzenia i oprogramowanie pochodzące od różnych producentów.
• System otwarty realizuje swoje zadnia za pomocą określonych funkcji
• Pogrupowane funkcje nazywa się podsystemami
• Grupy systemów otwartych wraz z ich podsystemami które oferują takie same funkcje łączy się w warstwy.
• Każda warstwa ma określone zadania do zrealizowania, jednak charakterystycznym zadaniem jakie wykonać musi każda warstwa(poza warstwą ostatnią danego systemu) jest przygotowanie danych tak aby mogły zostać one przyjęte i obsłużone przez warstwy wyższe.
Enkapsulacja
• Model OSI opisuje drogę jaka musza przebyć dane zaczynając od danych generowanych przez określona aplikację w obrębie jednej stacji roboczej a kończąc na aplikacjach stacji drugiej.
• Dane wędrując poprzez poszczególne warstwy OSI zmieniają swój format co nazywamy enkapsulacją
Zalety modelu ISO/OSI
• Wsparcie dla projektowania protokołów routingu
• Wspieranie konkurencji producentów sprzętu
• Interoperacyjność urządzeń
• Zmiana protokołu/działania jednej warstwy nie wpływa na pozostałe
Warstwa Aplikacji
• Na tym poziomie rezydują procesy sieciowe przeznaczone dla użytkowników
• Współużytkowanie plików, buforowanie zadań wydruków, poczta elektroniczna, zarządzanie bazą danych oraz wiele innych.
• Zdefiniowane są role procesów oraz aplikacje przesyłające danę przez sieć (DNS, SSH, Telnet, HTTP,SFTP)
• Wsparcie dla mechanizmów gromadzenia danych
• Architektura klient-serwer lub systemy równoważne
Role serwerów:
DNS
http
POP3 SMTP –poczta
Telnet SSH
SMB
Warstwa prezentacji
• Wsparcie dla kodów sterujących, specjalnych znaków graficznych i zestawów znaków
• Tłumaczenie danych w dół, definiowanie formatu oraz odpowiednią składnię(specyfikacja OSI-RM), aby niższe warstwy otrzymywały dane w konkretnym formacie niezależnie od aplikacji
• Jeżeli chodzi o transmisje w górę warstwa prezentacji tłumaczy dane tak aby były one zgodne z wewnętrznym systemem interpretowania znaków
• Zapewnia kompresję danych
• Konwersja kodu EBCDIC do ASCII
• Serializacja struktur danych
• Szyfrowanie danych
Warstwa sesji
• Umożliwia połączenie między aplikacjami i odpowiednią wymianę danych poprzez synchronizację tych aplikacji.
• Decyduje o nawiązaniu/przerwaniu połączenia oraz może odzyskiwać dane poprzez ponowne ich przesłanie
• Przykłady protokołów : NFS,SQL,RPC,ASP
Warstwa transportowa
• Odpowiada za logiczną komunikację pomiędzy hostami
• Zaimplementowana jest najczęściej u nadawcy i odbiorcy a nie w sieci
• Komunikacja połączeniowa i bezpołączeniowa (TCP,UDP)
• Zajmuje się przesyłanie pakietów, dba o poprawne przesyłanie i sprawdza ich jakość
• Kontrola błędów transportu
• Pozycjonuje informacje według priorytetów i przydziela im pasma do transmisji
• Określa sposób segmentacji danych pochodzących z warstwy aplikacji oraz enkapsulację wymaganą dla każdej porcji danych
• Zapewnia obsługę portów
• Może używać jednocześnie kilku aplikacji serwisu transmisyjnego
• Naprawia błędy popełnione przez warstwę sieci
• Zapewnia pewne połączenie w niepewnym środowisku sieciowym
• Zapewnia mechanizm QOS
Podmioty transmisji:
OS Kernel
User process
System libr ary
NIC
Podstawowe funkcje dla warstwy transportowej:
LISTEN
CONNECT
SEND
RECEIVE
DISCONNECT
Adresowanie :
aplikacje musza znać swoje adresy
warstwa transportowa używa numerów portów
Typy portów:
numery od 1024 do 49151 są zarejestrowane
statyczne
przypisane do konkretnej aplikacji
przydzielane dynamicznie (49.152-65.535)
Sockety to kombinacje adresu IP i numeru portu przez który komunikuje się aplikacja. Rodzaje:
BIND
LISTEN
ACCEPT
CONNECT
SEN
RECEIVE
CLOSE
Zestawienie połączenia w rzeczywistym środowisku sieciowym:
sieć może tracić duplikować lub przechowywać pakiety
obciążone sieci mogą przesyłać opóźnione ACK
występowanie zwielokrotnionych transmisji
pakiety nadchodzą w różnej kolejności
możliwość wycieku danych, utraty i podwójne obciążenie konta bankowego
Metody przeciwdziałania:
Każdy pakiet ma ustawiony czas żywotności, numer sekwencji który nie będzie ponowny użyty, ąz do czasu ukończenia żywotności pakietu, mechanizm trójstopniowego uzgadniania (nadawca i odbiorca wymieniają inf. o numerach które będą używać w transmisji).
Warstwa sieciowa
• Zajmuje się routingiem, tzn. decyduje jaka trasą fizyczną mają być przesyłane konkretne pakiety
• W tej warstwie funkcjonują pakiety
• Warstwa ta nie rozróżnia mediów transmisyjnych
• Protokół IPv4 lub IPv6 oraz inne schematy adresacji
Warstwa łącza danych
• Zapewnia niezawodność łącza oraz posiada mechanizmy naprawiające błędy ramek i pakietów tak, aby były one zgodne ze standardem (enkapsulacji pakietów warstwy sieciowej)
Warstwa fizyczna
• podstawowa warstwa, która dostarcza metod do przesłania przez lokalne medium bitów tworzących ramkę warstwy łącza danych
• Transport ramki przez lokalne medium wymaga następujących elementów warstwy fizycznej:
Medium fizyczne i odpowiednie złączki
Reprezentacja bitów w medium
Kodowanie danych i informacji kontrolnych
Układ nadawczo-odbiorczy zaimplementowany w urządzeniach sieciowych
___________________________________________________________________________
Routery - są urządzeniami pracującymi w warstwie sieci. Wykonują one następujące funkcje:
marszrutyzacja (trasowanie)
filtracja pakietów
ochrona kryptograficzna transmisji
rozszerzona diagnostyka sieci
optymalizacja przepływu
translacja protokołów
Tablica routingu –zawiera skojarzenie pomiędzy IP przeznaczenia a IP routera następnego przejścia.
routing IP jest dokonywany na podstawie kolejnych przejść
router nie zna pełnej trasy do żadnego z punktów przeznaczenia
routing jest możliwy dzięki przekazaniu datagramu do następnego routera
Routing - wielokrotne trasy
Istnienie tras wielokrotnych gwarantuje:
poprawną niezawodność sieci,
optymalizację przepływów informacyjnych.
Rozwiązanie takie wymaga jednak:
określenia sposobu odnajdywania tras łączących nadawcę z odbiorcą,
ocenę efektywności konkretnych połączeń.
Podstawową charakterystyką systemów z trasami wielokrotnymi jest ich żywotność (lifeness)
Żywotnością nazywamy cechę systemów pozwalającą na funkcjonowanie w pełnym zakresie jakościowym i ograniczonym ilościowo w przypadku uszkodzenia części jego elementów składowych.
Wysoka żywotność systemu zapewnia się poprzez nadmiarowanie: czasowe, sprzętowe, informacyjne.
Zwielakratnianie (nadmiarowanie) pozwala budować systemy odporne na uszkodzenia. Za pomocą technologii tej klasy budowane są głównie systemy newralgiczne.
Podział Protokołów Routingu:
Routing statyczny
Routing dynamiczny
Wewnętrzny: z wektorem odległości, stanu łącza
Zewnętrzny: z wektorem odległości, stanu łącza
Routing statyczny
Przewidywalny - trasa po której pakiet jest przesyłany jest dobrze znana i może być kontrolowana,
Łącza nie są dodatkowo obciążone wiadomościami służącymi do routowania,
Łatwe do skonfigurowania w małych sieciach,
Brak skalowalności
Brak obsługi redundantnych połączeń
Nieumiejętność dostosowania się do dynamicznych zmian w konfiguracji sieci
Routing dynamiczny
Skalowalność
Zdolność dostosowania się do zmian topologii sieci
Łatwość konfiguracji - nie popełniamy błędów
Większy stopień zawiłości działania sieci. Im lepiej protokół reaguje na zmiany w sieci tym bardziej skomplikowany musi być - trudności w implementacji - różnice pomiędzy sprzętem od różnych producentów
Konieczność okresowej wymiany danych to z punktu widzenia użytkownika niepotrzebne obciążenie sieci.
Kryteria oceny tras (Ponieważ określanie tras musi być wykonywane maszynowo, zastosowanie do tego celu kryteriów intuicyjnych jest niedopuszczalne. Metody oceny powinny być sformalizowane i charakteryzować się wysoką prostotą obliczeniową)
Używane dwie grupy metod: Distance vector, Link state
Ilość węzłów pośrednich przechodzonych na trasie pomiędzy nadawcą i odbiorcą.
Na podstawie tablic routingu określamy ile węzłów jesteśmy zmuszeni przejść aby dojść do odbiorcy, czyli tzw. Hopów.
Wada - hopy nie uwzględniają rzeczywistych odległości, przepustowości, łączy, uszkodzeń.
Zaleta - przy wyborze drogi o mniejszej ilości węzłów mniej węzłów będzie zaangażowanych w przesyłanie pakietu, czyli potrzebna będzie mniejsza moc obliczeniowa.
Przepustowość łączy - gdy przepustowość wybranej trasy jest większa, zwiększa się również prawdopodobieństwo, że pakiet dojdzie do odbiorcy.
Cena - wybieramy tańsze łącza (np, w przypadku dzierżawienia).
Stopa błędu - jeśli łącze przeciążone, czyli stopa błędu duża to zmiana trasy.
System autonomiczny
wydzielony administracyjnie (przez przypisanie AS-id) zbiór routerów, który realizuje ten sam protokół routingu dynamicznego
wprowadzenie AS zmniejsza wielkość tablic routingu oraz skraca czas ich wyznaczania przez protokoły routingu
wprowadzenie AS (hierarchii) jest podstawą skalowalność routingu w sieci Internet
Protokoły routingu – wymagania:
Zbieżność:
router potrzebuje czasu na znalezienie alternatywnej ścieżki w wypadku zmiany topologii sieci (np. awaria)
czas, po którym routery będą miały jednakowy "obraz" sieci jest zależny od konfiguracji (np. odstęp między periodycznie rozsyłanymi pakietami)
Czas wykrywania awarii:
łącza szeregowe: natychmiastowo (przerwa w obwodzie)
Token Ring i FDDI: od razu
Ethernet: dwa lub trzy cykle zegara "keepalive"
Brak EIGRP Hello lub OSPF Hello
Protokoły routingu
Wewnętrzne
Stosowane wewnątrz jednej domeny administracyjnej
Proste, w małym stopniu obciążają routery
Małoskalowalne
RIP (Routing Information Protocol), IGRP (Interior Gateway Routing Protocol), OSPP (Open Shorten Path first)
Zewnętrzne
Odpowiadają za wymianę informacji pomiędzy dwiema niezależnymi administracyjnie sieciami
Dają się skalować, łatwo obsługuję duże sieci
Są skomplikowane, ilość dodatkowych Informacji przesłanych siecią może szybko zablokować pracę małej lub średniej sieci
EGP (exterior gateway protocol), BGP (border gateway protocol)
Protokoły routingu wektora odległości
Każdy router okresowo wysyła do swoich sąsiadów kompletną tablicę routingu.
Każda z tras w tablicy opisywana jest przez wektor zawierający dwie informacje: kierunek oraz odległość.
Kierunek definiuje na jaki interfejs należy wysłać pakiety, aby dotarły do adesu docelowego (przeznaczenia), jest on określony przez adres następnego skoku.
Odległość zawiera zaś informację, jak daleko od routera znajduje się adres docelowy, miarą odległości najczęściej jest liczba przeskoków, jakie muszą zostać wykonane przed dotarciem do adresu przeznaczenia.
Rzadziej miarą odległości może być również czas podróży pakietu do adresu przeznaczenia lub inna wartość niezwiązana stricte z odległością, np. koszt danej drogi.
Koszt może być również określony przez administratora sieci.
Router wybiera najlepszą trasę do adresu docelowego ze wszystkich możliwych na podstawie porównania kosztu, jaki niesie ze sobą każda z tras przesyłu.
Sposób porównywania zależny jest od wybranej techniki wwyznaczania miary odległości/kosztu.
Protokoły wektora odległości są łatwe w konfiguracji.
Znajdują zastosowanie w niewielkich sieciach.
Największą wadą jest mała zbieżnośc, przez co czas reakcji na zmiany w topologii sieci, tj. awarie pewnych segmentów sieci lub dodanie nowych segmentów może być dosyć duży.
Protokoły te generują dodatkowy ruch związany ze wspomnianą cykliczną aktualizacją.
Przykładowymi protokołami wektora odległości są: RIP i IGRP
RIP - Routing Information Protocol
Wspiera IPv4
Protokół wektora odległości - wykorzystuje skoki w celu określenia najlepszej trasy
Limit skoków wynosi 15, wartość 16 oznacza cel nieosiągalny (przeciwdziała pętlom)
Uaktualnienie co 30 sekund
Wykorzystuje protokół UDP port 520
Maksymalny rozmiar pakietu 512 bajtów - 20 ścieżek
Dwie dostępne wersje:
RIP I
Pojedyncza maska dla wszystkich podsieci
Uaktualnienia wysyłane rozgłoszeniowo
RIP II
Przenosi informacje o maskach podsieci
Przenosi informacje o następnym skoku
Wysyła uaktualnienia multicastowo (224.0.0.9)
Wspiera autentykację
Wada: po 2 min. router wpisuje do swojej tablicy nową drogę do sieci
Zaleta: zmniejsza prawdp. wystąpienia zjawiska zliczania do niesk.
Protokoły routingu stanu łącza - utrzymują złożone bazy danych z informacjami o topologii, mają pełną informację o odległych routerach, najlepsza ścieżka jest obliczana przez każdy router.
Cechy, które powinien spełniać algorytm routingu dla protokołu stanu łącza:
Szybka zbieżność
Optymalizacja
Elastyczność
Skalowalność
Prostota
Odporność na błędy
Prostota i niski koszt
Stabilność
Elementy:
Algorytm STP
Drzewo SPF
Ogłoszenia LSA
Bazy danych topologii
Tablica routingu tras i portów
Param. wykorzystywane do obliczania …:
Koszt
Szerokoś pasma
Niezawodność
Obciążenie
Opóźnienie
Liczba przeskoków
Impulsy zegarowe
Algorytm Bellmana – Forda (najkrótsza ścieżka w grafie pomiędzy dwoma wierzchołkami-idea: operia się na metodzie relaksacji):
Dx(Y) = minz ∈ Y(X)(C(X,Z)+D2(Y))
Dx(Y)- odl. w X pom. X a Y
N(X)- zbiór sąsiadów Xa
C(X,Z)- odl. bezp. łącza z X do Z