40
Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki Poznańskiej Technologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2 1 Technologie sieciowe 2 (TS2) Wykład 1: Wprowadzenie do TS2 dr inż. Andrzej Szwabe Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki Poznańskiej e-mail: [email protected]

Technologie sieciowe 2 (TS2) Wykład 1: Wprowadzenie do TS2

Embed Size (px)

DESCRIPTION

Technologie sieciowe 2 (TS2) Wykład 1: Wprowadzenie do TS2. dr inż. Andrzej Szwabe Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki Poznańskiej e-mail: [email protected]. Plan wykładu. Wprowadzenie do przedmiotu: ogólne informacje - PowerPoint PPT Presentation

Citation preview

Page 1: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

1

Technologie sieciowe 2 (TS2)

Wykład 1: Wprowadzenie do TS2

dr inż. Andrzej SzwabeInstytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki Poznańskieje-mail: [email protected]

Page 2: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

2

Plan wykładu

• Wprowadzenie do przedmiotu: ogólne informacje • Skrócona prezentacja ćwiczeń laboratoryjnych• Skrócona prezentacja wykładów• Pytania i sugestie dotyczące obszaru zagadnień

wykładu

Page 3: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

3

Wprowadzenie do przedmiotu: ogólne informacje

Page 4: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

4

Podstawowe informacje o przedmiocie

• Obowiązkowy przedmiot kierunkowy na studiach 1-go stopnia na kierunku Informatyka

• Kod ESTP (ECTS): 101033136101033653• Czas i miejsce wykładu:

– Sem. 5-ty: • s. 311 (Wilda)

• Cele przedmiotu:– Postrzeganie technologii sieciowych szerzej niż w sposób ograniczony do współcześnie

stosowanych rozwiązań internetowych– Zrozumienie głównych problemów stojących na drodze do dalszego rozszerzania zastosowań

technologii sieciowych, np. w obszarze optymalizacji użyteczności zasobów sieciowych czy usług sieciowych

– Zaznajomienie z kluczowymi technologiami tzw. "Internetu przyszłości" (ang. Future Internet): sieciami wielo-usługowymi, sieciami MANET, aspektami sieciowymi Service Oriented Architectures

• Podstawowe wymagane wiadomości:– Zakres pierwszego semestru przedmiotu Technologie sieciowe (TS1)

Page 5: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

5

Prowadzący • dr inż. Andrzej Szwabe, e-mail: [email protected]• Rozprawa doktorska „Adaptive audio transmission in IP networks”, promotor prof. Czesław

Jędrzejek• Doświadczenie pracy w międzynarodowych projektach badawczo-rozwojowych związanych z

technologiami sieci IP, m.in.: – CADENUS (Creation and deployment of end-user services in premium IP networks), koordynator France

Telecom– DAIDALOS (Designing Advanced network Interfaces for the Delivery and Administration of Location

independent, Optimised personal Services), koordynator Deutsche Telekom– OPNEX (Optimization driven Multi-Hop Network Design and Experimentation), z udziałem Thomson, MIT

(podzlecenie), Purdue University (podzlecenie)– Architekt systemu hybrydowego dostępu (WWW/SIP) INDECT Portal w projekcie INDECT (Intelligent

information system supporting observation, searching and detection for security of citizens in urban environment)

• Kierownik kilkuosobowej grupy badawczej (w 4 projektach, m.in. w prestiżowym projekcie Narodowego Centrum Nauki, projektach dla „służb mundurowych”)

• Autor wielu artykułów na konferencjach rozpoznawanych globalnie• Główny autor dwóch IETF Internet Drafts (prawdopodobnie jedyny przypadek w Polsce)• Promotor pracy magisterskiej Przemysława Walkowiaka uznanej w 2011 r. za najlepszą w Polsce

pracę magisterską z informatyki przez Polskie Towarzystwo Informatyczne• Preferowana forma kontaktu: e-mail• Konsultacje: czwartek pomiędzy 9:00 a 11:00, s. 304, Wilda (preferowany wcześniejszy kontakt

email)

