400 likes | 646 Views
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: Andrzej.Szwabe@put.poznan.pl. Plan wykładu. Wprowadzenie do przedmiotu: ogólne informacje
E N D
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: Andrzej.Szwabe@put.poznan.pl
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
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 OrientedArchitectures • Podstawowe wymagane wiadomości: • Zakres pierwszego semestru przedmiotu Technologie sieciowe (TS1)
Prowadzący • dr inż. Andrzej Szwabe, e-mail: Andrzej.Szwabe@put.poznan.pl • Rozprawa doktorska „Adaptive audio transmissionin 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 inpremium IP networks), koordynator France Telecom • DAIDALOS (DesigningAdvancednetworkInterfaces for theDelivery and Administration of Location independent, Optimisedpersonal Services), koordynator Deutsche Telekom • OPNEX (Optimizationdriven Multi-Hop Network Design and Experimentation), z udziałem Thomson, MIT (podzlecenie), PurdueUniversity (podzlecenie) • Architekt systemu hybrydowego dostępu (WWW/SIP) INDECT Portal w projekcie INDECT (Intelligentinformation system supportingobservation, searching and detection for security of citizensinurban 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
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’”
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: • ocena z egzaminu TS2 powiększona o dodatkowe punkty za projekt (naturalnie ograniczona do 5) • W wszelkich kwestiach spornych/wątpliwych • Obowiązuje zgodność z regulaminem studiów i wytycznymi Prodziekana
Bibliografia • The Internet And ItsProtocols, A ComparativeApproach, 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 optimizationdecomposition: A mathematicaltheory of networkarchitectures, inProceedings of the IEEE, MungChiang, Steven H. Low, A. Robert Calderbank, John C. Doyle, IEEE, Piscataway, NJ, 2007 • TheMathematics of Internet CongestionControl, RayadurgamSrikant, Birkhauser, Boston-Basel-Berlin, 2004
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 MidnightCommander (mc).
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)
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
Ć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ń
Ćwiczenie lab. 2: Trasowanie statyczne • Trasowanie (ruting) a przekazywanie pakietów IP (IPforwarding) • Budowa i sposób użycia tablic rutingu • Separacja segmentów sieci • Adresacja sieci bez podziału na klasy (maska podsieci) • Trasowanie bezklasowe (ClasslessInterdomainRouting, CIDR)
Ć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 (InternetworkOperating System) • Uruchomienie i analiza działania demona routingu • Analiza komunikatów protokołu RIP • Badanie wpływu uszkodzeń połączeń na routing
Ć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
Ć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. RoundTrip 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. RoundTrip Time)
Ć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
Ć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)
Ć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)
Ćwiczenie lab. 9: Protokół HTTP (1/2) • Cele • Praktyczne zapoznanie się z komunikacją klient-serwer zgodną z protokołem HTTP • Obserwacja typów i budowy przesyłanych komunikatów • Identyfikacja i rodzaje błędów HTTP • Zapoznanie się z metodą dostępu do HTTP przez protokół Telnet • 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 komunikatów o błędach HTTP
Ćwiczenie lab. 10: Protokół HTTP (2/2) • Cele • Zapoznanie się ze sposobami zapewnienia sesyjności na poziomie aplikacji • Zapoznanie się ze sposobami optymalizacji QoS (persistentconnections, pipelining), porównanie wersji protokołu HTTP 1.0 i 1.1 • Uwierzytelnianie dostępu i bezpieczeństwo, zapoznanie się z protokołem HTTPS • Zadania • Realizacja wirtualnych sesji HTTP • Analiza mechanizmów opartych na tzw. cookies • Analiza mechanizmu cache w protokole HTTP • Konfiguracja uwierzytelnionego dostępu oraz analiza uwierzytelnionego połączenia • Analiza komunikatów sesji asynchronicznych
Ć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 ClickModular 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’
Ć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
Ć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
Ć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. programmatictypes) do formatu XML dla przypadku użycia złożonych struktur danych (typów tablicowych)
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
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
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
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
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)
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
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
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
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
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)
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)
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
Dziękuję za uwagę. Proszę o pytania i uwagi/sugestie dotyczące zagadnień przedstawianych podczas wykładów.