Co w sieci piszczy? Programowanie aplikacji sieciowych w C#

Slides:



Advertisements
Podobne prezentacje
ADRESACJA W SIECIACH IP
Advertisements

Usługi sieciowe Wykład 5 DHCP- debian
Protokoły sieciowe.
Sieci komputerowe Protokół TCP/IP Piotr Górczyński 27/09/2002.
Użytkowanie Sieci Marcin KORZEB WSTI - Użytkowanie Sieci.
Programowanie wizualne PW – LAB5 Wojciech Pieprzyca.
Sieci VLAN.
Sieci komputerowe Usługi sieciowe Piotr Górczyński 27/09/2002.
SIECI PRZEMYSŁOWE ETHERNET W AUTOMATYCE
Rozszerzalność systemów rozproszonych
SIECI KOMPUTEROWE Adresowanie IP Usługa NAT.
SIECI KOMPUTEROWE Adresowanie IP Adresy IPv4.
SIECI KOMPUTEROWE (SieKom) PIOTR MAJCHER WYŻSZA SZKOŁA ZARZĄDZANIA I MARKETINGU W SOCHACZEWIE PODSTAWOWE.
Architektura Systemów Komputerowych
Poj ę cia Sieciowe. IMAP-to internetowy protokół pocztowy zaprojektowany IMAP-to internetowy protokół pocztowy zaprojektowany POP3-to protokół internetowy.
Pojęcia sieciowe.
Urządzenia sieciowe Topologie sieci Standardy sieci Koniec.
Jarosław Kurek WZIM SGGW
Usługi sieciowe Wykład 5 DHCP- debian Jarosław Kurek WZIM SGGW 1.
Lokalna sieć komputerowa
Autorzy: Damian Dziuba Stanisław Glezner
Wrocław DHCP Autorzy: Paweł Obuchowski Paweł Szuba.
Konfiguracja DHCP i dzielenie łącza
PLANET ADE-3410, ADE-3400v2, ADE-4400v2 Modem Router A DSL 2/2+
Internet Sieci komputerowe.
LEKCJA 3 ADRESOWANIE SIECI I HOSTÓW vol 1
Komputer w sieci – „parametry”
KONFIGURACJA KOMPUTERA
Spis Treści SLAJD 1-IMAP SLAJD 6 – SLAJD 2-SMTP SLAJD 7-DHCP
POJĘCIA ZWIĄZANE Z SIECIĄ.
Protokół Komunikacyjny
MODEL WARSTWOWY PROTOKOŁY TCP/IP
Sieci komputerowe Utworzone przez Macieja Kolankiewicza © Wszelkie prawa zastrzeżone.
Adresy komputerów w sieci
BUDOWA I DZIAŁANIE SIECI KOMPUTEROWYCH
Informatyka 1 Sieć.
Realizacja prostej sieci komputerowej
Pojęcia związane z siecią
Podstawy adresowania hostów w sieciach komputerowych
Wiadomości wstępne o sieciach komputerowych
Podsieci ZS3 Jasło Klasa 4e.
Internet czyli sieć. Internet WAN (ang. international – międzynarodowa; network – sieć, dosłownie międzysieć) – ogólnoświatowa sieć komputerowa, która.
Temat 3: Rodzaje oraz charakterystyka mediów transmisyjnych.
Opracował: mgr Artem Nowicki
Sieci komputerowe.
Podstawy działania wybranych usług sieciowych
Konfiguracja IP i sieci w Win XP
ADRES IP – unikatowy numer przyporządkowany urządzeniom sieci komputerowych. Adres IPv4 składa się z 32 bitów podzielonych na 4 oktety po 8 bitów każdy.
Prezentacja Adrian Pyza 4i.
Sieć komputerowa – 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.
SYSTEMY OPERACYJNE Adresowanie IP cz3.
Adresowanie w sieci komputerowej
Laboratorium systemów operacyjnych
Sieci komputerowe.
Aplikacje TCP i UDP. Łukasz Zieliński
Sieci komputerowe.
Sieci komputerowe Konfiguracja hosta.
Systemy operacyjne i sieci komputerowe
Systemy operacyjne i sieci komputerowe
Sieci komputerowe E-learning
Systemy operacyjne i sieci komputerowe
 Karta sieciowa to urządzenie odpowiedzialne za wysyłanie i odbieranie danych w sieciach LAN. Każdy komputer, który ma korzystać z dobrodziejstw sieci,