• UWAGA: Dla najlepszych studentów możliwość pracy w jednym z 4 projektów R&D

Page 6: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

6

Zagadnienia poruszane na wykładzie

• Co jest przedmiotem wykładu– Obszar zagadnień wykładu Technologie sieciowe obejmuje warstwy modeli komunikacji

ISO/OSI oraz TCP/IP od warstwy transportowej ‘wzwyż’– Interakcje pomiędzy protokołami od warstwy transportowej wzwyż a innymi protokołami (w

tym protokołami niższych warstw) oraz pomiędzy protokołami a aplikacjami/usługami (głownie SOA)

• Co nie jest przedmiotem wykładu– Podstawowe zagadnienia Technologii sieciowych, które były przedmiotem wykładu TS w

poprzednim semestrze (TS1).– Zagadnienia technologii sieciowych, które były/są/będą przedmiotem innych wykładów:

• Aplikacje sieciowe (np. IVR, VoD), systemy teleinformatyczne (np. 3GPP IMS) i ich protokoły „sygnalizacyjne” (RTSP, SIP)

• Eksploatacja sieci komputerowych (protokoły zarządzania siecią, np. SNMP) • Inne?

• Podstawowe założenie metodologiczne: – „rozumieć ‘dlaczego’ raczej niż pamiętać ‘jak’”

Page 7: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

7

Sposób oceny z wykładu• Forma uzyskania oceny z wykładu: egzamin pisemny• Zasady oceny

– Dla chętnych zadania projektowe (najlepiej powiązane z projektami i pracami inżynierskimi)

• Temat ustalony do końca kwietnia (preferowane wstępne przedstawienie propozycji studenta emailem, a następnie jej omówienie podczas konsultacji)

• Rozliczenie i ocena projektu przed końcem semestru• Możliwość uzyskania dodatkowych punktów podwyższających finalną ocenę

(standardowo do 5 pkt włącznie)– Egzamin pisemny

• 10 pytań z zakresu wykładów 2-14 (zbliżone prawdopodobieństwo wystąpienia pytania z obszaru każdego z wykładów)

• Ocena cząstkowa: ocena odpowiedzi na każde z pytań w skali od 0 do 1 pkt• Ocena finalna = suma ocen cząstkowych / 2 („naturalna” dolna granica =2)

• Ocena wpisywana do indeksu średnią:– oceny z TS1 (poprzedni semestr) – oceny z egzaminu TS2 powiększonej o dodatkowe punkty za projekt (naturalnie

ograniczonej do 5)• W wszelkich kwestiach spornych/wątpliwych

– Obowiązuje zgodność z regulaminem studiów i wytycznymi Prodziekana

Page 8: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

8

Bibliografia• The Internet And Its Protocols, A Comparative Approach, Adrain

Farrel, Morgan Kaufmann, Elsevier, San Francisco, 2004• Sieci komputerowe i intersieci, D. E. Comer, WNT, Warszawa 2001• Computer Networks, A. Tanenbaum, Prentice-Hall, 1996

• Zalecane samodzielne wyszukiwanie informacji w specyfikacjach (np. IETF RFC, Internet Draft) i publikacjach naukowych dostępnych w Internecie (potencjalny temat konsultacji)– Przykłady relewantnych publikacji

• Layering as optimization decomposition: A mathematical theory of network architectures, in Proceedings of the IEEE, Mung Chiang, Steven H. Low, A. Robert Calderbank, John C. Doyle, IEEE, Piscataway, NJ, 2007

• The Mathematics of Internet Congestion Control, Rayadurgam Srikant, Birkhauser, Boston-Basel-Berlin, 2004

Page 9: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

9

Prezentacja ćwiczeń laboratoryjnych

Page 10: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

10

Założenia dotyczące środowiska ćwiczeń laboratoryjnych

