Sieci Komputerowe Model DoD TCP/IP
Rodzina protokołów TCP/IP Rodzina protokołów TCP/IP
dr Zbigniew Lipiński
Instytut Matematyki i Informatyki ul. Oleska 48
50-204 Opole
zlipinski@math.uni.opole.pl
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 Gniazdo Internetowe Narzędzie: netstat Narzędzie: ftp Narzędzie: telnet Dobrze znane porty
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 e l O S I M o d e l D o D T C P /IP
3
7 . W a r s tw a A p lik a c ji
6 . W a r s tw a P r e z e n t a c ji 5 . W a r s tw a S e s ji 4 . W a r s tw a T r a n s p o r t o w a
3 . W a r s tw a S ie c i 2 . W a r s tw a L a c z a D a n y c h
1 . W a r s tw a F iz y c z n a
4 . W a r s t w a A p lik a c j i
3 . W a r s tw a T r a n s p o r to w a 2 . W a r s tw a In te r n e tu
1 . W a r s tw a D o s te p u d o S ie c i
M o d e l O S I M o d e l D o D T C P /IP
W a rs tw y w m o d e lu O S I i m o d e lu D o D T C P / IP
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
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
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ą 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.
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,
7
• 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.
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.
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:
9
telnet port TCP 23, SSH port TCP 22
FTP 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: %SystemRoot%\System32\drivers\etc\services W systemie Linux lista zarezerwowanych portów znajduje się w pliku: /etc/services
Gniazdo internetowe
Połączenie adresu IP hosta, numeru i typu portu poprzez który odbywa się komunikacja nazywane jest gniazdem internetowym, (ang.) internet socket.
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
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.
11
-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.
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: 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.
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.
13
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.
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 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