Zarządzanie systemami informatycznymi Protokoły warstw aplikacji i sieci TCP/IP
Historia sieci ARPANET sieć stworzona w latach 1960-1970 przez Agencję Zaawansowanych Projektów Badawczych (ARPA) sponsorowaną przez Ministerstwo Obrony Narodowej Stanów Zjednoczonych. W ramach tej sieci połączono cztery uniwersyteckie ośrodki badawcze w oparciu na łączności typu telnet. Do 1983 ARPANET posiadał ponad 4000 węzłów. Powstanie protokołu TCP/IP w 1974 zastępującego starszy protokół stosowany w ARPANET HOST_HOST Communication Protocol. Model ISO/OSI w 1977 Międzynarodowa Organizacja Normalizacyjna opracowała model łączenia systemów otwartych (International Standard Organization/ Open System Interconnection) NSFnet- Amerykańska Państwowa Fundacja Naukowa (NSF) utworzyła w 1986 sieć szkieletową o prędkości transmisji 56 Kb/s łączącą początkowo 6 instytutów, a w 1988 już 13. NSFnet została połączona z ARPANET. Do 1995 sieć ta łączyła 50 tysięcy mniejszych sieci lokalnych. NSF w 1994 tworzy podstawowe punkty dostępu do internetu NAP (Network Acces Points) pozwalające łączyć się prywatnym dostawcom internetu posiadającym własne sieci szkieletowe (ISP- Internet Service Provider) komercjalizacja internetu
Modele warstw sieciowych Model ISO/OSI aplikacji prezentacji sesji transportowa sieciowa łącza danych fizyczna Model TCP/IP aplikacji transportowa sieciowa fizyczna Przykładowe protokoły DNS, SNMP, Telnet, SSH, FTP, SMTP, HTTP, POP, IMAP TCP, UDP IP, ICMP PPP, SLIP, IEEE 802.3, ARP
Warstwy modelu ISO/OSI Warstwa fizyczna zapewnia transmisję danych pomiędzy węzłami sieci. Definiuje interfejsy sieciowe i medium transmisji. Określa sposób połączenia połączenia mechanicznego (wtyczki złącza), elektrycznego (poziomy napięć, prądów) i standard fizycznej transmisji danych. W skład jej obiektów wchodzą m. in. Karty sieciowe, modemy, koncentratory. Warstwa łącza danych zapewnia niezawodność łącza danych. Definiuje mechanizmy kontroli błędów w przesyłanych ramkach lub pakietach. W skład jej obiektów wchodzą sterowniki urządzeń sieciowych np. Sterowniki kart sieciowych, mosty i przełączniki
Warstwy modelu ISO/OSI Warstwa sieciowa zapewnia metody ustanawiania, utrzymywania i rozłączania połączenia sieciowego. Odpowiedzialna za trasowanie (routing) pakietów w sieci, czyli wyznaczenie optymalnej trasy dla pakietów. W skład jej obiektów wchodzą m. in. Routery. Warstwa transportowa zapewnia przezroczysty transfer danych typu punkt-do-punktu. Dba o kolejność przesyłanych pakietów w przypadku ich uszkodzenia lub zaginięcia zapewnia retransmisję. Powyżej tej warstwy dane mogą być traktowane jako strumień.
Warstwy modelu ISO/OSI Warstwa sesji zapewnia aplikacjom na odległych komputerach realizację wymiany danych pomiędzy nimi. Kontroluje nawiązywanie i zrywanie połączenia przez aplikację. Jest odpowiedzialna za poprawną realizację zapytania o daną usługę. Warstwa prezentacji zapewnia tłumaczenie danych, definiowanie ich formatu oraz odpowiednią składnię. Rozwiązuje takie problemy, jak niezgodność reprezentacji liczb, znaków końca wiersza, liter narodowych. Odpowiada za kompresję i szyfrowanie. Warstwa aplikacji zapewnia aplikacjom metody dostępu do środowiska OSI. Warstwa ta świadczy usługi końcowe dla aplikacji, m. in. Udostępnianie zasobów (plików, drukarek). Na tym poziomie rezydują procesy sieciowe dostępne bezpośrednio dla użytkownika
Proces transmisji pakietu Dane Warstwa aplikacji Nagł_ftp Dane Warstwa transportowa Nagł_TCP Nagł_ftp Dane Warstwa Internetu Nagł_IP Nagł_TCP Nagł_ftp Dane Warstwa dostępu do sieci Nagł_Eth Nagł_IP Nagł_TCP Nagł_ftp Dane
Warstwa łącza danych Definicje charakteru łączy: Ethernet (tzw. skrętka, światłowód, przewód koncentryczny) pierścień sieci FDDI (światłowodowa transmisja danych) modem analogowy łączący komputer użytkownika z siecią dostawcy usług internetowych modem kablowy łączący komputer użytkownika z dostawcą (np. telewizją kablową) linia szeregowa pomiędzy dwoma ruterami łącze radiowe stosowane w lokalnych sieciach bezprzewodowych (Wi-FI WLAN). Datagram pakiet IP przesyłany przez sieć.
Warstwa sieci: protokół IP Zapewnia procedury logicznego adresowania, dzięki którym pakiety mogą podróżować przez kolejne sieci aż do momentu osiągnięcia adresu docelowego Umożliwia dzielenie pakietów w przypadku, gdyby jakieś łącze po drodze nie obsługiwało większych datagramów. Proces dzielenia pakietów fragmentacja Datagramy IP są przesyłane przez rutery, które sprawdzają adres odbiorcy pakietu i decydują, czy ten odbiorca znajduje się w sieci bezpośrednio połączonej z danym ruterem, czy należy pakiet przesłać w kierunku kolejnego urządzania tego typu
Nagłówki adresów IP
Fragmentacja pakietów IP
Protokoły trasowania Internet Control Messaging Protocol (ICMP protokół komunikatów kontrolnych Internetu) powstał, aby umożliwić ruterom oznajmianie błędów i przesyłanie krótkich komunikatów informacyjnych. Najczęściej spotykanymi pakietami ICMP są wiadomości: Żądanie potwierdzenia, Odpowiedź na żądanie potwierdzenia czyli ping. Polecenie traceroute służy do określenia przybliżonej drogi pomiędzy komputerem nadawcy i odbiorcy za pomocą odczytywania informacji z pola TTL (czas życia pakietu - liczba połączeń w sieci) specjalnie tworzonych pakietów.
traceroute Program traceroute wysyła pierwszy pakiet w którym wartość w polu TTL (długość życia pakietu) równa się 1. w wyniku czego pierwszy router na drodze datagramu zwróci komunikat ICMP o błędzie przekroczenia dopuszczalnego czasu życia datagramu. Następnie jest wysyłany kolejny pakiet z wartością w polu TTL=2. Proces będzie powtarzany, aż do momentu, gdy pakiet dotrze do adresata.
System nazw domen (DNS) DNS (ang. Domain Name System, system nazw domenowych) usługa zapewniająca zamianę adresów znanych użytkownikom Internetu na adresy zrozumiałe dla urządzeń tworzących sieć komputerową. Dzięki wykorzystaniu DNS nazwa mnemoniczna, np. pl.wikipedia.org, może zostać zamieniona na odpowiadający jej adres IP, czyli 91.198.174.2 Listy nazw i adresów IP są przechowywane na serwerach DNS lokalnych i głównych tworzą rozproszoną bazę danych Wszyscy dostawcy usług internetowych mają obowiązek utrzymywania swoich baz danych DNS.
Proces poszukiwania adresu IP w DNS
Kontrola adresu z DNS narzędzie nslookup
Protokół ARP Kiedy aplikacja sieciowa zna już adres IP miejsca docelowego, potrzebny jest adres MAC opowiadający adresowi IP (w warstwie łącza danych definiowanej przez Ethernet adres IP już nic nie znaczy) ARP (Address Resolution Protocol) protokół rozstrzygania adresów MAC ARP to metoda znajdowania adresu sprzętowego hosta MAC w sieci Ethernet metodą rozgłoszeniową, gdy znany jest adres IP warstwy sieciowej adres www Serwer DNS Użytkownik adres IP adres IP adres MAC Serwer aplikacji
Warstwa transportowa: UDP UDP protokół datagramów użytkownika (User Datagram Protocol) dodaje do nagłówków pakietów IP informacje, dzięki którym pakiet może być zaadresowany do specjalnego procesu, usługi lub aplikacji uruchomionej na komputerze użytkownika. Podstawowe informacje nagłówka UDP to port źródła i przeznaczenia Protokół UDP posiada zdolność łączenia danych oraz informacji z kilku aplikacji i transmisji do wielu urządzeń w jednym kanale -multipleksowanie UDP jest wykorzystywany przez wiele prostych protokołów informacyjnych (np. zapytania DNS). W przypadku zagubienia pakietu, ponawiane jest zapytanie.
Nagłówek UDP
Warstwa transportowa: TCP TCP (Transmission Control Protocol protokół sterowania transmisji) protokół zwiększający niezawodność przesyłu pakietów IP Każdy nagłówek TCP zawiera pole numer porządkowy, wg którego określa się sekwencję pakietów Pole potwierdzenie pozwala sprawdzić czy wszystkie pakiety zostały dostarczone do odbiorcy Znaczniki stanu: SYN synchronizuj, ACK - potwierdzam, FIN kończ i RST - resetuj pozwalają kontrolować komunikację
Nagłówek TCP
Etapy komunikacji za pośrednictwem TCP
Kontrola stanów aktualnych połączeń sieciowych
Protokoły warstwy aplikacji i ich porty Simple Mail Transfer Protocol (SMTP) port 25 Post Office Protocol wersja 3 (POP3) port 110 Hypertext Markup protocol (HTTP) - port 80 File Transfer Protocol (FTP) porty 20 i 21 Telnet port 23
Protokoły sieciowe Microsoft IBM utworzyło w 1983 niskopoziomowy interfejs do pracy sieciowej Network Basic Input/Output System (NetBIOS) rozszerzenie BIOS-u, które umożliwia pracę sieciową W 1985 powstała ulepszona wersja interfejsu o nazwie NetBIOS Expanded User Interface (NetBEUI) i protokół NBF (NetBIOS Frames). Microsoft zastosował w 1987 protokół NetBIOS over IP Protokół NetBIOS over IP jest stosowany w każdej sieci zbudowanej na platformie Microsoft.
Nazwy NetBIOS NetBIOS stosuje adresy w postaci znaków w formacie ASCII zamiast cyfr jak w IP Sieć oparta na protokole NetBIOS jest siecią z płaską przestrzenią adresową, w której wszystkie usługi na różnych komputerach macierzystych mają przydzielone 16- znakowe nazwy. NetBIOS stosowany jest do budowania małych sieci lokalnych, nie daje możliwości przesyłania danych z jednej mniejszej do drugiej sieci.
Protokół transmisji NetBIOS over TCP (NBT) Podstawowe usługi protokołu: Wskazywanie techniki tzw. kapsułkowania, dzięki której pakiety NetBIOS zostaną przetransportowane w pakietach TCP/IP Określanie mechanizmu przyporządkowania nazw NetBIOS do adresów IP obowiązujących w sieci ogólnoświatowej Porty NetBIOS: Port 137 (UDP): usługa nazw Port 138 (UDP): usługa datagramów Port 139 (TCP): usługa sesji Przy ustalaniu nazwy komputerów w sieci NetBIOS korzysta z protokołu będącego prostym rozszerzeniem DNS NetBIOS Name Server (NBNS) jednostka odpowiedzialna za zamianę adresów NetBIOS na adresy IP Implementacja NBNS Microsoftu to Windows Internet Name Service (WINS)
SMB i współdzielenie plików Server Message Block (SMB) protokół współdzielenia plików i drukarek. SMB jest wykorzystywany za pośrednictwem kapsułkowania NBT w sieciach TCP/IP SMB pracujący w sieci TCP/IP i jednocześnie na platformie systemów operacyjnych Windows znany jest pod nazwą Samba. Pozwala on na dzielenie plików i drukarek w systemach środowiska Unix.
Otoczenie sieciowe i Browser Protocol Aplikacja Network Neigbourhood pozwalająca na limitowany dostęp do zasobów udostępnianych przez użytkowników komputerów znajdujących się w danej sieci roboczej Aby wymiana informacji pomiędzy komputerami była możliwa, każdy klient powinien mieć utworzoną logiczną mapę zasobów znajdujących się w sieci. Dane informacje dzielone są za pośrednictwem tzw. Browser Protocol. Browser Protocol jest uruchamiany poprzez SMB kapsułkowanego w ramkach NBT do transmisji TCP/IP
Protokoły sieciowe
Zagrożenia w sieci DNS, czyli książka telefoniczna sieci - obecnie nie ma żadnej pewności, że otrzymana odpowiedź serwera DNS jest prawdziwa, a zawarty w pakiecie adres IP jest rzeczywiście adresem miejsca, z którym chcemy się połączyć. ARP- nie mamy gwarancji, że uzyskany adres ethernetowy powiązany z adresem IP jest właściwy DHCP Dynamic Host Configuration Protocol protokół dynamicznego konfigurowania węzłów - nie daje nam żadnej pewności, że uzyskane informacje o konfiguracji sieci są poprawne. Przez dokonanie odpowiednich zmian w ustawieniach DHCP lokalny użytkownik może przydzielić innemu niepoprawny adres bramy sieciowej lub niewłaściwy adres serwera DNS.