• Laboratoria odbywają się głównie z wykorzystaniem wirtualizowanych maszyn (VirtualBox) z preinstalowanym systemem operacyjnym GNU/Linux – Możliwość indywidualnej pracy każdego studenta nad kompletną (bo

zwirtualizowaną) instalacją sieciową (zamiast mniej efektywnej pracy w grupach)– Możliwość próbnego wykonywania ćwiczeń poza laboratorium (nacisk na

wirtualizację hostów, internetowy dostęp do instrukcji), np. w ramach „utrwalania” wiedzy z wykładów

– Możliwość sprawnego przywrócenia systemu hosta do poprawnie działającego stanu pierwotnego

• Przydatna jest znajomość środowiska użytkownika systemu Linux.– Dostępny jest wyłącznie tryb tekstowy (emulacja konsoli) i powłoka systemowa

bash. – Student działa jako superużytkownik (root) automatycznie zalogowany na 6-ciu

wirtualnych konsolach. – Dodatkowo do dyspozycji jest program Midnight Commander (mc).

Page 11: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

11

Ocena wykonywania ćwiczeń laboratoryjnych

• Ocena cząstkowa: ocena wykonania ćwiczenia w laboratorium– Ocena w skali od 0 do 5 pkt– Brak pobłażania w ocenianiu osób nieprzygotowanych do zajęć,

przynajmniej w zakresie wiedzy z wykładów– Oceniana m.in. umiejętność oceny stanu stanowiska lab. i umiejętność

przywrócenia stanowiska do stanu użytecznego dla kolejnych użytkowników

• Ocena końcowa z zajęć laboratoryjnych– Średnia ocen cząstkowych (naturalnie >=2)

Page 12: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

12

Związek zajęć laboratoryjnych z wykładem

• Zakres tematyczny ćwiczeń laboratoryjnych silnie powiązany z zakresem wykładu. – Dokonywana w laboratorium eksperymentalna weryfikacja wiedzy przekazywanej

w formie wykładów (dzięki wirtualizacji również poza zajęciami, np. w domu) jako metoda dodatkowego motywowania do zdobywania wiedzy teoretycznej

• Zależności pomiędzy ćwiczeniami laboratoryjnymi – ‘ścieżka zdobywania umiejętności’ (np. „od trasowania statycznego, przez RIP, do OSPF”)

• Kolejność ćwiczeń celowa i odpowiadająca (w przybliżeniu) kolejności prezentacji zagadnień na wykładzie– Usystematyzowany przegląd zagadnień zgodnie z warstwami stosu TCP/IP,

zasadniczo w kierunku „w górę stosu protokołów”• Zakładane sukcesywne zdobywanie umiejętności

– Kolejne ćwiczenia zakładają opanowanie poprzednich zagadnień (np. ćwiczenie o protokołach trasowania poprzedzone jest ćwiczeniem z trasowania statycznego)

• Warunki zbliżone do realiów zawodu „sieciowca”– Zadania niezbyt złożone, ale wymagające samodzielności i umiejętności

korzystania z dokumentacji

Page 13: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

13

Ćwiczenie lab. 1: Wprowadzenie

• Forma zajęć• Zasady oceniania i warunki zaliczenia• Praktyczne zapoznanie się ze środowiskiem laboratoryjnym

– Obsługa VirtualBox– Klonowanie maszyn, emulacja sieci– System GNU/Linux– Podstawowe komendy– Programy diagnostyczne– Narzędzia wspólne dla cyklu ćwiczeń

Page 14: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

14

Ćwiczenie lab. 2: Trasowanie statyczne

• Trasowanie (ruting) a przekazywanie pakietów IP (IP forwarding)

• Budowa i sposób użycia tablic rutingu

• Separacja segmentów sieci• Adresacja sieci bez

podziału na klasy (maska podsieci)

• Trasowanie bezklasowe (Classless Interdomain Routing, CIDR)

Page 15: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

15

Ćwiczenie lab. 3: Protokół trasowania dynamicznego RIP

• Cel: konfiguracja sieci z użyciem dynamicznego routingu — protokół typu wektorowego RIP

• Zadania– Zapoznanie się z interfejsem wzorowanym na systemie Cisco IOS

