Sieci Komputerowe Model DoD TCP/IP Rodzina protokołów TCP/IP
Transkrypt
Sieci Komputerowe Model DoD TCP/IP Rodzina protokołów TCP/IP
Sieci Komputerowe Model DoD TCP/IP Rodzina protokołów TCP/IP dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole [email protected] Zagadnienia Model TCP/IP DoD Protokół komunikacyjny Protokoły w modelu TCP/IP Protokół znakowy, bitowy Protokoły połączeniowe i bezpołączeniowe Protokoły strumieniowe Multipleksowanie Porty TCP, porty UDP Porty i aplikacje Gniazdo Internetowe Narzędzie: netstat Narzędzie: ftp Narzędzie: telnet Dobrze znane porty 2 Model DoD TCP/IP Model Komunikacyjny TCP/IP DoD Departamentu Obrony USA, DoD, (ang.) Department Of Defence. 4-warstwowy model wymiany danych DoD TCP/IP: • warstwa Aplikacji (warstwa Aplikacji, Prezentacji, Sesji modelu OSI) • warstwa Transportowa • warstwa Internetu (warstwa Sieci modelu OSI) • warstwa Dostępu do Sieci (warstwa Łącza Danych, Fizyczna modelu OSI) M o d el O S I M o d e l D o D T C P /IP 7 . W a r s tw a A p lik a c ji 6 . W a rs tw a P re ze n ta cji 4 . W a r s tw a A p lik a cji 5 . W a rs tw a S e s ji 4 . W a rs tw a T ra n s p o rto w a 3 . W a r s tw a T r a n s p o rto w a 3 . W a rs tw a S ie ci 2 . W a r s tw a In ter n e tu 2 . W a rs tw a L a cz a D a n y ch 1 . W a rs tw a F iz y cz n a 1 . W a rs tw a D o s te p u d o S ie ci W ars tw y w m o d e lu O S I i m o d elu D o D T C P /IP 3 Protokoły w modelu TCP/IP Przykłady protokołów warstwy aplikacji korzystających z TCP: telnet, ssh, ftp, finger , SMTP, POP, HTTP IRC, (ang.) Internet Relay Chat Kerberos X-Window DNS, (ang.) Domain Name System Przykłady protokołów warstwy Aplikacji korzystających z UDP: DNS, (ang.) Domain Name System DHCP, (ang.) Dynamic Host Configuration Protocol BOOTP (ang.) BOOTSTRAP NFS, (ang.) Network File System RIP, (ang.) Routing Information Protocol SNMP, (ang.) Simple Network Management Protocol TFTP, (ang.) Trivial File Transfer Protocol 4 Rodziny protokołów Zbiór protokołów TCP/IP nazywany jest stosem protokołów TCP/IP. Inne stosy protokołów: AppleTalk (Apple) SNA (IBM) Netware (Novell) DECNET (Digital Equipment Co.) VINESS (Banyan Systems Co.) 5 Protokół znakowy, bitowy Protokół komunikacyjny zbiór zasad określających mechanizmy wymiany danych miedzy aplikacjami sieciowymi. Protokoły zorientowane znakowo protokoły które uŜywają znaku o określonej długości jako podstawowej jednostki danych, np. bajt, słowa 16-bitowe. Dane są transmitowane w blokach ograniczonych znakami sterującymi. Format pakietu protokołu zawiera: nagłówek, dane, zakończenie. Protokoły znakowe stosowane są np. w transmisji asynchronicznej. W protokołach zorientowanych bitowo jednostką transmisji danych jest bit, transmitowane pakiety danych nie są dzielone na pola: początek, dane, koniec pakietu. Blok danych zawiera: • ciąg bitów słuŜących do synchronizacji nadawcy i odbiorcy, • flagi słuŜące do wyznaczania początku i końca pakietu. 6 Protokoły połączeniowe i bezpołączeniowe Protokoły i mogą mieć charakter: • połączeniowy (np. protokół TCP) • bezpołączeniowy (np. protokół UDP). Aplikacje korzystające z protokołów połączeniowych przed wysłaniem danych uzgadniają parametry transmisji - budują połączenie. Budowa połączenia polega na wymianie informacji o: • adresie IP nadawcy, adresie IP odbiorcy , • numerze portu nadawcy, numerze portu odbiorcy, • zasadach numerowania wymienianych pakietów, • wielkość bufora odbiorcy. Aplikacje korzystające z protokołów bezpołączeniowych nie uzgadniają parametrów transmisji. Nadawca nie otrzymuje od odbiorcy potwierdzenia odbioru danych. 7 Multipleksowanie, demultipleksowanie Multipleksowanie polega na łączeniu wielu sesji utworzonych w jednej warstwie modelu OSI w jedną sesję w niŜszej warstwie modelu OSI. Demultipleksowanie jest procesem odwrotnym do multipleksowania. Polega na rozdzieleniu jednego połączenia na kilka połączeń w wyŜszej warstwie modelu OSI. Multipleksowanie i demultipleksowania zachodzi we wszystkich warstwach modelu OSI. RFC 1042 'Standard for the transmission of IP datagrams over IEEE 802 Networks‘ J. Postel, J.K. Reynolds [1988] RFC 2684 'Multiprotocol Encapsulation over ATM Adaptation Layer 5', D. Grossman, J. Heinanen [1999] Przykład: multipleksowanie sesji http w warstwie Transportowej. Przegladarka Internetowa Portt: 4265 (TCP) Port: 4266 (TCP) Port: 4267 (TCP) Serwer WWW Port: 80 (TCP) Multipleksowanie pakietow. Serwer WWW obsluguje 3 sesje na jednym porcie. 8 Porty TCP, porty UDP Porty słuŜą do identyfikacji uruchomionych aplikacji, procesów sieciowych. Numer portu jest 16 bitową liczbą, z zakresu od 1 do 216 -1= 65 535. Pierwsze 1024 porty zostały zarezerwowane dla konkretnych aplikacji. Są to, tak zwane dobrze znane porty. Numery portów są publikowane przez organizacje IANA. Porty, które nie są zdefiniowane jako dobrze znane, mogą być wykorzystywane przez dowolne aplikacje sieciowe. Porty i aplikacje: telnet FTP port TCP 23, SSH port TCP 22 porty TCP 20 i TCP 21 (20 transfer plików, 21 zdalny dialog) SMTP port TCP 25 HTTP port TCP 80 POP3 port TCP 110 IMAP2 (Interim Mail Access Protocol v.2) port 143 DNS port UDP 53 (port TCP 53) SNMP port UDP 161, pułapki SNMP port UDP 62 TFTP port UDP 69 W systemie Win2000 lista portów i usług znajduje się w pliku: W systemie Linux lista zarezerwowanych portów znajduje się w pliku: %SystemRoot%\System32\drivers\etc\services /etc/services 9 Gniazdo internetowe Połączenie adresu IP hosta, numeru i typu portu poprzez który odbywa się komunikacja nazywane jest internetowym, (ang.) internet socket. gniazdem Gniazdo Internetowe to: adres IP , numer portu, typ portu. Oznaczenie: Adres IP 192.254.60.10, numer portu 23, typ gniazda TCP 192.254.60.10 : 23 TCP 10 Narzędzie netstat Polecenie netstat słuŜy do edycji informacji o uŜywanych protokołach i portach na danym hoscie. Składnia: netstat [-a] [-e] [-n] [-s] [-p proto] [-r] [interval] Opcje: -a Displays all connections and listening ports. -e Displays Ethernet statistics. This may be combined with the -s option. -n Displays addresses and port numbers in numerical form. -p proto Shows connections for the protocol specified by proto; proto may be TCP or UDP. If used with the -s option to display per-protocol statistics, proto may be TCP, UDP, or IP. -r Displays the routing table. -s Displays per-protocol statistics. By default, statistics are shown for TCP, UDP and IP; the - p option may be used to specify a subset of the default. interval Redisplays selected statistics, pausing interval seconds between each display. Press CTRL+C to stop redisplaying statistics. If omitted, netstat will print the current configuration information once. 11 Narzędzie ftp Aplikacja ftp słuŜy do przesyłania plików między hostami. Protokół FTP opisany w RFC959. RFC 2151, 'A Primer On Internet and TCP/IP Tools and Utilities', 1997. Składnia: ftp nazwa_hosta Ftp: ! Wyjscie z ftp. Ftp: ? Pomoc ftp. Składnia: ftp> ? polecenie, np. ftp>? append Ftp: append Dodaje plik. Składnia: ftp> append plikZrodlowey [plikDocelowwy] Ftp: ascii Ustawienie typu transmisji na znakową. Składnia: ftp> asci Ftp: bell Po przeslaniu pliku pojawia sie dźwięk, składnia: ftp> bell Ftp: binary Tryb transmisji binarny. Ftp: Bye Zamknięcie sesji i wyjscie z ftp. Ftp: cd Zmian katalogu na zdalnym hoście. Ftp: close Zamknięcie sesji ftp. Ftp: debug Typ debug, klient przekazuje na standardowe wyjście komunikaty wysłane do serwera. Ftp: delete Usuwa plik na zdalnym hoście. Ftp: dir Tworzy listę katalogów i podkatalogów zdalnego hosta. Ftp: disconnect Rozłączenie sesji ftp. Ftp: get Kopiuje plik ze zdalnego hosta, uŜywając bieŜącego ustawienia typu transferu pliku. Ftp: glob Włączenie opcji umoŜliwia stosowanie *, ? w nazwach plików lub ścieŜkach. Ftp: hash Kieruje na ekran znak # po przesłaniu kaŜdego bloku danych (blok danych to 2048 bajtów). Ftp: help Pomoc ftp. Ftp: lcd Zmiana katalogu lokalnego chosta. 12 Narzędzie ftp Ftp: literal Wysyła wierną kopię argumentów ma serwer. Serwer wysyła kod odpowiedzi. Ftp: ls Tworzy skróconą listę plików, katalogów i podkatalogów. Ftp: mdelete Usuwa plik na odległym hoście. Ftp: mdir Tworzy listę katalogów i podkatalogów na odległym hoście. Ftp: mget Kopiuje plik z odległego hosta. Ftp: mkdir Tworzy katalog na odległym hoście. Ftp: mls Tworzy skróconą listę plików, katalogów i podkatalogów na odległym hoście. Ftp: mput Kopiuje plik lokalny na odległego hosta. Ftp: open Otwarcie połączenia z serwerem ftp. Ftp: prompt Opcja pozwala wybrać pliki do transmisji. Gdy opcja jest wyłączona mget and mput transmitują wszystkie pliki. Ftp: put Kopiuje lokalny plik na odległego hosta. Ftp: pwd Wskazuje bieŜący katalog na doległem hoście. Ftp: quit Kończy sesję i wychodzi z ftp. Ftp: quote Opcja identyczna z opcją literal. Ftp: reacv Kopiuje plik z odległego hosta. Ftp: remotehelp Pomoc dla zdalnych poleceń. Ftp: rename Zmienia nazwę plikowi na odległym hoście. Ftp: rmdir Usuwa katalog na odległym hoście. Ftp: send Kopiuje lokalny plik na odległego hosta. Ftp: status Informacja o bieŜącym stanie połączeń (sesji). Ftp: trace Śledzenie pakietów. Ftp: type Zmiana, informacja o typie transferu plików. Ftp: user Określa nazwę uŜytkownika, hasło, nazwę konta na które uŜytkownik jest zalogowany. Ftp: verbose Dialog z serwerem, przekazywanie na wyjście klienta komunikatów serwera. 13 Narzędzie telnet Aplikacja telnet słuŜy do zdalnego zarządzania hostami. Protokół telnet RFC 854, RFC 855. RFC 2151, 'A Primer On Internet and TCP/IP Tools and Utilities', 1997. Skladnia: telnet [host [port]] Opcje: close close current connection display display operating parameters open connect to a site quit exit telnet set set options (type 'set ?' for a list) status print status information unset unset options (type 'unset ?' for a list) ?/help print help information 14