TCP/IP TCP/IP (Transmission Control Protocol / Internet Protocol) jest pakietem najbardziej rozpowszechnionych protokołów komunikacyjnych sieci komputerowych. TCP/IP - standard komunikacji otwartej (możliwość komunikacji między dowolnymi typami urządzeń, bez względu na ich fizyczną różnorodność). Zwany także stosem protokołów - struktura warstwowa (ramka protokołu wyższej warstwy jest zawarta jako dane w protokole warstwy niższej).
IP Protokół IP nie posiada mechanizmów sygnalizujących błędy oraz mechanizmów umożliwiających kontrolowanie przepływu pakietów. Błędy i sterowanie - protokół ICMP. IGMP - umożliwia bardziej efektywne rozsyłanie pakietów (działa w oparciu o adresy rozsyłania grupowego).
IPv4 IPv4 - opisany w dokumencie RFC 791 (DARPA Defense Advanced Research Projects Agency 1981 r.). Wybiera optymalna trasę i przesyłania nią pakiety; W przypadku wystąpienia awarii, na którymś z połączeń protokół będzie próbował dostarczyć pakiety trasami alternatywnymi. Protokół bezpołączeniowy - w celu przesłania pakietów nie jest nawiązywane połączenie z hostem docelowym; Pakiety mogą być przesyłane różnymi trasami i składane w całość.
IPv4 Przesyłanie strumieniowe - dane protokołu IP są danymi pochodzącymi z wyższych warstw modelu ISO/OSI. Dane są enkapsulowane do postaci pakietu IP. Przy przejściu do warstwy łącza danych pakiet IP jest enkapsulowany do postaci ramki Ethernetowej. Pakiet IP składa się z nagłówka oraz danych. 32 bity (4 bajty) w rzędzie - w rzeczywistości jest to jednolity strumień bitów.
IPv4 Wersja - typ protokołu IP (4 lub 6); Rozróżnianie pomiędzy pakietami wersji 4 i 6 jest przeprowadzane już przy analizowaniu ramki warstwy drugiej poprzez badanie pola typu protokołu. Długość nagłówka - określa długość datagramu jako wielokrotność słów 32 bitowych. Typ usługi (TOS, Type-of-Service) - poziom ważności jaki został nadany przez protokół wyższej warstwy.
IPv4 Długość całego pakietu wyrażona w bajtach (długość pola danych = długości całkowitej długość nagłówka) ; Minimum 576 oktetów, maksimum 65535 (64 kb) Identyfikacja - określa numer sekwencyjnego bieżącego datagramu. Znaczniki - 3 bitowe pole; Pierwszy najbardziej znaczący - zawsze wartość 0; Drugi steruje fragmentacją (0 - pakiet może zostać podzielony na fragmenty, 1 - nie może); Trzeci bit oznacza: ostatni pakiet powstały w wyniku podzielenia (jeśli ma wartość 1).
IPv4 Przesunięcie fragmentu - 13-bitowe pole służące do składania fragmentów datagramu. Czas życia (Time To Live, TTL) - określające liczbę routerów, przez które może być przesłany pakiet; wartość zmniejszana przy przejście przez każdy router na ścieżce. Protokół - określa, który z protokołów warstwy wyższej przetwarza pola Dane. Suma kontrolna nagłówka - pozwala stwierdzić, czy nie nastąpiło, naruszenie integralności nagłówka.
IPv4 Adres IP nadawcy - 32-bitowe pole z adresem IP nadawcy pakietu. Opcje - nie występuje we wszystkich pakietach. Uzupełnienie (Wypełnienie) - pole to jest wypełnione zerami (potrzebne, żeby długość nagłówka była wielokrotnością 32 bitów). Dane - pole o długości do 64kB zawierające dane pochodzące z wyższych warstw.
IPv4 Pole protokół zależne od tego jaki protokół uformował pole danych oraz jaki powinien je przetworzyć; w nagłówku pakietu musi być to zaznaczone. 1 - ICMP (Internet Control Message Protocol) protokół komunikacyjny sterowania siecią Internet 2 - IGMP (Internet Group Message Protocol) protokół zarządzania grupami Internetowymi 6 - TCP (Transmission Control Protocol) - protokół sterujący transmisją 8 - EGP (Exterior Gateway Protocol) - zewnętrzny protokół bramowy 17 - UDP (User Datagram Protocol) - protokół datagramów użytkownika
ICMP IP nie sprawdza, czy dane dotarły do adresata (zawodny); rolę sprawdzania, czy pakiety docierają do adresata pełnią protokoły wyższych warstw; ICMP - enkapsulacja do postaci pakietów IP, a następnie do postaci ramki warstwy drugiej (integralna część danych pakietu IP). Nie rozwiązuje problemów z zawodnością IP, ale zgłasza brak łączności; powody: zbytnie obciążenie routera lub hosta (zwolnić prędkość przesyłania komunikatów) host znajduje lepszą trasę host docelowy jest nieosiągalny pole TTL pakietu jest równe 0 - wtedy router może wysłać komunikat ICMP do źródła i odrzuca pakiet.
IGMP Klient decyduje do którego kanału się podłącza i tylko te informacje otrzymuje; do tego samego kręgu zainteresowanych stacji kieruje swoje komunikaty. Transmisja grupowa (multicasting) - pakiety wysyłane są na adres grupowy IP (routery wiedzą, które komputery znajdują się w grupie); Bardziej efektywne niż transmisje kierowane (unicasting), czy też wysyłanie poprzez adres rozgłoszeniowy (broadcasting).
IPv6 Adres ma 128 bitów zamiast 32. Prawie każde pole nagłówka zmienione, niektóre usunięte. Po nagłówku podstawowym mogą znajdować sie nagłówki dodatkowe z następującymi po nich danymi. Wsparcie dla dźwięku i obrazu istnieje mechanizm umożliwiający ustanowienie ścieżki wysokiej jakości i powiązanie z nią datagramów (też wiązanie datagramów ze ścieżkami o niskim koszcie). Rozszerzalność schemat umożliwiający dodawanie informacji - elastyczność.
Adresacja IPv4 Identyfikator sieci - bity przeznaczone na identyfikację sieci, do której został przypisany dany interfejs hosta (zależny od długości maski sieciowej). Identyfikator hosta - bity przeznaczonych na adresację hosta w danej sieci. Maska sieciowa netmaska (służy do wyznaczania adresu sieciowego, musi być taki sam dla podsieci; podobnie jak adres IPv4 składa się z 32 bitów).
Adresacja IPv4 Bity na najbardziej znaczących pozycjach powinny być ustawione na 1. Liczba tych jedynek pogrupowanych w oktety decyduje o tym ile bitów z adresu będzie odpowiadało za identyfikację sieci, np. dla maski 11111111.00000000.00000000.00000000 (255.0.0.0) do zapisania adresu sieci będzie wykorzystywanych 8 najbardziej znaczących bitów adresu, zaś pozostałe 24 bity zostaną przeznaczone na adresy hostów w tej sieci. Adrersacja klasową - numery IP i maski mają ściśle określone zakresy. Adresacja bezklasowa - dozwolonym numerom IPv4 mogą być przypisane dowolne (dozwolone) netmaski.
Adresacja IPv4 Podział na poszczególne klasy adresów wynikał z próby optymalnego (na ówczesne czasy) przydzielania adresów. Adresacja z podziałem na klasy została wprowadzona w celu określenia ile bitów odpowiada za adres sieci, a ile za adres hosta. Klasa A została przeznaczona dla dużych organizacji z bardzo dużą liczbą hostów. Pula adresowa sieci zawiera się w przedziale 1-126 i stanowi połowę wszystkich dostępnych adresów; 8 bitów zostało przeznaczone na adresację sieci, Standardowa maska dla sieci tej klasy to 255.0.0.0.
Netmaski o zmiennej długości Jeśli pożyczymy 2 bity z adresu hosta z sieci 192.168.1.0 (klasa C 24 bity na adresację sieci) i przeznaczymy je na adresację sieci, to uzyskamy adres: 192.168.1.0/26, gdzie 26 oznacza maskę sieciowa z 26 bitami ustawionymi na 1 (w zapisie dziesiętnym 255.255.255.192); Można utworzyć 2^2=4 podsieci. Nadsieci - potrzebna jest większa dostępna liczba adresów przeznaczonych na hosty, które powinny być umieszczone w jednej sieci logicznej.
Uzyskiwanie adresu IP Statycznie (przydziela administrator). Dynamiczne (protokoły: ARP/RARP, BOOTP, DHCP). ARP (address resolution protocol) odwzorowuje 32 bitowy adresu IP (w IPv4) w 48 bitowy adres sprzętowy - służy do znalezienia adresu sprzętowego dla hosta o znanym numerze IP; RARP (Reverse Address Resolution Protocol) pozwala zapytywać o adres IP: jaki jest adres IP dla danego adresu MAC (istniał problem braku IP maszyny po restarcie);
Uzyskiwanie adresu IP BOOTP (Bootstrap Protocol) - zaprojektowany w celu zastąpienia protokołu RARP, ze względu na istotne braki tego ostatniego; m.in. może być używany w sieciach, w których adresy sprzętowe są przydzielane w sposób dynamiczny; DHCP (Dynamic Host Configuration Protocol) bazuje na BOOTP i jest jego ulepszoną wersją (Oprócz dostarczania adresu IP protokół DHCP został zaprojektowany również do przekazywania innych parametrów konfiguracyjnych); Alokacja ręczna adres IP dla klienta jest przydzielany przez administratora (DHCP przesyła) Alokacja automatyczna protokół DHCP przypisuje klientowi stały adres IP. Alokacja dynamiczna protokół DHCP dzierżawi klientowi adres IP na pewien ograniczony odcinek czasu.
Warstwa transportowa Warstwa transportowa - umożliwia logiczną komunikację pomiędzy aplikacjami, które zostały uruchomione na różnych hostach. Dzięki mechanizmom, które udostępniają protokoły tej warstwy, z punktu widzenia aplikacji komunikacja odbywa się tak jakby hosty były ze sobą bezpośrednio połączone.
Warstwa transportowa Komunikacja stanowa - sesja nawiązana pomiędzy klientem, a serwerem jest monitorowana przez serwer. Komunikacja bezstanowa - zakłada brak monitorowania przez serwer stanu klienta; serwer nie zapamiętuje, np. wcześniejszych odpowiedzi na żądania klienta i za każdym razem wysyła pełen zestaw danych.
Protokoły warstwy transportowej TCP (Transmission Control Protocol) oraz UDP (User Datagram Protocol) - wykorzystują protokoły warstw Internetowej i Aplikacji. Dzielą dane pochodzące/skierowane z/do wyższych warstw i wysyłają segmenty z jednego urządzenia końcowego do innego. Wybór protokołu przez aplikacje jest zależny od tego czy dana aplikacja potrzebuje sterować przepływem wysyłanych segmentów czy też ta funkcjonalność nie jest niezbędna do prawidłowego jej działania.
Protokoły warstwy transportowej Port protokołu - numery portów reprezentowane są przez liczby naturalne z zakresu od 0 do 65535; Niektóre numery portów (od 0 do 1023) są ogólnie znane i zarezerwowane na standardowo przypisane do nich usługi (np. WWW czy poczta elektroniczna). Gniazdo - zdefiniowane jest przez numer IP interfejsu oraz numer portu protokołu TCP lub UDP; Służy do odróżnienia do jakiej aplikacji przesyłane są dane; TCP i UDP dysponują niezależnymi numerami, które określają numer portu.
DNS (Domain Name System, system nazw domenowych) Wzrost liczby hostów -> wzrost obciążenia sieci i serwera związane z dystrybucją pliku. Problemy z utrzymaniem spójności pliku w zakresie unikalności nazw. Najważniejsza cechą systemu nazw symbolicznych - hierarchiczna struktura danych (decentralizacja danych zarządzania nimi -> spójność). Odporność i wydajność - dodatkowe mechanizmy powielania i buforowania danych. ICANN (Internet Corporation For Assigned Names and Numbers)
Domeny US us.szc.pl rektorat mec.univ.szczecin.pl wmf.univ.szczecin.pl fiz.univ.szczecin.pl wzieu.pl wneiz.pl sumjarocin.pl (wydział zamiejscowy) bg.univ.szczecin.pl biblioteka erk.univ.szczecin.pl rekrutacja ackj.pl centrum kształcenia językowego univ.szczecin.pl zamówienia publiczne
Serwery DNS Podstawą fizycznej realizacji systemu nazw są serwery DNS zaimplementowane w postaci specjalnych programów komputerowych. To jak zostanie skonfigurowany dany serwer zależy przede wszystkim od przechowywanych danych oraz budowy sieci komputerowej firmy.
Master serwer Master serwer - na każdym poziomie systemu nazw; Przechowuje dane źródłowe dla konkretnego poddrzewa danego poziomu. W celu podniesienia poziomu bezpieczeństwa sieci, serwery te świadczą jedynie usługi polegające na transferze pełnych danych do serwerów zapasowych oraz udzielaniu odpowiedzi dotyczących domen zależnych.
Slave server Serwery zapasowe - zaliczane są do serwerów głównych; zgodnie z normami, dopuszczalna liczba oficjalnych serwerów głównych (master i slave) wynosi pięć. transfer informacji z serwera typu master gdy slave nie ma odpowiednich danych albo gdy dane uległy zmianie; slave okresowo porównuje wersję danych; najnowsze serwery DNS umożliwiają bardziej efektywny sposób synchronizacji danych poprzez informowanie serwerów pomocniczych o zmianach oraz transfer tylko tych danych, które uległy zmianie; Można łączyć funkcje master i slave w jednym serwerze.
Cache serwer Jeżeli serwer nie został skonfigurowany do przechowywania danych dla konkretnego fragmentu systemu nazw (master lub slave), to taki serwer nazywa się serwerem buforującym. Jego jedynym zadaniem jest wyszukiwanie danych i ich buforowanie (baza adresów serwerów typu root). Tego typu serwery przeznaczone są na ogół do obsługi segmentu sieci, którego są członkami.
Forward server Funkcjonalność serwera typu forward nie wynika z konfiguracji, a ze sposobu jego użytkowania. Serwerem typu forward może być zarówno serwer typu master jak i slave, czy cache, który komunikuje się z serwerami zewnętrznymi w imieniu serwerów wewnętrznych. Tego typu konstrukcje stosuje się najczęściej w przypadku, gdy sieć wewnętrzna odseparowana jest od Internetu za pomocą FireWall a i ze względów bezpieczeństwa serwery wewnętrzne komunikują się jedynie z serwerem typu forward.
Dynamiczny DNS Dynamiczny przydział IP - w celu zachowania spójności systemu nazw opracowano system tzw. dynamicznego DNS u, w którym stacja robocza, po otrzymaniu z serwera DHCP wartości parametrów sieciowych może dokonać odpowiedniego wpisu do baz serwera DNS. Mechanizm ten jest bardzo intensywnie wykorzystywany w środowisku Active Directory firmy Microsoft (opcja domyślnie włączona) zbędny ruch w sieci i niepotrzebnie absorbuje serwery DNS obsługą niedopuszczalnych zleceń. Opcję tą należy wyłączać, chyba że wymaga tego środowisko sieciowe - powinno być tak skonfigurowane, aby związany z tym ruch nie wychodził poza sieć lokalną.
Routing Routing - zestawem sposobów jak przejść (przesłać pakiety) z jednej sieci do drugiej. ang. routing - pl. trasowanie, ruting, rutowanie Router jest specjalistycznym komputerem, którego podstawowym zadaniem jest właściwe przesyłanie pakietów, które przychodzą na jeden z jego interfejsów na inny. Dzięki temu możliwa jest niezawodna komunikacja pomiędzy poszczególnymi sieciami komputerowymi.
Routing Router dzięki wpisom w tablicy routingu obsługuje ruch pakietów. Filtrowanie pakietów zwiększa poziom bezpieczeństwa sieci. Algorytmy doboru optymalnych ścieżek umożliwiają efektywne i niezawodne przesyłanie pakietów w sieci. Router korzysta przy tym z informacji wymienianych z urządzeniami sąsiednimi.
Routing Statyczny - wpisy dokonywane są ręcznie przez administratora systemu, który musi znać topologię sieci i na jej podstawie dokonuje wyznaczenia optymalnych tras przesyłania pakietów. Dynamiczny - za wymianę informacji na temat topologii sieci i zachodzących zamianach w połączeniu routerów odpowiadają protokoły routingu.
Tablice routingu Część z protokołów wysyła cyklicznie informacje dotyczące topologii sieci. Powoduje to niepotrzebne obciążanie łączy. Lepiej wysyłać uaktualnienia w momencie, gdy nastąpią zmiany w topologii sieci. Innym rozwiązaniem poprawiającym efektywność - przesyłanie tylko tej części tablicy routingu, której dotyczą zmiany.
Tablice routingu typ protokołu - wpis, który z protokołów routingu dostarczył informacji na temat danej trasy odniesienie do punktu docelowego/następnego przeskoku - informacja o tym, gdzie znajduje się punkt docelowy lub jak (przez który router) do niego dotrzeć metryka routingu interfejs wyjściowy - interfejs, przez który należy wysłać pakiet, aby trafił do sieci docelowej.