Wstęp. Sieci komputerowe. Wykład 1. Marcin Bieńkowski



Podobne dokumenty
Wstęp. Sieci komputerowe. Wykład 1. Marcin Bieńkowski

Transport. część 1: niezawodny transport. Sieci komputerowe. Wykład 6. Marcin Bieńkowski

Protokoły sieciowe - TCP/IP

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Sieci komputerowe - opis przedmiotu

Sieci Komputerowe Modele warstwowe sieci

Dr Michał Tanaś(

Model OSI. mgr inż. Krzysztof Szałajko

Routing. część 2: tworzenie tablic. Sieci komputerowe. Wykład 3. Marcin Bieńkowski

Sieci komputerowe. Wykład 1: Podstawowe pojęcia i modele. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Warstwy i funkcje modelu ISO/OSI

Zarządzanie infrastrukturą sieciową Modele funkcjonowania sieci

Transport. część 3: kontrola przeciążenia. Sieci komputerowe. Wykład 8. Marcin Bieńkowski

Transport. część 3: kontrola przeciążenia. Sieci komputerowe. Wykład 8. Marcin Bieńkowski

Transport. część 3: kontrola przeciążenia. Sieci komputerowe. Wykład 8. Marcin Bieńkowski

Sieci Komputerowe. Wykład 1: TCP/IP i adresowanie w sieci Internet

Zadania z sieci Rozwiązanie

Sieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Sieci komputerowe - administracja

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

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 13 Topologie sieci i urządzenia

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

1. Model klient-serwer

Model sieci OSI, protokoły sieciowe, adresy IP

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

router wielu sieci pakietów

Sieci komputerowe w sterowaniu informacje ogólne, model TCP/IP, protokoły warstwy internetowej i sieciowej

Podstawy sieci komputerowych

Routing. część 2: tworzenie tablic. Sieci komputerowe. Wykład 3. Marcin Bieńkowski

Adresy w sieciach komputerowych

Sieci Komputerowe. Program przedmiotu: Literatura: Strona 1

Przesyłania danych przez protokół TCP/IP

Programowanie Sieciowe 1

Podstawowe pojęcia dotyczące sieci komputerowych

Wykład 3: Internet i routing globalny. A. Kisiel, Internet i routing globalny

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

Sieci komputerowe. Wykład 0: O czym jest ten przedmiot. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

Uproszczony opis obsługi ruchu w węźle IP. Trasa routingu. Warunek:

Sieci komputerowe. Dr inż. Robert Banasiak. Sieci Komputerowe 2010/2011 Studia niestacjonarne

Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ. Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer

1. W protokole http w ogólnym przypadku elementy odpowiedzi mają: a) Postać tekstu b) Postać HTML c) Zarówno a i b 2. W usłudze DNS odpowiedź

Model warstwowy Warstwa fizyczna Warstwa łacza danych Warstwa sieciowa Warstwa transportowa Warstwa aplikacj. Protokoły sieciowe

Pytanie 1 Z jakich protokołów korzysta usługa WWW? (Wybierz prawidłowe odpowiedzi)

Rywalizacja w sieci cd. Protokoły komunikacyjne. Model ISO. Protokoły komunikacyjne (cd.) Struktura komunikatu. Przesyłanie między warstwami

Sieci komputerowe. Wykład dla studentów Informatyki Stosowanej i Fizyki Komputerowej UJ 2007/2008. Michał Cieśla

Dr Michał Tanaś(

Plan wykładu. Wyznaczanie tras. Podsieci liczba urządzeń w klasie C. Funkcje warstwy sieciowej

Programowanie sieciowe

Systemy operacyjne i sieci komputerowe Szymon Wilk Adresowanie w sieciach Klasy adresów IP a) klasa A

Routing. część 2: tworzenie tablic. Sieci komputerowe. Wykład 3. Marcin Bieńkowski

Co w sieci piszczy? Programowanie aplikacji sieciowych w C#

Sieci komputerowe. Wykład 7: Transport: protokół TCP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Warstwa sieciowa. Model OSI Model TCP/IP. Aplikacji. Aplikacji. Prezentacji. Sesji. Transportowa. Transportowa

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

SIECI KOMPUTEROWE. Podstawowe wiadomości

Rok szkolny 2014/15 Sylwester Gieszczyk. Wymagania edukacyjne w technikum. SIECI KOMPUTEROWE kl. 2c

pasja-informatyki.pl

Transport. część 2: protokół TCP. Sieci komputerowe. Wykład 6. Marcin Bieńkowski

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

Plan realizacji kursu

