1 / 40

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

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

Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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: Andrzej.Szwabe@put.poznan.pl

  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

  3. Wprowadzenie do przedmiotu: ogólne informacje

  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 OrientedArchitectures • Podstawowe wymagane wiadomości: • Zakres pierwszego semestru przedmiotu Technologie sieciowe (TS1)

  5. 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

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

  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

  8. 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

  9. Prezentacja ćwiczeń laboratoryjnych

  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 MidnightCommander (mc).

  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)

  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

  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ń

  14. Ć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)

  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 (InternetworkOperating System) • Uruchomienie i analiza działania demona routingu • Analiza komunikatów protokołu RIP • Badanie wpływu uszkodzeń połączeń na routing

  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

  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. 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)

  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

  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)

  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)

  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 (persistentconnections, 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.

  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 (focusedcrawling), 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.

  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 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’

  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

  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

  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. programmatictypes) do formatu XML dla przypadku użycia złożonych struktur danych (typów tablicowych)

  27. Skrócona prezentacja wykładów

  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ługoweja 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

  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

  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

  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

  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)

  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

  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

  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

  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

  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)

  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)

  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

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

More Related