Model warstwowy ISO-OSI
Wykład 7 i 8 Na podstawie CCNA Exploration Moduł 5 i 6 – streszczenie
Bartosz Pawlak Wiktor Paliwoda Bezpieczeństwo Systemów Operacyjnych IMAP vs POP.
Protokoły używane w sieciach LAN Funkcje sieciowego systemu komputerowego Wykład 5.
materiały dla uczestników
PODSTAWOWE ZARZĄDZANIE KOMPUTERAMI Z SYSTEMEM WINDOWS
Klasy adresów IP Adres sieci i adres rozgłoszeniowy
Routing statyczny Sieci IP: / /24
Zapis prezentacji:

Co w sieci piszczy? Programowanie aplikacji sieciowych w C# Prelegenci: Michał Cywiński i Kamil Frankowicz kamil@vgeek.pl mcywinski@hotmail.com @fumfel @mcywinskipl www.vgeek.pl www.michal-cywinski.pl

Maksimum praktyki, minimum teorii

Urządzenia w sieciach komputerowych

Urządzenia w sieciach 1. Końcówki – np.: komputery, 2. Huby i switche, 3. Routery, 4. Access Pointy Wprowadzić, wytłumaczenie na kolejnych slajdach

Końcówki Komputer stacjonarny Laptop, Serwer Urządzenia mobilne Końcówki – odbierają i nadają dane w postaci pakietów Pakiet – najmniejsza porcja informacji wysyłana w sieci Klient – zazwyczaj urządzenie (np.: komputer), który korzysta z usług w sieci Serwer – Zazwyczaj mocny komputer, który dostarcza usługi – np.: serwer baz danych, serwer WWW, serwer poczty, serwer gier Urządzenia mobilne Wytłumaczyć, że często klient też może świadczyć usługi serwera – ogólnie są to komputery + np. tablety Końcówki – wszystkie urządzenia, które rozpoczynają połączenia sieciowe i na nich te połączenia sieciowe się kończą, Rozgałęźnik sieciowy – urządządzenie pozwalające przechwytywać ruch sieciowy danego komputera, koncepcyjnie jest to man-in-the-middle, narysować jak to działa na tablicy Pakiet – pokazać jak wygląda pakiet Wiresharkiem, bądź też innym snifferem Serwery są o wiele mocniejsze itd. – i tak zazwyczaj świadczy usługi, ale nikt nie broni wykorzystywać go jako klienta Testery – Tester kabli sieciowych umożliwia łatwe sprawdzenie czy mamy do czynienia z kabel skrosowanym czy prostym, ponieważ aby podłączyć ze sobą dwa urządzenia musimy wiedzieć jaki kabel zastosować oraz jeżeli sami tworzymy taki kabel to sprawdzić czy zrobiliśmy to zgodnie ze specyfikacją Inne końcówki, np.: testery, rozgałęźniki

Huby i switche Hub – Wolny, pakiety są wysyłane do wszystkich podłączonych do niego urządzeń – do 10 Mbps. Switch - Bardziej zaawansowany technologicznie, pakiety są wysyłane do konkretnego odbiorcy – od 100Mbps do 1Gbps (1000Mbps). Hub – Wolny i niebezpieczny Switch – Szybki, bezpieczniejszy Wyjaśnić co to przepustowość Powiedzieć, że hub był używany dawno temu i utożsamia się go z topologią gwiazdy, huby sa wolne dlatego, ze sa głupiutkimi urzadzonkami – transmisja może być prowadzona tylko w jednym kierunku i przez jednego użytkownika w danej chwili, a wszystkie pakiety jakie hub dostaje z zewnątrz sa wysylane do wszystkich urzadzen do niego podlaczonych co powoduje oczywiście problemy w kwestii bezpieczeństwa. Sa wykorzystywane awaryjnie, jak nie mamy niczego innego pod reka, bądź tez podczas diagnozowania sieci technika hubbing-out. Switche – mądrzejsze urządzenia, utrzymują specjalna tablice CAM w której zapisane sa adresy fizyczne wszystkich kart sieciowych podlaczonych do niego i kazda koncowka dostaje ruch do niej przeznaczony. Jest to rozwiązanie dużo bezpieczniejsze, aczkolwiek również można pokusić się o podsłuchiwanie ruchu np. metoda ARP Spoofingu Powiedzieć, że dzisiaj jedynym słusznym rozwiązaniem są routery, a huby stosuje się awaryjnie jak już nic innego nie ma

