Opis
Wykład jest wstępem do szerokiej tematyki sieci komputerowych. Przedstawione
będą na nim podstawowe zasady działania sieci komputerowych, ze szczególnym
uwzględnieniem sieci opartych na protokole TCP/IP, oraz przegląd zastosowań
sieciowych spotykanych w Internecie. Nacisk położony będzie na przedstawienie
słuchaczowi mechanizmów, protokołów i algorytmicznych podstaw stojących za
problemami komunikacji w sieciach, a także na praktyczne wykorzystanie
elementów tej wiedzy. Program (program)
1. Podstawowe pojęcia, modele warstwowe, dokumenty RFC, szczypta historii,
2. Sieci LAN w technologi Ethernet, protokół CSMA/CD, przełączniki i mosty, sumy kontrolne CRC.
3. Warstwa sieci: protokół IP, adresowanie CIDR, routing statyczny, współpraca z warstwą łącza danych (ARP, DHCP), NAT, protokół kontrolny ICMP, gniazda surowe.
4. Warstwa transportowa (UDP i TCP): porty, podstawy programowania usług sieciowych (BSD Sockets), algorytmy kontroli przepływu TCP
5. Sieci bezprzewodowe: informacje o CSMA/CA i szyfrowaniu.
6. Warstwa zastosowań: DNS, FTP, HTTP, serwery proxy, sieci peer-to-peer
7. Routing dynamiczny: algorytmy oparte o wektory odległości (RIP) i stan łączy (OSPF), routing hierarchiczny.
8. Elementy kryptografii: szyfrowanie, podpisy cyfrowe, certyfikaty, SSL, PGP.
9. Poczta elektroniczna: SMTP, MIME, filtry antyspamowe.
10. Podstawy bezpieczeństwa sieci: ataki, zapory, tunele.
Wymagania
* Algebra
* Programowanie w C
* Obsługa Linuksa (wiersz poleceń, proste skrypty)
* James F. Kurose, Keith W. Ross, Sieci komputerowe. Od ogółu do szczegółu z Internetem w tle, Helion, 2006.
* Andrew S. Tanenbaum, Sieci komputerowe, Helion, 2004.
* Douglas E. Comer, Sieci komputerowe TCP/IP, tom 1 i 2, PWN 1997.
* W. Richard Stevens, Unix programowanie usług sieciowych, tom 1, WNT 2000