Tryb bezpołączeniowy (datagramowy)

Save this PDF as:
 WORD  PNG  TXT  JPG

Wielkość: px
Rozpocząć pokaz od strony:

Download "Tryb bezpołączeniowy (datagramowy)"

Transkrypt

1 Tutaj trochę szerzej opisałam mechanizm gniazdek. 3 tematy wymienione poniŝej przeplatają się ze sobą więc wrzuciłam je do jednego worka i przedstawiłam w takim porządku, który wydawał mi się najbardziej logiczny W wersji skróconej te pytania są juŝ zebrane po kolei tak jak G przykazał w tematach;) Miłej lektury *41. Schemat funkcjonowania mechanizmu gniazdek. + *42. Elementy i ograniczenia przesyłania bezpołączeniowego za pomocą gniazdek. + *43. Elementy i właściwości przesyłania połączeniowego za pomocą gniazdek. I.Cel Komunikacja pomiędzy procesami działającymi w róŝnych węzłach sieci wymaga, aby jeden z tych procesów czekał w gotowości do odebrania danych (nasłuchiwał), wówczas drugi proces moŝe skomunikować się z nim w dowolnym, wybranym przez siebie w momencie. W związku z takim modelem komunikacji proces nasłuchujący nazywany jest serwerem, a proces komunikujący się z nim i korzystający z jego usług nazywany jest klientem. Klient musi zatem znać adres serwera przed nawiązaniem komunikacji, serwer natomiast nie wie jacy klienci się do niego zgłoszą, ich adresy moŝe więc poznać dopiero po nawiązaniu komunikacji. II.Wstęp Gniazda BSD umoŝliwiają komunikację sieciową (między procesami działającymi na róŝnych komputerkach )z wykorzystaniem róŝnych rodzin protokołów np. TCP/IP, IPX, AppleTalk i wielu innych. Zdecydowanie najpopularniejsza jest obecnie komunikacja w dziedzinie Internetu, wykorzystująca protokoły TCP/IP. Gniazda dają równieŝ moŝliwość komunikacji międzyprocesowej w dziedzinie UNIX-a, czyli wewnątrz jednego systemu operacyjnego z wykorzystaniem jego wewnętrznych protokołów. III.Rodzaje transmisji Funkcje systemowe interfejsu gniazd pozwalają zrealizować transmisję danych w protokole połączeniowym lub bezpołączeniowym (rozstrzygniecie w momencie tworzenia gniazdka.). PoniŜej przedstawiłam typowe scenariusze takich transmisji.

2 Tryb bezpołączeniowy (datagramowy) Tryb połączeniowy tryb połączeniowy, obsługiwany przez protokół TCP/IP, gwarantujący przesyłanie danych w postaci strumienia, w sposób niezawodny (bez utraty danych), bez duplikowania danych i bez zmiany ich kolejności, w obu kierunkach (od serwera do klienta i od klienta do serwera), Główne właściwości: nawiązanie połączenia asymetryczne, później wymiana danych symetryczna, do funkcji nie trzeba przekazywać adresów(są one ustalane podczas nawiązywania połączenia) tryb bezpołączeniowy, obsługiwany przez protokół UDP/IP, umoŝliwiający przesyłanie datagramów, czyli określonych porcji danych, nie gwarantujący niezawodnego doręczenia, dopuszczający duplikację całego datagramu lub zmianę kolejności doręczenia dwóch kolejno wysłanych datagramów. Główne ograniczenia: tego trybu: wykorzystywany protokół UDP, kontrola poprawności naleŝy do aplikacji, ograniczony rozmiar porcji danych limitowany własnościami protokołu i sieci. IV. Operacje na gniazdkach /* W tym dziale opiszę wszystkie funkcje wymienione na rysunkach, zarówno dla trybu połączeniowego jak i bezpołączeniowego poniewaŝ imho taki ciąg będzie bardziej logiczny (omówienie funkcji send() oraz sentdo() jednocześnie), w części skróconej zmienię trochę porządek tak aby odpowiadał ściśle na pytania z zestawu, które odnoszą się do dwóch trybów oddzielnie. */ 0.Reprezentacja w systemie (To juŝ zamieściłam w ramach ciekawostki dla wnikliwych )