Routery Router – urządzenie łączące dwie (lub więcej) sieci ze sobą. Informacje o tym gdzie ma wysłać dany pakiet utrzymuje w tablicy routingu. Działa w warstwie trzeciej modelu OSI. Network Address Translation (NAT) – proces „tłumaczenia” adresów lokalnych na adresy publiczne (używane w internecie). Router – urządzenie, które pozwala nam się polaczyc z internetem lub również z inna siecia. Podobnie jak switch utrzymuje specjalna tablice w której ma adresy niezbędne do obsługi sieci do niego podlaczonych. Z „domowymi” routerami jest nierozerwalnie polaczone pojecie Network Address Translation – jest to technologia, wymyslona w celu oszczędzenia adresow IPv4 (o tym później), która pozwala na obsluge koncowek w sieciach domowych i podlaczenie do nich internetu – narysować proces step-by-step

Access pointy (Wi-Fi) Dla łączności bezprzewodowej został opracowany specjalny zestaw standardów 802.11: 802.11b – Prędkości: 1, 2, 5.5, 11 Mbps. Częstotliwość 2,4 Ghz. Zasięg max do 100 m na otwartej przestrzeni. 802.11g – Prędkości: 1, 2, 5.5, 6, 9, 11, 12, 18, 24, 36, 48, 54 Mbps. Kompatybliny z 802.11b. 802.11n – Prędkości: 100, 150, 300, 450, 600 Mbps. Częstotliwość 2,4 Ghz lub 5 Ghz. Zasięg > 110 m na otwartej przestrzeni. 802.11b 802.11g Każdy korzysta z WiFi, ale nie każdy wie czym się roznia standardy i co nam oferują np. wiecznie niedzialajace sieci na wacie. 802.11n

Ethernet i kable UTP

UTP: Unshieled Twisted Pair Podstawowe medium komunikacji w sieciach Ethernet 4 pary żyłek przewodzących – stąd „skrętka czteroparowa” Końcówki typu RJ-45 Końcówki zaciskami w standardach A i B Z obu stron tym samym standardem do połączeń ze switchami – kabel nazywamy „prostym” Z różnych stron do połączeń z routerami i końcówkami – kabel nazywamy „crossowanym”

Kable w sieci Ethernet

Standardy Powiedzieć, że to „elementarz” dla sieciowca

Adresacja IPv4 Wyjaśnić dlaczego IPv4 i powiedzieć, że jest coś takiego jak IPv6

Czym jest adres IP? Adres IP - liczba „jednoznacznie identyfikująca” urządzenie w danej sieci (lokalnej bądź też Internet). Składa się z części sieciowej oraz hosta. IPv4 – Adres składa się z czterech oktetów (4 x 8 bit). Każdy oktet może przyjmować wartości 0-255 (28 = 256). Np: 8.8.8.8. Może zaadresować do 4294967295 urządzeń. IPv6 – Adres składa się z 8 bloków po 16 bitów, co łącznie daje nam 128 bitów. Np. 2001:0db8:0000:0000:0000:0000:1428:57ab, umożliwia adresację 2128 urządzeń sieciowych. Dlaczego jednoznacznie identyfikujaca jest w cudzysłowie ? Ano dlatego, ze adres IP można zmienić, możemy zrobić to sami, bądź tez za nas może zrobić to serwer przydzielający adresy w danej sieci komputerowej (serwer DHCP) Na chwile obecna mamy dwa standardy IP standard 4 i standard 6. Od 1977 w Internecie używane są adresy IP protokołu w wersji czwartej. Zapotrzebowanie na adresy IPv4 stało się na tyle duże, że pula nieprzydzielonych adresów zaczęła się wyczerpywać (w 2011 roku zakładano, że w zależności od regionu nastąpi to w roku między 2011 a 2016). Dlatego powstala nowa wersja protokolu IP, IPv6, która umozliwia zaadresowanie bardzo dużej liczby urzadzen sieciowych i rozwiązaniu, pewnie na zawsze, problemu brakujących adresow IP, niestety uzywana w internecie jedynie przez największych graczy takich jak Google, Yahoo, itp. Reszta wyczekuje wyczerpania puli i strasznie się opiera tej technologii. Ktos wie: 4294967295 = 2^32 ?

