Komunikacja przez sieć z wykorzystaniem biblioteki WINSOCK. dr inż. Piotr Kaczmarek Instytut Automatyki i Inżynierii Informatycznej
|
|
- Jacek Stasiak
- 8 lat temu
- Przeglądów:
Transkrypt
1 Komunikacja przez sieć z wykorzystaniem biblioteki WINSOCK dr inż. Piotr Kaczmarek Instytut Automatyki i Inżynierii Informatycznej
2 LAN (Local Area Network) Warstwa fizyczna Podstawowe topologie: -Gwiazda -Magistrala -Ring Medium: -UTP, optical fiber, 2.4GHz...
3 Model ISO OSI
4 Warstwa fizyczna (physical layer) Warstwa fizyczna: (physical layer) Jest odpowiedzialna za transmisję strumienia bitów między węzłami sieci. Definiuje protokoły opisujące interfejsy fizyczne, to jest ich aspekty: mechaniczny, elektryczny, funkcjonalny i proceduralny. Do funkcji tej warstwy należą: sprzęgniecie z medium transmisji danych, dekodowanie sygnałów, określanie zakresu amplitudy prądu lub napięcia i określanie parametrów mechanicznych łączówek (kształtu, wymiarów i liczby styków) oraz inne kwestie związane z transmisją bitów.
5 Warstwa łącza danych Zapewnia niezawodne łącze pomiędzy sąsiednimi węzłami. Nadzoruje przepływ informacji przez łącze i w związku z podatnością warstwy fizycznej na zakłócenia i wynikające stąd błędy oferuje własne mechanizmy kontroli błędów w przesyłanych ramkach lub pakietach (CRC - Cyclic Redundancy Check).
6 Adres MAC MAC (ang. Media Access Control) podwarstwa warstwy łącza danych (ang. Data Link Layer, DLL) w modelu OSI sprzętowy adres karty sieciowej Ethernet i Token Ring, unikatowy w skali światowej, nadawany przez producenta danej karty podczas produkcji. Adres MAC (ang. MAC address) jest 48-bitowy i zapisywany jest heksadecymalnie (szesnastkowo). Pierwsze 24 bity oznaczają producenta karty sieciowej, pozostałe 24 bity są unikatowym identyfikatorem danego egzemplarza karty. Na przykład adres 00:0A:E6:3E:FD:E1 oznacza, że karta została wyprodukowana przez Elitegroup Computer System Co. (ECS) i producent nadał jej numer 3E:FD:E1.
7 Mechanizmy wykrywania kolizji CSMA/CD (Carrier Sense Multiple Access with Collision Detect) Metoda dostępu CSMA/CD została zastosowana w takich sieciach jak: Ethernet (IEEE 802.3), IsoEthernet (IEEE 802.9) Fast Ethernet (IEEE 802.3u) - rozszerzenie (inna nazwa ISO u) lub 100Base-T, Gigabitowy Ethernet.
8 CSMA/CD 1) stacja, która wykryje kolizję jako pierwsza, natychmiast przestaje nadawać i wysyła charakterystyczny sygnał zakłócający - tzw. jamming signal. 2) Wszystkie pozostałe stacje usłyszawszy ten sygnał, przerywają swoje transmisje na losowo wybrany przedział czasu t. (Czas ten nie jest zupełnie losowy, jest bowiem wyznaczany na podstawie odpowiedniego algorytmu, który wykorzystuje 6-o bajtowy adres karty sieciowej. Zabezpieczona jest wobec tego sytuacja, w której stacje wylosowałyby tą samą chwilę na retransmisję.
9 CSMA/CD 3) Po tym czasie każda ze stacji, która brała udział w kolizji ponawia próbę transmisji. Jeżeli znowu nastąpi kolizja, wówczas przedział czasu, jaki stacja ma odczekać jest równy 2*t. Przy ponownej kolizji czas ten ponownie jest podwajany. 4. Jeżeli 16 razy pod rząd stacja nie będzie w stanie przeprowadzić transmisji z powodu ciągle występujących kolizji, wówczas kolejne próby są zaniechane, a informacja o błędzie przekazywana jest do wyższych warstw modelu ISO/OSI i ostatecznie dociera do użytkownika.
10 Warstwa sieciowa (network layer) Dostarcza środków do ustanawiania, utrzymania i rozłączania połączeń sieciowych miedzy systemami otwartymi, w których rezydują komunikujące się aplikacje, i odpowiada, za obsługę błędów komunikacji. Ponadto warstwa sieciowa jest odpowiedzialna za funkcje routingu, który wyznacza optymalną pod względem liczby połączeń drogę przesyłania pakietu przez sieć.
11 TCP (Transsmition Control Protocol) warstwa transpotrowa Ustala połączenie pomiędzy dwoma komputerami mającymi wymieniać dane (połączenie wirtualne) Połączenie nie kończy się na interface sieci, sięga aż do warstwy aplikacji (do określonego procesu uruchomionego na komputerze Każdy komputer tworzy gniazdo (socket), a punkty końcowe połączenia dołączane są do tegoż gniazda. Każde gniazdo posiada adres nazwany (numer portu)
12 TCP komunikacja Dane są przesyłane w segmentach TCP (ramkach z 20bajtowym nagłówkiem) Protokół zapewnia niezawodność transmisji (kontroluje dostarczenie pakietu (potwierdzenia), oraz jego poprawność (suma kontrolna) Pakiet jest dostarczany wyłącznie do adresata W pierwszej fazie żądanie połączenia musi być wysłane przez nadawcę a uzyskanie połączenia potwierdzone przez odbiorcę
13 UDP (User Datagram Protocol) warstwa transpotrowa Protokół bezpołączeniowy, więc nie ma narzutu na nawiązywanie połączenia i śledzenie sesji. Brak mechanizmów kontroli przepływu i retransmisji. Korzyści: większa szybkość transmisji danych i brak dodatkowych zadań, którymi musi zajmować się host posługujący się tym protokołem. Z tych względów UDP jest często używany w takich zastosowaniach jak wideokonferencje, strumienie dźwięku w Internecie i gry sieciowe, gdzie dane muszą być przesyłane możliwie szybko, a poprawianiem błędów zajmują się inne warstwy modelu OSI. Przykładem może być VoIP lub protokół DNS. UDP udostępnia mechanizm identyfikacji różnych punktów końcowych (np. pracujących aplikacji, usług czy serwisów) na jednym hoście dzięki portom. UDP zajmuje się dostarczaniem pojedynczych
14 INTER-NET połączenie wielu sieci między sobą Musi istnieć sposób komunikacji miedzy różnymi standardami sieci Należy określić ścieżkę przesyłania danych
15 IP (Internet Protocol) Dane z datagramów sieci lokalnej są wyłuskiwane i umieszczane w ramkach standardu IP IP pozwala na określenie adresu hosta w innej sieci Protokół zapewnia efektywne przesyłanie pakietów, nie pozwala jednak na kontrolę ich dostarczenia Określenie trasy przesyłania datagramu oraz translacja pakietu IP z i na pakiet protokołu wykorzystywanego w sieci lokalnej spoczywa na Routerach (traserach)
16 Komputery w sieci lokalnej mogą być adresowane na podstawie adresu MAC (Medium Acces Control) karty sieciowej Do adresowania komputerów w środowisku między sieciowym stosuje się adres IP (IPv4 przedstawiony obok) Do poszerzenia przestrzeni adresowej stosuje się CIDR(Classes Interdomain Routing) lub IPv6 (z 16bajtowym adresem) Można również wykorzystywać nazwy domenowe (w sieci musi istnieć server DNS (Domain Name Server) tłumaczący nazwę na adres IP komputera Adresowanie
17 IP v6 - adres składa się z 128b liczby (zazwyczaj zapisuje się w postaci 8x 16b wartości - bloki złożone z 0 można pominąć zastępijąc je :: Przykłady: 2001:0db8:0000:0000:0000:0000:1428:57ab 2001:0db8:0:0:0:0:1428:57ab 2001:0db8:0:0::1428:57ab 2001:0db8::1428:57ab 2001:db8::1428:57ab
18 IPv6 typy adresów W adresacji stosuje się trzy typy adresów: adresy unicast identyfikujące pojedynczy interfejs; pakiety, które są kierowane na ten typ adresu dostarczane są tylko do odbiorcy adresy multicast identyfikujące grupę interfejsów (mogą one należeć do różnych węzłów), pakiety wysyłane na ten adres dostarczane są do wszystkich członków grupy adresy anycast podobnie jak adresy multicast, identyfikują one grupę interfejsów, jednak pakiet wysyłany na ten adres dostarczany jest tylko do najbliższego węzła (węzeł ten jest wyznaczany przez protokół rutingu)
19 Zakresy adresów adresy lokalne dla łącza (link-local address) są to adresy wykorzystywane tylko do komunikacji w jednym segmencie sieci lokalnej lub przy połączeniu typu point-to-point. Rutery nie przekazują pakietów z tego rodzaju adresem. Z puli pozostałych adresów wyróżniane są przez prefiks FE80::/10. Każdy interfejs musi mieć przydzielony co najmniej jeden adres lokalny dla łącza, nawet jeżeli posiada adres globalny lub unikatowy adres lokalny. unikatowe adresy lokalne (unique local adress) są to adresy będące odpowiednikami adresów prywatnych wykorzystywanych w protokole IPv4. Z puli pozostałych adresów wyróżniane są przez prefiks FC00::/7. Od adresów lokalnych łącza odróżnia je także prefiks rutingu. adresy globalne (global unicast address) widoczne w całym internecie, są odpowiednikami adresów publicznych stosowanych w IPv4; wszystkie pozostałe
20 Adresy specjalne IPv6 ::/128 adres nieokreślony (zawierający same zera). ::1/128 loopback, adres wskazujący na host lokalny. ::/96 pula zarezerwowana dla zachowania kompatybilności z protokołem IPv4 (pierwsze 96 bitów stanowią 0, pozostają 32 bity na adresy w formacie IPv4). ::ffff:0:0/64 jw., ale pozwala wykorzystywać komunikację według protokołu IPv6 w sieci IPv :7f8::/32 pula zarezerwowana dla punktów wymiany ruchu, każdy z nich dostaje jedną podsieć / :db8::/32 pula wykorzystywana w przykładach i dokumentacji nigdy nie będzie wykorzystywana produkcyjnie. 2002::/24 adresy typu IPv6 do IPv4. Są to adresy wygenerowane na podstawie istniejących, publicznych adresów IPv4, dostępne dla każdego użytkownika.
21 Autokonfiguracja IPv6 Dla podsieci będących LAN-em przydzielana jest pula adresów z maską /64, co umożliwia tworzenie unikatowych adresów lokalnych dla łącza w oparciu o numery sprzętowe MAC (IEEE 802). Adres taki (dla adresu MAC 10:22:33:44:55:66) będzie miał postać: 64bitowy_prefiks_sieci:1222:33FF:FE44:5566
22 Routing pakietów
23 TCP/IP Stanowi połączenie dwóch protokołów Umożliwia efektywne przesyłanie pakietów między sieciami (IP) oraz zapewnia kontrolę i niezawodność przesyłanie pakietów między dwoma komputerami (TCP) Protokół ten działa również w sieciach lokalnych w których komputery posiadają adresy IP. Mechanizm ten można również wykorzystywać do komunikacji między aplikacjami uruchomionymi na pojedynczym komputerze z wykorzystaniem adresu loop back (localhost)
24 TCP/IP w modelu OSI - połączenie można ustanowić pomiędzy 2 dowolnymi hostami, - połączenie jest tworzone pomiędzy dwoma aplikacjami z których jedna pełni rolę serwera (nasłuchuje i przyjmuje połączenie) a drugi klienta (inicjującego połączenie) - serwer musi mieć publiczny adres IP lub musi znajdować się w tej samej sieci LAN co klient - serwer prowadzi nasłuch (czeka na zgłoszenia) na przypisanym mu porcie
25 Brak gniazd Wykorzystanie gniazd Gniazda usługi serwera Standardowo stosuje się gniazda (odpowiadające numerom telefonów) w celu realizacji pewnych usług. Gniazda są identyfikowane przez ich numer, aplikacja klienta może połączyć się z określonym gniazdem serwera 80 httpd, 21 ftp, powyżej numeru 1024 znajdują się gniazda z których mogą korzystać inne aplikacje Połączenie z gniazdem można uzyskać przez wpisanie adresu IP i nr gniazda w postaci xxx.xxx.xxx:gniazdo
26 Protokoły Http: - port 80 Ftp: - port 21 Ssh: - port 22 Smtp: - port 25 Pop3: - port 110
27 Bezpieczeństwo Pakiety danych mogą być przechwycone w trakcie ich transmisji, co może skutkować odczytaniem poufnych informacji Szyfrowanie polega na zakodowaniu danych po stronie klienta i rozkodowaniu ich po stronie odbiorcy. Do kodowania wykorzystuje się protokół TSL/SSL oparty o klucz publiczny i prywatny
28 Klucz prywatny i publiczny (RSA) Tworzenie klucza: 1. Wybieramy losowo dwie duże liczby pierwsze p i q (najlepiej w taki sposób, aby obie miały zbliżoną długość w bitach, ale jednocześnie były od siebie odległe wartościami - maksymalizuje to bezpieczeństwo klucza) 2. Obliczamy wartość n = pq 3. Obliczamy wartość funkcji Eulera dla n: φ(n)=(p-1)(q-1) 4. Wybieramy liczbę e (1 < e < φ(n)) względnie pierwszą z φ(n) 5. Znajdujemy liczbę d odwrotną do e mod φ(n);
29 TSL/SSL TLS (ang. Transport Layer Security) rozwinięcie protokołu SSL (ang. Secure Socket Layer), zaprojektowanego pierwotnie przez Netscape Communications Corporation. TLS zapewnia poufność i integralność transmisji danych, a także uwierzytelnienie serwera, a niekiedy również klienta. Serwer wyposażony jest w certyfikat (CA) pozwalający na jego jednoznacze zidentyfikowanie. Przy nawiązywaniu połączenia klient otrzymuje klucz publiczny do szyfrowania danych sesji.
30 Forwarding portów Adresy w sieci LAN zazwyczaj pochodzą z przestrzeni adresowej przypisanej sieciom prywatnym (komputery nie mają publicznych adresów IP. Możliwe jest jednak przekierowanie ruchu z pewnego portu na IP publicznym na pewien określony port komputera w sieci LAN. Dzięki temu można zadedykować do konkretnej usługi osobny komputer, bez konieczności zwiększania puli publicznych Publiczne IP Prywatne IP np
31 Wirtualne sieci prywatne VPN Udostępnienie na zewnątz wszystkich zasobów sieci lokalnej byłoby dużym zagrożeniem bezpieczeństwa Z drugiej stony udostępnienie tylko niektórych usług (przez forwardowanie portów) jest również luką bezpieczeństwa I nie umożliwia korzystanie z wszystkich zasobów sieci. Sieć wirtualna tworzy szyfrowany tunel przez który komputer znajdujacy się poza siecią LAN może mieć dostę do wszystkich zasobów tej sieci (otrzymuje adres IP w sieci lokalnej)
32 Architektura Klient-Serwer Architektura ta dotyczy warstwy aplikacji Wszystkie zasoby zgromadzone są na serwerze i są udostępniane przez niego komputerom klientom wyłącznie w takim zakresie w jakim ich potrzebują, Architektura ta umożliwia ograniczenie dostępu do pewnych zasobów, hermetyzację W architekturze tej można stosować wolne komputery klientów z małą pamięcią dyskową, ponieważ większość zadań wykonywana jest w obrębie serwera, zaś komputer klienta służy wyłącznie do wyświetlania wyniku operacji Komunikacja między serwerem a klientami może odbywać się z wykorzystaniem protokołu TCP/IP, lecz wymaga sprecyzowania interface u komunikacji
33 Algorytm komunikacji Serwer oczekuje na żądania klientów i obsługuje je w określonej kolejności, sam jednak nie inicjuje połączenia Należy ustalić (jeśli nie korzysta się ze standardowego protokołu (np. http lub ftp) w jaki sposób przekazywać żądania do servera Należy ustalić jakie zadania leżą w kompetencji servera a jakie klienta W celu aktualizacji swoich danych to aplikacja klienta musi zgłaszać odpowiednie żądanie
34 Interface komunikacji Żądanie przesyłane do serwera, wywołuje w aplikacji działającej na serwerze odpowiednią funkcję, której argumentami stają się dane przesłane przez klienta Należy zdefiniować wszystkie możliwe typy żądań oraz dane przesyłane przy każdym z tych żądań i odpowiedzi serwera i umieścić je w dwóch klasach interface u osobno dla klienta i dla serwera
35 Przykładowa klasa interface u Pomiędzy klientem i serwerem przesyłane są dane opisane strukturą: struct CSFRAME{ int ID; long DataSize void *Data }; Strona klienta Żądania: ID Opis 1 PrześlijAktualneDane 2 SprawdzDane dane NULL dane do sprawdzenia (np. Wykonany ruch) Strona serwera Odpowiedzi servera ID opis 1 AkualneDane 2 Błąd dane Aktualne dane (np. plansza) kod błędu
36 Interface - implementacja Po stronie serwera i klienta powinny znajdować się dwie klasy które realizują komunikację Powinny one posiadać metody nazwane tak jak żądania klienta (przesłanie żądania klienta wywołuje odpowiednią funkcję na serwerze) Strona klienta class CClientInterface{ public: CPlansza* PrzeslijAktualneDane(); int SprawdzDane(CPlansza* plansza) private: CSFRAME KomunikatOdebrany; CSFRAME KomunikatWysłany; }; Strona serwera class CServerInterface{ public: void OdbierzŻądanie(); CPlansza* PrzeslijAktualneDane(); int SprawdzDane(CPlansza* plansza private: CSFRAME KomunikatOdebrany; CSFRAME KomunikatWysłany; };
37 Interface implementacja cd. Strona klienta CPlansza* CClientInterface::PrzeslijAktualneDane() { KomunikatWyslany.ID=1; KomunikatWyslany.DataSize=0; KomunikatWyslany.Data=NULL; WyslijDoServera(KomunikatWyslany); OdbierzZSerwera(&KomunikatOdebrany); if(komunikatodebrany.id==1) return KomunikatOdebrany. Data; else return NULL; } int CClientInterface:: SprawdzDane(CPlansza* plansza) { KomunikatWyslany.ID=2; KomunikatWyslany.DataSize=sizeof(CPlansza); KomunikatWyslany.Data=plansza; WyslijDoServera(KomunikatWyslany); OdbierzZSerwera(&KomunikatOdebrany); return (int*) KomunikatOdebrany. Data; } Strona serwera CPlansza* CServerInterface:: OdbierzŻądanie() { CPlansza *plansza; int KodBladu; CzekajNaDaneOdKlienta(&KomunikatOdebrany); switch(komunikatodebrany.id){ case 1: plansza=przeslijaktualnedane(); KomunikatWyslany.ID=1; KomunikatWyslany.DataSize=sizeof(CPlansza); KomunikatWyslany.Data=plansza; case 2: KodBladu= SprawdzDane(KomunikatOdebrany.Data) KomunikatWyslany.ID=2; KomunikatWyslany.DataSize=sizeof(int); KomunikatWyslany.Data=&KodBladu; } WyslijDoKlienta(KomunikatWyslany); }
38 Inicjalizacja WinSock (klient/server) // Initialize Winsock. WSADATA wsadata; int iresult = WSAStartup( MAKEWORD(2,2), &wsadata ); if ( iresult!= NO_ERROR ) printf("error at WSAStartup()\n"); Ten kod musi zostać wywołany jednorazowo przy uruchomieniu aplikazcji wykorzystującej bibliotekę WinSock, dodatkowo należy dołączyć plik nagłowkowy #include "winsock2.h" i bibliotekę WS2_32.lib
39 Tworzenie nienazwanego gniazda (klient/server) // Create a socket. SOCKET m_socket; m_socket = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP ); if ( m_socket == INVALID_SOCKET ) { printf( "Error at socket(): %ld\n", WSAGetLastError() ); WSACleanup(); return; } Port stworzony przez klienta otrzymuje numer w chwili połączenia z serwerem. Numer portu na którym serwer nasłuchuje musi zostać przydzielony w następnym kroku
40 Połączenie z nazwanym portem (serwer) // Bind the socket. sockaddr_in service; service.sin_family = AF_INET; Inet_addr( IP ) przekształca ciąg znaków zwierających adres IP komputera do właściwej postaci (IN_ADDR) service.sin_addr.s_addr = inet_addr( " " ); Do przypisania adresu można service.sin_port = htons( ); if ( bind( m_socket, (SOCKADDR*) &service, sizeof(service) ) == SOCKET_ERROR ) { printf( "bind() failed.\n" ); closesocket(m_socket); return; } rwnież wykorzystać nazwę hosta (jeśli jest zarejestrowana w DNS: gethostbyname( p.pl ) htons konwertuje numer portu dany jako unsigned short na numer w formacie standardu TCP/IP (big-endian) Po wywołaniu funkcji bind na serwerze zostaje aktywowany port o wybranym numerze
41 Serwer oczekuje na żądanie klienta // Listen on the socket. if ( listen( m_socket, 1 ) == SOCKET_ERROR ) printf( "Error listening on socket.\n"); Serwer nasłuchuje na wybranym porcie (m_sock)., drugi argument funkcji listen określa długość kolejki zgłoszeń, dla aplikacji z wieloma klientami należy ją ustawić na wartość >1 listen pozostaje zawieszona tak długo jak nie pojawi się żądanie ze strony klienta
42 Połączenie klienta z serwerem (klient) sockaddr_in clientservice; clientservice.sin_family = AF_INET; clientservice.sin_addr.s_addr = inet_addr( " " ); clientservice.sin_port = htons( ); if ( connect( m_socket, (SOCKADDR*) &clientservice, sizeof(clientservice) ) == SOCKET_ERROR) { printf( "Failed to connect.\n" ); WSACleanup(); return; } Wywołanie connect powadzi do nawiązania połączenia z serwerem zlokalizowanym pod określonym adresem (clientservice) i słuchającym na wybranym porcie (27015). Serwer dla celu tego połączenia dedykuje odrębny port (jego adres przypisany zostaje do m_sock). Port nasłuchu nie służy do komunikacji z klientami a jedynie do nawiązania połączenia!!!
43 Akceptacja połączenia przychodzącego (serwer) // Accept connections. SOCKET AcceptSocket; printf( "Waiting for a client to connect...\n" ); while (1) { AcceptSocket = SOCKET_ERROR; while ( AcceptSocket == SOCKET_ERROR ) { AcceptSocket = accept( m_socket, NULL, NULL ); } printf( "Client Connected.\n"); break; } Po tym jak funkcja listen została przerwana przez żądanie ze strony klienta, accept aprobuje połączenie i dedykuje dla niego nowy port (AcceptSocket)
44 Wysyłanie i odbiór danych (klient/server) Odbiór danych: #define BUFF_LEN 32 int bytesrecv = SOCKET_ERROR; char recvbuf[buff_len] = ""; //bufor danych //Odbiera dane i zapisuje je do bufora. //Zwraca ilość odebranych bajtów (bytesrecv) bytesrecv = recv( m_socket, recvbuf, BUFF_LEN, 0 ); Wysyłanie danych: int bytessent; char sendbuf[] = ten tekst zostanie wyslany bytessent = send( m_socket, sendbuf, strlen(sendbuf), 0 ); Dla serwera należy zamiast m_sock wykorzystać port stworzony do komunikacji z klientem AcceptSocket!!!!
45 Komunikacja raz jeszcze WSAStartup(...) socket(...) WSAStartup(...) socket(...) bind(...) listen(...) connect(...) accept(...) send(...) recv(...) recv(...) send(...) Czarne strzałki wskazują miejsca, w których powinny znaleźć się poszczególne funkcje wykorzystywane do komunikacji Czerwone strzałki pokazują przepływ danych między klientem a serwerem
46 Obsługa wielu klientów w architekturze klient-serwer Opis problemu: Dostarczenie wielu użytkownikom tych samych danych (synchronizacja) Równoczesna szybka obsługa wielu zgłoszeń Możliwe rozwiązania: Multicasting lub broadcasting - serwer wsyła dane na adres sieciowy, który jest traktowany jako adres wszystkich komputerów Klienci co pewien określony czas żądają od serwera aktualizacji danych (serwer obsługuje każdego z klientów osobno)
47 Zwiekszenie efektywności obsługi klientów Dotychczasowy schemat (serwer) Serwer tworzy nazwane gniazdo 'GniazdoServera' za pomocą funkcji bind Serwer tworzy kolejkę zgłoszeń za pomocą funkcji listen Serwer oczekuje (nasłuchuje) na porcie 'GanizdoServera' na zgłoszenie się klienta i po jego zgłoszeniu tworzy za pomocą funkcji accept noew gniazdo (m_socket) dedykowane do komunikacji z tymże klientem Po przeprowadzeniu pojedynczej transakcji gniazdo klienta jest zamykane a serwer wraca do pkt. nr 3
48 Zwiekszenie efektywności obsługi klientów Dotychczasowy schemat (klient) Klient tworzy gniazdo nienzawane (socket) Klient łączy się z serverem (connect) Klient wysyła / odbiera dane z serwera Klient zamyka gniazdo. Ten schemat jest realizowany za każdym razem kiedy klient chce wysłać/odebrać dane z serwera
49 Zwiekszenie efektywności obsługi klientów Nowy schemat (serwer) Serwer tworzy nazwane gniazdo 'GniazdoServera' za pomocą funkcji bind Serwer tworzy kolejkę zgłoszeń za pomocą funkcji listen Serwer tworzy tablicę deskryptorów gniazd i dodaje do niego 'GniazdoServera' serwer przegląda tablicę deskryptorów gniazd i wybiera z niej gniazdo na którym pojawiła się aktywność za pomocą funkcji select Jeśli aktywność pojawiła się na gnieździe 'GniazdoSerwera' oznacza to że zgłosił się nowy klient. Wtedy serwer za pomocą funkcji accept tworzy nowe gniazdo dedykowane do komunikacji z tym klientem i umieszcza je w tablicy deskryptorów serwer odbiera/przesyła dane przez gniazdo klienta i wraca do pkt 4.
50 Zwiekszenie efektywności obsługi klientów Nowy schemat (klient) Klient tworzy gniazdo nienzawane (socket) Klient łączy się z serverem (connect) Klient wysyła / odbiera dane z serwera Aby ponownie wysłać dane klient realizuje pkt 3. Punkty 1-2 realizowane sa jednorazowo, a stworzone gniazdo może być wykorzystywane aż do czasu zakończenia połączenia przez closesocket(.)
51 Zwiekszenie efektywności obsługi klientów kod serwera //W kodze pominęto etap tworzenia gniazda nazwanego fd_set TablicaGniazd, TablicaGniazdTest; sockaddr_in sinremote; int naddrsize = sizeof(sinremote); listen(gniazdoserwera,5); //tworzy kolejkę FD_ZERO(&TablicaGniazd); //czysci tablice gniazd FD_SET(GniazdoSerwera,&TablicaGniazd); //dodaje gniazdo serwera do tablicy gniazd while(1){ //nieskonczona pęta serwera TablicaGniazdTest=TablicaGniazd; if (select(0, &TablicaGniazdTest, (fd_set*)null, (fd_set*)null, 0) > 0) { //// Cos sie stalo na jednym z gniazd.
52 Zwiekszenie efektywności obsługi klientów kod serwera if (FD_ISSET(GniazdoSerwera, &TablicaGniazdTest)) { //nowe połączenie SOCKET sd = accept(gniazdoserwera, (sockaddr*)&sinremote, &naddrsize); if (sd!= INVALID_SOCKET) { FD_SET(sd,&TablicaGniazd); //dodanie gniazda do tablicy // Wyswietlenie adnych klienta cout << "Accepted connection from " << inet_ntoa(sinremote.sin_addr) << ":" << ntohs(sinremote.sin_port) << ", socket " << sd << "." << endl; else { cout<< BLAD ; return; }}
53 Zwiekszenie efektywności obsługi klientów kod serwera else{ //poszukiwanie gniazda na którym wystąpił ruch for(int i=0;i<tablicagniazdtest.fd_count;i++) if(fd_isset(tablicagniazdtest.fd_array[i],&tablicagniazdtest) { SOCKET m_socket=tablicagniazdtest.fd_array[i]; int odczytano=0; ioctlsocket(m_socket,fionread,&odczytano); if(odczytano==0) { closesocket(m_socket); FD_CLR(m_socket,TablicaGniazd); } }
54 Zwiekszenie efektywności obsługi klientów kod serwera if(odczytano==0) //połączenie zamkniete { closesocket(m_socket); FD_CLR(m_socket,TablicaGniazd); } else { recv(m_socket,...) send(m_socket,...) } }//powrot do początku petli while(1)
55 class Cklient { char IP[16]; int port; sramka S; sramka R; SOCKET m_socket; public: Cklient(); Cklient(char *_IP, int _port); void SetIP(char *_IP, int _port); void Connect(); void Send(sRamka *_S); void Receive(sRamka *_R); }; Przykładowa klasa klienta
56 Wykorzystanie klasy { Cklient klient( ,2018); klient.connect(); Sramka R; R.ID=1; Klient.Send(&R); Klient.Receive(&R); }
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
Protokoły sieciowe model ISO-OSI Opracował: Andrzej Nowak
Protokoły sieciowe model ISO-OSI Opracował: Andrzej Nowak OSI (ang. Open System Interconnection) lub Model OSI to standard zdefiniowany przez ISO oraz ITU-T, opisujący strukturę komunikacji sieciowej.
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
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
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
Podstawy Transmisji Danych. Wykład IV. Protokół IPV4. Sieci WAN to połączenia pomiędzy sieciami LAN
Podstawy Transmisji Danych Wykład IV Protokół IPV4 Sieci WAN to połączenia pomiędzy sieciami LAN 1 IPv4/IPv6 TCP (Transmission Control Protocol) IP (Internet Protocol) ICMP (Internet Control Message Protocol)
Sieci Komputerowe. Wykład 1: TCP/IP i adresowanie w sieci Internet
Sieci Komputerowe Wykład 1: TCP/IP i adresowanie w sieci Internet prof. nzw dr hab. inż. Adam Kisiel kisiel@if.pw.edu.pl Pokój 114 lub 117d 1 Kilka ważnych dat 1966: Projekt ARPANET finansowany przez DOD
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:
Adresy w sieciach komputerowych
Adresy w sieciach komputerowych 1. Siedmio warstwowy model ISO-OSI (ang. Open System Interconnection Reference Model) 7. Warstwa aplikacji 6. Warstwa prezentacji 5. Warstwa sesji 4. Warstwa transportowa
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
Warstwy i funkcje modelu ISO/OSI
Warstwy i funkcje modelu ISO/OSI Organizacja ISO opracowała Model Referencyjny Połączonych Systemów Otwartych (model OSI RM - Open System Interconection Reference Model) w celu ułatwienia realizacji otwartych
DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ ADRESACJA W SIECIACH IP. WSTĘP DO SIECI INTERNET Kraków, dn. 24 października 2016r.
DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ ADRESACJA W SIECIACH IP WSTĘP DO SIECI INTERNET Kraków, dn. 24 października 2016r. PLAN Reprezentacja liczb w systemach cyfrowych Protokół IPv4 Adresacja w sieciach
Protokoły internetowe
Protokoły internetowe O czym powiem? Wstęp Model OSI i TCP/IP Architektura modelu OSI i jego warstwy Architektura modelu TCP/IP i jego warstwy Protokoły warstwy transportowej Protokoły warstwy aplikacji
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
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
Sieci Komputerowe Modele warstwowe sieci
Sieci Komputerowe Modele warstwowe sieci mgr inż. Rafał Watza Katedra Telekomunikacji AGH Al. Mickiewicza 30, 30-059 Kraków, Polska tel. +48 12 6174034, fax +48 12 6342372 e-mail: watza@kt.agh.edu.pl Wprowadzenie
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)
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.
Model sieci OSI, protokoły sieciowe, adresy IP
Model sieci OSI, protokoły sieciowe, adresy IP Podstawę działania internetu stanowi zestaw protokołów komunikacyjnych TCP/IP. Wiele z używanych obecnie protokołów zostało opartych na czterowarstwowym modelu
Zestaw ten opiera się na pakietach co oznacza, że dane podczas wysyłania są dzielone na niewielkie porcje. Wojciech Śleziak
Protokół TCP/IP Protokół TCP/IP (Transmission Control Protokol/Internet Protokol) to zestaw trzech protokołów: IP (Internet Protokol), TCP (Transmission Control Protokol), UDP (Universal Datagram Protokol).
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
Model OSI. mgr inż. Krzysztof Szałajko
Model OSI mgr inż. Krzysztof Szałajko Protokół 2 / 26 Protokół Def.: Zestaw reguł umożliwiający porozumienie 3 / 26 Komunikacja w sieci 101010010101101010101 4 / 26 Model OSI Open Systems Interconnection
Plan wykładu. 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6.
Plan wykładu 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6. Modem analogowy Sieć komputerowa Siecią komputerową nazywa się grupę komputerów
Aplikacja Sieciowa wątki po stronie klienta
Aplikacja Sieciowa wątki po stronie klienta Na ostatnich zajęciach zajmowaliśmy się komunikacją pomiędzy klientem a serwerem. Wynikiem naszej pracy był program klienta, który za pomocą serwera mógł się
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
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)
Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 13 Topologie sieci i urządzenia
Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 13 Topologie sieci i urządzenia Topologie sieci magistrali pierścienia gwiazdy siatki Zalety: małe użycie kabla Magistrala brak dodatkowych urządzeń
ZiMSK. Konsola, TELNET, SSH 1
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 Konsola, TELNET, SSH 1 Wykład
ZiMSK NAT, PAT, ACL 1
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 NAT, PAT, ACL 1 Wykład Translacja
Adresowanie grupowe. Bartłomiej Świercz. Katedra Mikroelektroniki i Technik Informatycznych. Łódź, 25 kwietnia 2006
Adresowanie grupowe Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 25 kwietnia 2006 Wstęp Na potrzeby sieci komputerowych zdefiniowano rożne rodzaje adresowania: adresowanie
Rywalizacja w sieci cd. Protokoły komunikacyjne. Model ISO. Protokoły komunikacyjne (cd.) Struktura komunikatu. Przesyłanie między warstwami
Struktury sieciowe Struktury sieciowe Podstawy Topologia Typy sieci Komunikacja Protokoły komunikacyjne Podstawy Topologia Typy sieci Komunikacja Protokoły komunikacyjne 15.1 15.2 System rozproszony Motywacja
Systemy Operacyjne i Sieci Komputerowe Adres MAC 00-0A-E6-3E-FD-E1
Adres MAC (ang. MAC address) jest 48-bitowy i zapisywany jest heksadecymalnie (szesnastkowo). Pierwsze 24 bity oznaczają producenta karty sieciowej, pozostałe 24 bity są unikalnym identyfikatorem danego
Sieci komputerowe. Zajęcia 2 Warstwa łącza, sprzęt i topologie sieci Ethernet
Sieci komputerowe Zajęcia 2 Warstwa łącza, sprzęt i topologie sieci Ethernet Zadania warstwy łącza danych Organizacja bitów danych w tzw. ramki Adresacja fizyczna urządzeń Wykrywanie błędów Multipleksacja
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
Warstwa sieciowa. Model OSI Model TCP/IP. Aplikacji. Aplikacji. Prezentacji. Sesji. Transportowa. Transportowa
Warstwa sieciowa Model OSI Model TCP/IP Aplikacji Prezentacji Aplikacji podjęcie decyzji o trasowaniu (rutingu) na podstawie znanej, lokalnej topologii sieci ; - podział danych na pakiety Sesji Transportowa
Technologie informacyjne - wykład 8 -
Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 8 - Prowadzący: Dmochowski
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:
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
Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych
Wykład 2: Budowanie sieci lokalnych 1 Budowanie sieci lokalnych Technologie istotne z punktu widzenia konfiguracji i testowania poprawnego działania sieci lokalnej: Protokół ICMP i narzędzia go wykorzystujące
MASKI SIECIOWE W IPv4
MASKI SIECIOWE W IPv4 Maska podsieci wykorzystuje ten sam format i sposób reprezentacji jak adresy IP. Różnica polega na tym, że maska podsieci posiada bity ustawione na 1 dla części określającej adres
TCP/IP. Warstwa łącza danych. mgr inż. Krzysztof Szałajko
TCP/IP Warstwa łącza danych 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
SSL (Secure Socket Layer)
SSL --- Secure Socket Layer --- protokół bezpiecznej komunikacji między klientem a serwerem, stworzony przez Netscape. SSL w założeniu jest podkładką pod istniejące protokoły, takie jak HTTP, FTP, SMTP,
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
POŁĄCZENIE STEROWNIKÓW ASTRAADA ONE MIĘDZY SOBĄ Z WYKORZYSTANIEM PROTOKOŁU UDP. Sterowniki Astraada One wymieniają między sobą dane po UDP
POŁĄCZENIE STEROWNIKÓW ASTRAADA ONE MIĘDZY SOBĄ Z WYKORZYSTANIEM PROTOKOŁU UDP Sterowniki Astraada One wymieniają między sobą dane po UDP Wstęp Celem informatora jest konfiguracja i przygotowanie sterowników
Unicast jeden nadawca i jeden odbiorca Broadcast jeden nadawca przesyła do wszystkich Multicast jeden nadawca i wielu (podzbiór wszystkich) odbiorców
METODY WYMIANY INFORMACJI W SIECIACH PAKIETOWYCH Unicast jeden nadawca i jeden odbiorca Broadcast jeden nadawca przesyła do wszystkich Multicast jeden nadawca i wielu (podzbiór wszystkich) odbiorców TRANSMISJA
Sieci komputerowe. Zadania warstwy łącza danych. Ramka Ethernet. Adresacja Ethernet
Sieci komputerowe Zadania warstwy łącza danych Wykład 3 Warstwa łącza, osprzęt i topologie sieci Ethernet Organizacja bitów danych w tzw. ramki Adresacja fizyczna urządzeń Wykrywanie błędów Multipleksacja
Podstawy sieci komputerowych
mariusz@math.uwb.edu.pl http://math.uwb.edu.pl/~mariusz Uniwersytet w Białymstoku 2018/2019 Skąd się wziął Internet? Komutacja pakietów (packet switching) Transmisja danych za pomocą zaadresowanych pakietów,
Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas)
Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas) Jest to zbiór komputerów połączonych między sobą łączami telekomunikacyjnymi, w taki sposób że Możliwa jest wymiana informacji (danych) pomiędzy komputerami
Zarządzanie infrastrukturą sieciową Modele funkcjonowania sieci
W miarę rozwoju sieci komputerowych pojawiały się różne rozwiązania organizujące elementy w sieć komputerową. W celu zapewnienia kompatybilności rozwiązań różnych producentów oraz opartych na różnych platformach
Akademickie Centrum Informatyki PS. Wydział Informatyki PS
Akademickie Centrum Informatyki PS Wydział Informatyki PS Akademickie Centrum Informatyki Instytut Informatyki P.S. Topologie sieciowe: Sieci pierścieniowe Sieci o topologii szyny Krzysztof Bogusławski
Adresacja IP w sieciach komputerowych. Adresacja IP w sieciach komputerowych
Adresacja IP w sieciach komputerowych 1. Model odniesienia OSI. Przyczyny powstania: - Gwałtowny rozwój i sieci komputerowych na początku lat 70. XX wieku, - Powstanie wielu niekompatybilnych ze sobą protokołów
Sieci komputerowe - Wstęp do intersieci, protokół IPv4
Piotr Kowalski KAiTI Internet a internet - Wstęp do intersieci, protokół IPv Plan wykładu Informacje ogólne 1. Ogólne informacje na temat sieci Internet i protokołu IP (ang. Internet Protocol) w wersji.
Sieć komputerowa Adresy sprzętowe Adresy logiczne System adresacji IP (wersja IPv4)
Sieć komputerowa Siecią komputerową nazywamy system (tele)informatyczny łączący dwa lub więcej komputerów w celu wymiany danych między nimi. Sieć może być zbudowana z wykorzystaniem urządzeń takich jak
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
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
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ść
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
Co w sieci piszczy? Programowanie aplikacji sieciowych w C#
Co w sieci piszczy? Programowanie aplikacji sieciowych w C# Prelegenci: Michał Cywiński i Kamil Frankowicz kamil@vgeek.pl @fumfel www.vgeek.pl mcywinski@hotmail.com @mcywinskipl www.michal-cywinski.pl
Pytanie 1 Z jakich protokołów korzysta usługa WWW? (Wybierz prawidłowe odpowiedzi)
Pytanie 1 Z jakich protokołów korzysta usługa WWW? (Wybierz prawidłowe odpowiedzi) Pytanie 2 a) HTTPs, b) HTTP, c) POP3, d) SMTP. Co oznacza skrót WWW? a) Wielka Wyszukiwarka Wiadomości, b) WAN Word Works,
Warstwa łącza danych. Model OSI Model TCP/IP. Aplikacji. Aplikacji. Prezentacji. Sesji. Transportowa. Transportowa. Sieciowa.
Warstwa łącza danych Model OSI Model TCP/IP Aplikacji Prezentacji Aplikacji Sesji - nadzór nad jakością i niezawodnością fizycznego przesyłania informacji; - podział danych na ramki Transportowa Sieciowa
Systemy operacyjne i sieci komputerowe Szymon Wilk Adresowanie w sieciach Klasy adresów IP a) klasa A
i sieci komputerowe Szymon Wilk Adresowanie w sieciach 1 1. Klasy adresów IP a) klasa A sieć host 0 mało sieci (1 oktet), dużo hostów (3 oktety) pierwszy bit równy 0 zakres adresów dla komputerów 1.0.0.0-127.255.255.255
ARP Address Resolution Protocol (RFC 826)
1 ARP Address Resolution Protocol (RFC 826) aby wysyłać dane tak po sieci lokalnej, jak i pomiędzy różnymi sieciami lokalnymi konieczny jest komplet czterech adresów: adres IP nadawcy i odbiorcy oraz adres
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
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,
Sieci komputerowe. Wstęp
Sieci komputerowe Wstęp Sieć komputerowa to grupa komputerów lub innych urządzeń połączonych ze sobą w celu wymiany danych lub współdzielenia różnych zasobów, na przykład: korzystania ze wspólnych urządzeń
MODEL OSI A INTERNET
MODEL OSI A INTERNET W Internecie przyjęto bardziej uproszczony model sieci. W modelu tym nacisk kładzie się na warstwy sieciową i transportową. Pozostałe warstwy łączone są w dwie warstwy - warstwę dostępu
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
Plan wykładu. Wyznaczanie tras. Podsieci liczba urządzeń w klasie C. Funkcje warstwy sieciowej
Wyznaczanie tras (routing) 1 Wyznaczanie tras (routing) 2 Wyznaczanie tras VLSM Algorytmy rutingu Tablica rutingu CIDR Ruting statyczny Plan wykładu Wyznaczanie tras (routing) 3 Funkcje warstwy sieciowej
Struktura adresu IP v4
Adresacja IP v4 E13 Struktura adresu IP v4 Adres 32 bitowy Notacja dziesiętna - każdy bajt (oktet) z osobna zostaje przekształcony do postaci dziesiętnej, liczby dziesiętne oddzielone są kropką. Zakres
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
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
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/
Problemy z bezpieczeństwem w sieci lokalnej
Problemy z bezpieczeństwem w sieci lokalnej możliwości podsłuchiwania/przechwytywania ruchu sieciowego pakiet dsniff demonstracja kilku narzędzi z pakietu dsniff metody przeciwdziałania Podsłuchiwanie
WYŻSZA SZKOŁA ZARZĄDZANIA I MARKETINGU BIAŁYSTOK, ul. Ciepła 40 filia w EŁKU, ul. Grunwaldzka
14 Protokół IP WYŻSZA SZKOŁA ZARZĄDZANIA I MARKETINGU BIAŁYSTOK, ul. Ciepła 40 Podstawowy, otwarty protokół w LAN / WAN (i w internecie) Lata 70 XX w. DARPA Defence Advanced Research Project Agency 1971
Winsock. Sieci Komputerowe II Wyk ład 3
Winsock Sieci Komputerowe II Wyk ład 3 Plan Przygotowanie środowiska Inicjacja Winsock Aplikacja klienta: tworzenie socketu łączenie z socketem serwera wysyłanie i odbieranie danych rozłączanie klienta
Akademickie Centrum Informatyki PS. Wydział Informatyki PS
Akademickie Centrum Informatyki PS Wydział Informatyki PS Akademickie Centrum Informatyki Wydział Informatyki P.S. Warstwy transmisyjne Protokoły sieciowe Krzysztof Bogusławski tel. 449 41 82 kbogu@man.szczecin.pl
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),
Komunikacja w sieciach komputerowych
Komunikacja w sieciach komputerowych Dariusz CHAŁADYNIAK 2 Plan prezentacji Wstęp do adresowania IP Adresowanie klasowe Adresowanie bezklasowe - maski podsieci Podział na podsieci Translacja NAT i PAT
Dlaczego? Mało adresów IPv4. Wprowadzenie ulepszeń względem IPv4 NAT CIDR
IPv6 Dlaczego? Mało adresów IPv4 NAT CIDR Wprowadzenie ulepszeń względem IPv4 Większa pula adresów Lepszy routing Autokonfiguracja Bezpieczeństwo Lepsza organizacja nagłówków Przywrócenie end-to-end connectivity
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
Sieci komputerowe w sterowaniu informacje ogólne, model TCP/IP, protokoły warstwy internetowej i sieciowej
ieci komputerowe w sterowaniu informacje ogólne, model TCP/IP, protokoły warstwy internetowej i sieciowej 1969 ARPANET sieć eksperymentalna oparta na wymianie pakietów danych: - stabilna, - niezawodna,
Sieci komputerowe - administracja
Sieci komputerowe - administracja warstwa sieciowa Andrzej Stroiński andrzej.stroinski@cs.put.edu.pl http://www.cs.put.poznan.pl/astroinski/ warstwa sieciowa 2 zapewnia adresowanie w sieci ustala trasę
Wykład Nr 4. 1. Sieci bezprzewodowe 2. Monitorowanie sieci - polecenia
Sieci komputerowe Wykład Nr 4 1. Sieci bezprzewodowe 2. Monitorowanie sieci - polecenia Sieci bezprzewodowe Sieci z bezprzewodowymi punktami dostępu bazują na falach radiowych. Punkt dostępu musi mieć
Plan wykładu. Warstwa sieci. Po co adresacja w warstwie sieci? Warstwa sieci
Sieci komputerowe 1 Sieci komputerowe 2 Plan wykładu Warstwa sieci Miejsce w modelu OSI/ISO unkcje warstwy sieciowej Adresacja w warstwie sieciowej Protokół IP Protokół ARP Protokoły RARP, BOOTP, DHCP
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
Zadania z sieci Rozwiązanie
Zadania z sieci Rozwiązanie Zadanie 1. Komputery połączone są w sieci, z wykorzystaniem routera zgodnie ze schematem przedstawionym poniżej a) Jak się nazywa ten typ połączenia komputerów? (topologia sieciowa)
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
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
Którą normę stosuje się dla okablowania strukturalnego w sieciach komputerowych?
Zadanie 1. Rysunek przedstawia topologię A. magistrali. B. pierścienia. C. pełnej siatki. D. rozszerzonej gwiazdy. Zadanie 2. W architekturze sieci lokalnych typu klient serwer A. żaden z komputerów nie
Plan i problematyka wykładu. Sieci komputerowe IPv6. Rozwój sieci Internet. Dlaczego IPv6? Przykład zatykania dziur w funkcjonalności IPv4 - NAT
IPv6 dr inż. Piotr Kowalski Katedra Automatyki i Technik Informacyjnych Plan i problematyka wykładu 1. Uzasadnienie dla rozwoju protokołu IPv6 i próby ratowania idei IPv6 2. Główne aspekty funkcjonowania
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
Statystyka protokołów i połączeń sieciowych.
Statystyka protokołów i połączeń sieciowych. Aplikacja netstat. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Statystyka połączeń sieciowych.
Na podstawie: Kirch O., Dawson T. 2000: LINUX podręcznik administratora sieci. Wydawnictwo RM, Warszawa. FILTROWANIE IP
FILTROWANIE IP mechanizm decydujący, które typy datagramów IP mają być odebrane, które odrzucone. Odrzucenie oznacza usunięcie, zignorowanie datagramów, tak jakby nie zostały w ogóle odebrane. funkcja
Sieci komputerowe. Dr inż. Dariusz Skibicki
Sieci komputerowe V Dr inż. Dariusz Skibicki 1. Co to jest sieć komputerowa Sieć komputerowa (angielskie computer network), układ komputerów i urządzeń końcowych (np. drukarka) połączonych między sobą
Sieci komputerowe. Wykład 2: Sieci LAN w technologii Ethernet. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski
Sieci komputerowe Wykład 2: Sieci LAN w technologii Ethernet Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe (II UWr) Wykład 2 1 / 21 Sieci LAN LAN: Local Area Network sieć
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
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
Sieci komputerowe. Informatyka Poziom rozszerzony
Sieci komputerowe Informatyka Poziom rozszerzony Sieć komputerowa zbiór komputerów i innych urządzeo połączonych ze sobą medium transmisyjnym (kabel (skrętka, kabel koncentryczny, światłowód), fale radiowe
Kurs Ethernet przemysłowy konfiguracja i diagnostyka. Spis treści. Dzień 1
I Wprowadzenie (wersja 1307) Kurs Ethernet przemysłowy konfiguracja i diagnostyka Spis treści Dzień 1 I-3 Dlaczego Ethernet w systemach sterowania? I-4 Wymagania I-5 Standardy komunikacyjne I-6 Nowe zadania
Sieci komputerowe - warstwa fizyczna
Sieci komputerowe - warstwa fizyczna mgr inż. Rafał Watza Katedra Telekomunikacji AGH Al. Mickiewicza 30, 30-059 Kraków, Polska tel. +48 12 6174034, fax +48 12 6342372 e-mail: watza@kt.agh.edu.pl Wprowadzenie