(Internetwork Operating System)– Uruchomienie i analiza działania demona routingu– Analiza komunikatów protokołu RIP– Badanie wpływu uszkodzeń połączeń na routing

Page 16: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

16

Ćwiczenie lab. 4: Protokół trasowania dynamicznego OSPF

• Cel: konfiguracja sieci z użyciem dynamicznego routingu — protokół typu stanu łącza OSPF

• Zadania– Uruchomienie i analiza działania demona routingu– Analiza komunikatów protokołu OSPF– Badanie wpływu uszkodzeń połączeń na routing– Badanie wpływu konfiguracji liczników (timers) na działanie

rozproszonego systemu OSPF

Page 17: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

17

Ćwiczenie lab. 5: Protokół transportowy TCP

• Cel: praktyczna obserwacja ruchu TCP, poznanie zasad działania protokołu, zapoznanie się z zależnościami pomiędzy wielkością okna TCP a RTT (ang. Round Trip Time).

• Zadania– Konfiguracja połączenia logicznego– Kontrola przepływu (wielkość okna TCP, przepełnianie bufora

odbiorczego)– Opóźnienia dwukierunkowe– Zależności pomiędzy wielkością okna TCP a RTT (ang. Round Trip

Time)

Page 18: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

18

Ćwiczenie lab. 6: Porównanie protokołów TCP i UDP

• Cele– Praktyczna obserwacja ruchu TCP i UDP w zmiennych warunkach

sieciowych– Symulowanie warunków: wprowadzanie stałych/losowych opóźnień,

przepustowość sieci (wyznaczanie efektywnej transmisji)– Zapoznanie się z różnicami pomiędzy TCP a UDP (pod względem

kontroli przepływu i zarządzania sesją).• Zadania

– TCP• Obliczanie optymalnej wielkości okna TCP• Bezstratność transmisji: mechanizm potwierdzeń, wykrywanie strat

pakietów, retransmisja– UDP

• Wyznaczanie optymalnej prędkości transmisji UDP w zależności od przepustowości sieci

• Wpływ strat datagramów na parametry QoS transmisji

Page 19: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

19

Ćwiczenie lab. 7: Konfigurowanie usług sieciowych

• Cel: zapoznanie się z podstawowymi mechanizmami działania oraz uruchamiania usług systemowych w środowisku Linux (tryby uruchomienia usług, podstawowe pliki konfiguracyjne, sposoby uruchomienia, utrzymanie).

• Zadania szczegółowe:– Konfiguracja serwera FTP dla:

• użytkownika anonymous, • ograniczony dla użytkownika guest,• użytkowników posiadających konto w systemie

– Sposoby uruchomienia usługi (m.in. tryb standalone)

Page 20: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

20

Ćwiczenie lab. 8: Tekstowe protokoły w. aplikacji: Telnet i FTP • Cele

– Zapoznanie się z protokołem Telnet jako ‘prekursorem’ tekstowych protokołów warstwy aplikacyjnej

– Zdobycie umiejętności wykorzystania standardowego protokołu sieciowego Telnet (Telecommunication network)

– Zapoznanie się ze sposobem działania FTP jako podstawowego protokołu wymiany plików FTP

• Zadania– Wyświetlenie zawartości katalogu przy użyciu odpowiednich komend– Przesłanie/pobranie pliku do/z serwera korzystając z użytkowników o różnych

prawach dostępu– Skorzystanie z zadanych w specyfikacji trybów połączeń warstwy transportowej

(model podstawowy oraz model z wykorzystaniem innych adresów IP dla przekazywania poleceń protokołu oraz przesyłanych danych)

Page 21: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

21

Ćwiczenie lab. 9: Protokół HTTP • Cele

– Praktyczne zapoznanie się z komunikacją klient-serwer zgodną z protokołem HTTP

– Obserwacja, typy i budowa przesyłanych komunikatów– Identyfikacja i rodzaje błędów HTTP– Zapoznanie się z metodą dostępu do HTTP przez protokół Telnet– Zapoznanie się ze sposobami zapewnienia sesyjności na poziomie aplikacji– Zapoznanie się ze sposobami optymalizacji QoS (persistent connections,

pipelining)• Zadania