3 Dla procesu w systemie Unix gniazdo jest rodzajem pliku specjalnego, w związku z czym moŝna wykonywać na jego deskryptorze podobne operacje, jak na pliku (read(), write(), close()). Zapis do gniazda lub odczyt z niego oznacza odpowiednio wysłanie lub odbiór danych przez sieć. 1. Utworzenie i otworzenie gniazda oraz otrzymanie jego deskryptora umoŝliwia funkcja systemowa socket(). KaŜdy z dwóch komunikujących się ze sobą procesów musi mieć własne gniazdo, które moŝe słuŝyć zarówno do wysyłania jak i odbioru danych. Tworząc gniazdo funkcją socket(), naleŝy wyspecyfikować tryb komunikacji (połączeniowy lub bezpołączeniowy), z którego wynika protokół transmisji danych przez to gniazdo (TCP lub UDP). Protokół jest równieŝ elementem wyróŝniającym gniazdo, czyli dwa gniazda o tym samym adresie ale róŝnych protokołach są róŝnymi gniazdami. int socket(int addrfamily, int sockettype, int protocol); - addrfamily - nazwa dziedziny (rodziny protokołów), forma adresowa + AF_INET, AF_UNIX - sockettype - sposób przesyłania danych, typ komunikacji np. + SOCK_STREAM - połączeniowy, + SOCK_DGRAM - bezpołączeniowy, - protocol protokół uŝywany przez gniazdko + IPPROTO_TCP, + IPPROTO_UDP + jesli 0 domyslny dla formy adresowej i typukomunikacji - return :int Funkcja zwraca deskryptor utworzonego gniazda (pliku) lub -1 w wypadku błędu. 2. Przydzielanie adresu W celu wysłania danych przez gniazdo musi zostać określony adresat, czyli gniazdo, do którego dane zostaną wysłane. Właściwy adres gniazda składa się z dwóch elementów: adresu węzła i numeru portu. KaŜde gniazdo musi mieć przydzielony lokalny adres zanim będzie mogło być uŝyte do komunikacji. Operację tę określa się równieŝ jako związywanie adresu z gniazdem lub nazywanie gniazda. Ostatnie określenie ma szczególne uzasadnienie w przypadku gniazd w dziedzinie UNIX-a, dla których adresami są nazwy ścieŝkowe plików. Pliki te są tworzone przez jądro podczas nazywania gniazda. Adres moŝe być przydzielony jawnie za pomocą funkcji bind() lub automatycznie przez jądro systemu. Funkcja ta musi być wywołana przez serwer zarówno w trybie połączeniowym jak i bezpołączeniowym int bind(socket socket, const struct sockaddr *myaddr,int addrlen); - socket deskryptor gniazda, utworzony przez funkcję socket(), - myaddr wskaźnik do struktury zawierającej adres własny - addrlen rozmiar struktury zawierającej adres Zamiast wskaźnika na strukturę sockaddr przekazuje się najczęściej wskaźnik na strukturę odpowiednią do rodziny aktualnie uŝywanych protokołów, wykonując przy przekazaniu wskaźnika rzutowanie typu na (struct sockaddr*). W dziedzinie Internetu uŝywa się struktury sockaddr_in o następującej definicji: struct sockaddr_in { sa_family_t sin_family; /* AF_INET */ u_init_16 sin_port; /* numer portu */ struct in_addr sin_addr; /* 32-bitowy adres węzła */

4 } char sin_zero[8]; /* nie uŝywane */ Struktura in_addr zawiera jedno pole typu long: struct in_addr{ u_int32_t s_addr; /* 32-bitowy adres właściwy węzła lub INADDR_ANY */ } 3.Ustanawianie połączenia : connect(), listen() akcept() a) Funkcja connect() uŝywana jest najczęściej przez klienta w trybie połączeniowym i słuŝy do zgłaszania Ŝądania nawiązania połączenia z serwerem. Przez wywołanie funkcji connect() gniazdu klienta przypisywany jest adres wybrany przez system. Proces klienta jest blokowany do momentu ustanowienia połączenia(funkcja czeka na potwierdzenie). Klient połączeniowy moŝe zrealizować tylko jedno pomyślne połączenie. int connect(socket socket, const struct sockaddr *servaddr, int addrlen); - socket - deskryptor gniazda, utworzony przez funkcję socket(), - servaddr - wskaźnik do struktury zawierającej adres serwera (struktura ta moŝe być róŝna dla róŝnych rodzin protokołów), - addrlen - rozmiar struktury zawierającej adres. b) Funkcja systemowa listen() Serwer protokołu połączeniowego wywołuje funkcję listen(), aby zgłosić w systemie gotowość przyjmowania połączeń i ustalić jednocześnie maksymalną liczbę połączeń oczekujących na obsłuŝenie. int listen(socket socket, int backlog); - socket - deskryptor gniazda, utworzony przez funkcję socket(), - backlog - parametr określający maksymalną liczbę Ŝądań oczekujących w kolejce na wykonanie funkcji accept(). c) Funkcja systemowa accept() Funkcja accept() wywoływana jest przez serwer w celu przyjęcia Ŝądania nawiązania połączenia, zgłoszonego wcześniej i oczekującego w kolejce. JeŜeli Ŝadne Ŝądanie nie dotarło, serwer jest blokowany do momentu otrzymania Ŝądania (funkcja czeka na Ŝądanie ). Po przyjęciu Ŝądania funkcja pod adres addr. wpisuje adres klienta i informuje aplikację, który klient został podłączony. Tworzy nowy deskryptor dla danego gniazda socket, który moŝe być następnie wykorzystywany przez proces obsługi zgłoszenia. Stare gniazdko nadal czeka na kolejne Ŝądania. (w zaleŝności od parametru funkcji listen()) SOCKET accept(socket socket, struct sockaddr * addr, int *addrlen); - socket - deskryptor gniazda, utworzony przez funkcję socket(), - addr - wskaźnik do struktury zawierającej adres klienta (struktura ta moŝe być róŝna dla róŝnych rodzin protokołów), - addrlen - rozmiar struktury zawierającej adres. 4.Przesyłanie danych

5 Sposób przesyłania danych jest uzaleŝniony od typu gniazd. Gniazda strumieniowe, wykorzystywane w transmisji połączeniowej, mogą być dostępne za pomocą typowych funkcji systemowych interfejsu plików. Po ustanowieniu połączenia, obydwa procesy uczestniczące w komunikacji znają juŝ swoje adresy i mogą korzystać z funkcji read() i write() lub recv() i send() do odbierania i wysyłania danych przez gniazdo. W pozostałych przypadkach, przesłanie i odbieranie datagramu wymaga podania adresu odbiorcy, co umoŝliwiają funkcje sendto() recvfrom(). a)funkcje systemowe send() i sendto() Działanie tych funkcji jest podobne do działania funkcji write() moŝna jednak w dodatkowym polu flags przekazać pewne opcje związane z wysłaniem komunikatu. Ponadto funkcja sendto() umoŝliwia podanie adresu docelowego w przypadku komunikacji bezpołączeniowej. int send(socket socket, const char *buf, int nbytes, int flags); int sendto(socket socket, const char *buf, int nbytes, int flags, const struct sockaddr *toaddr, int addrlen); - socket - deskryptor gniazda, utworzony przez funkcję socket() lub accept(), - buf - adres (wskaźnik) bufora, zawierającego dane do wysłania, - nbytes - liczba bajtów do wysłania, znajdująca się w buforze, - flags - znaczniki: - toaddr - wskaznik na strukture odpowiadajaca własciwej formie adresowej(adres odbiorcy), - addrlen - rozmiar struktury zawierającej adres. b) Funkcje systemowe recv() i recvfrom() Działanie tych funkcji jest podobne do działania funkcji read() moŝna jednak w dodatkowym polu flags przekazać pewne opcje związane z dobieraniem komunikatu. Ponadto funkcja recvfrom() umoŝliwia uzyskanie adresu nadawcy w przypadku komunikacji bezpołączeniowej. int recv(socket socket, char *buf, int nbytes, int flags); int recvfrom(socket socket, char *buf, int nbytes, int flags, struct sockaddr *fromaddr, int *addrlen); - socket - deskryptor gniazda, utworzony przez funkcję socket() lub accept(), - buf - adres (wskaźnik) bufora, który będzie zawierał dane po ich odebraniu,(pierwszy pakiet z kolejki) - nbytes - rozmiar bufora (maksymalna liczba bajtów, którą moŝna jednorazowo odebrać pozostałe dane >nbytes są tracone.) - flags - znaczniki: - fromaddr - wskaźnik do struktury, w której zapisany zostanie adres nadawcy danych. - addrlen - wskaźnik do zmiennej, przez którą zwrócony zostanie rozmiar struktury zawierającej adres. V LINKI Materiały z których korzystałam tworząc ten opis: (UWAGA deklaracje funkcji mogą się nieco róŝnić od tych podanych na wykładach np. zamiast argumentu : const struct blabla występuje struct blabla brakuje klucza : const)

