Sieci komputerowe Warstwa aplikacji 2012-05-24 Sieci komputerowe Warstwa aplikacji dr inż. Maciej Piechowiak 1 Wprowadzenie warstwa zapewniająca interfejs pomiędzy aplikacjami używanymi do komunikacji, a siecią poprzez którą komunikaty są transmitowane, protokoły warstwy aplikacji są używane do wymiany danych pomiędzy programami uruchomionymi na hoście źródłowym i hoście docelowym, istnieje wiele protokołów warstwy aplikacji, przy czym ciągle pojawiają się nowe a stare są rozwijane i modyfikowane. większość protokołów warstwy aplikacji modelu TCP/IP zostało stworzonych przed pojawieniem się komputerów osobistych, graficznych interfejsów użytkownika czy obiektów multimedialnych protokoły te realizują niewiele funkcji określonych w warstwach prezentacji i sesji modelu OSI. 2 Wprowadzenie protokoły TCP/IP są z reguły zdefiniowane w dokumentach RFC (ang. Request For Comments), dokumenty RFC opisują standardy techniczne zestawu protokołów TCP/IP, publikacją tych dokumentów zajmuje się organizacja IETF (ang. Internet Engineering Task Force). 3 1
Wprowadzenie 4 Aplikacje, usługi, polecenia syst. 5 Protokoły warstwy aplikacji 6 2
Model klient-serwer 7 Model klient-serwer 8 Model peer-to-peer 9 3
Protokoły TCP DNS (ang. Domain Name System) - port 53 TCP/UDP HTTP (ang. Hypertext Transfer Protocol) - port 80 TCP SMTP (ang. Simple Mail Transfer Protocol) - port 25 TCP POP (ang. Post Office Protocol) - port 110 UDP Telnet - port 23 TCP DHCP (ang. Dynamic Host Configuration Protocol) - port 67 UDP FTP (ang. File Transfer Protocol) - porty: 20 i 21 TCP 10 DNS DNS wykorzystuje zbiór rozproszonych serwerów, które tłumaczą nazwy na związane z nimi numeryczne adresy, protokół DNS definiuje zautomatyzowaną usługę, która dopasowuje nazwy do wymaganych numerycznych adresów sieciowych, opisuje format zapytań i odpowiedzi oraz formaty danych, protokół DNS w procesie komunikacji używa pojedynczej struktury informacji zwanej komunikatem, format ten używany jest do wszelkiego typu zapytań klienta i odpowiedzi serwera, informacji o błędach czy komunikatów RR (ang. Resource Record) przesyłanych pomiędzy serwerami, DNS resolver wspiera rozwiązywanie nazw dla innych aplikacji sieciowych oraz usług, które tego potrzebują. 11 DNS serwer DNS zapewnia odwzorowywanie nazw poprzez demona, który często określany jest mianem named. serwer DNS opisuje domeny za pomocą tzw. rekordów zasobowych (ang. resource record, RR), rekordy te zawierają nazwę, adres oraz typ rekordu. kiedy klient wykonuje zapytanie, proces serwera "named", w celu samodzielnego rozwiązania nazwy, najpierw przegląda własne rekordy, jeżeli operacja ta zakończy się niepowodzeniem, kontaktuje się z innymi serwerami. 12 4
Typy rekordów DNS A - adres urządzenia końcowego, NS - autorytatywny serwer nazw, CNAME - umowne nazwy serwerów wraz z ich pełnymi nazwami domenowymi (ang. canonical name lub Fully Qualified Domain Name); używane w sytuacji, gdy wiele usług ma ten sam adres sieciowy, ale każda usługa ma swój własny wpis w DNS, MX - rekord wymiany poczty; mapuje nazwę domenową do listy serwerów odbierających pocztę. 13 DNS żądanie może być przesyłane dalej do kilku serwerów, co wydłuża czas i zużywa przepustowość, z chwilą gdy dopasowanie zostanie odnalezione, informacja zostaje zwrócona do serwera pytającego na początku, serwer tymczasowo przechowuje adres numeryczny, który został dopasowany do nazwy, w pamięci podręcznej (ang. cache). 14 DNS 15 5
HTTP 16 HTTP 17 Poczta elektroniczna 18 6
Poczta elektroniczna 19 Poczta elektroniczna 20 Poczta elektroniczna (POP3) telnet localhost 110 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. USER st02 PASS st02 STAT 2 979 LIST 1 362 2 617. 21 7
Poczta elektroniczna (POP3) RETR 2 Return-Path: <st01@malena.info.ukw.edu.pl> Delivered-To: st02@malena.info.ukw.edu.pl Received: (qmail 22502 invoked by uid 1024); 26 Sep 2007 17:59:00-0000 Received: from localhost (sendmail-bs@127.0.0.1) by localhost with SMTP; 26 Sep 2007 17:59:00-0000 Date: Wed, 26 Sep 2007 19:59:00 +0200 (CEST) From: st01@malena.info.ukw.edu.pl To: st02@malena.info.ukw.edu.pl Subject: witaj Message-ID: <Pine.LNX.4.63.0709261958460.22500@malena.info.ukw.edu.pl> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=us-ascii; format=flowed Status: O X-Status: X-Keywords: X-UID: 2 czesc. DELE 1 QUIT Connection closed by foreign host. 22 Poczta elektroniczna (SMTP) telnet localhost 25 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 malena.info.ukw.edu.pl ESMTP MAIL FROM:st01@malena.info.ukw.edu.pl 250 ok RCPT TO:st02@malena.info.ukw.edu.pl 250 ok DATA 354 go ahead Witaj. 250 ok 1190829212 qp 22465 QUIT 221 malena.info.ukw.edu.pl Connection closed by foreign host. 23 FTP 24 8
FTP tryb pasywny tryb aktywny 25 DHCP 26 /etc/dhcpd.conf ddns-update-style ad-hoc subnet 192.168.1.0 netmask 255.255.255.0 { # The range of IP addresses the server # will issue to DHCP enabled PC clients # booting up on the network range 192.168.1.201 192.168.1.220; # Set the amount of time in seconds that # a client may keep the IP address default-lease-time 86400; max-lease-time 86400; # Set the default gateway to be used by # the PC clients option routers 192.168.1.1; # Don't forward DHCP requests from this # NIC interface to any other NIC # interfaces option ip-forwarding off; # Set the broadcast address and subnet mask # to be used by the DHCP clients option broadcast-address 192.168.1.255; option subnet-mask 255.255.255.0; 27 9
/etc/dhcpd.conf # Set the DNS server to be used by the # DHCP clients option domain-name-servers 192.168.1.100; # Set the NTP server to be used by the # DHCP clients option nntp-server 192.168.1.100; # If you specify a WINS server for your Windows clients, # you need to include the following option in the dhcpd.conf file: option netbios-name-servers 192.168.1.100; # You can also assign specific IP addresses based on the clients' # ethernet MAC address as follows (Host's name is "laser-printer": } host laser-printer { hardware ethernet 08:00:2b:4c:59:23; fixed-address 192.168.1.222; } 28 10