– Skonfigurowanie środowiska testowego– Analiza ruchu HTTP z użyciem Wireshark– Identyfikacja komunikatów (GET, SET, POST itd.) oraz zapoznanie się z ich

budową– Dostęp do HTTP poprzez protokół Telnet– Generowanie i identyfikacja błędów HTTP– Wykorzystanie obiektu XMLHTTPRequest do asynchronicznej wymiany danych

między klientem a serwerem WWW– Analiza komunikatów sesji asynchronicznych.

Page 22: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

22

Ćwiczenie lab. 10: Eksploracja sieci WWW

• Cele – Zapoznanie się z architekturą uniwersalnego systemu eksploracji sieci WWW

(tzw. crawlera)– Zapoznanie się ze sposobem integracji systemu eksploracji sieci WWW z

parserem i indekserem– Zdobycie umiejętności konfiguracji systemu eksploracji sieci WWW dotyczącej

m.in. trybu eksploracji (korporacyjnego a internetowego, zorientowanego na indeksowanie lub harvesting), list zalążkowych (w tym bazujących na wynikach zapytań do Google), filtrów URL, filtrów głębokości eksploracji, funkcji eksploracji ukierunkowanej (focused crawling), zarządzania zasobami (lokalnymi i sieciowymi), „etykiety eksploracji WWW”

• Zadania– Skonfigurowanie i użycie systemu crawlera Apache Nutch w trybie intranetowym

(z użyciem polecenia crawl i opcji dir, depth, delay, threads)– Skonfigurowanie i użycie systemu crawlera Apache Nutch w trybie internetowym

(z użyciem poleceń z użyciem poleceń inject, generate, fetch, updatedb)– Sterowanie kolejnymi fazami działania systemu crawlera Apache Nutch:

inicjalizacją bazy stron WWW, pobieraniem stron, ich indeksowaniem i wyszukiwaniem.

Page 23: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

23

Ćwiczenie lab. 11: Implementacja protokołu w środowisku CLICK

• Cel: praktyczne sprawdzenie rozumienia podstawowej zasady działania stosu protokołów (m.in. kolejności nagłówków, ‘niskopoziomowe rozumienie’ budowy pakietów, „jak naprawdę sieć działa”)

• Zastosowanie wiedzy teoretycznej we własnej implementacji– Re-implementacja narzędzia ping– Wykorzystanie środowiska MIT Click Modular Router (konstrukcja

stosu z użyciem gotowych komponentów, ‘klocków’)• Zagadnienia

– Kolejność nagłówków w ramce– Wzajemna zależność między protokołami– Ścieżka przetwarzania danych w systemie hosta IP ‘krok po kroku’: od

aplikacji, przez stos, do warstwy fizycznej i ‘z powrotem’

Page 24: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

24

Ćwiczenie lab. 12: Aspekty komunikacyjne usług sieciowych WS• Cele:

– Zapoznanie się z zastosowaniem komunikatów SOAP w systemie usługi sieciowej

– Zapoznanie się z komunikatami SOAP: wykorzystywanym stosem protokołów, formatem komunikatów (tzw. kopertą SOAP) i formatem ich zawartości

– Obserwacja zależności pomiędzy SOAP a HTTP • Zadania:

– Implementacja prostej usługi sieciowej w środowisku Oracle Jdeveloper

– Uruchomienie usługi sieciowej wykorzystującej SOAP z użyciem serwera aplikacji OC4J

– Analiza działania usługi z perspektywy zawartości komunikatów SOAP i wykorzystywanego do ich transmisji stosu protokołów

Page 25: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

25

Ćwiczenie lab. 13: Sesyjność HTTP a stanowość usługi sieciowej WS

• Cele: – Zapoznanie się z podstawowymi elementami składającymi się na system

usługi sieciowej utrzymującej swój stan wewnętrzny– Zapoznanie się z techniką zapewnienia ciągłości wirtualnej sesji HTTP

użytą w celu wielokrotnego komunikowania się z pojedynczą instancją usługi web service.

