Protokół UDP UDP (User Datagram Protocol) . [
|
|
- Zdzisław Stefański
- 6 lat temu
- Przeglądów:
Transkrypt
1 1 Plan wykładu 1. Model TCP/IP protokoły warstwy transportowej: UDP, TCP, połączenie i rozłączenie w TCP. 2. Programowanie z wykorzystaniem gniazd. usługai DATETIME, TIME, ECHO. 3. Popularne aplikacje TCP/IP poczta elektroniczna poczta elektroniczna: protokoły SMTP, POP, IMAP.
2 2 Protokół UDP UDP (User Datagram Protocol). [RFC 768] Protokół obsługi bezpołączeniowej procesów użytkownika. Nie daje gwarancji, że pakiety (datagramy) dotrą do wyznaczonego celu. Może korzystać zarówno z IPv4 oraz IPv6.
3 3 Protokół TCP TCP (Transmission Control Protocol). [RFC 793] wykorzystuje połączenie między klientem i serwerem, zapewnia niezawodność przesyłu danych potwierdzenia, szacowanie czasu powrotu (round-trip time), ustala kolejność danych numeracja segmentów, steruje przepływem nadawca nie może spowodować przepełnienie bufora odbiorcy, zapewnia połączenie, które jest w pełni dwukierunkowe (full-duplex). Jest stosowany w większości internetowych programów użytkowych. Może korzystać zarówno z IPv4 oraz IPv6.
4 Ustanawianie połączenia TCP Uzgadnianie trójfazowe (three-way handshake). 1. Serwer przygotowuje się na przyjęcie połączenia otwarcie bierne. 2. Klient rezerwuje gniazdo za pomocą a następnie rozpoczyna otwarcie aktywne - TCP wysyła segment danych SYN (synchronize). 3. Serwer wysyła własny segment SYN zawierający potwierdzenie ACK (acknowledgment). 4. Klient potwierdza przyjęcie segmentu SYN od serwera. klient Potwierdzenie K+1 serwer SYN J SYN K J+1 potwierdzenie 4
5 Zakończenie połączenia TCP 1. Jeden punkt końcowy inicjuje zakończenie połączenia zamknięcie aktywne. TCP wysyła segment FIN. 2. Drugi punkt wykonuje zamknięcie bierne TCP potwierdza odbiór FIN. 3. Po pewnym czasie drugi punkt zamyka swoje połączenie TCP wysyła segment FIN. 4. Pierwszy punkt potwierdza odbiór segmenty FIN. pierwszy punkt drugi punkt FIN M M+1 Potwierdzenie FIN N Potwierdzenie N+1 5
6 6 Numery portów Numerami portów zarządza IANA (Internet Assigned Numbers Authority). Wyróżniamy trzy grupy portów. porty ogólne (well-known), numery z zakresu , np.: HTTP 80, FTP 21, SMTP 25. porty zarejestrowane (registered), numery np.: X-Windows , MySQL porty dynamiczne , nie posiadają przyporządkowania do usług.
7 7 Programowanie z wykorzystaniem gniazd Utworzenie gniazda: int socket (int domain, int type, int protocol) domain rodzina protokołów używana do komunikacji w sieci, zdefiniowana w pliku <sys/socket.h> np.: PF_UNIX, PF_LOCAL, PF_INET, PF_INET6, PF_IPX. type rodzaj komunikacji np.: SOCK_STREAM, SOCK_DGRAM, SOCK_RDM. protocol protokół transmisji wykorzystywany przez gniazdo. Wartość zwracana: deskryptor gniazda lub -1 w przypadku błędu. Pliki nagłówkowe <sys/socket.h>, <sys/types.h>.
8 8 Programowanie z wykorzystaniem gniazd Połączenie poprzez gniazdo: int connect (int sock, const struct sockaddr *serv_addr, int len) sock deskryptor gniazda uzyskany funkcją socket. serv_addr wskaźnik do struktury opisującej punk docelowy połączenia. len długość struktury wskazywanej przez serv_addr. Wartość zwracana: 0 w przypadku powodzenia, -1 w przypadku błędu. Pliki nagłówkowe <sys/socket.h>, <sys/types.h>.
9 9 Programowanie z wykorzystaniem gniazd Zamknięcie połączenia (gniazda): int shutdown (int sock, int how) sock deskryptor gniazda uzyskany funkcją socket. how sposób zamknięcia połączenia np.: SHUT_RD, SHUT_WR, SHUT_RDWR. Wartość zwracana: 0 w przypadku powodzenia, -1 w przypadku błędu. Pliki nagłówkowe <sys/socket.h>.
10 Programowanie z wykorzystaniem gniazd #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> #include <stdio.h> #include <errno.h> #include <string.h> int connectsock(char *host, char *service, char *protocol){ struct hostent *phe; struct servent *pse; struct protoent *ppe; struct sockaddr_in sin; int type, s; bzero((char*) &sin, sizeof(sin)); sin.sin_family = AF_INET; 10
11 11 Programowanie z wykorzystaniem gniazd if (pse = getservbyname(service, protocol)){ sin.sin_port = pse->s_port; else if ((sin.sin_port = htons((u_short)atoi(service)))==0){ fprintf(stderr, "nieznana usluga: %s\n", service); return -1; if (phe = gethostbyname(host)){ bcopy(phe->h_addr, (char *) &sin.sin_addr, phe->h_length); else if ((sin.sin_addr.s_addr = inet_addr(host))==inaddr_none){ fprintf(stderr, "nieznany host: %s\n", host); return -1; if ((ppe = getprotobyname(protocol))==null){ fprintf(stderr, "nieznany protokol: %s\n", protocol); return -1;
12 12 Programowanie z wykorzystaniem gniazd if (strcmp(protocol, "udp")==0){ type = SOCK_DGRAM; else{ type = SOCK_STREAM; if ((s = socket(pf_inet, type, ppe->p_proto))<0){ fprintf(stderr, "nieznany protokol: %s\n", protocol); return -1; if (connect(s, (struct sockaddr *)&sin, sizeof(sin))<0){ fprintf(stderr, "nie moge ustanowic polaczenia z %s:%s %s\n", host, service, strerror(errno)); return -1; return s;
13 Programowanie z wykorzystaniem gniazd #define LINELEN 100 int main(int argc, char **argv){ int s, n; char buf[linelen+1]; if (argc<4){ printf("sposob uzycia: client serwer serwis protokol\n"); return 0; s = connectsock(argv[1], argv[2], argv[3]); if(s<0) return 0; while ((n=read(s, buf, LINELEN))>0){ buf[n] = '\0'; fputs(buf, stdout); if (shutdown(s, SHUT_RDWR)<0){ fprintf(stderr, "problem z zamknieciem polaczenia: %s\n", strerror(errno)); return 0; return 1; 13
14 14 Programowanie z wykorzystaniem gniazd Przykładowe uruchomienie programu: client theta.uoks.uj.edu.pl daytime tcp Wynik działania: Tue Oct 14 15:27: lista serwisów (usług, portów): /etc/services lista protokołów: /etc/protocols
15 Programowanie z wykorzystaniem gniazd - Java Pakiet (biblioteka): java.net Wybrane klasy: Socket reprezentuje gnaizdo wykorzystywane do transmisji strumieniowej (TCP), istnieje wersja do transmisji szyfrowanej SSLSocket; DatagramSocket gniazdo do transmisji datagramowej (UDP); InetAddress adres IP, istnieją dwie klasy potomne: Inet4Address i Inet6Address; URL Uniform Resource Locator, identyfikator zasobu w sieci opisujący sposób dostępu do niego np. w ogólnym wypadku stosuje się klasę URI Uniform Resource Identyficator. 15
16 Programowanie z wykorzystaniem gniazd - Java import java.io.inputstream; import java.net.socket; public class Client { private static final int LINELEN = 100; public static void main(string[] args) { byte[] buffer = new byte[client.linelen]; if (args.length<2) System.out.println("wywolanie java Client serwer port"); try { Socket sock = new Socket(args[0], Integer.parseInt(args[1])); InputStream in = sock.getinputstream(); while (in.read(buffer) > 0) System.out.println(new String(buffer)); sock.close(); catch (Exception e) { e.printstacktrace(); Wywołanie programu: javac Client.java java Client theta.uoks.uj.edu.pl 13 16
17 Programowanie z wykorzystaniem gniazd - C# using System; using System.IO; using System.Net.Sockets; public class socketexample { public static void Main() { try { TcpClient tcpclnt = new TcpClient(); tcpclnt.connect("theta.uoks.uj.edu.pl",13); Stream stm = tcpclnt.getstream(); byte[] bb = new byte[100]; int k = stm.read(bb,0,100); for (int i = 0; i<k; i++) Console.Write(Convert.ToChar(bb[i])); tcpclnt.close(); catch (Exception e) { Console.WriteLine(e.StackTrace); Wywołanie programu: mcs socketexample.cs mint socketexample.exe lub mono socketexample.exe 17
18 18 Programowanie z wykorzystaniem gniazd Perl: use IO::Socket; my $sock = new IO::Socket::INET (PeerAddr => 'theta.uoks.uj.edu.pl', PeerPort => '13', Proto => 'tcp', ); die "Nie można utworzyc gniazda: $!\n" unless $sock; while(<$sock>) print $_; close($sock); PHP: <?php $socket = socket_create(af_inet, SOCK_STREAM, SOL_TCP); $result = socket_connect($socket, 'theta.uoks.uj.edu.pl', '13'); $out = socket_read($socket, 1024); echo $out; socket_close($socket);?>
19 19 Programowanie z wykorzystaniem gniazd Python: import socket s = socket.socket ( socket.af_inet, socket.sock_stream ) s.connect(("theta.uoks.uj.edu.pl", 13)) data = s.recv(1024) print data s.close() Ruby: require 'socket' print TCPSocket.open("theta.uoks.uj.edu.pl", "daytime").read
20 20 Usługa TIME Usługa TIME [RFC 868] służy do synchronizacji czasu pomiędzy komputerami w sieci. Czas jest przesyłany w postaci 32 bitowej liczby całkowitej określającej liczbę sekund od 1 stycznia 1900 roku np. C5 1B 77 8A. Usługa jest dostępna zarówno za pośrednictwem TCP i UDP poprzez port 37. Inne usługi wykorzystywane do synchronizacji czasu to NTP (Network Time Protocol) [RFC 1305] i jego odmiana SNTP (Simple Network Time Protocol) [RFC 1769].
21 Klient usługi TIME (UDP) #include "connectsock.c" #define UNIXEPOCH ul int main(int argc, char **argv){ int s; char msg[] = "ktora godzina?"; time_t now; if ((s = connectsock(argv[1], "time", "udp"))<0) return 0; write(s, msg, strlen(msg)); if (read(s, (char *)&now, sizeof(now))<0) return 0; else{ now = ntohl((u_long)now); now -= UNIXEPOCH; printf("%s\n", ctime(&now)); if (shutdown(s, SHUT_RDWR)<0) return 0; return 1; 21
22 22 Klient usługi TIME (TCP) import java.io.inputstream; import java.io.outputstream; import java.net.socket; import java.util.date; public class TimeTCPClient { private static final int PORT_TIME = 37; private static final String QUERY = "Ktora godzina?"; private static final int LINELEN = 5; private static final long UNIXEPOCH = L; public static void main(string[] args) { try { byte[] buffer = new byte[linelen]; Socket sock = new Socket(args[0], PORT_TIME); OutputStream os = sock.getoutputstream(); InputStream is = sock.getinputstream(); os.write(query.getbytes());
23 Klient usługi TIME (TCP) long time = 0; int l, i, j; for (l=0; l<4; l+=i){ i = is.read(buffer); for(j=0; j<i; j++){ time *= 256; time += (buffer[j] & 255); time -= UNIXEPOCH; time *= 1000; Date d = new Date(time); System.out.println(d); sock.close(); catch (Exception e) { e.printstacktrace(); 23
24 Klient usługi TIME (UDP) import java.net.datagrampacket; import java.net.datagramsocket; import java.net.inetaddress; import java.util.date; public class TimeUDPClient { private static final int PORT_TIME = 37; private static final String QUERY = "Ktora godzina?"; private static final int LINELEN = 5; private static final long UNIXEPOCH = L; public static void main(string[] args) { try { byte[] buffer = new byte[linelen]; DatagramSocket sock = new DatagramSocket(); DatagramPacket dp = new DatagramPacket( QUERY.getBytes(), 0, QUERY.length(), InetAddress.getByName(args[0]), PORT_TIME); 24
25 Klient usługi TIME (UDP) sock.send(dp); dp = new DatagramPacket(buffer, LINELEN); sock.receive(dp); long time = 0; int i; for (i=0; i<4; i++){ time *= 256; time += (buffer[i] & 255); time -= UNIXEPOCH; time *= 1000; Date d = new Date(time); System.out.println(d); sock.close(); catch (Exception e) { e.printstacktrace(); 25
26 26 Usługa ECHO Usługa ECHO [RFC 347] odsyła klientowi wszystkie otrzymywane od niego dane. Interakcja trwa dopóki klient nie zakończy transmisji. Usługa ECHO jest wykorzystywana głównie do celów diagnostycznych, podobnie jak komenda ping. W przeciwieństwie do niej korzysta z protokołu TCP lub UDP. Do komunikacji wykorzystuje port 7.
27 Klient usługi ECHO (TCP) int main(int argc, char **argv){ int s, i, n1, n2; char buf[linelen+1]; if ((s = connectsock(argv[1], echo, tcp ))<0) return 0; for(i=2; i<argc; i++){ n1 = write(s, argv[i], strlen(argv[i])); while (n1>0 && (n2=read(s, buf, LINELEN))>0){ buf[n2] = '\0'; n1 -= n2; fputs(buf, stdout); fputs( \n, stdout); if (shutdown(s, SHUT_RDWR)<0) return 0; return 1; 27
28 Klient usługi ECHO (UDP) int main(int argc, char **argv){ int s, i, n; char buf[linelen+1]; if ((s = connectsock(argv[1], echo, udp ))<0) return 0; for(i=2; i<argc; i++){ write(s, argv[i], strlen(argv[i])); if ((n=read(s, buf, LINELEN))>0){ buf[n] = '\0'; fputs(buf, stdout); fputs( \n, stdout); if (shutdown(s, SHUT_RDWR)<0) return 0; return 1; 28
29 Klient usługi ECHO (TCP) import java.io.inputstream; import java.io.outputstream; import java.net.socket; public class EchoTCPClient { private static final int PORT_ECHO = 7; private static final int LINELEN = 100; public static void main(string[] args) { byte[] buffer = new byte[linelen]; if (args.length<2){ System.out.println("wywolanie java EchoTCPClient serwer argument1 argument2..."); return; try { Socket sock = new Socket(args[0], PORT_ECHO); OutputStream os = sock.getoutputstream(); InputStream in = sock.getinputstream(); 29
30 30 Klient usługi ECHO (TCP) int i, k, j; for (i=1; i<args.length; i++){ os.write(args[i].getbytes()); for(j=0; j<args[i].length(); j+=k){ k = in.read(buffer); System.out.print(new String(buffer, 0, k)); System.out.println(); sock.close(); catch (Exception e) { e.printstacktrace();
31 Klient usługi ECHO (UDP) public class EchoUDPClient { private static final int PORT_ECHO = 7; private static final int LINELEN = 100; public static void main(string[] args) { try { byte[] buffer = new byte[linelen]; DatagramSocket sock = new DatagramSocket(); DatagramPacket dp; for (int i=1; i<args.length; i++){ dp = new DatagramPacket(args[i].getBytes(), 0, args[i].length(), InetAddress.getByName(args[0]), PORT_ECHO); sock.send(dp); dp = new DatagramPacket(buffer, LINELEN); sock.receive(dp); System.out.println(new String(dp.getData(), 0, dp.getlength())); sock.close(); catch (Exception e) { e.printstacktrace(); 31
32 32 Poczta elektroniczna 1. Wysyłanie wiadomości protokół SMTP (Simple Mail Transfer Protocol). 2. Odbiór wiadomości propokół POP (Post Office Protocol) lub IMAP (Internet Mail Access Protocol). nadawca serwer SMTP Serwer SMTP oraz POP lub IMAP adresat
33 Protokół SMTP Protokół SMTP [RFC 2821, 821, 2554] jest wykorzystywany do wysyłania wiadomości . Port 25. Przykładowe połączenie: [serwer] 220 theta.uoks.uj.edu.pl ESMTP Sendmail /8.13.1; Mon, 11 Oct :19: (CEST) [klient] EHLO [ ]<CRLF> [serwer] 250-theta.uoks.uj.edu.pl Hello rhamnus.if.uj.edu.pl [ ], pleased to meet you 250-ENHANCEDSTATUSCODES AUTH LOGIN PLAIN HELP [klient] AUTH PLAIN <BASE64(login<0x00>hasło)><CRLF> 33
34 Kodowanie Base64 Alfabet Base64 [RFC 1521] 0 A 8 I 16 Q 24 Y 32 g 40 o 48 w B 9 J 17 R 25 Z 33 h 41 p 49 x C 10 K 18 S 26 a 34 i 42 q 50 y D 11 L 19 T 27 b 35 j 43 r 51 z E 12 M 20 U 28 c 36 k 44 s F 13 N 21 V 29 d 37 l 45 t G 14 O 22 W 30 e 38 m 46 u H 15 P 23 X 31 f 39 n 47 v / (pad) = kodowanie: ala ma kota a (0x61) l (0x6C) a (0x61) (0x20) m (0x6D) a (0x61) (0x20) k (0x6B) o (0x6F) t (0x74) a (0x61) wynik: YWxhIG1hIGtvdGE= 34
35 35 Protokół SMTP [serwer] OK Authenticated [klient] MAIL [serwer] Sender ok [klient] RCPT [serwer] Recipient ok [klient] DATA<CRLF> [serwer] 354 Enter mail, end with "." on a line by itself
36 Protokół SMTP [klient] Date: Mon, 11 Oct :19: <CRLF> User-Agent: cokolwiek<crlf> X-Accept-Language: en-us, en<crlf> MIME-Version: 1.0<CRLF> From: ktokolwiek To: Subject: jakis temat<crlf> Content-Type: text/plain; charset=us-ascii<crlf> Content-Transfer-Encoding: 7bit<CRLF><CRLF> tekst testowego maila<crlf>.<crlf> [serwer] Message accepted for delivery [klient] QUIT<CRLF> [serwer] theta.uoks.uj.edu.pl closing connection [serwer] Zakończenie połączenia. 36
37 Protokół POP Protokół POP [RFC 1939] jest używany do odbierania wiadomości znajdujących sie na serwerze. Port 110. Przykładowe połączenie: [serwer] +OK [klient] USER użytkownik<crlf> [serwer] +OK<CRLF> [klient] PASS hasło<crlf> [serwer] +OK<CRLF> [klient] STAT<CRLF> [serwer] 2 540<CRLF> //ilość wiadomości i ich rozmiar w oktetach 37
38 Protokół POP [klient] LIST<CRLF> [serwer] +OK<CRLF>1 120<CRLF>2 420<CRLF> [klient] LIST 3<CRLF> [serwer] +ERR ewentualnie powód błędu<crlf> [klient] RETR 1<CRLF> [serwer] +OK<CRLF> <wiadomość ><crlf> [klient] DELE 1<CRLF> [serwer] +OK<CRLF> [klient] QUIT<CRLF> [serwer] +OK<CRLF> [serwer] Zakończenie połączenia 38
39 Protokół POP Inne komendy: RSET odznacza wszystkie wiadomości przeznaczone do skasowania, NOOP podtrzymuje połączenie, Komendy opcjonalne: TOP msg n zwraca nagłówek oraz n początkowych lini wiadomości msg, UIDL msg zwraca unikalny identyfikator wiadomości, APOP login kod inny sposób autoryzacji. Pierwszy argument stanowi nazwę użytkownika, drugi to kod MD5 z połączenia <processid.clock@hostname> oraz ustalonego wcześniej wyrażenia znanego klientowi i serwerowi. 39
40 40 Kod MD5 MD5 (Message Digest Algorithm) [RFC 1321] oblicza 128 bitowy kod dla zbioru danych. Kod ten może być traktowany jak cyfrowy podpis (fingerprint) danych. Na podstawie kodu praktycznie nie można odtworzyć oryginalnych danych ponieważ wygenerowanie informacji posiadającej określony kod MD5 wymaga w praktyce operacji.
41 Protokół IMAP Protokół IMAP [RFC 2060] jest używany do przeglądania wiadomości przechowywanych na serwerze. Port 143. Przykładowe połączenie: [serwer] * OK IMAP4rev1<CRLF> [klient] 1 capability [serwer] * CAPABILITY IMAP4REV1 AUTH=LOGIN<CRLF> 1 OK CAPABILITY completed<crlf> [klient] 2 authenticate login<crlf> [serwer] + VXNlciBOYW1lAA==<CRLF> [klient] <Base64(użytkownik)><CRLF> [serwer] UGFzc3dvcmQA<CRLF> // Base64(User Name) // Base64(Password) [klient] <Base64(hasło)><CRLF> 41
42 [serwer] * 1 FETCH (UID 1082 FLAGS (\Seen))<CRLF> * 2 FETCH (UID 1210 FLAGS (\Answered \Seen))<CRLF> 4 OK FETCH completed.<crlf> 42 Protokół IMAP [serwer] * OK [ALERT] Account expires in 14 day(s)<crlf> inna autoryzacja: 2 login użytkownik hasło <CRLF> [klient] 3 select INBOX <CRLF> [serwer] * FLAGS (\Draft \Answered \Flagged \Deleted \Seen \Recent) * 2 EXISTS * 0 RECENT * OK [UIDVALIDITY ] Ok 3 OK [READ-WRITE] Ok<CRLF> [klient] 4 UID FETCH 1:* (FLAGS)<CRLF>
43 43 Protokół IMAP [klient] 5 UID FETCH 1210 (UID RFC822.SIZE BODY[])<CRLF> [serwer] * 283 FETCH (UID 1583 RFC822.SIZE 1180 BODY[] {1180<CRLF> [serwer] <wiadomość ><crlf> * 283 FETCH (FLAGS (\Seen \Recent))<CRLF> 5 OK FETCH completed.<crlf> [klient] 6 LOGOUT<CRLF> [serwer] * BYE<CRLF> 6 OK logout completed.<crlf> [serwer] Zakończenie połączenia.
44 44 Protokół IMAP Wiadomości na serwerze IMAP są grupowane w katalogach, podobnie jak pliki na dysku. Większość komend protokołu IMAP umożliwia poruszanie sie i wykonywanie odpowiednich operacji na tej strukturze: CREATE, DELETE, RENAME operacje na katalogach (folderach), STORE, COPY, EXPUNGE operacje na wiadomościach. X... - komendy rozszerzające funkcje protokołu IMAP. Odpowiedzi serwera: OK operacja wykonana pomyślnie, NO wystąpił problem, BAD niewłaściwa komenda.
45 Popularne serwery pocztowe SMTP (Mail Transfer Agent): Sendmail ( Qmail ( Postfix ( POP, IMAP courier-imap ( Zarządzanie domenami wirtualnymi vpopmail ( mysql ( 45
46 46 Polecenie Telnet Protokół Telnet [RFC 854] jest/był wykorzystywany głównie pracy terminalowej poprzez port 23. Za pomocą programu klienta usługi Telnet można się także połączyć z dowolnym innym portem na serwerze, np. telnet theta.uoks.uj.edu.pl 25 Komendy wpisywane ze standardowego wejścia (klawiatury) są wysyłane bezpośrednio do wskazanej usługi (SMTP) na serwerze zdalnym. Odpowiedzi są kierowane na standardowe wyjście (ekran).
47 47 Podsumowanie Warstwa transportowa TCP/IP zawiera dwa protokoły: TCP i UDP. Programowanie w oparciu o interfejs gniazd korzysta ze standardowych mechanizmów wejścia-wyjścia zaimplementowanych w językach programowania i nie wymaga od programisty niskopoziomowej znajomości wykorzystywanych protokołów. Popularne usługi sieciowe takie jak poczta elektroniczna wykorzystują do komunikacji protokoły wysokiego poziomu, które umożliwiają komunikację pomiędzy komputerem klienckim i serwerem. Poczta elektroniczna najczęściej wykorzystuje do komunikacji następujące porty: 25 (SMTP), 110 (POP3) i 143 (IMAP).
Programowanie z wykorzystaniem gniazd
Plan wykładu 1. Programowanie z wykorzystaniem gniazd usługa TIME, usługa ECHO, 2. Popularne aplikacje TCP/IP poczta elektroniczna cz. 1 protokół SMTP, 1 Programowanie z wykorzystaniem gniazd Utworzenie
Usługa TIME. 77 8A. Usługa jest dostępna zarówno za pośrednictwem TCP i UDP
1 Plan wykładu 1. Programowanie z wykorzystaniem gniazd usługa TIME, usługa ECHO, 2. Popularne aplikacje TCP/IP poczta elektroniczna protokół SMTP, protokół POP, protokół IMAP. 2 Usługa TIME Usługa TIME
Model OSI/ISO. Komputer B. Warstwy w modelu OSI aplikacji. aplikacji. prezentacji Komputer A. prezentacji. sesji. sesji. komunikacja wirtualna
1 Plan wykładu 1. Model ISO/OSI warstwy modelu OSI transmisja w modelu OSI 2. Model TCP/IP protokół UDP protokół TCP 3. Połączenie i rozłączenie w TCP 4. Programowanie z wykorzystaniem gniazd. 2 Model
Plan wykładu. 1. Poczta elektroniczna protokół SMTP, protokół POP, protokół IMAP. 2. Zdalna praca - Telnet. 3. Transfer plików usługa FTP.
Plan wykładu 1. Poczta elektroniczna protokół SMTP, protokół POP, protokół IMAP. 2. Zdalna praca - Telnet. 3. Transfer plików usługa FTP. 1 Poczta elektroniczna 1. Wysyłanie wiadomości e-mail protokół
Podstawowe typy serwerów
Podstawowe typy serwerów 1. Algorytm serwera. 2. Cztery podstawowe typy serwerów. iteracyjne, współbieżne, połączeniowe, bezpołączeniowe. 3. Problem zakleszczenia serwera. 1 Algorytm serwera 1. Utworzenie
Podstawowe typy serwerów
Podstawowe typy serwerów 1. Algorytm serwera. 2. Cztery podstawowe typy serwerów. iteracyjne, współbieżne, połączeniowe, bezpołączeniowe. 3. Problem zakleszczenia serwera. 4. Serwery współbieżne serwery
Serwer współbieżny połączeniowy
Serwery współbieżne 1. Serwery współbieżne serwery połączeniowe, usuwanie zakończonych procesów, serwery bezpołączeniowe, 2. Jednoprocesowe serwery współbieżne. koncepcja i implementacja. 1 Serwer współbieżny
Programowanie sieciowe
Programowanie sieciowe Wykład dla studentów Informatyki Stosowanej i Fizyki Komputerowej UJ 2014/2015 Michał Cieśla pok. D-2-47, email: michal.ciesla@uj.edu.pl konsultacje: środy 10-12 http://users.uj.edu.pl/~ciesla/
3. Identyfikacja. SKŁADNIA #include <sys/socket.h> int getpeername(int socket, struct sockaddr *addr, int *addrlen);
3.1. Określanie adresu połączonego hosta 3. #include int getpeername(int socket, struct sockaddr *addr, int *addrlen); Funkcja getpeername dostarcza adresu drugiej strony połączenia. Parametry:
JAVA I SIECI. MATERIAŁY: http://docs.oracle.com/javase/tutorial/networking/index.html
JAVA I SIECI ZAGADNIENIA: URL, Interfejs gniazd, transmisja SSL, protokół JNLP. MATERIAŁY: http://docs.oracle.com/javase/tutorial/networking/index.html http://th-www.if.uj.edu.pl/zfs/ciesla/ JĘZYK JAVA,
Literatura uzupełniająca: W. Richard Stevens, Programowanie zastosowań sieciowych w systemie Unix WNT 1998
Gniazda BSD Literatura uzupełniająca: W. Richard Stevens, Programowanie zastosowań sieciowych w systemie Unix WNT 1998 socket() Użycie gniazd w transmisji połączeniowej bind() listen() socket() accept()
Programowanie współbieżne i rozproszone
Programowanie współbieżne i rozproszone WYKŁAD 6 dr inż. Komunikowanie się procesów Z użyciem pamięci współdzielonej. wykorzystywane przede wszystkim w programowaniu wielowątkowym. Za pomocą przesyłania
Przykłady interfejsu TCP i UDP w Javie
Przykłady interfejsu TCP i UDP w Javie W Javie interfejsy TCP i UDP znajdują się w pakiecie java.net http://docs.oracle.com/javase/6/docs/api/java/net/packagesummary.html 1 Przykład interfejsu UDP Protokół
Programy typu klient serwer. Programowanie w środowisku rozproszonym. Wykład 5.
Programy typu klient serwer. Programowanie w środowisku rozproszonym. Wykład 5. Schemat Internetu R R R R R R R 2 Model Internetu 3 Protokoły komunikacyjne stosowane w sieci Internet Protokoły warstwy
1. Model klient-serwer
1. 1.1. Model komunikacji w sieci łącze komunikacyjne klient serwer Tradycyjny podziała zadań: Klient strona żądająca dostępu do danej usługi lub zasobu Serwer strona, która świadczy usługę lub udostępnia
Gniazda BSD. komunikacja bezpołączeniowa
Gniazda BSD komunikacja bezpołączeniowa Użycie gniazd w transmisji bezpołączeniowej socket() socket() bind() bind() STOP! recv() żądanie send() send() odpowiedź recv() STOP! recvfrom() #include
Architektura typu klient serwer: przesyłanie pliku tekstowo oraz logowania do serwera za pomocą szyfrowanego hasła
Architektura typu klient serwer: przesyłanie pliku tekstowo oraz logowania do serwera za pomocą szyfrowanego hasła Wydział Inżynierii Mechanicznej i Informatyki Instytut Informatyki Teoretycznej i Stosowanej
MODEL WARSTWOWY PROTOKOŁY TCP/IP
MODEL WARSTWOWY PROTOKOŁY TCP/IP TCP/IP (ang. Transmission Control Protocol/Internet Protocol) protokół kontroli transmisji. Pakiet najbardziej rozpowszechnionych protokołów komunikacyjnych współczesnych
Architektura typu klient serwer: uproszczony klient POP3
Architektura typu klient serwer: uproszczony klient POP3 Wydział Inżynierii Mechanicznej i Informatyki Instytut Informatyki Teoretycznej i Stosowanej dr inż. Łukasz Szustak Składniki systemu poczty e-mail
Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas)
Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas) Protokół komunikacyjny zapewniający niezawodność przesyłania danych w sieci IP Gwarantuje: Przyporządkowanie danych do konkretnego połączenia Dotarcie danych
Programowanie Sieciowe 1
Programowanie Sieciowe 1 dr inż. Tomasz Jaworski tjaworski@iis.p.lodz.pl http://tjaworski.iis.p.lodz.pl/ Klient UDP Kolejność wykonywania funkcji gniazdowych klienta UDP Protokół UDP jest bezpołączeniowy:
Sieci komputerowe. Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP
Sieci komputerowe Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP Zadania warstwy transportu Zapewnienie niezawodności Dostarczanie danych do odpowiedniej aplikacji w warstwie aplikacji (multipleksacja)
Gniazda BSD implementacja w C#
BSD implementacja w C# Implementacja w C#: Przestrzeń nazw: System.Net.Sockets Klasa: public class Socket : IDisposable Implementacja w C#: Konstruktor: public Socket( AddressFamily addressfamily, SocketType
Przykład usługi internetowej
Przykład usługi internetowej Poczta elektroniczna EMAIL SMTP,POP3 i MAP4 Zarys tematyki obsługi poczty Struktura wiadomości opisana w dokumentach RFC822 MIME Transport wiadomości w sieci Architektura klient-serwer
Architektura aplikacji sieciowych. Architektura klient-serwer
Warstwa aplikacji Architektura aplikacji sieciowych Architektura klient-serwer Architektura aplikacji sieciowych Architektura P2P Cechy aplikacji sieciowych Skalowalność Anonimowość Samoorganizacja sieci
URL. Budowa URL (ang. Uniform Resource Locator): http://java.sun.com:80/docs/tutorial/index.html?name=net working#downloading
Obsługa sieci URL Budowa URL (ang. Uniform Resource Locator): http://java.sun.com:80/docs/tutorial/index.html?name=net working#downloading protokół = http authority = java.sun.com:80 host = java.sun.com
Java wybrane technologie
Java wybrane technologie spotkanie nr 2 JavaMail 1 Wprowadzenie JavaMail 1.4 (opiera się na JavaBean Activation Framework (JAF) 1.1) odbieranie, tworzenie i wysyłanie wiadomości elektronicznych dla twórców
PROTOKOŁY WARSTWY TRANSPORTOWEJ
PROTOKOŁY WARSTWY TRANSPORTOWEJ Na bazie protokołu internetowego (IP) zbudowane są dwa protokoły warstwy transportowej: UDP (User Datagram Protocol) - protokół bezpołączeniowy, zawodny; TCP (Transmission
Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak
Wykład 3 / Wykład 4 Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak 1 Wprowadzenie do Modułu 3 CCNA-E Funkcje trzech wyższych warstw modelu OSI W jaki sposób ludzie wykorzystują
1.1 Przykład znajdowanie liczb pierwszych leżących w zadanym zakresie, tryb bezpołączeniowy
1.1 Przykład znajdowanie liczb pierwszych leżących w zadanym zakresie, tryb bezpołączeniowy Należy znaleźć liczby pierwsze w zakresie od 2 do N na P komputerach. Zarządca pocz[i], kon[i] wykonawca 1 wykonawca
Sieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski
Sieci komputerowe Wykład 5: Warstwa transportowa: TCP i UDP Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe (II UWr) Wykład 5 1 / 22 Warstwa transportowa Cechy charakterystyczne:
Java a dost p do Internetu.
Java a dost p do Internetu. Robert A. Kªopotek r.klopotek@uksw.edu.pl Wydziaª Matematyczno-Przyrodniczy. Szkoªa Nauk cisªych, UKSW 20.04.2017 Java a dost p do Internetu Java Networking - jest koncepcj
Java Enterprise Edition spotkanie nr 1 (c.d.) JavaMail
Java Enterprise Edition spotkanie nr 1 (c.d.) JavaMail 1 Wprowadzenie JavaMail 1.4 (opiera się na JavaBean Activation Framework (JAF) 1.1) odbieranie, tworzenie i wysyłanie wiadomości elektronicznych w
Gniazda UDP. Bartłomiej Świercz. Łódź, 3 kwietnia Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz Gniazda UDP
Gniazda UDP Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 3 kwietnia 2006 Wstęp ZewzględunaróżnicewprotokołachTCPiUDPsposób korzystania z gniazd UDP różni sie znacznie od
Protokoły sieciowe - TCP/IP
Protokoły sieciowe Protokoły sieciowe - TCP/IP TCP/IP TCP/IP (Transmission Control Protocol / Internet Protocol) działa na sprzęcie rożnych producentów może współpracować z rożnymi protokołami warstwy
Adresy URL. Zaawansowane technologie Javy 2019
Adresy URL Zaawansowane technologie Javy 2019 Podstawowe pojęcia dotyczące sieci Sieć to zbiór komputerów i innych urządzeń, które mogą się ze sobą komunikować w czasie rzeczywistym za pomocą transmisji
ZESZYTY ETI ZESPOŁU SZKÓŁ W TARNOBRZEGU Nr 1 Seria: Teleinformatyka 2013
ZESZYTY ETI ZESPOŁU SZKÓŁ W TARNOBRZEGU Nr 1 Seria: Teleinformatyka 2013 Paweł Kowalik Zespół Szkół im. ks. S. Staszica w Tarnobrzegu KOMUNIKACJA SIECIOWA MIĘDZY URZĄDZENIAMI Z WYKORZYSTANIEM PROTKOŁU
Iteracyjny serwer TCP i aplikacja UDP
Iteracyjny serwer TCP i aplikacja UDP Iteracyjny serwer TCP Funkcje wywoływane przez serwer TCP socket() - bind() - listen() - accept() - read() / write() - close() socket() Creates an endpoint for communication
Gniazda BSD. Procesy w środowisku sieciowym. Gniazda podstawowe funkcje dla serwera. Gniazda podstawowe funkcje dla klienta
Procesy w środowisku sieciowym! Obsługa! Protokół! Numery portów i ogólnie znane adresy! Połączenie (asocjacja) i gniazdo (półasocjacja)! Model klient-serwer " Serwer - bierne otwarcie kanału " Klient
Programowanie przy użyciu gniazdek
Programowanie przy użyciu gniazdek Gniazdo (ang. socket) pojęcie abstrakcyjne reprezentujące dwukierunkowy punkt końcowy połączenia. Dwukierunkowość oznacza możliwość wysyłania i przyjmowania danych. Wykorzystywane
1. FTP 2. SMTP 3. POP3
1. FTP FTP jest to protokół transferu plików (File Transfer Protocol), który umożliwia ich wymianę między serwerem, a klientem w obydwie strony. Jest on najpowszechniej wykorzystywaną metodą w Internecie
Komunikacja sieciowa - interfejs gniazd
SOE Systemy Operacyjne Wykład 14 Komunikacja sieciowa - interfejs gniazd dr inŝ. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Model komunikacji sieciowej Model OSI (ang. Open System
Java programowanie w sieci. java.net RMI
Java programowanie w sieci java.net RMI Programowanie sieciowe OSI WARSTWA APLIKACJI (7) WARSTWA PREZENTACJI(6) WARSTWA SESJI (5) WARSTWA TRANSPORTU (4) DoD Warstwa aplikacji (HTTP) Transport (gniazdka)
Laboratorium 3.4.3: Usługi i protokoły e-mail
Topologia sieci Tabela adresacji Urządzenie Interfejs Adres IP Maska podsieci Domyślna brama R1-ISP S0/0/0 10.10.10.6 255.255.255.252 Nie dotyczy Fa0/0 192.168.254.253 255.255.255.0 Nie dotyczy R2-Central
Programowanie sieciowe
Programowanie sieciowe dr Tomasz Tyrakowski Dyż ury: wtorki 12:00 13:00 czwartki 14:00 15:00 pokój B4-5 e-mail: ttomek@amu.edu.pl materiały: http://www.amu.edu.pl/~ttomek 1 Wymagania podstawowa znajomość
Programowanie w języku Java
Programowanie w języku Java Wykład 4: Programowanie rozproszone: TCP/IP, URL. Programowanie sieciowe w Javie proste programowanie sieciowe (java.net) na poziomie UDP na poziomie IP na poziomie URL JDBC
Komunikacja z użyciem gniazd aplikacje klient-serwer
Programowanie obiektowe Komunikacja z użyciem gniazd aplikacje klient-serwer Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Architektura
Krótkie wprowadzenie do korzystania z OpenSSL
Krótkie wprowadzenie do korzystania z OpenSSL Literatura: http://www.openssl.org E. Rescola, "An introduction to OpenSSL Programming (PartI)" (http://www.linuxjournal.com/article/4822) "An introduction
Obiekty sieciowe - gniazda Komputery w sieci Internet komunikują się ze sobą poprzez:
Obiekty sieciowe - gniazda Komputery w sieci Internet komunikują się ze sobą poprzez: TCP (Transport Control Protocol) User Datagram Protocol (UDP). TCP/IP (IP - Iternet Protocol) jest warstwowym zestawem
PROTOKOŁY OBSŁUGI POCZTY ELEKTRONICZNEJ
PROTOKOŁY OBSŁUGI POCZTY ELEKTRONICZNEJ Poczta elektroniczna służy do przesyłania komunikatów tekstowych, jak również dołączonych do nich informacji nietekstowych (obraz, dźwięk) pomiędzy użytkownikami
2. Interfejs gniazd. 2.1. Gniazdo
2. 2.1. Gniazdo Gniazdo (ang. socket): pewna abstrakcja wykorzystywana do wysyłania lub otrzymywania danych z innych procesów. Pełni rolę punktu końcowego w linii komunikacyjnej. to interfejs między programem
Sieci Komputerowe. Protokół POP3. Protokół IMAP4 Internet Mail Access Protocol version 4. dr Zbigniew Lipiński
Sieci Komputerowe Protokół POP3 Post Office Protocol version 3 Protokół IMAP4 Internet Mail Access Protocol version 4 dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl
DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ
DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ PROTOKOŁY TCP I UDP WSTĘP DO SIECI INTERNET Kraków, dn. 12 grudnia 2016 r. PLAN TCP: cechy protokołu schemat nagłówka znane numery portów UDP: cechy protokołu
Gniazda surowe. Bartłomiej Świercz. Łódź,9maja2006. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz Gniazda surowe
Gniazda surowe Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź,9maja2006 Wstęp Gniazda surowe posiadają pewne właściwości, których brakuje gniazdom TCP i UDP: Gniazda surowe
Sieci komputerowe Warstwa aplikacji
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,
B.B. Połączenie kończy polecenie exit.
Na początek wykorzystamy telnet do celu, dla którego został pierwotnie skonstruowany, czyli podłączymy się do innego komputera w sieci. Największym problemem zapewne będzie znalezienie takiego komputera,
Bezpieczeństwo poczty elektronicznej
Bezpieczeństwo poczty elektronicznej Mariusz Goch Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych 1 Plan prezentacji Bezpieczeństwo transportu wiadomości Problemy serwera pocztowego
Lab5 - Badanie protokołów pocztowych
BORSKI MICHAŁ, NR INDEKSU: 269963 Lab5 - Badanie protokołów pocztowych Zadania do wykonania 1. Wyszukać w zasobach sieci dokumenty [RFC 5321], [RFC 1939], [RFC 3501] oraz [RFC 5322]. Zapoznać się z ich
Programowanie rozproszone w języku Java
Wstęp Gniazda RMI Podsumowanie Programowanie rozproszone w języku Java Wojciech Rząsa wrzasa@prz-rzeszow.pl Katedra Informatyki i Automatyki, Politechnika Rzeszowska 25 maja 2015 Wojciech Rząsa, KIiA PRz
Sieci komputerowe. Wykład 7: Transport: protokół TCP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski
Sieci komputerowe Wykład 7: Transport: protokół TCP Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe (II UWr) Wykład 7 1 / 23 W poprzednim odcinku Niezawodny transport Algorytmy
Platformy Programistyczne Zagadnienia sieciowe i wątki
Platformy Programistyczne Zagadnienia sieciowe i wątki Agata Migalska 27/28 maja 2014 Komunikacja sieciowa 1 Komunikacja sieciowa 2 Wiele wątków 3 Serializacja Architektura typu klient-serwer Architektura
Sieci komputerowe. Wykład dr inż. Łukasz Graczykowski
Sieci komputerowe Wykład 6 10.04.2019 dr inż. Łukasz Graczykowski lukasz.graczykowski@pw.edu.pl Semestr letni 2018/2019 Warstwa aplikacji Usługi sieciowe źródło: Helion Warstwa aplikacji W modelu ISO/OSI
Sieci komputerowe i bazy danych
Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Sieci komputerowe i bazy danych Sprawozdanie 5 Badanie protokołów pocztowych Szymon Dziewic Inżynieria Mechatroniczna Rok: III Grupa: L1 Zajęcia
Programowanie w Internecie
mariusz@math.uwb.edu.pl http://math.uwb.edu.pl/~mariusz Uniwersytet w Białymstoku 2018/2019 Co to jest Internet? Warunki zaliczenia Zaliczenie na podstawie opracowanej samodzielnie aplikacji WWW Zastosowane
pasja-informatyki.pl
pasja-informatyki.pl Sieci komputerowe Protokoły warstwy transportowej TCP i UDP Damian Stelmach Zadania warstwy transportowej 2018 Spis treści Zadania warstwy transportowej... 3 Protokół TCP... 7 Nagłówek
Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)
Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol) W latach 1973-78 Agencja DARPA i Stanford University opracowały dwa wzajemnie uzupełniające się protokoły: połączeniowy TCP
TCP/IP. Warstwa aplikacji. mgr inż. Krzysztof Szałajko
TCP/IP Warstwa aplikacji mgr inż. Krzysztof Szałajko Modele odniesienia 7 Aplikacji 6 Prezentacji 5 Sesji 4 Transportowa 3 Sieciowa 2 Łącza danych 1 Fizyczna Aplikacji Transportowa Internetowa Dostępu
Model warstwowy Warstwa fizyczna Warstwa łacza danych Warstwa sieciowa Warstwa transportowa Warstwa aplikacj. Protokoły sieciowe
Elektroniczne Przetwarzanie Informacji Konsultacje: czw. 14.00-15.30, pokój 3.211 Plan prezentacji Warstwowy model komunikacji sieciowej Warstwa fizyczna Warstwa łacza danych Warstwa sieciowa Warstwa transportowa
Budowa wiadomości SMTP. autorzy: Aleksandra Wichert Marcin Żurowski
Budowa wiadomości SMTP autorzy: Aleksandra Wichert Marcin Żurowski Plan wykładu Co to jest SMTP? Koperta Nagłówek Wiadomość Co to jest SMTP? Prosty protokół przesyłania poczty elektronicznej (Simple Mail
System operacyjny UNIX Internet. mgr Michał Popławski, WFAiIS
System operacyjny UNIX Internet Protokół TCP/IP Został stworzony w latach 70-tych XX wieku w DARPA w celu bezpiecznego przesyłania danych. Podstawowym jego założeniem jest rozdzielenie komunikacji sieciowej
JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ mlew@ippt.gov.pl ]
JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA Marcin Lewandowski [ mlew@ippt.gov.pl ] PROGRAMOWANIE SIECIOWE 2 TCP/IP = UDP + TCP TCP/IP składa się z dwóch podstawowych protokołów: TCP i UDP. TCP jest
SOAP i alternatywy. 1. WSDL. 2. Protokoły tekstowe XML-RPC. JSON-RPC. SOAPjr. 3. Protokoły binarne Google Protocol Bufers. Apache Thrift.
SOAP i alternatywy 1. WSDL. 2. Protokoły tekstowe XML-RPC. JSON-RPC. SOAPjr. 3. Protokoły binarne Google Protocol Bufers. Apache Thrift. 1 WSDL WSDL (Web Services Description Language) jest standardem
Transport. część 2: protokół TCP. Sieci komputerowe. Wykład 6. Marcin Bieńkowski
Transport część 2: protokół TCP Sieci komputerowe Wykład 6 Marcin Bieńkowski Protokoły w Internecie warstwa aplikacji HTTP SMTP DNS NTP warstwa transportowa TCP UDP warstwa sieciowa IP warstwa łącza danych
Sieci komputerowe - Protokoły warstwy transportowej
Piotr Kowalski KAiTI - Protokoły warstwy transportowej Plan i problematyka wykładu 1. Funkcje warstwy transportowej i wspólne cechy typowych protokołów tej warstwy 2. Protokół UDP Ogólna charakterystyka,
Bazy Danych i Usługi Sieciowe
Bazy Danych i Usługi Sieciowe Sieci komputerowe Paweł Daniluk Wydział Fizyki Jesień 2012 P. Daniluk (Wydział Fizyki) BDiUS w. VI Jesień 2012 1 / 24 Historia 1 Komputery mainframe P. Daniluk (Wydział Fizyki)
Programowanie aplikacji w architekturze Klient-Serwer - UDP
Katedra Inżynierii Komputerowej Koszalin 2002 Programowanie dla sieci Wykłady i ćwiczenia Dariusz Rataj Część 2 Programowanie aplikacji w architekturze Klient-Serwer - UDP Kontakt email: rataj@man.koszalin.pl
Stos TCP/IP. Warstwa aplikacji cz.2
aplikacji transportowa Internetu Stos TCP/IP dostępu do sieci Warstwa aplikacji cz.2 Sieci komputerowe Wykład 6 FTP Protokół transmisji danych w sieciach TCP/IP (ang. File Transfer Protocol) Pobieranie
Sieci komputerowe. Protokoły warstwy transportowej. Wydział Inżynierii Metali i Informatyki Przemysłowej. dr inż. Andrzej Opaliński. www.agh.edu.
Sieci komputerowe Protokoły warstwy transportowej Wydział Inżynierii Metali i Informatyki Przemysłowej dr inż. Andrzej Opaliński Plan wykładu Wprowadzenie opis warstwy transportowej Protokoły spoza stosu
Komunikacja międzyprocesowa. Krzysztof Banaś Systemy rozproszone 1
Komunikacja międzyprocesowa Krzysztof Banaś Systemy rozproszone 1 Komunikacja międzyprocesowa Dla funkcjonowania systemów rozproszonych konieczna jest sprawna komunikacja pomiędzy odległymi procesami Podstawowym
SOAP. Autor: Piotr Sobczak
SOAP Autor: Piotr Sobczak AGENDA: Trochę o Web Services Wprowadzenie do SOAP Anatomia komunikatu SOAP Wysyłanie i otrzymywanie komunikatu SOAP oraz API Javy w przykładach SOAP z załącznikami SOAP-RPC Obsługa
Wybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej Dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki 2017 APLIKACJE SIECIOWE Definicja Architektura aplikacji sieciowych Programowanie
Instytut Teleinformatyki
Instytut Teleinformatyki Wydział Inżynierii Elektrycznej i Komputerowej Politechnika Krakowska programowanie usług sieciowych Dziedzina Unix laboratorium: 06 Kraków, 2014 06. Programowanie Usług Sieciowych
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Dr inż. Zofia Kruczkiewicz wykład 4 Programowanie aplikacji internetowych, wykład 4 1 1. Zadania aplikacji rozproszonych obiektów
SMTP co to takiego? SMTP Simple Mail Transfer Protocol (Protokół Prostego Przesyłania Poczty) RFC 2821
SMTP co to takiego? SMTP Simple Mail Transfer Protocol (Protokół Prostego Przesyłania Poczty) RFC 2821 Protokół niezawodnego przesyłania wiadomości tekstowych (e-mail) za pomocą prostych komend tekstowych.
Oprogramowanie komunikacyjne dla Internetu rzeczy Laboratorium nr 4 komunikacja unicastowa IPv6
Oprogramowanie komunikacyjne dla Internetu rzeczy Laboratorium nr 4 komunikacja unicastowa IPv6 Celem ćwiczenia jest zdobycie umiejętności programowania komunikacji unicastowej za pomocą protokołu IPv6
Programowanie sieciowe
Programowanie sieciowe Wykład 5: Java sieciowa cd. mgr inŝ. Paweł Kośla mgr Marcin Raniszewski Łódź, 2009 1 Plan wykładu ServerSocket serwer TCP DatagramSocket i DatagramPacket UDP FTP 2 Serwer TCP Gniazdo
Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1
Obiektowe programowanie rozproszone Java RMI Krzysztof Banaś Systemy rozproszone 1 Java RMI Mechanizm zdalnego wywołania metod Javy (RMI Remote Method Invocation) posiada kilka charakterystycznych cech,
Programowanie Sieciowe 1
Programowanie Sieciowe 1 dr inż. Tomasz Jaworski tjaworski@iis.p.lodz.pl http://tjaworski.iis.p.lodz.pl/ Cel przedmiotu Zapoznanie z mechanizmem przesyłania danych przy pomocy sieci komputerowych nawiązywaniem
Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej
Politechnika Łódzka Instytut Systemów Inżynierii Elektrycznej Laboratorium komputerowych systemów pomiarowych Ćwiczenie 7 Wykorzystanie protokołu TCP do komunikacji w komputerowym systemie pomiarowym 1.
Aplikacja Sieciowa. Najpierw tworzymy nowy projekt, tym razem pracować będziemy w konsoli, a zatem: File->New- >Project
Aplikacja Sieciowa Jedną z fundamentalnych właściwości wielu aplikacji jest możliwość operowania pomiędzy jednostkami (np. PC), które włączone są do sieci. W Windows operacja ta jest możliwa przy wykorzystaniu
1. Model klient-serwer
1. Model klient-serwer 1.1. Model komunikacji w sieci łącze komunikacyjne klient serwer Tradycyjny podział zadań: Klient strona żądająca dostępu do danej usługi lub zasobu Serwer strona, która świadczy
Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark
Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark Topologia Cele Część 1: Zapisanie informacji dotyczących konfiguracji IP komputerów Część 2: Użycie programu Wireshark do przechwycenia
Wieloplatformowe aplikacje sieciowe. dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak
Wieloplatformowe aplikacje sieciowe dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak SOAP Serwer: Axis2 / Java Wbudowany komponent nasłuchujący, (Apache / Tomcat) Client Axis2 klient / XML Jeżyk programowania:
Transport. część 2: protokół TCP. Sieci komputerowe. Wykład 6. Marcin Bieńkowski
Transport część 2: protokół TCP Sieci komputerowe Wykład 6 Marcin Bieńkowski Protokoły w Internecie warstwa aplikacji HTTP warstwa transportowa SMTP TCP warstwa sieciowa warstwa łącza danych warstwa fizyczna
Technologie cyfrowe semestr letni 2018/2019
Technologie cyfrowe semestr letni 2018/2019 Tomasz Kazimierczuk Porty port (ang. port): numer identyfikujący procesy działające na komputerze. Wymiana informacji między komputerami wymaga podania numeru
Klient-Serwer Komunikacja przy pomocy gniazd
II Klient-Serwer Komunikacja przy pomocy gniazd Gniazda pozwalają na efektywną wymianę danych pomiędzy procesami w systemie rozproszonym. Proces klienta Proces serwera gniazdko gniazdko protokół transportu
Programowanie aplikacji równoległych i rozproszonych. Wykład 4
Wykład 4 p. 1/44 Programowanie aplikacji równoległych i rozproszonych Wykład 4 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Gniazda - Wstęp
Serwery współbieżne c.d.
Serwery współbieżne c.d. 1. Serwery wielousługowe i wieloprotokołowe. 2. Sterowanie współbieżnością w serwerze współbieżność sterowana zapotrzebowaniem, alokacja wstępna procesów podporządkowanych. 3.
TCP - receive buffer (queue), send buffer (queue)
BSD sockets c.d. TCP - receive buffer (queue), send buffer (queue) Z każdym gniazdem sieciowym są skojarzone: Bufor do odbierania danych (ang. receive buffer) Przychodzące dane są umieszczane w buforze
Stos TCP/IP Warstwa transportowa Warstwa aplikacji cz.1
Stos TCP/IP Warstwa transportowa Warstwa aplikacji cz.1 aplikacji transportowa Internetu dostępu do sieci Sieci komputerowe Wykład 5 Podstawowe zadania warstwy transportowej Segmentacja danych aplikacji