Wykład Nr Sieci bezprzewodowe 2. Monitorowanie sieci - polecenia

Podstawy Transmisji Danych. Wykład IV. Protokół IPV4. Sieci WAN to połączenia pomiędzy sieciami LAN

Wybrane działy Informatyki Stosowanej

Plan wykładu. 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6.

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

Transport. część 2: protokół TCP. Sieci komputerowe. Wykład 6. Marcin Bieńkowski

ZiMSK. Konsola, TELNET, SSH 1

Model ISO/OSI opis Laboratorium Numer 7

SIECI KOMPUTEROWE mgr inż. Adam Mencwal Katedra Informatyki Stosowanej

Zestaw ten opiera się na pakietach co oznacza, że dane podczas wysyłania są dzielone na niewielkie porcje. Wojciech Śleziak

Sieci komputerowe. Wykład 3: Protokół IP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski. Sieci komputerowe (II UWr) Wykład 3 1 / 25

Konfiguracja połączenia G.SHDSL punkt-punkt w trybie routing w oparciu o routery P-791R.

Dwa lub więcej komputerów połączonych ze sobą z określonymi zasadami komunikacji (protokołem komunikacyjnym).

Wybrane działy Informatyki Stosowanej

LABORATORIUM SYSTEMY I SIECI TELEKOMUNIKACYJNE CZĘŚĆ 2 MODELOWANIE SIECI Z WYKORZYSTANIEM SYMULATORA NCTUNS

Uniwersalny Konwerter Protokołów

Bazy Danych i Usługi Sieciowe

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Sieci komputerowe - Wstęp do intersieci, protokół IPv4

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Wykład VI. Administrowanie szkolną siecią komputerową. dr Artur Bartoszewski

1PSI: TEST do wykonania (protokoły sieciowe jedna prawidłowa odp.): Tematy prac semestralnych G. Romotowski. Sieci Komputerowe:

Sieci komputerowe Wykład

Plan wykładu. Warstwa sieci. Po co adresacja w warstwie sieci? Warstwa sieci

Routing i protokoły routingu

Laboratorium Sieci Komputerowych - 2

ORGANIZACJA ZAJĘĆ WSTĘP DO SIECI

komputerowych Dariusz CHAŁADYNIAK informatyka+

Protokoły sieciowe model ISO-OSI Opracował: Andrzej Nowak

Rys. 1. Wynik działania programu ping: n = 5, adres cyfrowy. Rys. 1a. Wynik działania programu ping: l = 64 Bajty, adres mnemoniczny

Laboratorium podstaw telekomunikacji

Zarządzanie systemami informatycznymi. Protokoły warstw aplikacji i sieci TCP/IP

Rok akademicki: 2013/2014 Kod: MIM SM-s Punkty ECTS: 2. Poziom studiów: Studia II stopnia Forma i tryb studiów: Stacjonarne

Sieci komputerowe. Wykład dr inż. Łukasz Graczykowski

MODUŁ: SIECI KOMPUTEROWE. Dariusz CHAŁADYNIAK Józef WACNIK

ZiMSK. mgr inż. Artur Sierszeń mgr inż. Łukasz Sturgulewski ZiMSK 1

Wydział Informatyki, Elektroniki i Telekomunikacji Katedra Telekomunikacji

Sieci komputerowe - Protokoły warstwy transportowej

Transkrypt:

Wstęp Sieci komputerowe Wykład 1 Marcin Bieńkowski

Cel przedmiotu Przedstawienie koncepcji leżących u podstaw sieci komputerowych na przykładzie Internetu. 2

Sieć komputerowa? Zbiór urządzeń połączonych ze sobą kanałami komunikacyjnymi. 3

Sieć komputerowa? Przykładowo Internet w 2015 roku: Obrazek ze strony http://www.opte.org/the-internet/ 4

Internet 2015 (czyli dlaczego warto się tym zajmować) 3 mld użytkowników. 5 mld podłączonych urządzeń (1,9 mld smartfonów). 1 mld stron WWW. 200 mld wysłanych maili dziennie. 500 godzin filmów dodawanych do Youtube co minutę. Łącza przez które można przesyłać dziesiątki terabitów / sek. Internet rzeczy (IoT). Wszystko jako usługa (XaaS). 5

Różnorodność Od sensorów do superkomputerów. Przepustowości od 1 kbit/s do 100 Gbit/s. Aplikacje: telewizja, transfer plików, telefonia, gry, sieci socjalne, komunikatory. Technologie: bezprzewodowe, satelitarne, miedziane, optyczne. Obrazek ze strony http://www.compendian.com/2014/12/do-you-provide-a-one-size-fits-all-approach 6

