Technologie sieciowe 2 (TS2) Wykład 1: Wprowadzenie do TS2
-
Upload
charles-houston -
Category
Documents
-
view
33 -
download
0
description
Transcript of 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]
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
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
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)
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
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’”
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
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
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
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).
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)
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
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ń
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)
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
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
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)
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
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)
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)
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.
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.
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’
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
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
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)
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
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
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
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
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
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)
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
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
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
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
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)
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)
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
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.