6 *44. Elementy i implementacje standardu MPI. 1 Interfejs MPI - Message Passing Interface (Interfejs Transmisji Wiadomości) standard interfejsu do przesyłania komunikatów w rzeczywistych i wirtualnych maszynach równoległych z pamiecia rozproszona (DM). - Biblioteka procedur i funkcji wywoływanych z programów napisanych w jezykach Fortran, C/C++ słuŝących do obsługi komunikatów i synchronizacji zadan wykonujacych najczesciej ten sam program. - Transfer danych pomiędzy poszczególnymi procesami programu wykonywanymi na procesorach maszyn będących węzłami klastra odbywa się za pośrednictwem sieci. - Program w MPI składa się z niezaleŝnych procesów operujących na róŝnych danych (MIMD). KaŜdy proces wykonuje się we własnej przestrzeni adresowej, aczkolwiek wykorzystanie pamięci współdzielonej teŝ jest moŝliwe. - Procesy są identyfikowane poprzez ich numer w grupie w zakresie 0.. groupsize Implementacje MPI - Pierwszy standard MPI nazwany później MPI-1 był gotowy w maju 1994 roku - Drugi standard zwany MPI-2 ukończono w 1998 roku. Nie cieszył się on duŝą popularnością, poniewaŝ rok wcześniej opracowano MPICH, w którym zaimplementowano część poprawek wprowadzanych w MPI-2. - MPICH i LAM MPI to najczęściej stosowane implementacje standardu MPI. - W standardzie MPI-2 zdefiniowano równoległe operacje wejścia/wyjścia, które pierwotnie zostały zawarte w pakiecie MPI-IO rozwijanym specjalnie na potrzeby NASA, a następnie zmodyfikowane i przeniesione do nowego MPI-2. - Implementacje producentów sprzętu SA optymalizowane pod katem sprzętowych rozwiązań (sieci) komunikacyjnych i architektury (topologii) danego systemu. *45. Sposoby wywołania funkcji MPI. Prawie wszystkie funkcje MPI zwracają kod błędu: w C jako wartość funkcji, w Fortranie jako wartość ostatniego argumentu. Przed zwróceniem wartości wywoływana jest bieŝąca procedura obsługi błędu: standardowo powoduje przerwanie zadania, ustawienie uchwytu MPI_ERRORS_RETURN spowoduje zwracanie kodu błędu. MPI nie gwarantuje dalszego działania. W razie powodzenia zwracany jest MPI_SUCCESS Include Postac bibliotek załączanych dla języka: C : #include ``mpi.h`` Fortran : include `mpif.h` Format funkcji MPI C: int error; error = MPI_Xxxxx(parametr,...); MPI_Xxxxx(parametr,...); Fortran: INTEGER IERROR CALL MPI_XXXXX(parametr,..., IERROR) Przykład : Inicjacja biblioteki MPI Funkcja MPI_Init: ////////////////////////// C //////////////////////

7 int error = MPI_Init(int *argc, char **argv[]) c /////////Fortran INTEGER ierror CALL MPI_INIT(ierror) jak większość funkcji MPI zwraca stała int o wartości MPI_SUCCESS w przypadku pomyślnego wykonania. Wersja Fortran zwraca tylko argument ierror.

Klient-Serwer Komunikacja przy pomocy gniazd

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

Bardziej szczegółowo

Programowanie przy użyciu gniazdek

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

Bardziej szczegółowo

Iteracyjny serwer TCP i aplikacja UDP

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

Bardziej szczegółowo

Gniazda UDP. Bartłomiej Świercz. Łódź, 3 kwietnia Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz Gniazda UDP

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

Bardziej szczegółowo

Komunikacja sieciowa - interfejs gniazd

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

Bardziej szczegółowo

Podstawowe typy serwerów

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

Bardziej szczegółowo

Programowanie Sieciowe 1

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:

Bardziej szczegółowo

Gniazda BSD. Procesy w środowisku sieciowym. Gniazda podstawowe funkcje dla serwera. Gniazda podstawowe funkcje dla klienta

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

Bardziej szczegółowo

Programowanie współbieżne i rozproszone

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

Bardziej szczegółowo

PROTOKOŁY WARSTWY TRANSPORTOWEJ

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

Bardziej szczegółowo

Instrukcja do laboratorium Systemów Operacyjnych. (semestr drugi)

Instrukcja do laboratorium Systemów Operacyjnych. (semestr drugi) Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi) Ćwiczenie dziesiąte Temat: Gniazda BSD protokoły internetowe Opracowanie: mgr in ż. Arkadiusz Chrobot Wprowadzenie 1. Usługi sieciowe w

Bardziej szczegółowo

Instytut Teleinformatyki

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

Bardziej szczegółowo

Komunikacja międzyprocesowa. Krzysztof Banaś Systemy rozproszone 1

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

Bardziej szczegółowo

Gniazda surowe. Bartłomiej Świercz. Łódź,9maja2006. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz Gniazda surowe

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

Bardziej szczegółowo

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 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

Bardziej szczegółowo

Programowanie sieciowe

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ść

Bardziej szczegółowo

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 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

Bardziej szczegółowo

76.Struktura oprogramowania rozproszonego.

76.Struktura oprogramowania rozproszonego. 76.Struktura oprogramowania rozproszonego. NajwaŜniejsze aspekty obiektowego programowania rozproszonego to: Współdziałanie (interoperability) modułów programowych na róŝnych maszynach. Wielokrotne wykorzystanie

