Generate PDF of this page

Transkrypt

Generate PDF of this page
Nazwa modułu:
Programowanie sieciowe
Rok akademicki:
Wydział:
Kierunek:
2016/2017
Kod: ITE-1-604-s
Punkty ECTS:
3
Informatyki, Elektroniki i Telekomunikacji
Teleinformatyka
Poziom studiów:
Specjalność:
Studia I stopnia
Język wykładowy: Polski
Profil kształcenia:
-
Forma i tryb studiów:
Ogólnoakademicki (A)
Semestr: 6
Strona www:
Osoba odpowiedzialna:
Gozdecki Janusz ([email protected])
Osoby prowadzące: Gozdecki Janusz ([email protected])
Opis efektów kształcenia dla modułu zajęć
Kod EKM
Student, który zaliczył moduł zajęć
wie/umie/potrafi
Powiązania z EKK
Sposób weryfikacji
efektów kształcenia
(forma zaliczeń)
M_W001
Student zna i rozumie pojęcia związane z
programowaniem struktur danych i gniazd
sieciowych.
TE1A_W10,
TE1A_W11
Kolokwium
M_W002
Student zna i rozumie mechanizmy komunikacji
między procesowej w sieci pakietowej.
TE1A_W10,
TE1A_W11
Kolokwium
M_W003
Student zna i rozumie działanie podstawowych
protokołów komunikacyjnych w sieci TCP/IP
TE1A_W07,
TE1A_W11,
TE1A_W16
Kolokwium
M_U001
Student umie napisać zestaw programów, które
komunikują się przez sieć.
TE1A_U01, TE1A_U13
Kolokwium
M_U002
Student potrafi implementować protokoły
sieciowe przez dobór odpowiednich narzędzi
programistycznych do postawionego zadania.
TE1A_U01, TE1A_U13,
TE1A_U24
Kolokwium
Wiedza
Umiejętności
Kompetencje społeczne
M_K001
Rozumie potrzebę uczenia się
TE1A_K01, TE1A_K03
1/4
Karta modułu - Programowanie sieciowe
Matryca efektów kształcenia w odniesieniu do form zajęć
Konwersatori
um
Zajęcia
seminaryjne
Zajęcia
praktyczne
Zajęcia
terenowe
Zajęcia
warsztatowe
Student zna i rozumie pojęcia
związane z programowaniem
struktur danych i gniazd
sieciowych.
+
-
-
-
-
-
-
-
-
-
-
M_W002
Student zna i rozumie
mechanizmy komunikacji
między procesowej w sieci
pakietowej.
+
-
-
-
-
-
-
-
-
-
-
M_W003
Student zna i rozumie
działanie podstawowych
protokołów komunikacyjnych
w sieci TCP/IP
+
-
-
-
-
-
-
-
-
-
-
M_U001
Student umie napisać zestaw
programów, które komunikują
się przez sieć.
-
-
+
-
-
-
-
-
-
-
-
M_U002
Student potrafi
implementować protokoły
sieciowe przez dobór
odpowiednich narzędzi
programistycznych do
postawionego zadania.
-
-
+
-
-
-
-
-
-
-
-
+
-
+
-
-
-
-
-
-
-
-
E-learning
Ćwiczenia
projektowe
M_W001
Inne
Ćwiczenia
laboratoryjne
Forma zajęć
Ćwiczenia
audytoryjne
Student, który zaliczył moduł
zajęć wie/umie/potrafi
Wykład
Kod EKM
Wiedza
Umiejętności
Kompetencje społeczne
M_K001
Rozumie potrzebę uczenia się
Treść modułu zajęć (program wykładów i pozostałych zajęć)
Wykład
1.Wstęp do programowania sieciowego (2 godz.).
Przedstawienie historii i architektury sieci TCP/IP. Ogólny przegląd protokołów. Numery
portów. Standardowe usługi sieciowe.
2.Komunikacja między-procesorowa i między węzłowa. Systemy klient-serwer i
systemy peer-to-peer. (2 godz.)
Omówienie mechanizmów do komunikacji między procesowej w systemie Linux i
podstawowych protokołów sieciowych. Omówienie architektur systemów klient-serwer
i peer-to-peer.
3.Podstawy programowania gniazd sieciowych (2 godz.).
Zasady wymiany wiadomości przez sieć. Bajty a oktety – kolejność bajtów.
Opakowanie danych, rozdrabnianie, scalanie. Obsługa błędów. Struktura prostego
programu do komunikacji między procesorowej przez sieć TCP/IP.
4.Adresacja w sieci TCP/IP (2 godz.).
2/4
Karta modułu - Programowanie sieciowe
Omówienie adresacji w sieciach TCP/IP. Zapoznanie się z adresacją dla protokołu IPv4 i
IPv6. Gniazdowe struktury adresowe, tworzenie adresów w sieci TCP/IP, poznanie
procedur do operacji na adresach sieciowych, elementarne przekształcenia między
nazwami a adresami (2 godz.).
5.API gniazd sieciowych (4 godz.)
Przegląd podstawowych funkcji do operacji na gniazdach sieciowych, funkcji
służących do wysyłania i odbierania danych z gniazd sieciowych, procedur daty i
czasu. Gniazda surowe.
6.Programowanie protokołów bezpołączeniowych (2 godz.).
Omówienie zasad i realizacji procedur do implementacji protokołów
bezpołączeniowych w sieci TCP/IP.
7.Programowanie protokołów połączeniowych (2 godz.).
Omówienie zasad i realizacji procedur do implementacji protokołów połączeniowych w
sieci TCP/IP.
8.
Zwielokrotnianie wejścia-wyjącia (2 godz.).
Omówienie modeli wejścia-wyjścia: blokujące, nieblokujące, zwielokrotnione, sterowne
sygnałami, asynchroniczne. Omówienie metod zwielokrotniania wejścia-wyjścia:
funkcje select(), pool() i epoll().
9.Opcje gniazd i sterowanie kartami sieciowymi (2 godz.).
Opcje gniazd i obsługa sygnałów związanych z gniazdami. Omówienie funkcji
systemowej ioctl() i mechanizmu netlink. Zapoznanie z mechanizmami
udostępnianymi przez sterowniki kart sieciowych do konfiguracji parametrów.
Omówienie procedur do konfiguracji kart sieciowych.
10.Implementacja protokołów rozgłoszeniowych i protokołów typu multicast (2 godz.).
Zapoznanie z architekturą oprogramowania realizującą protokoły rozgłoszeniowe i
typu multicast.
11.Monitorowanie sieci (2 godz.).
Dostęp do warstwy kanałowej. Zapoznanie z biblioteką libpcap. Podstawowe zasady
pisania programów do przechwytywania danych na interfejsach sieciowych. Zasady
przetwarzania przechwyconych danych.
12.Wprowadzenie do komunikacji pomiędzy procesami a jądrem systemu Linux (2
godz.).
Podstawy programowania w jądrze systemu Linux. Architektura modułu do jądra
systemu Linux. Podstawy mechanizmów komunikacji pomiędzy jądrem systemu Linux
a procesami.
Ćwiczenia laboratoryjne
1.Proste programy testujące podstawowe funkcje systemowe (3 godz.)
2.Programy realizujące model klient-serwer dla protokołów bezpołączeniowych (4
godz.)
3.Programy realizujące model klient-serwer dla protokołów połączeniowych (4 godz.)
5.Sterowanie parametrami protokołów i kart sieciowych (4 godz.)
6.Programy realizujące protokoły rozgłoszeniowe (2 godz.)
7.Programy realizujące protokoły typu multicast (2 godz.)
8.Monitorowanie sieci (4 godz.)
4.Implementacja modułów do jądra – komunikacja między procesami a jądrem
systemu (3 godz.)
9.Powtórzenie i sprawdzenie wiadomości (2 godz.)
Sposób obliczania oceny końcowej
1.
Aby uzyskać pozytywną ocenę końcową niezbędne jest uzyskanie pozytywnej oceny z laboratorium
3/4
Karta modułu - Programowanie sieciowe
i kolokwium zaliczeniowego z wykładu.
2.
Obliczamy średnią arytmetyczną z ocen zaliczenia laboratorium i kolokwium zaliczeniowego
uzyskanych we wszystkich terminach.
3. Wyznaczmy ocenę końcową na podstawie zależności:
if sr>4.75 then OK:=5.0 else
if sr>4.25 then OK:=4.5 else
if sr>3.75 then OK:=4.0 else
if sr>3.25 then OK:=3.5 else OK:=3
4. Jeżeli pozytywną ocenę z ćwiczeń i egzaminu uzyskano w pierwszym terminie oraz ocena końcowa
jest mniejsza niż 5.0 to ocena końcowa jest podnoszona o 0.5
Wymagania wstępne i dodatkowe
Wiadomości z zakresu przedmiotów „Sieci IP”, „Podstawy informatyki”, „Systemy operacyjne” i „Języki
programowania obiektowego”
Zalecana literatura i pomoce naukowe
1.W. R. Stevens: TCP/IP Illustrated. Vol. 1: The protocols. Addison-Wesley, 1994.
2.D. E. Comer, D. L. Stevens: Internetworking with TCP/IP. Vol. 3: Client-server programming and
applications BSD socket version: Prentice Hall, 1993 (ISBN 0-13-020272-X).
3.M. Santifaller , translated by Stephen S. Wilson: TCP/IP and ONC/NFS internetworking in a UNIX
environment. 2nd Edition, Addison Wesley, 1994.
4.W. R. Stevens: UNIX Network Programming. Prentice Hall, 1990.
5.E. R. Harold: Java Network Programming. 3rd Edition, O’Reilly Media, 2004.
Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu
Nie podano dodatkowych publikacji
Informacje dodatkowe
Brak
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta
Obciążenie
studenta
Udział w wykładach
28 godz
Udział w ćwiczeniach laboratoryjnych
28 godz
Samodzielne studiowanie tematyki zajęć
10 godz
Przygotowanie do zajęć
20 godz
Sumaryczne obciążenie pracą studenta
86 godz
Punkty ECTS za moduł
3 ECTS
4/4

Podobne dokumenty