– Zapoznanie się z funkcjonalnościami środowiska JDeveloper wspomagającymi tworzenie usługi WS utrzymującej swój stan wewnętrzny.

• Zadania: – Uruchomienie i przetestowanie usługi sieciowej utrzymującej swój stan

wewnętrzny– Uruchomienie i przetestowanie aplikacji klienckiej usługi sieciowej

utrzymującej swój stan wewnętrzny– Analiza zastosowania mechanizmu HTTP cookies w uruchomionym

systemie

Page 26: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

26

Ćwiczenie lab. 14: Przesyłanie danych obiektowych z użyciem SOAP

• Cele: – Zapoznanie się z głównymi ograniczeniami dotyczącymi typów danych

zgodnych z protokołem SOAP. – Zapoznanie się z zastosowaniem SOAP w systemie usługi sieciowej o

obiektowym „wejściu” i „wyjściu”– Zapoznanie się z zależnościami między definicją obiektowego typu

danych (przygotowaną z użyciem języka Java) a nazwami i strukturą pól danych SOAP

• Zadania: – Utworzenie usługi WS z użyciem mechanizmu serializacji zgodnie z SOAP

Encoding (częścią 2 specyfikacji SOAP 1.2)– Uruchomienie utworzonej usługi sieciowej (w środowisku Oracle JDeveloper i z

użyciem serwera apliakcji OC4J) i analiza jej funkcjonalności– Analiza zawartości komunikatów SOAP z perspektywy mapowania typów

danych stosowanych w językach programowania (tzw. programmatic types) do formatu XML dla przypadku użycia złożonych struktur danych (typów tablicowych)

Page 27: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

27

Skrócona prezentacja wykładów

Page 28: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

28

Wykład 2: Maksymalizacja użyteczności sieci

• Sieć jako współdzielony zasób• Quality of Service (QoS) - czym jest, a czym nie jest QoS

– Obiektywne parametry jakości transmisji QoS (delay, jitter, PLR)– Ograniczenia „klasycznych” metod oceny jakości transmisji, powszechnie

występujące błędne założenia dotyczące przeznaczenia sieci • Efektywna sieć jako system realizujący zadanie NUM

– Klasyczne ujęcie problemu NUM, funkcje użyteczności– Przeznaczenie sieci wielousługowej a ograniczenia klasycznego ujęcia problemu

NUM, problem wielu stanów równowagi• Kompromis pomiędzy NUM a niezależnością warstw modelu

komunikacyjnego– Dekompozycja podstawowego problemu optymalizacyjnego NUM na pod-

problemy i funkcje realizowane przez protokoły różnych warstw– Stabilność działania i sposoby zapewniania stabilnego działania sieci we

wszystkich warstwach modelu komunikacji• Problemy implementacji systemów NUM

Page 29: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

29

Wykład 3: Sieci bezprzewodowe WLAN i ich wydajność

• Przegląd grupy standardów IEEE 802.11– 802.11b, 802.11g, 802.11a i 802.11n oraz inne specyfikacje IEEE 802.11

• Warstwa fizyczna sieci IEEE 802.11– Specyfika radiowego medium transmisji – Typy modulacji fali radiowej stosowane w sieciach 802.11

• Usługi składowe (services) sieci IEEE 802.11– Sieci typu infrastrukturalnego, sieci ad-hoc i sieci MANET– Pojęcie IEEE 802.11 Distributed System – Distribution System Services i Station Services

• Mechanizmy warstwy łącza danych i enkapsulacji w sieciach IEEE 802.11– Warstwa łącza danych w standardach rodziny IEEE 802.11– Enkapsulacja pakietów IP w ramki 802.11– Adresy i typy ramek stosowane w sieciach 802.11

• Wielodostęp w sieciach 802.11– Specyfika wielodostępu w sieciach radiowych – Zarządzanie dostępem do zasobów w warstwie MAC– Metoda wielodostępu CSMA/CA– Interwały czasowe między ramkami 802.11– Mechanizm RTS/CTS

Page 30: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

30

