Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Co w sieci piszczy? Programowanie aplikacji sieciowych w C#

Podobne prezentacje


Prezentacja na temat: "Co w sieci piszczy? Programowanie aplikacji sieciowych w C#"— Zapis prezentacji:

1 Co w sieci piszczy? Programowanie aplikacji sieciowych w C#
Prelegenci: Michał Cywiński i Kamil Frankowicz @fumfel @mcywinskipl

2 Maksimum praktyki, minimum teorii

3 Urządzenia w sieciach komputerowych

4 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

5 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

6 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

7 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

8 Access pointy (Wi-Fi) Dla łączności bezprzewodowej został opracowany specjalny zestaw standardów : 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 b. 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

9 Ethernet i kable UTP

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

11 Kable w sieci Ethernet

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

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

14 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 (28 = 256). Np: Może zaadresować do 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: = 2^32 ?

15 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

16 Czym jest maska podsieci?
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: , a jego maska podsieci wynosi Liczymy pojemność sieci ze wzoru: 232 – ( ) – 2 = – 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

17 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: Dopiero teraz możemy rozpocząć właściwą komunikację sieciową z Google.

18 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

19 Piszemy aplikacje sieciowe w C#!

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

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

22 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

23 Demo: Prosta aplikacja klient-serwer

24 Pytania

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


Pobierz ppt "Co w sieci piszczy? Programowanie aplikacji sieciowych w C#"

Podobne prezentacje


Reklamy Google