Decentralizacja i dynamika Internet = sieć łącząca różne sieci Różne technologie (WIFI, 2G/3G/4G, kable, światłowody, łącza satelitarne, Bluetooth, ). Brak centralnej kontroli. Obecnie ponad 18 tys. ISP (dostawców internetu). Ciągłe zmiany (hardware i software). Błędy i ataki. 7

Główne zastosowanie sieci dwukierunkowy niezawodny kanał: Umożliwia komunikację między aplikacjami na różnych komputerach. Aplikacje definiują protokół komunikacji określający, jak wygląda przesyłany strumień danych. Na razie abstrahujemy tutaj od tego, jak sieć to przesyła; chcemy mieć potok pomiędzy dwoma procesami. Internet 8

Przykład: protokół HTTP (przeglądarka i serwer WWW) Przeglądarka (klient WWW) wysyła do serwera: GET /~mbi/ HTTP/1.1 Internet Host: www.ii.uni.wroc.pl Accept: text/html,application/xhtml+xml Accept-Language: en-us,en;q=0.8 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) Serwer (klient WWW) wysyła do przeglądarki: HTTP/1.1 200 OK Content-Length: 2803 Internet Content-Type: text/html Date: Fri, 19 Feb 2016 19:36:19 GMT Last-Modified: Fri, 05 Feb 2016 07:25:15 GMT Server: Apache/2.2.21 (Unix) mod_wsgi/3.3 Python/2.4.4 demonstracja 9

Jak przesyłać dane przez sieć Globalne adresowanie: w Internecie każde urządzenie (właściwie każda karta sieciowa) ma unikatowy 4-bajtowy adres IP. 67.32.41.23 router A router C router D 34.37.235.21 router B router E Dwa paradygmaty przesyłania danych przełączanie obwodów przełączanie pakietów 10

Przełączanie obwodów i pakietów

Przełączanie obwodów (1) Koncepcja jak w analogowych centralach telefonicznych. Ścieżka dla strumienia danych ustalana na cały czas komunikacji. Zasoby wymagane przez ścieżkę (bufory routerów, szybkość łącza) rezerwowane na czas komunikacji. Gwarantowana stała szybkość. Obrazek ze strony http://unusualhistoricals.blogspot.com/2011/02/ordinary-day-in-life-of-telephone.html 12

Przełączanie obwodów (2) Multipleksowanie: rezerwujemy tylko fragment łącza dla jednego strumienia danych. z podziałem czasu (TDM) z podziałem częstotliwości (FDM) czas Gwarantowana stała szybkość Ale marnotrawstwo łącza jeśli akurat nic nie wysyłamy 13

Przełączanie pakietów (1) Wysyłany strumień danych dzielimy na małe porcje: pakiety. nagłówek pakietu dane pakietu Dane pakietu = fragment strumienia danych. Nagłówek pakietu = informacje kontrolne, m.in. adres źródłowy i docelowy. Każdy pakiet jest przesyłany niezależnie. Dla każdego pakietu router podejmuje niezależną decyzję gdzie przesłać go dalej (na podstawie informacji z nagłówka). 14

Przełączanie pakietów (2) Routing (trasowanie) = wybór trasy dla danego pakietu Wysyłane pakiety mogą docierać do celu różnymi drogami. Router: tylko przekazuje pakiet dalej. Nie musi wiedzieć nic o oryginalnym strumieniu danych. Prostota niski koszt, łatwa implementacja. Brak stanu łatwość odtwarzania po awarii. 15

Rodzaje routingu Routing źródłowy Nagłówek pakietu zawiera całą trasę do celu. Wykorzystujący tablice routingu Router utrzymuje pewien stan nazywany tablicą routingu Zbiór reguł typu jeśli adres docelowy pasuje do wzorca A, przekaż pakiet do sąsiedniego routera X. Jak ustawiać tablice routingu? Wirtualne przełączanie obwodów Nadawca najpierw wysyła pakiet kontrolny ustanawiający ścieżkę do celu i konfigurujący routery, czasem rezerwujący część łącza. Kolejne pakiety przesyłane są tą samą ścieżką. 16