Wykłady 4-7: Trasowanie dla sieci stałych

• Podstawy rutingu (trasowania) – Ruting a przekazywanie pakietów IP (IP forwarding)– Classless Interdomain Routing (CIDR)– Systemy autonomiczne w rutingu– Routery wewnętrzne i zewnętrzne oraz ich najważniejsze

protokoły– Identyfikatory ruterów, numerowane i nienumerowane

połączenia– Dystrybucja informacji o trasach w sieci– Algorytmy wyznaczania ścieżek

• Protokoły IGP: RIP i OSPF• Protokół EGP: BGP-4 • Protokoły trasowania dla rozsyłania grupowego

Page 31: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

31

Wykład 8: Trasowanie dla sieci bezprzewodowych

• Czym jest sieć MANET, czym jest sieć wireless multi-hop• Specyfika trasowania dla sieci bezprzewodowych

– Metody identyfikacji logicznych połączeń w warstwie łącza danych• Klasyfikacja protokołów trasowania dla sieci bezprzewodowych

– Protokoły trasowania reaktywnego– Protokoły trasowania proaktywnego

• Protokół OLSR– Komunikaty– Algorytm– Standaryzacja– Prace badawcze nad rozszerzeniami na przykładzie projektu EU

OPNEX

Page 32: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

32

Wykład 9: Zarządzanie zasobami sieci IP

• Algorytmy zarządzania kolejkowaniem w węźle sieci IP– Model rutera z perspektywy funkcji zarządzania zasobami sieci IP– Kształtowanie ruchu (traffic shaping)

• leaky bucket, token bucket Hierarchical Token Bucket (HTB)

– Zarządzanie szeregowaniem pakietów (scheduling management)• Weighted Fair Queuing (WFQ), Weighted Round Robin (WRR)

– Zapobieganie natłokowi (congestion avoidance)• Random Early Detection (RED), Weighted Random Early Detection (WRED), Explicit Congestion

Notification (ECN)

• Metody zarządzania zasobami w skali sieci– Model DiffServ– Model IntServ

• Definiowanie wymagań sesji• Rezerwacja zasobów z użyciem protokołu RSVP

– Komplementarność i możliwość integracji DiffServ i IntServ• Problem skalowalności modelu rezerwacji zasobów

• Ograniczenia „klasycznych” metod zarządzania zasobami sieci – Zarządzanie jakością transmisji a optymalizacja wykorzystania zasobów sieci (NUM)

Page 33: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

33

Wykład 10: Protokół TCP i efektywność jego działania

• Połączeniowość TCP– Znaczenie interakcji z warstwą aplikacji (API ‘gniazd’ TCP)

• Zarządzanie połączeniem logicznym• Sterowanie przepływem i reagowanie na natłok

– Zasada okna przesuwnego– Dynamika wypełnienia bufora odbiorczego– Dynamika opóźnienia dwukierunkowego RTT (ang. Round Trip Time) a

dynamika wielkości okna TCP– Zjawisko ‘silly windows’ i metody zapobiegania temu zjawisku: algorytm

opóźnionego potwierdzania i algorytm Nagle'a• TCP jako protokół realizujący NUM

– Modele TCP jako protokołu implicite działającego według funkcji użyteczności– Inżynieria odwrotna funkcji użyteczności różnych odmian TCP– Zależność modelu działania TCP od mechanizmów AQM działających w

węzłach sieci

Page 34: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

34

Wykład 11: Protokoły transportu strumieni audiowizualnych

• Protokoły transportu strumieni w czasie rzeczywistym– Stos protokołów dla transportu strumieni w czasie

rzeczywistym– Protokół transportowy warstwy aplikacji RTP– Protokół kontrolny warstwy aplikacji RTCP– Zmienność opóźnienia transmisji a subiektywna jakość

odbieranego strumienia• Adaptacyjny transport strumieni audiowizualnych

– Architektura systemu adaptacyjnej transmisji strumieni audiowizualnych

– Współistnienie przepływów TCP i strumieniowych, standard TFRC