Bardziej szczegółowo

Oprogramowanie komunikacyjne dla Internetu rzeczy Laboratorium nr 4 komunikacja unicastowa IPv6

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

Bardziej szczegółowo

ZESZYTY ETI ZESPOŁU SZKÓŁ W TARNOBRZEGU Nr 1 Seria: Teleinformatyka 2013

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

Bardziej szczegółowo

Mechanizmy pracy równoległej. Jarosław Kuchta

Mechanizmy pracy równoległej. Jarosław Kuchta Mechanizmy pracy równoległej Jarosław Kuchta Zagadnienia Algorytmy wzajemnego wykluczania algorytm Dekkera Mechanizmy niskopoziomowe przerwania mechanizmy ochrony pamięci instrukcje specjalne Mechanizmy

Bardziej szczegółowo

2. Interfejs gniazd. 2.1. Gniazdo

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

Bardziej szczegółowo

Programowanie aplikacji równoległych i rozproszonych. Wykład 4

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

Bardziej szczegółowo

Gniazda - Wstęp. Oprogramowanie systemów równoległych i rozproszonych. Sposób komunikacji. Domena adresowa. olas@icis.pcz.pl

Gniazda - Wstęp. Oprogramowanie systemów równoległych i rozproszonych. Sposób komunikacji. Domena adresowa. olas@icis.pcz.pl Gniazda - Wstęp Oprogramowanie systemów równoległych i rozproszonych Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Domena adresowa 1/??

Bardziej szczegółowo

IPC: Kolejki komunikatów

IPC: Kolejki komunikatów IPC: Kolejki komunikatów Systemy Operacyjne 2 laboratorium Mateusz Hołenko 7 listopada 2011 Plan zajęć 1 Mechanizmy IPC kolejki komunikatów pamięć współdzielona semafory 2 Kolejki komunikatów kolejka komunikat

Bardziej szczegółowo

Projektowanie oprogramowania systemów KOMUNIKACJA SIECIOWA I SYSTEMY RPC

Projektowanie oprogramowania systemów KOMUNIKACJA SIECIOWA I SYSTEMY RPC Projektowanie oprogramowania systemów KOMUNIKACJA SIECIOWA I SYSTEMY RPC plan programowanie sieciowe BSD/POSIX Socket API systemy RPC interfejsy obiektowe CORBA DCOM RMI WebServices WSDL/SOAP XML-RPC REST

Bardziej szczegółowo

Warstwa transportowa. Warstwa transportowa. Enkapsulacja. Zapewnienie niezawodnego przesyłania danych /wg ISO/ Transmisja bezpołączeniowa

Warstwa transportowa. Warstwa transportowa. Enkapsulacja. Zapewnienie niezawodnego przesyłania danych /wg ISO/ Transmisja bezpołączeniowa Warstwa transportowa Warstwa 4 modelu OSI Warstwa 3 modelu TCP/IP warstwa aplikacji warstwa prezentacji warstwa sesji warstwa transportowa warstwa sieci warstwa łącza danych warstwa fizyczna warstwa aplikacji

Bardziej szczegółowo

Architektura typu klient serwer: uproszczony klient POP3

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

Bardziej szczegółowo

Kolejki FIFO (łącza nazwane)

Kolejki FIFO (łącza nazwane) Kolejki FIFO (łącza nazwane) Systemy Operacyjne 2 laboratorium Mateusz Hołenko 6 listopada 2011 Plan zajęć 1 Łącza w systemie Linux kolejki FIFO vs. potoki specyfika łączy nazwanych schemat komunikacji

Bardziej szczegółowo

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 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:

Bardziej szczegółowo

Tryby komunikacji między procesami w standardzie Message Passing Interface. Piotr Stasiak Krzysztof Materla

Tryby komunikacji między procesami w standardzie Message Passing Interface. Piotr Stasiak Krzysztof Materla Tryby komunikacji między procesami w standardzie Message Passing Interface Piotr Stasiak 171011 Krzysztof Materla 171065 Wstęp MPI to standard przesyłania wiadomości (komunikatów) pomiędzy procesami programów

Bardziej szczegółowo

Systemy operacyjne System sieciowy UNIX-a

Systemy operacyjne System sieciowy UNIX-a Systemy operacyjne 29.10.2010 System sieciowy UNIX-a System sieciowy UNIX-a używa potoku umożliwiającego przepływ strumienia bajtów między dwoma procesami i przepływ gniazdek (sockets) dla procesów powiązanych

Bardziej szczegółowo

Sieci komputerowe 1 DSRG

Sieci komputerowe 1 DSRG Sieci komputerowe 1 Sieci komputerowe 2 Warstwa transportowa Warstwa 4 modelu OSI Warstwa 3 modelu TCP/IP warstwa aplikacji warstwa prezentacji warstwa aplikacji warstwa sesji warstwa transportowa warstwa

Bardziej szczegółowo

MODEL WARSTWOWY PROTOKOŁY TCP/IP

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

Bardziej szczegółowo

Opis protokołu RPC. Grzegorz Maj nr indeksu:

Opis protokołu RPC. Grzegorz Maj nr indeksu: Opis protokołu RPC Grzegorz Maj nr indeksu: 236095 1 Streszczenie Niniejszy dokument opisuje specyfikację protokołu RQP (Remote Queues Protocol). W jego skład wchodzą: opis celów protokołu; opis założeń

Bardziej szczegółowo

Przesyłania danych przez protokół TCP/IP

Przesyłania danych przez protokół TCP/IP Przesyłania danych przez protokół TCP/IP PAKIETY Protokół TCP/IP transmituje dane przez sieć, dzieląc je na mniejsze porcje, zwane pakietami. Pakiety są często określane różnymi terminami, w zależności

Bardziej szczegółowo

Protokoły sieciowe - TCP/IP

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

Bardziej szczegółowo

3. Identyfikacja. SKŁADNIA #include <sys/socket.h> int getpeername(int socket, struct sockaddr *addr, int *addrlen);

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:

Bardziej szczegółowo

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Akademia Techniczno-Humanistyczna w Bielsku-Białej Akademia Techniczno-Humanistyczna w Bielsku-Białej Wydział Budowy Maszyn i Informatyki Laboratorium z sieci komputerowych Ćwiczenie numer: 9 Temat ćwiczenia: Aplikacje klient-serwer. 1. Wstęp teoretyczny.

Bardziej szczegółowo

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 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)

Bardziej szczegółowo

Zdalne wywołanie procedur. Krzysztof Banaś Systemy rozproszone 1

Zdalne wywołanie procedur. Krzysztof Banaś Systemy rozproszone 1 Zdalne wywołanie procedur Krzysztof Banaś Systemy rozproszone 1 RPC Komunikacja za pomocą gniazd jest wydajna, gdyż korzystamy z funkcji systemowych niewygodna, gdyż musimy wyrażać ją za pomocą jawnego

Bardziej szczegółowo

Gniazda. S. Samolej: Gniazda 1

Gniazda. S. Samolej: Gniazda 1 Gniazda dr inż. Sławomir Samolej Katedra Informatyki i Automatyki Politechnika Rzeszowska Program przedmiotu oparto w części na materiałach opublikowanych na: http://wazniak.mimuw.edu.pl/ oraz na materiałach

Bardziej szczegółowo

Programowanie Równoległe Wykład 4. MPI - Message Passing Interface. Maciej Matyka Instytut Fizyki Teoretycznej

Programowanie Równoległe Wykład 4. MPI - Message Passing Interface. Maciej Matyka Instytut Fizyki Teoretycznej Programowanie Równoległe Wykład 4 MPI - Message Passing Interface Maciej Matyka Instytut Fizyki Teoretycznej Jak używać w MPI? Donald Knuth: We should forget about small efficiencies, say about 97% of

Bardziej szczegółowo

Systemy rozproszone. Krzysztof Banaś Obliczenia równoległe 1

Systemy rozproszone. Krzysztof Banaś Obliczenia równoległe 1 Systemy rozproszone Krzysztof Banaś Obliczenia równoległe 1 Historia i pojęcia wstępne Przetwarzanie współbieżne realizacja wielu programów (procesów) w taki sposób, że ich trwanie od momentu rozpoczęcia

Bardziej szczegółowo

TCP/IP formaty ramek, datagramów, pakietów...

TCP/IP formaty ramek, datagramów, pakietów... SIECI KOMPUTEROWE DATAGRAM IP Protokół IP jest przeznaczony do sieci z komutacją pakietów. Pakiet jest nazywany przez IP datagramem. Każdy datagram jest podstawową, samodzielną jednostką przesyłaną w sieci

Bardziej szczegółowo

Zadanie 2: transakcyjny protokół SKJ (2015)

Zadanie 2: transakcyjny protokół SKJ (2015) Zadanie 2: transakcyjny protokół SKJ (2015) 1 Wstęp Zadanie polega na zaprojektowaniu niezawodnego protokołu transakcyjnego bazującego na protokole UDP. Protokół ten ma być realizowany przez klasy implementujące

Bardziej szczegółowo

RPC. Zdalne wywoływanie procedur (ang. Remote Procedure Calls )

RPC. Zdalne wywoływanie procedur (ang. Remote Procedure Calls ) III RPC Zdalne wywoływanie procedur (ang. Remote Procedure Calls ) 1. Koncepcja Aplikacja wywołanie procedury parametry wyniki wykonanie procedury wynik komputer klienta komputer serwera Zaletą takiego

Bardziej szczegółowo

SEGMENT TCP CZ. II. Suma kontrolna (ang. Checksum) liczona dla danych jak i nagłówka, weryfikowana po stronie odbiorczej

SEGMENT TCP CZ. II. Suma kontrolna (ang. Checksum) liczona dla danych jak i nagłówka, weryfikowana po stronie odbiorczej SEGMENT TCP CZ. I Numer portu źródłowego (ang. Source port), przeznaczenia (ang. Destination port) identyfikują aplikacje wysyłającą odbierającą dane, te dwie wielkości wraz adresami IP źródła i przeznaczenia

Bardziej szczegółowo

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

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

Bardziej szczegółowo

1. Model klient-serwer

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

Bardziej szczegółowo

Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas)

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

Bardziej szczegółowo

Pliki. Funkcje tworzące pliki i operujące na nich opisane są w części 2 pomocy systemowej. Tworzenie i otwieranie plików:

Pliki. Funkcje tworzące pliki i operujące na nich opisane są w części 2 pomocy systemowej. Tworzenie i otwieranie plików: Pliki W celu wykonania jakiejkolwiek operacji na istniejącym pliku, plik ten musi zostać otwarty, natomiast jeśli plik jeszcze nie istnieje, to musi zostać utworzony. Plik może zostać otwarty w trybie:

Bardziej szczegółowo

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV Piotr Jarosik, Kamil Jaworski, Dominik Olędzki, Anna Stępień Dokumentacja wstępna TIN Rozproszone repozytorium oparte o WebDAV 1. Wstęp Celem projektu jest zaimplementowanie rozproszonego repozytorium

Bardziej szczegółowo

Wykład 4: Protokoły TCP/UDP i usługi sieciowe. A. Kisiel,Protokoły TCP/UDP i usługi sieciowe

Wykład 4: Protokoły TCP/UDP i usługi sieciowe. A. Kisiel,Protokoły TCP/UDP i usługi sieciowe N, Wykład 4: Protokoły TCP/UDP i usługi sieciowe 1 Adres aplikacji: numer portu Protokoły w. łącza danych (np. Ethernet) oraz w. sieciowej (IP) pozwalają tylko na zaadresowanie komputera (interfejsu sieciowego),

Bardziej szczegółowo

1. Model klient-serwer

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

Bardziej szczegółowo

Komunikacja międzyprocesowa. Krzysztof Banaś Systemy rozproszone 1

Komunikacja międzyprocesowa. Krzysztof Banaś Systemy rozproszone 1 Komunikacja międzyprocesowa Krzysztof Banaś Systemy rozproszone 1 Komunikacja międzyprocesowa Dla funkcjonowania systemów rozproszonych i równoległych z pamięcią rozproszoną konieczna jest sprawna komunikacja

Bardziej szczegółowo

socket(int domain, int type, int protocol)

