Sieci komputerowe

Termin zajęć:
  • ćwiczenia - środa, 17:00, A1-14,15
Rodzaj zajęć:
  • ćwiczenia - 30h.
Warunek zaliczenia ćwiczeń:
  • Obecności - maksymalnie 3 niebecności w semestrze.
  • Co najmniej 50% punktów.
Ocena ćwiczenia:
Projekt:
  • projekt realizuje zespół dwuosobowy
  • każdy zespół otrzymuje temat do opracowania
  • 3 części - omówienie zgadanienia, dokumentacja zagadnienia, implementacja zagadnienia
  • termin przygotowania wszystkich części: 24 kwietnia 2012 roku (pierwsza prezentacja działania i omówienie działania), termin ostateczny oddania 9 maja 2012 roku.

Plan ćwiczeń

  • Zajęcia 1
    Narzędzia diagnostyczne w sieciach.
  • Zajęcia 2
    Odwzorowanie nazw DNS.
  • Zajęcia 3
    Programowanie usług sieciowych.

    Tematy projektów

    1. Protokół HTTP - aplikacja serwera (
      • obsluga domeny www.12345.pl, www.54321.pl i wyswietlanie strony o którą poprosił użytkownik w zależnosci od domeny z różnych katalogów
      • ustawianie nagłówków serwera (informacja o systemie, informacja o stornie, itp. )
      • obsługa plików php
      • odbieranie od klienta danych POST i plików
      • interpretacja skryptów php - phpcli
      • wysyłanie odpowiednich kodów do klienta
      • zapisanie do pliku logów informacji o połączeniu - kto, kiedy i do jakiej strony www
      • implementacja funkcji serwera zgodnych z protokołem
    2. Protokół HTTP - aplikacja klienta (zajęty/taken)
      • ustawianie nagłówków klienta (informacja o przeglądarce, akceptowane języki, kodowania - odczytana z pliku konfiguracyjnego)
      • wysyłanie zapytania o stronę na wskazany przez użytkownika adres
      • przed otwarciem strony zapytanie o przesłanie zmiennych POST lub przesłanie pliku oraz przesłanie ich jeśli użytkownik wskazał
      • zapamiętanie ciasteczek dla strony i przekazywanie ich do serwera - również po wyłączeniu aplikacji
      • interpretacja kodów otrzymanych od serwera i informowanie o bledach użytkownika
      • implementacja funkcji klienta zgodnych z protokołem
    3. Protokół SMTP - aplikacja serwera
    4. Ptotokół SMTP - aplikacja klienta (zajęty/taken)
    5. Protokół IMAP - apliakcja klienta (zajęty/taken)
      • pobieranie wiadomosci z serwera
      • zapisywanie wiadomosci lokalnie
      • implementacja jednej skrzynki odbiorczej
      • przechowywanie wiadomosci lokalnie w skrzynce odbiorczej
      • plik konfiguracyjny z informacjami o serwerze i danych uzytkownika oraz o interwale automatycznego pobierania wiadomosci
      • interpretacja kodów otrzymanych od serwera i informowanie o bledach użytkownika
      • implementacja funkcji klienta zgodnych z protokołem
    6. Protokół IMAP - apliakcja serwera
      • uwierzytelnienie użytkownika - na podstawie lokalnej bazy login-haslo-katalog
      • w katalogu uzytkownika - jeden email to jeden plik
      • reagowanie na komendy uzytkownika
      • wysyłanie odpowiednich kodów do klienta
      • zapisanie do pliku logów informacji o połączeniu - kto, kiedy
      • implementacja funkcji serwera zgodnych z protokołem
    7. Protokół POP3 - aplikacja serwera
      • uwierzytelnienie użytkownika - na podstawie lokalnej bazy login-haslo-katalog
      • w katalogu uzytkownika - jeden email to jeden plik
      • reagowanie na komendy uzytkownika
      • wysyłanie odpowiednich kodów do klienta
      • zapisanie do pliku logów informacji o połączeniu - kto, kiedy
      • implementacja funkcji serwera zgodnych z protokołem
    8. Protokół POP3 - aplikacja klienta (zajęty/taken)
      • pobieranie wiadomosci z serwera
      • zapisywanie wiadomosci lokalnie
      • implementacja jednej skrzynki odbiorczej
      • przechowywanie wiadomosci lokalnie w skrzynce odbiorczej
      • plik konfiguracyjny z informacjami o serwerze i danych uzytkownika oraz o interwale automatycznego pobierania wiadomosci
      • interpretacja kodów otrzymanych od serwera i informowanie o bledach użytkownika
      • implementacja funkcji klienta zgodnych z protokołem
    9. Protokół Netflow - aplikacja odbierająca dane i biblioteka
    10. Protokół JFLOW - aplikacja odbierająca dane i biblioteka
    11. Protokół IRC - aplikacja klienta (zajęty/taken)
      • rozmowa na jednym lub wielu kanałach
      • możliwość rozmowy prywatnej
      • implementacja funkcji przydatnych dla uzytkownika (rozmowy, zmiany parametrow kanalu, informacji o uzytkowniku)
      • interpretacja kodów otrzymanych od serwera i informowanie o bledach użytkownika
    12. Protokół FTP (zajęty/taken)
    13. Protokół NTP, DNS,
    14. Serwer IRC (zajęty),
    15. inny zaproponowany przez studenta
      • stworzenie protokołu komunikacyjnego dla aplikacji serwra i klienta
      • zaimplementowanie apliakcji serwera i klienta
    16. Zadanie nieobowiązkowe: Protokół RTP - aplikacja serwera i klienta
    Ocena projektu uwzględnia:
    • Zakres wykorzytsania funkcji w implementowanym protokole
    • Wykorzystanie funkcji dostępnych w protokole w sposób przyjazny dla użytkownia - brak bezpośredniej komunikacji przez użytkownika komendami wysyłanymi do serwera, interpretacja wyników otrzymanych od serwera i informowanie użytkownika
    • korzystanie z pliku konfiguracyjnego w celu wskazania serwera, nazwy uzytkownika i hasla (jeśli protokół wymaga - np. pop3, ale już nie w http)