• Redukcja oscylacji szybkości chwilowej strumienia RTP

Page 35: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

35

Wykład 12: Protokół Telnet, protokół FTP

• Protokół Telnet– Telnet jako historycznie pierwszy protokół tekstowy warstwy aplikacji– Network Virtual Terminal (NVT) - funkcja translacji formatów kodowania znaków– Związek protokołu Telnet z TCP– Znaki i polecenia sterujące protokołu Telnet

• Protokół FTP– Typowe funkcje i polecenia klienta FTP– Model połączeń sesji FTP– Rozdzielenie funkcjonalne agenta klienta poleceń FTP od agenta klienta

transmisji danych – Opcje połączeń: klient-serwer, serwer-serwer– Komunikaty poleceń służących zarządzaniu sesją FTP– Komunikaty poleceń służących zarządzaniu połączeniem transmisji danych

Page 36: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

36

Wykład 13: System DNS, protokoły poczty elektronicznej

• System DNS– Podstawowe reguły i problemy przypisywania nazw hostom internetowym– Protokół DNS– Dystrybucja zawartości baz danych DNS (zapytania proxy, redirect, parametry

DNS TTL)– Formaty komunikatów DNS– Rozszerzenia DNS– Bezpieczeństwo DNS (zagrożenie DNS cache poisoning)

• Protokoły poczty elektronicznej – SMTP (Simple Mail Transfer Protocol)– POP3 (The Post Office Protocol version 3) – protokół dostępu do wiadomości

e-mail przechowywanych na serwerze – IMAP (Internet Mail Access Protocol) – protokół zapisu, edycji i pobierania

wiadomości e-mail przechowywanych na serwerze

Page 37: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

37

Wykład 14: Protokół HTTP• HTTP jako „bezstanowy protokół ‘prawie wszystkich’ aplikacji”

– Zależność HTTP od identyfikatorów URL, systemu DNS– Komunikaty zapytań HTTP– Komunikaty odpowiedzi HTTP– Techniki kodowania treści HTTP zgodne z Multipurpose Internet

Message Extensions (MIME)– Przykłady typowych sekwencji komunikatów HTTP

• Sesyjność na poziomie aplikacji– Ciasteczka– Mechanizmy uwierzytelniania

• Zabezpieczenia komunikacji HTTP• Zwiększanie wydajności w systemach WWW• Techniki strumieniowania HTTP (na przykładzie AJAX)• Mirroring serwerów, proxy, CDN (na przykładzie sieci Akamai)

Page 38: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

38

Wykład 15: Usługi sieciowe WS• Porównanie WS bazujących na SOAP z WS typu REST

(z perspektywy funkcji HTTP)– „Semantyka” komunikatów HTTP a usługi sieciowe REST– Zabezpieczenia komunikacji HTTP w przypadku SOAP i w

przypadku REST

• Bezstanowość protokołu HTTP a kwestia stanowości usług sieciowych WS

• Rola WS w systemach SOA– Usługi bazowe– Usługi procesowe

• Semantyczne usługi sieciowe WS (SAWSDL, rola URIs)

Page 39: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

39

Wykład 15½: Uzupełnienia i podsumowanie

• Uzupełnienie wykładów o omówienie zagadnień powiązanych z zaprezentowanymi– Na podstawie sugestii zgłaszanych przez słuchaczy podczas

wykładów (SOA? BPEL/BPMN?, SWS?, WS matching?)

• Powtórne wyjaśnienie najtrudniejszych zagadnień– Według listy przekazanej przez Starostę w imieniu wszystkich

słuchaczy nie później niż 3 dni przed ostatnim wykładem

• Omówienie przykładowych pytań egzaminacyjnych

Page 40: Technologie sieciowe 2 (TS2)  Wykład 1: Wprowadzenie do TS2

Andrzej Szwabe, Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki PoznańskiejTechnologie sieciowe 2 (TS2) – Wykład 1: Wprowadzenie do TS2

40

Dziękuję za uwagę.

Proszę o pytania i uwagi/sugestie dotyczące zagadnień przedstawianych podczas wykładów.