socket(int domain, int type, int protocol) Co identyfikuje adres IP a co port? IP identyfikuje hosta w sieci port identyfikuje typ procesu (np. 21 FTP, 25 SMTP, 49 LOGIN) gniazdo identyfikuje unikalny nr połączenia Czym różni się deskryptor gniazda

Bardziej szczegółowo

Protokoły zdalnego logowania Telnet i SSH

Protokoły zdalnego logowania Telnet i SSH Protokoły zdalnego logowania Telnet i SSH Krzysztof Maćkowiak Wprowadzenie Wykorzystując Internet mamy możliwość uzyskania dostępu do komputera w odległej sieci z wykorzystaniem swojego komputera, który

Bardziej szczegółowo

Skąd dostać adres? Metody uzyskiwania adresów IP. Statycznie RARP. Część sieciowa. Część hosta

Skąd dostać adres? Metody uzyskiwania adresów IP. Statycznie RARP. Część sieciowa. Część hosta Sieci komputerowe 1 Sieci komputerowe 2 Skąd dostać adres? Metody uzyskiwania adresów IP Część sieciowa Jeśli nie jesteśmy dołączeni do Internetu wyssany z palca. W przeciwnym przypadku numer sieci dostajemy

Bardziej szczegółowo

Instalacja programu Ozon.

Instalacja programu Ozon. Instalacja programu Ozon. Przykładowa topologia sieci w której moŝe pracować program Ozon: Jak widać na powyŝszym obrazku baza danych zainstalowana jest na jednym komputerze, który określany jest mianem

Bardziej szczegółowo

Programowanie sieciowe

Programowanie sieciowe Programowanie sieciowe email: dawid@us.edu.pl Programowanie warstwy transportu. - Berkeley sockets. - koncepcja gniazda - bibliteka sockets (connect(),socket(),bind(),listen(),accept(),read(),write() )

Bardziej szczegółowo

Enkapsulacja RARP DANE TYP PREAMBUŁA SFD ADRES DOCELOWY ADRES ŹRÓDŁOWY TYP SUMA KONTROLNA 2 B 2 B 1 B 1 B 2 B N B N B N B N B Typ: 0x0835 Ramka RARP T

Enkapsulacja RARP DANE TYP PREAMBUŁA SFD ADRES DOCELOWY ADRES ŹRÓDŁOWY TYP SUMA KONTROLNA 2 B 2 B 1 B 1 B 2 B N B N B N B N B Typ: 0x0835 Ramka RARP T Skąd dostać adres? Metody uzyskiwania adresów IP Część sieciowa Jeśli nie jesteśmy dołączeni do Internetu wyssany z palca. W przeciwnym przypadku numer sieci dostajemy od NIC organizacji międzynarodowej

Bardziej szczegółowo

61 Topologie wirtualne

61 Topologie wirtualne 61 Topologie wirtualne pozwalają opisać dystrybucję procesów w przestrzeni z uwzględnieniem struktury komunikowania się procesów aplikacji między sobą, umożliwiają łatwą odpowiedź na pytanie: kto jest

Bardziej szczegółowo

Instrukcje dotyczące funkcji zarządzania pasmem w urządzeniach serii ZyWALL.

Instrukcje dotyczące funkcji zarządzania pasmem w urządzeniach serii ZyWALL. Instrukcje dotyczące funkcji zarządzania pasmem w urządzeniach serii ZyWALL. Niniejsza instrukcja zawiera wskazówki dotyczące konfiguracji funkcji BW MGMT dostępnej w urządzeniach serii ZyWALL. Dość często

Bardziej szczegółowo

Sieci komputerowe Warstwa transportowa

Sieci komputerowe Warstwa transportowa Sieci komputerowe Warstwa transportowa 2012-05-24 Sieci komputerowe Warstwa transportowa dr inż. Maciej Piechowiak 1 Wprowadzenie umożliwia jednoczesną komunikację poprzez sieć wielu aplikacjom uruchomionym

Bardziej szczegółowo

Gniazda BSD UNIWERSYTET GDAŃSKI WYDZIAŁ MATEMATYKI I FIZYKI. Jacek Nowicki

Gniazda BSD UNIWERSYTET GDAŃSKI WYDZIAŁ MATEMATYKI I FIZYKI. Jacek Nowicki UNIWERSYTET GDAŃSKI WYDZIAŁ MATEMATYKI I FIZYKI Gniazda BSD Jacek Nowicki Praca magisterska napisana pod kierunkiem prof. dra hab. Andrzeja Mostowskiego Gdańsk 2003 Spis treści Wstęp...3 1. Krótki rys

Bardziej szczegółowo

Architektury systemów rozproszonych LABORATORIUM. Ćwiczenie 1

Architektury systemów rozproszonych LABORATORIUM. Ćwiczenie 1 Architektury systemów rozproszonych LABORATORIUM Ćwiczenie 1 Temat: Aplikacja klient-serwer - implementacja w środowisku QT Creator. Przykładowy projekt aplikacji typu klient - serwer został udostępniony

Bardziej szczegółowo

Ćwiczenie nr: 9 Obliczenia rozproszone MPI

Ćwiczenie nr: 9 Obliczenia rozproszone MPI Ćwiczenie nr: 9 Temat: Obliczenia rozproszone MPI 1. Informacje ogólne MPI (Message Passing Interface) nazwa standardu biblioteki przesyłania komunikatów dla potrzeb programowania równoległego w sieciach

Bardziej szczegółowo

Referencyjny model OSI. 3 listopada 2014 Mirosław Juszczak 37

Referencyjny model OSI. 3 listopada 2014 Mirosław Juszczak 37 Referencyjny model OSI 3 listopada 2014 Mirosław Juszczak 37 Referencyjny model OSI Międzynarodowa Organizacja Normalizacyjna ISO (International Organization for Standarization) opracowała model referencyjny

Bardziej szczegółowo

ZiMSK dr inż. Łukasz Sturgulewski, luk@kis.p.lodz.pl, http://luk.kis.p.lodz.pl/ DHCP