Czym jest DHCP? DHCP zwalnia nas z obowiązku ręcznego przypisywania każdemu komputerowi adresu, bramy domyślnej i serwera DNS. Utrzymuje pulę adresów które automatycznie przydziela po każdym podłączeniu klienta do sieci. Po pewnym czasie jeżeli klient nie połączy się ponownie, jego adres jest zwalniany i przydzielany następnemu urządzeniu. Możemy również skonfigurować go w taki sposób, aby cały czas przydzielał jeden adres danemu klientowi. Tak jak wcześniej wspomniałem adres IP sklada się z dwóch części: części sieciowej i części hosta, czesc hosta omowilem na poprzednim slajdzie, teraz zajme się czescia sieciowa, która pozwala nam podzielić duza siec na mniejsze kawałki za pomocą maski podsieci. Ilosc bitow maski podsieci określa nam ile komputerow możemy zaadresować w danej sieci - Pokazac na tablicy i policzyć przykład step-by-step

Czym jest maska podsieci? 208.80.152.2 Czym jest maska podsieci? Z każdym adresem IPv4 jest nierozerwalnie związana maska podsieci (część sieciowa adresu IP), która definiuje nam „pojemność” sieci w której znajduje się dane urządzenie. Przykład: Nasz laptop ma adres IP: 192.168.0.22, a jego maska podsieci wynosi 255.255.255.0. Liczymy pojemność sieci ze wzoru: 232 – (8+8+8+0) – 2 = 232-24 – 2 = 28 - 2 = 254. Tak jak wcześniej wspomniałem adres IP sklada się z dwóch części: części sieciowej i części hosta, czesc hosta omowilem na poprzednim slajdzie, teraz zajme się czescia sieciowa, która pozwala nam podzielić duza siec na mniejsze kawałki za pomocą maski podsieci. Ilosc bitow maski podsieci określa nam ile komputerow możemy zaadresować w danej sieci - Pokazac na tablicy i policzyć przykład step-by-step

208.80.152.2 A co to takiego ten DNS? DNS jest protokołem translacji adresów przyjaznych dla człowieka na adresy IP, które są „rozumiane” przez urządzenia sieciowe. Przykład: Wpisujemy w przeglądarce google.com, nasz system operacyjny rozpoznaje, że żądanie należy przekierować do serwerów DNS określonych ręcznie, bądź też pobranych z DHCP. Żądanie jest wysyłane do serwera DNS, który zwraca adres IP: 173.194.113.36. Dopiero teraz możemy rozpocząć właściwą komunikację sieciową z Google.

Czym jest brama domyślna (sieciowa) ? Brama sieciowa jest adresem do którego urządzenie będzie się zgłaszać w celu nawiązania połączenia z drugą siecią. Najczęściej jest to adres routera, który łączy nas z Internetem lub inną siecią. Na koniec zagadnienie bramy domyslnej – koncepcja jest bardzo prosta, otoz brama domyslna jest punktem w sieci, laczacym nas z inna siecia, badz tez internetem, bardzo czesto bledy w konfiguracji bramy domyslnej powoduja „brak internetu” na koncowkach Pokazac jak sprawdzic ustawienia sieci komputerowej – ncpa.cpl i ipconfig, jak sprawdzic czy „mamy internet” – ping, jak ustawic adres ip komputera w sieci i brame domyslna – netsh i ncpa.cpl

Piszemy aplikacje sieciowe w C#!

Schemat pisania i działania aplikacji sieciowych Liczby – kolejność zdarzeń Stan początkowy Aplikacja serwerowa Prowadzi nasłuch na połączenia od klientów 1 Aplikacja kliencka Prośba o połączenie 2 Akceptacja połączenia 3 4 Wymiana danych Działanie aplikacji! Moc obliczeniowa!

Warsztat sieciowca w C#, czyli co jest dostępne? Do naszej dyspozycji oddano następujące przestrzenie nazw: System.Net System.Net.Sockets System.Runtime.Serialization.Formatters.Binary System.Threading – warto poznać

Warsztat sieciowa, czyli co jest dostępne? W przestrzeniach nazw znajdziemy potrzebne klasy: IPEndpoint – reprezentuje opis i właściwości adresu IP TCPClient – reprezentuje połączenie klienta NetworkStream – reprezentuje strumień danych pomiędzy serwerem, a klientem BinaryFormatter – pozwala serializować dowolne dane do strumienia TcpListener – poszukuje połączeń przychodzących, do użycia raczej wyłącznie na serwerze

Demo: Prosta aplikacja klient-serwer

Pytania

Przyszłe zajęcia: Przygotowanie do egzaminu 70-409 (Wirtualizacja) Wprowadzenie do RavenDB