Przykładowa trasa traceroute to www.ii.uni.wroc.pl (156.17.4.3), 64 hops max, 52 byte packets 1 livebox (192.168.1.1) 3.151 ms 2 wro-bng2.tpnet.pl (80.50.18.74) 31.965 ms 3 wro-r2.tpnet.pl (80.50.122.73) 31.870 ms 4 lodz-ar3.tpnet.pl (213.25.5.206) 62.835 ms 5 z-tpnetu.lodz-gw.rtr.pionier.gov.pl (80.50.231.26) 37.103 ms 6 lodz-gw2.z-lodz-gw.rtr.pionier.gov.pl (212.191.126.77) 37.606 ms 7 z-lodz-gw.wroclaw.10gb.rtr.pionier.gov.pl (212.191.225.34) 44.687 ms 8 rolnik-karkonosz.wask.wroc.pl (156.17.254.112) 46.707 ms 9 archi-rolnik.wask.wroc.pl (156.17.254.108) 47.936 ms 10 matchem-archi.wask.wroc.pl (156.17.254.142) 47.986 ms 11 gwuwrmatchem.uni.wroc.pl (156.17.252.33) 49.342 ms 12 www.ii.uni.wroc.pl (156.17.4.3) 48.511 ms 17 demonstracja

Przełączanie pakietów: multipleksowanie (1) Pakiety należące do różnych strumieni danych mogą w naturalny sposób korzystać z tego samego łącza. odbiera cały pakiet i przekazuje dalej Statystyczny multipleksing: Założenie: różne komputery wykorzystują łącze w innych momentach czasu lepsze wykorzystanie łącza. Jak radzić sobie z przejściowymi zwiększeniami ilości danych ponad możliwości łącza wyjściowego? 18

Przełączanie pakietów: multipleksowanie (2) kolejka wyjściowa Kolejki przy łączach wyjściowych: Pomagają przy przejściowym przeładowaniu pakietami. Jeśli kolejka się przepełni (przeciążenie) pakiety są odrzucane główna przyczyna utraty pakietów w sieci! 19

Własności kanału komunikacyjnego przepustowość (bandwidth) czas propagacji Przepustowość: ile możemy zapisać do kanału na jednostkę czasu. Czas propagacji: ile czasu podróżuje sygnał między końcami kanału. BDP (bandwidth-delay product): iloczyn przepustowości i czasu propagacji = ile danych może naraz pomieścić kanał. 20

Opóźnienie pakietu Przepustowość: 1 Mbit/s, czas propagacji: 0,5 ms. Pierwszy bit wysłany po 10-6 s. 100-bajtowy pakiet Pierwszy bit dociera po 10-6 s + 0,5 x 10-3 s. Ostatni bit wysłany po 800 x 10-6 s. czas czas Ostatni bit dociera po 800 x 10-6 s + 0,5 x 10-3 s = 1,3 x 10-3 s. Opóźnienie pakietu na łączu = czas oczekiwania pakietu w kolejce + rozmiar pakietu / przepustowość + czas propagacji 21

Przełączanie obwodów vs. przełączanie pakietów przełączanie obwodów gwarancja przepustowości szybkie transfery danych narzut czasowy na nawiązanie połączenia marnowanie łącza jeśli są przerwy w strumieniu danych wolne odtwarzanie w przypadku awarii skomplikowane przełączanie pakietów brak gwarancji oczekiwanie pakietów w kolejkach narzut czasowy dla każdego pakietu (nagłówek) efektywne wykorzystanie łącza (statystyczny multipleksing) odporne na awarie: wybierana inna ścieżka routingu prostsze 22

Komunikacja oparta na pakietach

Przełączanie pakietów w Internecie: protokół IP Podstawowe cechy: Zaimplementowany na każdym urządzeniu. Definiuje adresy urządzeń (4-bajtowe identyfikatory). Definiuje zawodną, bezpołączeniową usługę umożliwiającą przesłanie pakietu między dwoma dowolnymi urządzeniami w sieci. Zasada dołożenia wszelkich starań (best effort): Brak gwarancji (pakiety mogą gubić się lub przychodzić w innej kolejności), ale nie są gubione celowo. Zasada end-to-end: Wszystkie dodatkowe cechy (np. niezawodne przesyłanie danych) implementowane w urządzeniach końcowych (komputerach) łatwa ewolucja, niski koszt innowacyjności 24

HTTP a pakiety IP GET /~mbi/ HTTP/1.1 67.32.41.23 34.37.235.21 port 55245 port 80 HTTP/1.1 200 OK Mamy do dyspozycji protokół IP (umiemy wysyłać pakiety). Co potrzebne jest do scenariusza z HTTP? Niezawodność przesyłania danych. Konieczność dzielenia na pakiety. Jak rozróżnić różne przeglądarki działające na tym samym komputerze? identyfikatory aplikacji (porty). Typowe problemy warto wydzielić osobny komponent a nie wbudowywać tych funkcji w protokół HTTP. 25