ZiMSK dr inż. Łukasz Sturgulewski, luk@kis.p.lodz.pl, http://luk.kis.p.lodz.pl/ DHCP ZiMSK dr inż. Łukasz Sturgulewski, luk@kis.p.lodz.pl, http://luk.kis.p.lodz.pl/ dr inż. Artur Sierszeń, asiersz@kis.p.lodz.pl dr inż. Andrzej Frączyk, a.fraczyk@kis.p.lodz.pl DHCP 1 Wykład Dynamiczna konfiguracja

Bardziej szczegółowo

Tunelowanie, kapsułkowanie, XDR. 1. Transmisja tunelowa i kapsułkowanie serwery proxy. 2. Zewnętrzna reprezentacja danych XDR.

Tunelowanie, kapsułkowanie, XDR. 1. Transmisja tunelowa i kapsułkowanie serwery proxy. 2. Zewnętrzna reprezentacja danych XDR. Tunelowanie, kapsułkowanie, XDR 1. Transmisja tunelowa i kapsułkowanie serwery proxy. 2. Zewnętrzna reprezentacja danych XDR. 1 Transmisja tunelowa i kapsułkowanie Sieci komputerowe rozwijały się stopniowo

Bardziej szczegółowo

AKADEMIA GÓRNICZO-HUTNICZA. Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki KATEDRA INFORMATYKI. SyncFile

AKADEMIA GÓRNICZO-HUTNICZA. Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki KATEDRA INFORMATYKI. SyncFile AKADEMIA GÓRNICZO-HUTNICZA Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki KATEDRA INFORMATYKI Document wizyjny dla projektu Wersja 0.1-5 z dnia 2006-11-14 Kierunek, rok studiów: Informatyka,

Bardziej szczegółowo

Programowanie Programowanie z użyciem gniazd

Programowanie Programowanie z użyciem gniazd System i Programowanie Programowanie z użyciem gniazd Wersja 6 wydanie 1 System i Programowanie Programowanie z użyciem gniazd Wersja 6 wydanie 1 Uwaga Przed skorzystaniem z tych informacji oraz z produktu,

Bardziej szczegółowo

Wyjście do drukarki Centronix

Wyjście do drukarki Centronix Wyjście do drukarki Centronix Model M-0 do Dydaktycznego Systemu Mikroprocesorowego DSM-1 Instrukcja uŝytkowania Copyright 2007 by MicroMade All rights reserved Wszelkie prawa zastrzeŝone MicroMade Gałka

Bardziej szczegółowo

Tytuł: Instrukcja obsługi Modułu Komunikacji internetowej MKi-sm TK / 3001 / 016 / 002. Wersja wykonania : wersja oprogramowania v.1.

Tytuł: Instrukcja obsługi Modułu Komunikacji internetowej MKi-sm TK / 3001 / 016 / 002. Wersja wykonania : wersja oprogramowania v.1. Zakład Elektronicznych Urządzeń Pomiarowych POZYTON sp. z o. o. 42-200 Częstochowa ul. Staszica 8 p o z y t o n tel. : (034) 361-38-32, 366-44-95, 364-88-82, 364-87-50, 364-87-82, 364-87-62 tel./fax: (034)

Bardziej szczegółowo

Komunikacja Master-Slave w protokole PROFIBUS DP pomiędzy S7-300/S7-400

Komunikacja Master-Slave w protokole PROFIBUS DP pomiędzy S7-300/S7-400 PoniŜszy dokument zawiera opis konfiguracji programu STEP7 dla sterowników S7 300/S7 400, w celu stworzenia komunikacji Master Slave z wykorzystaniem sieci PROFIBUS DP pomiędzy sterownikami S7 300 i S7

Bardziej szczegółowo

SUMA KONTROLNA (icmp_cksum) NUMER KOLEJNY (icmp_seq)

SUMA KONTROLNA (icmp_cksum) NUMER KOLEJNY (icmp_seq) Program my_ping: wysłanie komunikatu ICMP z żądaniem echa Struktura icmp (plik netinet/ip_icmp.h) 0 7 8 15 16 31 TYP (icmp_type) KOD (icmp_code) IDENTYFIKATOR (icmp_id) SUMA KONTROLNA (icmp_cksum) NUMER

Bardziej szczegółowo

Mechanizmy z grupy IPC

Mechanizmy z grupy IPC Mechanizmy z grupy IPC Podobnie jak łącza, IPC (Inter Process Communication) jest grupą mechanizmów komunikacji i synchronizacji procesów działających w ramach tego samego systemu operacyjnego. W skład

Bardziej szczegółowo

Serwer współbieżny połączeniowy

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

Bardziej szczegółowo

Serwery współbieżne c.d.

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.

Bardziej szczegółowo

Komunikacja za pomocą potoków. Tomasz Borzyszkowski

Komunikacja za pomocą potoków. Tomasz Borzyszkowski Komunikacja za pomocą potoków Tomasz Borzyszkowski Wstęp Sygnały, omówione wcześniej, są użyteczne w sytuacjach błędnych lub innych wyjątkowych stanach programu, jednak nie nadają się do przekazywania

Bardziej szczegółowo

Podstawowe protokoły transportowe stosowane w sieciach IP cz.1

Podstawowe protokoły transportowe stosowane w sieciach IP cz.1 Laboratorium Technologie Sieciowe Podstawowe protokoły transportowe stosowane w sieciach IP cz.1 Wprowadzenie Ćwiczenie przedstawia praktyczną stronę następujących zagadnień: połączeniowy i bezpołączeniowy

Bardziej szczegółowo

Ćwiczenie nr: 9 Obliczenia rozproszone MPI

Ćwiczenie nr: 9 Obliczenia rozproszone MPI Ćwiczenie nr: 9 Temat: Obliczenia rozproszone MPI 1. Informacje ogólne MPI (Message Passing Interface) nazwa standardu biblioteki przesyłania komunikatów dla potrzeb programowania równoległego w sieciach

Bardziej szczegółowo

