Revision 84 as of 2011-10-10 12:08:44

Clear message

Počítačové siete

2010/2011 -- zimný semester

Prvé zápočtové cvičenie bude v pondelok 24.10 počas cvičenia. Na predmet chodí 22 študentov, v miestnosti je 16 počítačov. Z toho vyplýva, že 6 ľudí bude musieť robiť na svojom vlastnom prinesenom počítači. Domáce zadanie je rovnaké, ako minulý rok.

Vyučujúci

Konzultácie

Pondelok 16:00 -- 17:00

Stručná osnova predmetu

  • Taxonómia počítačových sietí
  • Vrstvový model
  • Sieťová vrstva, routing
  • Základy konfigurácie sietí a služieb
  • Transportná vrstva, sockety
  • Aplikačná vrstva
  • Aplikačné protokoly
  • HTTP
  • HTML a CSS, dizajn web stránok
  • Dynamické webové stránky pomocou CGI skriptov
  • JavaScript, AJAX

Literatúra

  1. Andrew S. Tanenbaum, Computer Networks, 4. vydanie, Prentice-Hall

  2. Craig Hunt, TCP/IP Network administration, 3. vydanie, O'Reilly, http://docstore.mik.ua/orelly/networking_2ndEd/tcp/index.htm

  3. David Gourley, Brian Totty, Marjorie Sayer, Anshu Aggarwal, Sailu Reddy, et al., HTTP: The Definitive Guide, O'Reilly (2002)

  4. David Flanagan, JavaScript: The Definitive Guide, O'Reilly Media, Inc.; 5th edition (2006)

Webové stránky

  1. e-archiv Jiřího Peterky: Přednášky:

  2. HTML and CSS Tutorials, References, and Articles, http://htmldog.com/

  3. Jak psát web, http://www.jakpsatweb.cz/

  4. Color scheme designer, http://colorschemedesigner.com/

  5. Selectutorial: CSS selectors, http://css.maxdesign.com.au/selectutorial/

  6. Allowed nesting of elements in HTML 4 (and XHTML 1.0), http://www.cs.tut.fi/~jkorpela/html/nesting.html

  7. The W3C Markup Validation Service, http://validator.w3.org/

  8. The W3C CSS Validation Service, http://jigsaw.w3.org/css-validator/

  9. CSS Zen Garden, http://www.csszengarden.com/

  10. Mercurial SCM, http://mercurial.selenic.com/

  11. Mercurial: The Definitive Guide by Bryan O'Sullivan, http://hgbook.red-bean.com/

O mercuriali

mercurial

Podmienky na zápočet

  • Počas semestra sa bude udeľovať 40 bodov. Na zápočet je potrebných 20 bodov.
  • 40 bodov bude udeľovaných za tieto veci:
    • Tri zápočtové cvičenia vypracované ako rozšírenie domácich zadaní
      • TCP/IP a sockety
      • CGI skripty
      • Jedno zápočtové cvičenie z CSS

Témy jednotlivých prednášok

  1. Vrstvové referenčné modely.
    1. Model ISO/OSI
    2. Model TCP/IP
  2. Problém riadenia súbežného prístupu (MAC)
    1. Centralizované a decentralizované modely, deterministické a nedeterministické modely
    2. Modely s centrálnym arbitrom, token ring
    3. ALOHA, slotted ALOHA, CSMA, CD, Ethernet
  3. Sieťová vrstva, adresácia, smerovanie
    1. IPv4 adresy, triedy A,B,C
    2. Privátne adresy
    3. Sieťová a broadcast adresa
    4. Preklad IP adries (masquerading)
  4. Transportná vrstva, UDP, TCP
    1. Protokoly TCP a UDP
    2. Softwarové rozhranie pre prístup k transportnej vrstve - sockety
    3. Šablóny programov "klient" a "server" - fork prístup k servru.
  5. Aplikačné protokoly
    1. Základy fungovania DNS, SMTP
    2. Protokol HTTP
  6. HTML a CSS
    1. XHTML 1.0
    2. Štylizácia HTML pomocou kaskádových štýlov
  7. Dynamický web
    1. Základné princípy dynamického webu
    2. CGI
  8. Pokročilé aspekty HTTP
    1. Autorizácia (Basic)
    2. Cookies
  9. Web 2.0
    1. JavaScript cez jquery

    2. Techniky AJAX

Skúška

  1. "Teoretická otázka", vysvetliť dôležité aspekty niektorej z týchto tém.
    1. IP protokol - adresácia, smerovanie
    2. TCP a UDP protokol, spoločné vlastnosti, rozdiely, spôsob použitia v programoch.
    3. HTTP protokol - základy.
    4. CGI skripty - spôsob fungovania, použitie s HTML formulármi.
    5. Pokročilé aspekty HTTP - cookies, autorizácia.
  2. Budem chcieť navrhnúť a ústne obhájiť nejaký aplikačný protokol. Podrobnosti toho, ako si to predstavujem, poviem na prednáške.

Zadania na cviko

Šablóny programov, programy, html a css súbory

Na bitbucket.org: http://bitbucket.org/gjenca/python_vyuka_public/ .

Stiahnuť všetko naraz ako zip

http://bitbucket.org/gjenca/python_vyuka_public/get/tip.zip

alebo (s inštalovaným mercurialom) príkazom

hg clone http://bitbucket.org/gjenca/python_vyuka_public/

Ak už máte raz stiahnuté dáta pomocou hg clone, stačí už len v adresári projektu napísať

hg pull
hg update

.

V prípade, že sa mercurial pri príkaze update sťažuje na konflikty, znamená to, že ste niečo zmenili v pracovnom adresári. Vtedy treba napísať

hg update -C

TCP/UDP klient/server

Sumátor klient a server

Jednoduchý HTTP server

CGI skripty

XHTML stránky