Model warstwowy (1) przesyłany pakiet: from: 67.32.41.23 from: port 55245 to: 34.37.235.21 to: port 80 GET /~mbi/ HTTP/1.1 aplikacji aplikacji transportowa transportowa sieciowa sieciowa sieciowa router 67.32.41.23 34.37.235.21 port 55245 port 80 26

Model warstwowy (2) Warstwa definiuje swoje zadania interfejs do sąsiednich warstw Modularność: możliwość wymiany jednej implementacji warstwy na inną. Enkapsulacja / dekapsulacja: proces dodawania / usuwania nagłówka przy przechodzeniu przez kolejną warstwę. 27

Lokalne dostarczanie Pakiety IP są niezależne od architektury sprzętowej. Warstwa sieciowa potrzebuje procedury (zawodnego) dostarczania pakietu do sąsiedniego (bezpośrednio połączonego) komputera. Architektura sprzętowa definiuje kolejne dwie warstwy: łącza danych i fizyczną. 28

Internetowy model warstwowy (1) przesyłany pakiet: nagłówek warstwy łącza danych from: 67.32.41.23 from: port 55245 to: 34.37.235.21 to: port 80 GET /~mbi/ HTTP/1.1 aplikacji aplikacji transportowa transportowa sieciowa sieciowa sieciowa łącza danych (Ethernet) łącza danych (Ethernet) łącza danych (WiFi) łącza danych (WiFi) 01001010001010 01001010001010 01001010001010 01001010001010 router 67.32.41.23 34.37.235.21 port 55245 port 80 29

Internetowy model warstwowy (2) transportowa zapewnia globalne dostarczanie danych pomiędzy aplikacjami sieciowa zapewnia globalne dostarczanie danych pomiędzy komputerami łącza danych (Ethernet) zapewnia lokalne dostarczanie danych pomiędzy komputerami 30

Internetowy model warstwowy (3) protokoły zadanie 5 aplikacji HTTP, SMTP, 4 transportowa TCP, UDP Protokoły użytkowników. Wprowadza porty, dzieli strumień danych na pakiety, zapewnia że pakiety dotrą, składa je w strumień danych po stronie odbiorcy. 3 sieci IP Routuje pakiety. Przesyła ramki z pakietami, zapewnia dostęp 2 łącza danych Ethernet, do współdzielonego kanału. WiFi, 1 fizyczna Przesyła bity. Model TCP/IP: sklejona 1 i 2 Model ISO OSI: dodatkowe warstwy sesji i prezentacji pomiędzy warstwą 4 i 5. demonstracja 31

Protokoły w Internecie aplikacji HTTP SMTP DNS NTP transportowa TCP UDP sieciowa IP łącza danych Ethernet PPP 802.11 (WiFi) MPLS fizyczna kable miedziane światłowód DSL fale radiowe Warstwa sieciowa: tylko jeden protokół! Pozwala na współpracę dowolnych sieci Umożliwia niezależny rozwój we wszystkich innych ch. 32

Lektura dodatkowa Kurose & Ross: rozdział 1. Tanenbaum: rozdział 1. Historia Internetu https://vimeo.com/2696386 http://www.internetsociety.org/internet/whatinternet/history-internet/brief-history-internet 33

Sprawy organizacyjne

Z czego składa się ten przedmiot Zajęcia dodatkowe (100 pkt. do zdobycia) algorytmy, kodowanie, kryptografia ćwiczenia (ok. 20 pkt.) praktyka (np. konfiguracja routingu) warsztaty (ok. 40 pkt.) zadania programistyczne pracownia (ok. 40 pkt.) do zaliczenia: minimum 10 pkt. z zadań programistycznych Egzamin: zagadnienia i pojęcia 35

Zakładane przygotowanie początkowe Co powinniście umieć już teraz: Obsługa Linuksa (wiersz poleceń, proste skrypty, automatyzacja) Linux command line: http://linuxcommand.org/tlcl.php Systemy operacyjne (procesy, IPC) Programowanie w C/C++. Algebra (wielomiany, pierścienie, operacje na grupach) Ten przedmiot nie jest przewidziany dla studentów 1. roku! 36

Literatura James F. Kurose, Keith W. Ross, Sieci komputerowe, ujęcie całościowe Helion, 2010, wydanie V W. Richard Stevens UNIX programowanie usług sieciowych, tom 1 Wydawnictwo naukowo techniczne, 2002 Andrew S. Tanenbaum, Sieci komputerowe Helion, 2012, wydanie V 37