Schemat dla UDP. = możliwe zablokowanie aplikacji KLIENT SERWER. s=socket(...) bind(s,...) recvfrom(s,...) sendto(s,...) recvfrom(s,...

Schemat dla UDP. = możliwe zablokowanie aplikacji KLIENT SERWER. s=socket(...) bind(s,...) recvfrom(s,...) sendto(s,...) recvfrom(s,... Schemat dla UDP = możliwe zablokowanie aplikacji KLIENT s=socket(...) [bind(s,...)] sendto(s,...) recvfrom(s,...) sendto(s,...) close(s) SERWER s=socket(...) bind(s,...) recvfrom(s,...) sendto(s,...) recvfrom(s,...)

Bardziej szczegółowo

Komunikator internetowy w C#

Komunikator internetowy w C# PAŃSTWOWA WYśSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie Komunikator internetowy w C# autor: Artur Domachowski Elbląg, 2009 r. Komunikacja przy uŝyciu poczty internetowej

Bardziej szczegółowo

Komputery i Systemy Równoległe Jędrzej Ułasiewicz 1

Komputery i Systemy Równoległe Jędrzej Ułasiewicz 1 Komputery i Systemy Równoległe Jędrzej Ułasiewicz 1 1 Interfejs gniazdek Jednolity interfejs API (Application Program Interface) do mechanizmów komunikacji sieciowej. Wprowadzony w wersji Unixa BSD 4.2

Bardziej szczegółowo

Program 6. Program wykorzystujący strukturę osoba o polach: imię, nazwisko, wiek. W programie wykorzystane są dwie funkcje:

Program 6. Program wykorzystujący strukturę osoba o polach: imię, nazwisko, wiek. W programie wykorzystane są dwie funkcje: Program 6 Program wykorzystujący strukturę osoba o polach: imię, nazwisko, wiek. W programie wykorzystane są dwie funkcje: Funkcja pobierz_osobe wczytuje dane osoby podanej jako argument. Funkcja wypisz_osobe

Bardziej szczegółowo

Na chwilę obecną biblioteka ElzabObsluga.dll współpracuje tylko ze sprawdzarkami RSowymi.

Na chwilę obecną biblioteka ElzabObsluga.dll współpracuje tylko ze sprawdzarkami RSowymi. Instrucja wdrożenia biblioteki ElzabObsluga.dll Wymagane wersje: ihurt 6.3 ElzabObsluga.dll 6.1.0.0 KhAutomat 6.3.0.0 Schemat blokowy: Na chwilę obecną biblioteka ElzabObsluga.dll współpracuje tylko ze

Bardziej szczegółowo

Programowanie w modelu przesyłania komunikatów specyfikacja MPI, cd. Krzysztof Banaś Obliczenia równoległe 1

Programowanie w modelu przesyłania komunikatów specyfikacja MPI, cd. Krzysztof Banaś Obliczenia równoległe 1 Programowanie w modelu przesyłania komunikatów specyfikacja MPI, cd. Krzysztof Banaś Obliczenia równoległe 1 MPI dynamiczne zarządzanie procesami MPI 2 umożliwia dynamiczne zarządzanie procesami, choć

Bardziej szczegółowo

IBM i Wersja 7.2. Programowanie Programowanie z użyciem gniazd

IBM i Wersja 7.2. Programowanie Programowanie z użyciem gniazd IBM i Wersja 7.2 Programowanie Programowanie z użyciem gniazd IBM i Wersja 7.2 Programowanie Programowanie z użyciem gniazd Uwaga Przed skorzystaniem z tych informacji oraz z produktu, którego dotyczą,

Bardziej szczegółowo

Standardy programowania protokołów komunikacyjnych Laboratorium nr 5 komunikacja multicastowa IPv6

Standardy programowania protokołów komunikacyjnych Laboratorium nr 5 komunikacja multicastowa IPv6 Standardy programowania protokołów komunikacyjnych Laboratorium nr 5 komunikacja multicastowa IPv6 Celem ćwiczenia jest zdobycie umiejętności programowania komunikacji multicastowej za pomocą protokołu

Bardziej szczegółowo

KARTA PRZEDMIOTU. Systemy Rozproszone D1_3

KARTA PRZEDMIOTU. Systemy Rozproszone D1_3 KARTA PRZEDMIOTU 1. Informacje ogólne Nazwa przedmiotu i kod (wg planu studiów): Nazwa przedmiotu (j. ang.): Kierunek studiów: Specjalność/specjalizacja: Poziom kształcenia: Profil kształcenia: Forma studiów:

Bardziej szczegółowo

Wybrane działy Informatyki Stosowanej

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

Bardziej szczegółowo

iseries Programowanie z użyciem gniazd

iseries Programowanie z użyciem gniazd iseries Programowanie z użyciem gniazd iseries Programowanie z użyciem gniazd Copyright International Business Machines Corporation 2000, 2001. Wszelkie prawa zastrzeżone. Spis treści Część 1. Programowanie

Bardziej szczegółowo

Uniwersalny Konwerter Protokołów

Uniwersalny Konwerter Protokołów Uniwersalny Konwerter Protokołów Autor Robert Szolc Promotor dr inż. Tomasz Szczygieł Uniwersalny Konwerter Protokołów Szybki rozwój technologii jaki obserwujemy w ostatnich latach, spowodował że systemy

Bardziej szczegółowo

System operacyjny UNIX Internet. mgr Michał Popławski, WFAiIS

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

Bardziej szczegółowo

Laboratorium Sieci Komputerowych - 2

Laboratorium Sieci Komputerowych - 2 Laboratorium Sieci Komputerowych - 2 Analiza prostych protokołów sieciowych Górniak Jakub Kosiński Maciej 4 maja 2010 1 Wstęp Zadanie polegało na przechwyceniu i analizie komunikacji zachodzącej przy użyciu

Bardziej szczegółowo

Programowanie Programowanie z użyciem gniazd

Programowanie Programowanie z użyciem gniazd Systemy IBM - iseries Programowanie Programowanie z użyciem gniazd Wersja 5 Wydanie 4 Systemy IBM - iseries Programowanie Programowanie z użyciem gniazd Wersja 5 Wydanie 4 Uwaga Przed korzystaniem z tych

Bardziej szczegółowo

Krótkie wprowadzenie do korzystania z OpenSSL

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

Bardziej szczegółowo

Zdalne wywoływanie procedur RPC

Zdalne wywoływanie procedur RPC Zdalne wywoływanie procedur Zagadnienia projektowe Zagadnienia realizacyjne main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status) }... int zabij_proces

Bardziej szczegółowo