Architektura počítačů a sítí: Porovnání verzí

Z ωικι.matfyz.cz
Přejít na: navigace, hledání
(Způsoby obsluhy periferií: memory/port mapped)
m (Von Neumannova architektura a její alternativy: typo)
Řádka 10: Řádka 10:
 
:''see also [[wen:Von Neumann architecture]], nebo taky [http://www.earchiv.cz/a94/a406c500.php3]''
 
:''see also [[wen:Von Neumann architecture]], nebo taky [http://www.earchiv.cz/a94/a406c500.php3]''
  
* Vychází z koncepce vzniklé v USA v letech 1940{1945, jejíľ hlavní tvůrce je John von Neumann.  
+
* Vychází z koncepce vzniklé v USA v letech 1940/1945, jejíľ hlavní tvůrce je John von Neumann.  
* Vnitřní strukturu počítače tvoří pamět, vstup, výstup a procesor. Strukura počítače se nemění s typem úlohy. Je jednotná pamět pro text programu i data. Rozdíl mezi programem a daty je dán jen jejich interpretací. Pamět je posloupnost stejně velkých pamětových míst. Počítač je řízen tokem instrukcí. ty se provádějí, kdyz na ně dojde řada. V kazdém okamziku probíhá jen jedna činnost.  
+
* Vnitřní strukturu počítače tvoří pamět, vstup, výstup a procesor. Struktura počítače se nemění s typem úlohy. Je jednotná pamět pro text programu i data. Rozdíl mezi programem a daty je dán jen jejich interpretací. Pamět je posloupnost stejně velkých pamětových míst. Počítač je řízen tokem instrukcí. Ty se provádějí, kdyz na ně dojde řada. V každém okamžiku probíhá jen jedna činnost.  
* '''nevyhody''' - zastaralá, navrhována jako sekvenční, von Neumann bottleneck (propustnost dat mezi RAM a CPU je prilis nizka (relativne vzhledem k velikosti pameti a rychlosti cpu))
+
* '''nevýhody''' - zastaralá, navrhována jako sekvenční, von Neumann bottleneck (propustnost dat mezi RAM a CPU je prilis nizka (relativne vzhledem k velikosti pameti a rychlosti cpu)
 
* Na Von Neumanove architekture jsou zalozeny vsechny dnesni mainstreamove pocitace. I kdyz od te doby doslo ke rade uprav (asynchronni I/O, cache, virtualni pamet)
 
* Na Von Neumanove architekture jsou zalozeny vsechny dnesni mainstreamove pocitace. I kdyz od te doby doslo ke rade uprav (asynchronni I/O, cache, virtualni pamet)
* '''alternativy''' - počítač řízený tokem dat - operace se provede, jakmile jsou známy vąechny její operandy
+
* '''alternativy''' - počítač řízený tokem dat - operace se provede, jakmile jsou známy všechny její operandy
  
 
=== Harvardska architektura ===
 
=== Harvardska architektura ===

Verze z 28. 5. 2008, 04:11

Zdroje:

Obsah

Von Neumannova architektura a její alternativy

see also wen:Von Neumann architecture, nebo taky [1]
  • Vychází z koncepce vzniklé v USA v letech 1940/1945, jejíľ hlavní tvůrce je John von Neumann.
  • Vnitřní strukturu počítače tvoří pamět, vstup, výstup a procesor. Struktura počítače se nemění s typem úlohy. Je jednotná pamět pro text programu i data. Rozdíl mezi programem a daty je dán jen jejich interpretací. Pamět je posloupnost stejně velkých pamětových míst. Počítač je řízen tokem instrukcí. Ty se provádějí, kdyz na ně dojde řada. V každém okamžiku probíhá jen jedna činnost.
  • nevýhody - zastaralá, navrhována jako sekvenční, von Neumann bottleneck (propustnost dat mezi RAM a CPU je prilis nizka (relativne vzhledem k velikosti pameti a rychlosti cpu)
  • Na Von Neumanove architekture jsou zalozeny vsechny dnesni mainstreamove pocitace. I kdyz od te doby doslo ke rade uprav (asynchronni I/O, cache, virtualni pamet)
  • alternativy - počítač řízený tokem dat - operace se provede, jakmile jsou známy všechny její operandy

Harvardska architektura

see also wen:Harvard architecture
  • od Von Neumannovy se liší tím, že program ukládá do jiné paměti než data
  • např DSP procesory a mikrokontrolery
  • nehrozí přepsání programu sebou samým, ale je náročnejší na výrobu kvůli většímu počtu paměťových sběrnic

Multiprocesory

  • wikipedie
    • MIMD multiprocessing architecture is suitable for a wide variety of tasks in which completely independent and parallel execution of instructions touching different sets of data can be put to productive use. For this reason, and because it is easy to implement, MIMD predominates in multiprocessing.
    • SIMD multiprocessing is well suited to parallel or vector processing, in which a very large set of data can be divided into parts that are individually subjected to identical but independent operations. A single instruction stream directs the operation of multiple processing units to perform the same manipulations simultaneously on potentially large amounts of data.

Mikroprogramové a klasické řadiče, mikroprogramování

see wen:Microcode
  • Klasický řadič má všechny postupy vykonávání instrukcí zadrátované v HW.
  • Mikroprogramový řadič má místotoho mikrokód, který popisuje proces vykonávání instrukcí na úplně nejnižší úrovni

Mikroprogram vypadá nějak takto: Propoj registr 1 se vstupem ALU "A", propoj registr 2 se vstupem ALU "B", nastav ALU na sčítání, vynuluj carry bit v ALU, propoj výstup ALU s registrem 8, aktualizuj registr příznaků podle příznaků v ALU, posuň čítač instrukcí, načti další instrukci, ...

Mikroinstrukce jsou uloženy v oblasti zvané control store, z něhož vybírá instrukce mikrosequncer -- ten typicky nějak spojuje počítadlo, aktuální hodnotu instrukce kterou CPU zpracovává a pole v mikroinstrukci které říká kam dál.

  • horizontální mikrokód -- široký, mikroinstrukce obsahuje za sebou pokyny pro všechna propojování, nastavování, skok dál, etc; instrukce jsou široké 56 bitů nebo i víc
  • vertikální mikrokód -- mikroinstrukce jsou zakódované, takže jsou kratší, ale vyžadují další zpracování, aby se z nich dostaly ty pokyny
    • někdy to je assembler jednoduššího počítače, který emuluje počítač složitější
    • další možná forma je dvojice (jednotka, pokyn_jednotce) -- je potřeba míň paměti, ale CPU je pomalejší

Se klesající cenou tranzistoru začal dominovat horizontální mikrokód.

Paměťová hierarchie, vyrovnávací paměti

  • obdrzalkovy slidy na principy 07
  • registry - cpu, nejrychlejsi - 1ns, nejmensi ~B
  • vyrovnavaci pamet - L1, L2 cache, 10ns ~kB
  • operacni pamet - RAM 10-100ns ~MB
  • sekundarni pamet - HDD 10ms ~GB
  • archivni pamet - pasky, DVD, nejpomalejsi nejvetsi 100+ ms, TB
  • vyrovnávací paměti
    • obvykle pouziti - tam, kde je vyrazny rozdil v rychlostech - procesor vs ram, pristupy na disk.
    • Vyuziva se casove lokality pristupu - data jednou pouzita budou pravdepodobne pouzita podruhe a pametove lokality - kdyz pouziju nejaka data, tak asi budu pouzivat i data ulozena v nejblizsim okoli (pamet pracuje po strankach, takze typicky nactu i okoli) data v cache ulozena spolu se svou adresou. k vyhledavani je mozno pouzit nekolik druhu mapovani (plne asociativni, prime, ...)
    • cache ma typicky mnohem mensi kapacitu nez ta pamet, ktera je cacheovana (cpu ma radove 0,5MB cache vs RAM 0,5GB; HDD ma 8MB cache a kapacitu 200GB).
    • RAM je v podstate taky cache sekundarni pameti (disku).
    • Pro uvolnovani bloku z cache mozno pouzit ruzne algoritmy (LRU, LFU, FIFO, ...)
    • typy cache:
      • write-thru - používat průpis (co se zapíše do vyrovnávací paměti, zapíše se okamžitě i do hlavní)
      • write-back - uklízet modifikované bloky do hlavní paměti (vyšší výkon). Při zápisu do vyrovnávací paměti se pouze nastaví (dirty) příznak a do hlavní paměti se data zapíší, až když jsou vyhozena z cache (a pouze pokud mají nastaveno dirty).
    • U multiprocesoru je potřeba zaručit konzistenci dat mezi procesorovými cache.
    • Efektivni pristupova doba - "amortizovany" cas potrebny k pristupu do pameti - pomoci cetnosti vypadku stranek a prumerneho casu pristupu do cache a cacheovne pameti se spocita, jaky byl prumerny pristupovy cas ke strance.

Stránkování a segmentace

Virtualni pamet - zajišťuje větší adresový prostor, než je k dispozici fyzicke pameti. Existují dvě základní metody:

Stránkování

Procesy mají k dispozici velký virtuální adresový prostor. Operační paměť tvoří fyzický adresový prostor. Virtuální i fyzická pamět je rozdělena na bloky stejné velikosti - virtuální na stránky, fyzická na rámce. Proces se odvolává pouze na adresy ve svém virtuálním prostoru. Operační systém plní stránkovací tabulky informacemi o tom, které stránky jsou v kterých rámcích - mapování. Při pokusu procesu o přístup k paměti jednotka řízení paměti(mmu - memory management unit) dle stránkovacích tabulek zjistí, zda se stránka obsahující požadované místo nalézá v operační paměti. Pokud ano, provede překlad adresy na fyzickou a instrukci předá procesoru. Pokud ne, vygeneruje přerušení - nastal výpadek stránky(page fault).

OS nalezne volný rámec (případně nějaký uvolní tím, že jeho obsah zapíše do odkládací paměti - viz strategie vymeny stranek) a z odkládací paměti natáhne požadovanou stránku do rámce. Procesor nyní zopakuje instrukci, která přerušení vyvolala. Celý postup je pro proces naprosto transparentní. Pro 32bitovy prostor a 4kB stranky maji strankovaci tabulky uz velikost 4MB, takze se pouziva vice urovnove strankovani (strategie jako indexovani souboru)

32bitova virtualni "pametova adresa" pouzivana procesem je rozdelena na adresu stranky a adresu ve strance. U 4kB stranek se prvnich 20bitu pouzije pro mechanismus hledani fyzicke stranky a az je nalezena, tak poslednich 12 bitu urcuje poradi v ramci stranky, kde je to, co hledame. zvysovani vykonu: mmu primo soucasti procesoru, tlb - transaction lookaside buffer - naposledy pouzita mapovani jsou v malem bufferu, kde se vyhledaji rychleji

Strategie vymeny stranek:

  • OPT - vyhodit stranku, ktera bude potreba za nejdelsi casovy usek - neimplementovatelna teoreticka strategie.
  • FIFO - klasicka fronta, trpi Beladyho anomálií (012301401234 pro 3/4 sloty -- přidání paměti vede k více výpadkům)
  • Not Recently Used -- stránky mají čítač přístupu a špinavosti, čítač přístupu se občas maže, pak se první vyhazují stránky nečtené a čisté, pak nečtené a špinavé, atd
  • One Hand Clock -- kruhový seznam, při nutnosti vyhodit stránku se pustí ručička, která nuluje access bit pokud je nastavený a vyhazuje stránku pokud je nulový
  • Two Hand Clock -- první ručička maže accessed bity, druhá (v pevném odstupu za ní) vyhazuje stránky s nulovým bitem, odstup ručiček určuje agresivitu
  • LFU - Least Frequently Used - stranky maji citac pristupu
  • LRU - Least Recently Used - casovy "citac", moc nefunguje při procházení velkých struktur

inverzni strankovani - prevazne u 64bit. architektur - virtualni prostor by byl uz moc velky, tak se to organizuje pres ramce fyzicke pameti, ne pres stranky

Working set -- stránky, které proces právě používá. Když běží moc aplikací, tak se jejich working sets nevejdou do paměti, každé přepnutí procesu vede k mohutnému swapování a vše je v háji. Tomu se říká thrashing.

Segmentace

Paměť je rozdělena na segmenty. Program přistupuje na adresy rozdělené na segment/offset. Segmenty mohou být různě velké, a kromě umístení ve fyzické paměti mají i příznaky co na ně může sahat. Segmenty jdou přesouvat i zvětšovat aniž by o tom aplikace musela nezbytně vědět (stačí je jinak přeházet v paměti, číslo segmentu i offset v kódu se nemění).

Stránkování + segmentace: Kazdy proces ma iluzi pro sebe vyhrazeneho prostoru - segmentu. Pro hledani fyzicke stranky se pak pouziva i cislo segmentu prirazene procesu. MMU nejdrive v tabulce segmentu najde, kde zacina tabulka stranek pro dany segment a pak se pokracuje jako vyse.

Vstupně výstupní subsystémy, přerušení, DMA

Přerušení

see also Operační systémy (státnice)#Mechanismus přerušení v OS

Přerušení je událost, která mění sekvenci, ve které CPU vykonává instrukce; je generováno HW nebo SW. Je pouzivano pro praci s I/O, virtualni pameti, DMA, ...

Přerušení lze generovat:

  • synchronně (trap) | vyvolala ho instrukce v běžícím programu, např. výpadek stránky
  • asynchronně (interrupt) | vnější událost, např. dokončení V/V operace, porucha HW: : :
  • výjimkou (exception) | nesprávné chování programu, např. dělení nulou

Postup při generování přerušení:

  • 1) vznik příčiny, vyslání žádosti
  • 2) rozhodnutí o přijetí či nepřijetí - přerušení lze maskovat - přerušení se uplatní až později
  • 3) identifikace zdroje přerušení a určení adresy obslužného programu - rutina, ktera vyresi duvod preruseni
  • 4) úschova aktuálního stavu procesoru na zásobník - je možno povolit víceúrovňové přerušení, ale je nutno zabránit zacyklení procesor obvykle při přijetí přerušení maskuje všechna přerušení
  • 5) provedení obslužného programu
  • 6) obnova stavu procesoru
  • 7) návrat do přerušeného programu | obvykle pomocí zvláštní strojové instrukce, která obnoví to, co CPU uklidil

Programové přerušení se využívá ke zpřístupnění služeb OS, instrukce call se nepoužívá kvůli ochraně | vstupní body jsou při volání přes přerušení pevně dány.

DMA (Direct Memory Access)

see also Operační systémy (státnice)#DMA
  • je způsob rychlého přenosu dat bez ucasti procesoru při I/O operacích přesunech dat v paměti, zobrazování, refreshi . . .
  • Přenos není řízen strojovými instrukcemi, ale řadičem DMA.
  • Přenos probíhá přímo mezi pamětí a I/O zařízením, procesor je odpojen od sběrnic.
  • Jak se řadič DMA a procesor dohodnou, kdy provést přenos?
    • dávkový režim - řadič o sběrnice žádá, po dobu přenosu procesor na sběrnici nesahá, pak dostane od řadiče zpávu že je hotovo
    • kradení cyklů - řadič je schopen uspat procesor, provést přenos a pak ho probudit; náročné na hardware, nejde na dlouho
    • transparentní režim - řadič pozná, kdy procesor nepracuje se sběrnicemi, a v této době provede přenos - procesor o tom ani neví

Způsoby obsluhy periferií

Asi to bude polling versus přerušení a pak DMA.

Taky se rozlišuje memory-mapped I/O (zařízení se jako vyskytuje někde v paměti) a port-mapped I/O (speciální instrukce pro přístup k zařízení) -- see wen:Input/output

Vstupně-výstupní topologie

  • daisy chain (řetězec počítač -- zařízení -- další zařízení -- poslední zařízení)
    • SCSI se tak fyzicky zapojuje, i když elektricky je to sběrnice
    • MIDI má takovou formu
  • sběrnice (všechno visí na jednom drátu)
  • stromová struktura (USB)

Sběrnice a jejich řízení (SCSI, USB, AGP, ...)

Dřív prostě dráty, obsahovaly následující linky:

  • datové (přenáší data)
  • adresové (kam mají data jít)
  • řídící (režie přenosu)

přenos:

  • synchronní (podle předem daných hodin)
  • asynchronní (signál: teď bude zpráva, pak je zpráva)

Ke sběrnici se jednoduše přidávají další (i vcelku různá) zařízení, ale je to potenciální bottleneck (všechno na sběrnici se musí bavit stejnou rychlostí).

Přenos dat:

  • s účastní CPU, které to řídí
  • bez účasti CPU, řízeno řadičem (třeba DMA), nebo přímo zařízením (bus mastering)

Původně CPU přímo na sběrnici, později oddělena CPU/pamět na rychlejší, a za řadičem pomalejší zbytek. K rychlejším komponentům se pak přidala i grafická karta na vyhrazené sběrnici AGP nebo PCIe.

Sériové sběrnice

Přenáší najednou jen jeden bit (víc jen v nějakém složitějším kódování).

Výhody: jednodušší (nemusí sychronizovat mezi jednotlivými kanály), menší nároky na místo; dá se dosahovat vyšších přenosových rychlostí na kanál. Některé (PCI Express) začínají používat full-duplex p2p spojení, číž eliminují kolize.

Zástupci:

  • USB
  • FireWire
  • SATA
  • PCI Express

Paralelní sběrnice

Přenáši se najednou více bitů (asi ve více vodičích, tedy)

Zástupci:

  • AGP
  • ISA
  • PCI
  • ATA (aka IDE)
  • SCSI

Mezipočítačová komunikace

pres site s pouzitim nejake sitove architektury - dnes prevazne TCP/IP.

Stejne vrstvy sitove architektury na ruznych pocitacich spolu "jako" komunikuji (rovnobezna komunikace). Ve skutecnosti kazda vrstva krome fyzicke vyuziva sluzeb te pod ni. Fyzicka vrstva umi posilat 0 a 1 nekam.

Kazda dve zarizeni komunikuji pomoci nejakeho (predem znameho) protokolu - "jazyka" s nejakou gramatikou - napr. IP, TCP, UDP, HTTP, FTP, ...

Komunikujici strany si predavaji PDU - protocol data unit, ktery ma vzdy dve slozky (hlavicku a obsah), i kdyz se muze jmenovat ruzne (packet, ramec, http data request, ...). Hlavicka obsahuje rezijni informace, napr. druh dat, adresa odesilatele a prijemce, poradove cislo, ...

Sériové a paralelní kanály

Asi viz #Sběrnice a jejich řízení (SCSI, USB, AGP, ...)

Modemy

see also wen:Modem

Modem je zarizeni pouzivane k prevodu digitalniho signalu na analogovy, jeho kodovani pro prenos pres metalicke medium a konverze zpet do digitalni podoby na druhe strane linky.

MOdulator a DEModulator, odtud modem. Modulovani je "nanaseni" signalu nesouciho informaci na nejakou nosnou vlnu, ktera se dobre siri mediem. Samotna nosna (typicky sinusoida) nenese informaci. Informace se uklada az do zmen teto vlny tzv. modulovanim.

Pouziva se frekvencni, amplitudova a fazova modulace. Presneji kombinace techto tri. Napr. QAM - kvadraturni amplitudova modulace je kombinaci 3 ruznych amplitud a 12 fazovych posunu, coz tvori celkem 36 stavu. Pro snazsi rozpoznatelnost se ale pouziva jen 16 z nich s nejvyssi vzajemnou "vzdalenosti". Prenosova rychlost = modulacni rychlost (kolikrat za sekundu se zmeni signal) * log2 n. Kde n je pocet rozpoznatelnych stavu (16 u QAM)

Baud = počet změn stavu za sec != bps (bit per second)... modemy totiz mohou mit vic stavu.

Topologie sítí

see also wen:Network topology
  • point-to-point -- permanentní nebo spojované okruhy (klasická telefonní síť)
  • sběrnice -- drát na kterém jsou všichni (původní Ethernet)
  • kruh (Token Ring, FDDI -- kruh může být koncentrovaný ve středu hvězdy -- see wen:Media Access Unit)
  • strom (Ethernet 10BASE-T a ty po něm, 100VG-AnyLAN -- alternativní varianta 100Mbit Ethernetu)
  • hvězda (jednotlivý segment nového Ethernetu)
  • klika (každý s každým -- asi nějaké bezdráty)
  • mesh (ad-hoc wireless sítě -- 802.11s, OLPC laptopy mají něco takového)

Přístupové metody

Resi problem pristupu ke sdilenemu prenosovemu mediu. resi se na urovni linkove vrstvy (podvrstvy MAC v RM ISO/OSI).

Varianty reseni, nekolik ruznych pristupu:

  • deterministicke (rizene) vs. nedeterministicke (nerizene)
  • centralizovane vs. distribuovane
  • vylucujici kolize / zpracovavajici kolize / bez detekce i napravy

Srovnani:

  • nerizene metody funguji lepe v mensich sitich s mensi vytizenosti media (LAN)
  • rizene funguji lepe ve vetsich sitich s vetsi vytizenosti (paterni site).

Rizene centralizovane

arbitr vyzyva (polling) nebo je dotazovan (RTS/CTS -- Request To Send / Clear To Send).

  • Vyhody: arbitr muze menit strategie
  • Nevyhody: vyssi rezie, single point of failure
  • Priklad: 100VG-AnyLAN (pouze stromova topologie s hlavnim korenem)

Rizene distribuovane

jasna pravidla, vsechny uzly rovnocenne,

varianty:

  • metody logickeho kruhu (tokenring) - siti putuje opravneni vysilat (token), ktery si uzly pravidelne predavaji.
  • rezervacni metody (siti putuje specialni rezervacni ramec, ktery se pravidelne vyhodnocuje (kym?)),
  • Vyhody: distribuovanost - nestoji a nepada s jednim uzlem
  • Nevyhody: jednotlive uzly toho musi umet vice
  • Priklad: FDDI, TokenRing

Nerizene distribuovane

Metoda vysilej co chces (radiem), kdyz nedojde potvrzeni vysilej znovu. Vzniklo na Hawaiskych ostrovech, kde nebyla zadna pouzitelna infrastruktura.

  • Vyhody: jednoduchý protokol
  • Nevyhody: velka rezie na kolize a znovu posilani
  • Priklad: wen:ALOHAnet

CSMA/CD metody

"Poslechne" si (Carrier Sense), zda nekdo vysila a pokud ne, tak zacne - malo kolizi (ale muzou byt - Multiple Access) vzhledem k vysoke rychlosti sireni signalu. Pokud nekdo vysila, tak pocka az skonci a pak zkusi s pravdepodobnosti p (v zavislosti na metode, pro Ethernet p=1) vysilat znovu. Pokud dojde ke kolizi (Colision Detection), tak se chvili vysila JAM signal pro utvrzeni kolize. Ruzne metody pak muzou zkusit hned vysilat znovu, nebo chvili mlcet. V Ethernetu se oba (vsechny) kolizni uzly odmlci na nahodne zvolenou dobu a pak zacnou vysilat znovu (pokud dojde opet ke kolizi, tak se zdvojnasobi interval, ze ktereho si voli nahodnou dobu k odmlceni).

  • vyhody: mohou byt velmi efektivni - mala rezie u nizke zateze
  • nevyhody: nezarucuji vysledek (mohou byt kolize do te doby, nez to uzel vzda), pri vyssi zatezi prenosoveho media se velmi zvysuje rezie
  • Priklad: Ethernet

Kolizni domena - kam az se siri kolize - repeatery siri, bridge, routery ji ohranicuji

Celkove se ocekava nizke vyuziti prenosoveho media a tim i malo kolizi

Bezdratove pristupove metody

  • WiFi - "casta" ztrata ramcu kvuli spatnemu signalu, bud CSMA/CA (Colision Avoidance), nebo RTS/CTS [2]
  • Bluetooth - po navazani spojeni preskakuje rychle mezi vysilacimi frekvencemi a tim si "zarucuje" malou pravdepodobnost kolize (u prenosu hlasu nevadi sem tam nedorucenost)

Síťové technologie - ATM, FDDI, FastEthernet, beztrátové technologie

ATM

see also wen:Asynchronous Transfer Mode

Prenosova technologie pouzivana v nekterych paternich sitich, převážně telekomunikačních společností. Je orientovana na QoS, je draha, jen spojovana, nema broadcast, ale zase nema omezenou prenosovou rychlost. Puvodem ze sveta spoju, ale respektuje cast. i svet pocitacu.

ATM pracuje s bunkami dat. Maji vzdy 53B, z toho 5 je hlavicka, 48 naklad.

Nabizi vyssim vrstvam nekolik trid sluzeb:

  • CBR - constant bit rate - garantuje celou kapacitu - emuluje drat - rezervuje max, vhodne pro tel. ustredny, nekomprimovana multimedia
  • VBR - variable br - garantuje co, co prenos prave potrebuje - rezervuje max - nevyuzite pasmo vraci (narozdil od CBR), vhodne pro komprimovana multimedia
  • ABR - available br - rezervuje min
  • UBR - negarantuje nic - best effort - co zbyde

Nabizi virtualni okruhy - snazsi routovani pro ustredny, presmerovani, pokud cesta vypadne, nevyhodou je nutnost dvojiho protokolu aby to fungovalo (jeden pro komunikaci s koncovymi uzly, jeden pro vnitrni komunikaci ustreden mezi sebou).

Z hlediska vrstev je ATM nad fyzickou vrstvou a nad sebou jeste potrebuje AAL - (ATM Adaptation Layer), jejiz hlavnim ukolem je rozsekavat data na kusy po 44-48B pro prenos pres ATM. AAL ma casti AAL1-4 zhruba odpovidajici tridam sluzeb (viz vyse). AAL5 je specializovan na pocitacove prenosy (velke datagramy, nespolehlive, burstmod).

  • vyhody: rychla, snazi se byt univerzalni
  • nevyhody: tezkopadna, draha, IP na ATM není moc efektivní
  • Priklad: paterni sit ADSL Ceskeho Telecomu (O2)

FDDI

see also wen:Fiber distributed data interface

Fiber Distributed Data Interface - data prenasena optikou. Nejstarsi vysokorychlostni (100Mbps) technologie, vhodna pro paterni site. Topologii dvojity ring, druhy pro zalohovani, pokud funguji oba, tak max. prenosova rychlost 200Mbps. V praxi se pouziva dvojity kruh stromu, kdy do kruhu jsou zapojeny treba routery a k nim stromem obyc. pocitace plus dalsi aktivni prvky.

Pouziva token passing pro rizeni pristupu. Moznost provozovat na dlouhe vzdalenosti (100km), pro pripojeni na kratke vznikla z ekonomickych duvodu varianta CDDI (Copper DDI). Existuje i novejsi FDDI2, ale ani ta se moc nepouziva. Celkove jde o do budoucna pravdepodobne mrtvou technologii, používá se spíš Fast Ethernet nebo Gigabit Ethernet.

FastEthernet

dnes verze ethernetu pracujici 100Mbps a vice (Gb Ethernet, 10Gb Ethernet), puvodne jen 100BaseT - prvni 100MBps CSMA/CD standard. Vychazi z 10Mbps, jen vse zrychluje a zkracuje intervaly. Verze, ktera i meni mnohe veci dostala nazev 100VG-AnyLAN.

Ethernet pouziva 48bitove adresy - MAC adresy. Puvodne mely byt nemenne, dnes je vetsinou lze menit. Prvni tri byty jsou OUI (organizationally unique identifier) - identifikator organizace, dalsi tri identifikator zarizeni. Mely by byt unikatni na celem svete (coz zjevne nelze zarucit, kdyz je uz lze uzivatelsky menit).

Ethernet je vrstvou na urovni sitoveho rozhrani. Ethernetove ramce je treba rozlisovat na ramce na urovani MAC (nizsi podvrstva) a LLC (vyssi podvrstva). Ramec ma 22B hlavicku a az 42-1500B payload.

100base-tx kodovani - misto Manchesteru (Ethernet) se zaclo pouzivat kodovani 4b/5b (4 informace, 5 preneseno). Zpetna "kompatibilita" - vsechny sitove prvky ktere umi 100Mb se dokazou prepnout i na 10Mb. Puvodne poloduplex, ale rozsiren na plne duplexni (vysilani muze probihat obema smery) za predpokladu zadnych opakovacu a jen switchu krome koncovych stanic - uz neni pouzivano sdilene medium - kazda stanice ma primy spoj na switch a tim odpada nutnost CSMA/CD.

Mozna delka kabelu uz neni omezena technologii na 200m, ale jen utlumem kabelu.

Gigabit ethernet

Optikou nebo kroucenou dvoulinkou (kat. 5, 4 pary). Varianty poloduplex (s CSMA/CD) i fullduplex (ten se stava technologii vhodnou i jinde nez v LAN). Jiz jen dvoubodove spoje (pres switche se realizuji ruzne topologie).

10Gb ethernet - predpoklada se jen optika a jen fullduplex.

bezdrátové technologie

Je k dispozici omezeny rozsah pouzitelnych frekvenci.

  • licencovane (nabizi operatori) provozovatel ma exkluzivni prava na vysilani, zadne ruseni, vydava CTU - 900MHz, 1.8GHz GSM, UMTS, CDMA
  • nelicencovane, musi jen respektovat omezeni o max. vykonu; jednotlivi provozovatele si mohou rusit signal - wifi (2,4; 5GHz), WiMAX, bluetooth

druhy deleni bezdratovych siti

  • podle druhu mobility (wifi, wimax vs GSM, CDMA vs Iridium; satelitni telefon - primo "bts")
  • podle dosahu - cordless, wireless, satelitni
  • podle druhu prenosu (1:1, 1:n)

WLAN standardy IEEE 802.11

  • 802.11a -- 5GHz, 54Mbit/s
  • 802.11b -- WiFi, 2.4GHz, 11Mbit/s
  • 802.11g -- 2.4GHz, 54Mbit/s

RM ISO/OSI

see also wen:OSI model

Referencni model ISO/OSI (International Organisation for Standardisation / Open Systems Interconnection)

Pokus vytvorit univerzalni sitovou architekturu standardizacni agenturou. Reseni od "zeleneho stolu". Nebylo plne dodelano, protokoly se dodelavaly az pozdeji postupne. Zacal "velkyma ocima", ze kterych bylo postupne ustupovano kvuli neimplementovatelnosti celeho modelu. Ze zacatku hodne prosazovan statnimi institucemi, ktere ve svych zakazkach vyzadovali kompatibilitu.

RM ISO OSI obsahuje sedm vrstev, kazda vrstva ke svemu fungovani pouziva vrstvy primo pod ni na stejnem pocitaci, mezi pocitaci fakticky komunikuje jen fyzicka vrstva.

  1. Fyzicka - prenasi bity. Kvuli tomu resi kodovani, modulaci, synchronizaci, ... na jeji urovni se rozlisuje paralelni a seriovy prenos, synchronni a asynchronni,...
  2. Linkova - prenasi ramce k primym sousedum. Kvuli pretizenosti se rozpadla na dve podvrstvy - LLC a MAC. Zajistuje synchronizaci na urovni ramcu (detekce zacatku a konce ramcu). Muze fungovat spojovane i nespojovane, spolehlive i nespolehlive, best eff. i QoS. Ridi tok dat a pristup ke sdilenemu mediu
    • MAC dělá kanál na sdíleném médiu, adresování, řeší kolize
    • LLC multiplexing, řízení toku (kdy vysílat aby se druhý konec neucpal)
  3. Sitova vrstva - prenasi datagramy pomoci smerovani do cele site. Muze pouzivat ruzne routovaci algoritmy. Je to nejvyssi vrstva, kterou musi mit smerovace (routery). Routing - hledani cesty k adresatovi, forwarding - poslani packetu tou cestou.
  4. Transportni vrstva - muze pridavat sluzby - napr. nizsi vrstvy (patrici nekomu jinemu) nabizi jen nespolehlivou komunikaci a transportni vrstva doda (pripadne zvysi) spolehlivost. Pr. TCP (spolehlivy) nad IP (nespolehlivy) (ten priklad neni z ISO OSI, ale ze transportni vrstvy rodiny TCP/IP). Transportni vrstav pridava "delitelnost" uzlu - uz nestaci jen adresa, ale je treba i port pro identifikaci adresata.
  5. Relacni vrstva - muze zajistovat sifrovani, podporu transakci, sessions. Je to nejvice kritizovana soucast RM ISO/OSI. V TCP/IP neni zastoupena a řeší si to aplikace.
  6. Prezentacni vrstva - prevod dat do/z tvaru vhodneho k prenaseni - napr. kodovani (ascii, ebcdic, little endian vs big endian) linearizace (dvourozmerne pole -> 1D),...
  7. Aplikacni vrstva - puvodne mela obsahova aplikace, ale nakonec jen jadro aplikaci, ktere ma smysl standardizovat - napr. prenos el. posty.

nevyhody modelu: vyroben od zeleneho stolu, prilis slozity, nektere funkce opakovany v ruznych vrstvach, uprednostnuje spojovane spolehlive sluzby sveta spoju, maly duraz na propojovani siti.

Aktivní prvky (bridge, routery)

Směrovač (router)

Zarizeni fungujici na urovni sitove vrstvy. Propojuje dve nebo vice siti (ma dve nebo vice sitovych rozhrani - adres). Funguje v prostredi prepojovani packetu. Stara se o smerovani packetu (routing) i jejich posilani (forwarding). Sklada se z prepojovaciho pole a smerovaciho procesoru. Procesor urcuje smer dalsiho putovani packetu, pres prepojovaci pole se packet fyzicky prenese z vstupni fronty do vystupni fronty.

Smerovac pro urceni dalsi cesty pouziva smerovaci tabulky (routing tables), pripadne je nepouziva u "nouzovych" metod typu flood nebo random. Smerovaci tabulka obsahuje trojice [do jake site, jakou cenou (v nejake predem stanovene metrice), pres jakeho primeho souseda].

Adaptivni algoritmy prubezne upravuji smer. tabulky, neadaptivni ne.

metody smerovani:

  • flood - posli vsem krome zdroje - pro aktualizacni informace, pripadne ve vojenskych sitich.
  • random - posli komukoli - kdyz se mi zacinaji zahlcovat buffery a nejde to poslat tam, kam to ma jit
  • distribuovane smerovani - Nejcasteji uzly spolupracuji na hledani optimalni cesty. Dnes prevazne link state routing metoda.
    • OSPF (open shortest path first) protokol. Poslu vsem! vzdalenosti k primym sousedum a kazdy uzel si z nich pocita nejkratsi cesty sam. Ani tohle neni kvuli velikosti tabulek dostatecne pro opravdu VELKE site.
    • hiearchicke smerovani - rozdelim sit na bloky, ze kterych se nebudou sirit detailni smerovaci informace, ale jen informace typu informace ve smyslu: "pres mne jsou dostupné síte X.Y.Z až X.Y.W". Tuto sumarizaci provadi "hranicni smerovac". Pres paterni sit je nutno pouzit exterior gateway protokol (BGP), v "moji" siti nejaky interior gateway p. (třeba OSPF, nebo něco statického)

Most (bridge), přepínač (switch)

Zarizeni na linkove vrstve. spojujici jednotlive pocitace do "site". Muze byt zapojeno k sobe i vice switchu. Jednotlive site od sebe oddeluji routery. Bufferuje data a tim muze spojovat jednotlive segmenty site, ktere nepracuji stejnymi rychlostmi. Pracuje transparentne (na urovni linkove vrstvy), zastavuje kolize Ethernetu, podporuje broadcast.

Metodou zpetneho uceni se uci topologii nejblizsiho okoli (jen sit - po router). Nejdrive nevi nic a co dostane broadcastuje vsem. Zapamatuje si adresy tech co mu neco poslou a kdyz jim je neco v budoucnu smerovano, tak uz to posle jen jim. Problem moznych cyklu v siti (od A mi to prislo pres B i C) resi inteligentni switche vyhledanim kostry.

Pro posilani v ramci site se muze pouzivat source routing (tedy ne v Ethernetu; neplest s routing v sitove vrstve) - ramec ma v hlavicce navigaci - uplny itinerar uzlu, pres ktere vede cesta k cili. Ten se zjisti specialnim pruzkumnym packetem, ktery se pred tim poslal floodem a vratil se.

Rozdil mezi switchem a bridgem je v tom, ze switch umi jen stejne/podobne technologie (prepoji site 10 a 100mbit ehternet), kdezto bridge je pomalejsi ve sve funkci, ale za to treba spoji token ring a ethernet.

Opakovač (repeater), hub

Zarizeni fyzicke vrstvy, jen hloupy zesilovac signalu - co mu prijde z jedne strany vysle na druhou (nebo na všechny ostatní v případě hubu), a tim "prodluzuje" sit. Mnozstvi repeaterů zapojitelnych v Ethernetu je omezene (max 5 segmentů mezi dvěma stanicemi), aby se stihly detekovat kolize. Dulezite na repeateru je, ze uz se nepouziva, protoze se ze sdileneho media (sbernice - koax) preslo na point2point (kroucene dvoulinky do switche).

Síťový model TCP/IP, IPv6

Rodina protokolů (asi 100) TCP/IP, na které je postavený dnešní Internet. Ucelena predstava o sitove architekture a poctu a ukolech vrstev. Oproti RM ISO/OSI obsahuje jen ctyri vrstvy.

Vznikalo pomalu, postupnym pridavanim v akademickem prostredi, ale prosadilo se i v komercnim. Dnes je to nejrozsirenejsi sitova architektura fungujici nad jakoukoli linkovou technologii.

Protokoly byly vyvijeny jako definitivni reseni pro provoz vznikajiciho Internetu. Mely nahradit prozatimni Network Control Protocol Arpanetu - site financovane ministertvem obrany USA (Vint Cerf - otec internetu). Filozofie -- musi to byt decentralizovane a nejak fungovat, kdyz cast fungovat prestane (bude znicena treba). Nebylo pozadovano zabezpeceni, mobilita... TCP/IP vymysleno tak, aby sly ruzne site s ruznymi technologiemi pripojovat k ARPANETu (a tim tvori Internet).

Vrstvy

  1. Aplikacni vrstva - jednotne zaklady aplikaci - email, prenos souboru, http, xmpp, etc
  2. Transportni vrstva - jednotne transportni protokoly - TCP a UDP
  3. Sitova vrstva - prenosovy protokol IP
  4. Vrstva sitoveho rozhrani - TCP/IP nedefinuje - at si tady je co chce, kdyz to bude poskytovat sluzby potrebne pro fungovani IP protokolu. napr. Ethernet, Token Ring, ATM, ...

porovnani s RM ISO/OSI:

  • aplikacni vrstva ~ aplikacni + prezentacni + relacni
  • transportni vrstva ~ transportni v.
  • sitova v. (IP vrstva) ~ sitova v.
  • v. sitoveho rozhrani ~ linkova + fyzicka

IP

Protokol IP -- nespolehlivy, nespojovany, best effort, 32bitove adresy (IPv4). Vyssi vrstvy vidi pouze MTU - maximum transfer unit - velikost ramce pro danou technologii pod IP. Pokud ji nerespektuji, dochazi k fragmentaci (IP to rozdeli, ale to je plytvani).

IP adresy logicky dvouslozkove adresa site + adresa uzlu. Predpokladaji se dva typy uzlu v siti - koncove (pc, tiskarny,servery,...) a routery, ktere spojuji jednotlive "site". Adresa site byla puvodne vyjadrena bud 8 bity (trida A), 16 (trida B) nebo 24 (trida C) a jednotlivym zadatelum se pridelovaly jednotlive tridy.

S rozvojem pocitacu zacinaji adresy dochazet, coz se resi:

  • Subnetting - deleni jiz pridelenych trid.
  • CIDR -- uz jde pridelovat jakoukoli 2^n mnozinu adres ne jen tri ruzne tridy.
  • privatni IP adresy (10.*; 192.168.*) - jsou videt jen v ramci jedne site, ne pres router, do zbytku světa připojené přes NAT nebo různé proxy
  • IPv6

ostatní protokoly a TLA

  • TCP - spojovany spolehlivy (emuluje toto chovani nad nespojovanym nespolehlivym IP) protokol v transportni vrstve (vyuziva jej napr. SMTP, FTP, Telnet, HTTP)
  • UDP - nespojovany nespolehlivy protokol v transportni vrstve (DHCP, RPC, NFS, větší část DNS), víceméně jen obal IP s porty
  • RFC - public domain standardy TCP/IP, vznikaji az na zaklade fungujici technologie (firmy dnes predkladaji ke standardizaci sve technologie)
  • Internet Socieety -> IAB (ridi standardizaci, vydava RFC)
  • Webove standardy vydava W3C, kopie jsou vydavany jako RFC

TCP/IP obecně má:

  • vyhody: efektivni, nevnucuje rezii, kterou nepotrebujeme
  • nevyhody: nehodi se na nektere nove technologie (VOIP, Video on Demand), ktere by potrebovaly QoS, nikoli BestEffort (lze resit prioritizaci - MPLS nebo rezervaci RSVP -- zajistuje rezervaci zdroju "pod" IP); neposkytuji zadne zabezpeceni (ze zadani)

Srovnání s RM ISO/OSI

TCP/IP ISO/OSI
prijme jedn. reseni, pak pridava zacne na velkem, pak ubira, protoze nezvlada
prijima jen realizovane veci neni nutne overeni realizovatelnosti
standardy jsou volne dostupne standardy jsou prodavany (draze)

IPv6

Naslednik IPv4 (ten prevazne pouzivany nyni). Asi nejdulezitejsi zmenou je rozsireni adresoveho prostoru z 32 bitu na 128 a tim vyreseni problemu s nedostatkem adres "na vzdy".

Obsahuje ale i jine nove moznosti:

  • multicast přímo ve specifikaci
  • mobilita (dnes zatím nepoužito)
  • link-local adresy
  • IPSec -- šifrování autentizace přímo ve specifikaci
  • autokonfigurace (postup pro získání link-local adresy, pak router solicitation, ...)

Nejedna se o zasadni zmeny od IPv4, spise, podle filosofie protokolu TCP/IP o vylepseni, ktere si "zadaji uzivatele".

Další odlišnosti:

  • nemá checksum v hlavičce (kde se neustále mění TTL/hop limit), místo toho spoléhá na vrstvy okolo. routery tak nemusejí neustále počítat měnící se součty
  • pakety se nefragmentují na cestě, ale jen u odesílatele, předpokládá se použití Path MTU discovery

Přenosové služby počítačových sítí

Spolehlivé a nespolehlivé

spolehliva sluzba 
ten, kdo data prenasi zodpovida za doruceni (proto je nutna detekce chyb, zadosti o opetovny prenos).
nespolehliva sluzba 
je ji jedno, zda se to doruci nebo ne. Se spolehlivosti je spojena nenulova rezie, ktera muze byt nezadouci. Napr. multimedialni prenos potrebuje dodavat pravidelne hodne dat a pripadna ztrata casti z nich boli mene nez zdrzeni vetsiny kvuli znovuposlani.
best effort 
typ prenosu, kdy se sit "snazi" a pokud to uz nejde, tak jsou pozadavky stejnomerne kraceny. pr. IP
Quality of Service 
Obecné oznacení pro variantu, kdy prenosová sí dokáže rozlišovat mezi jednotlivými prenosy a nabízet jim ruznou "kvalitu prenosu" (QoS). Muze nabizet garanci sluzeb (resi se rezervaci zdroju) a take nemusi.

Spojované a nespojované

spojovana komunikace

  1. nejdrive se navaze spojeni v rámci navázání spojení je nalezena (a vyznacena) trasa penosu
  2. probiha komunikace
  3. spojeni je ukonceno, pripadne zdroje vraceny
  • komunikace je stavova (alespoň neni spojeni / je spojeni). je treba osetrit prechod mezi jednotlivymi stavy a nestandardni situace (jeden ucastnik spadne apod.)
  • zachovava poradi (packety se nemohou zprehazet, kdyz cestuji stejnou cestou)
  • analogie - telefonni hovor (vytocim, mluvim, polozim)

Prepojovani okruhu -- zpusob spojovaneho prenosu. Jednotlive uzly site "vyriznou" z dostupne kapacity tolik, o kolik si komunikujici strany reknou (a taky to pak nauctuji, rezervace je drahá). Vyrabi iluzi jednoho dratu mezi zdrojem a prijemcem, ktery ma vsude stejnou kapacitu. Odhadnutelne zpozdeni na ceste, vyuziva se ve svete telekomunikaci, protoze je vhodne pro multimedia, malo ve svete pocitacu (snad jen seriove komunikace).

nespojovaná komunikace

nenavazuji spojeni, neoveruji, ze druha strana existuje, neni treba ukoncovat spojeni. komunikace probiha formou posilani zprav - datagramu

  • bezestavova
  • každý datagram obsahuje v hlavicce plnou adresu prijemce
  • nezarucuje poradi doruceni
  • trasa pro datagram je hledana vzdy znovu
  • analogie - listovni posta

Prepojovani packetu -- nic se nevyhrazuje, stale je snaha vyuzit vsechny dostupne zdroje (best effort). Pouziva se prakticky ve vsech sitich, vhodne pro datove prenosy. Datagramy museji obsahovat adresy odesilatele a prijemce. Ma smysl jen blokovy prenos, proudovy se emuluje. Diky slozitejsi logice zpracovani v uzlech ma vetsi prenosove zpozdeni nez prepojovani okruhu a je nerovnomerne. Uzly funguji na principu Store & Forward. Muze fungovat spojovane (virtualni okruhy) i nespojovane (datagramova sluzba).

Přenos a sdílení dat

není moc jasné co tahle otázka vlastně znamená, následují nějaké spekulace

Z hlediska (lowlevel) techniky prenosu dat

proudovy prenos / blokovy prenos

  • Proudovy prenos (stream)
    • predavano po jednotlivych b[iy]tech.
    • Zadna hlavicka, prijemce je ten na druhe strane kanalu. Predpoklada se spojovana komunikace.
  • Blokovy prenos
    • prenaseno po blocich. Blok je nazyvan podle vrstvy, ve ktere je prevod realizovan,zpusobu prenosu nebo velikosti bloku:
      • packet - síťová vrstva
      • rámec (frame) - linkova vrstva
      • zpráva - aplikacni vrstva
      • datagram - obecny nespojovane prenaseny blok (ramec je datagram)
    • Velikost bloku je promenna, ale shora omezena

Podle synchronizace

  • synchronni - hodinky zdroje a prijemce jsou stale aktualizovany (treba v ethernetu se posilaji data jen kazdou druhou dobu, ty druhe "kazde druhe (sudy/lichy) jsou pro synchronizaci)
  • asynchronni - postrada jakoukoli synchronizaci, potrebuje 3hodnotovou logiku ("1", "0", "nic"), nepouziva se
  • arytmicky - terminologicky zamenovan s asynchronnim - muze velke mezery mezi vysilanim, zesynchronizuji se vzdy na zacatku vysilaneho bloku (ktery ma jen 4-8b, coz vydrzi synchronizovane) "start" bitem.

Podle směrovosti

  • simplex - jendosmerny kanal
  • duplex - obousmerny,
  • semiduplex - lze prenaset v obou smerech, ale ne najednou

Z hlediska prenosu dat pomoci aplikacnich protokolu

Kazdopadne musi obe strany dodrzovat nejaky dohodnuty protokol.

  • pro prenos souboru - FTP - na soubory se divame jinak, jsou-li ulozeny lokalne nebo vzdalene. Uzivatel musi explicitne kopirovat data z jedne lokaci do druhe (get/put). Funguje typem klient/server. active/passive(vsechna spojen navazuje klient - kvuli fw) mod. port serveru 21 - prikazy, 20 - data, u klienta nahodny.
  • pro sdileni souboru - NFS, AFS, SMB (wokenni sdileni) - soubory lze vnimat stejne (byt muzou mit ruznou dobu pristupu), o stehovani z jednotlivych lokaci se stara system.

Soubory jde posílat přenášet obří hromadou dalších protokolů. Pod sdílení se asi kromě síťových filesystémů dají zahrnout i FTP, web, různé content distribution networks a p2p věci jako je BitTorrent.

Elektronická pošta

služba, je moznost realizovat ji interne ruzne (smtp vs MS mail vs X.400). V internetu se pouziva SMTP. Krome protokolu pro prenos zprav mezi servery a klientem (SMTP), je treba dodrzovat jeste spravny format (rfc822 - hlavicka, telo, pripadne prilohy), zajistit zpusob stahovani zprav ze schranky na serveru (imap, pop3), rozsireni pro napr. narodni abecedy, urceni typu prilohy (MIME).

Kazda zprava ma:

  • header - komu, od koho, predmet, datum poslani, ...
  • telo - obsah
  • prilohy

Přenos zprávy

  1. sestavení zprávy, příkaz k odeslání
  2. upload (odeslání) zprávy na poštovní server, pomocí SMTP
  3. přenos zprávy mezi poštovními servery
    • pomocí protokolu SMTP
    • zpráva končí v poštovní schránce (mailboxu) příjemce
  4. stažení zprávy z poštovní schránky do poštovního klienta
    • pomocí POP3/IMAP
  5. čtení přijaté zprávy, v rámci poštovního klienta příjemce
  • MX záznamy v DNS - pro kazdou domenu je definovan jeden nebo vice serveru, ktere pro ni prijimaji postu
  • SMTP garantuje prenaseni jen 7bitovych znaku (ASCII), pro prenos 8bitovych je treba je prevest do 7bitu - jak to udelat resi MIME.
  • IMAP vs POP3 - IMAP dovoluje pracovat s daty na serveru, je urcen pro stala pripojeni typu pevna linka/adsl. POP3 umi zpravy stahovat na lokal - vhodne pro modemisty

Spam

Jak na spam:

  • Bayes filtry
  • DNSBL
  • greylisting
  • SPF (Sender Policy Framework)

Služby zpřístupnění informací

Po Gopheru dnes WWW.

WWW

Sada HTML stránek a dalších médií okolo nich propojených odkazy. Data se přenášejí pomocí protokolu HTTP/HTTPS. Funguje na architektuře klient/server.

HTTP je bezestavový protokol (jen request/response), stavovost se do něj doplňuje typicky přes cookies. HTTP request je nejčastěji GET/POST/HEAD, ale jsou i PUT/DELETE a pár dalších (see wen:Hypertext Transfer Protocol#Request methods).

V odpověd přijde nějaký ze status kódů (200, 404, 302, ...) a obsah.

Proxy, P2P

proxy 
proxy server je jakysi prostrednik mezi klientem a serverem, ktery vyrizuje pozadavek. Klient posle pozadavek proxy serveru (o cemz uzivatel ani nemusi vedet a typicky si nemuze vybrat, zda proxy server pouzije ci nikoli) a ten jej vyridi bud ze sve cache nebo dotazem na dany server a pak preposlanim odpovedi. Pouziva se z duvodu bezpecnostnich (jediny bod site pristupny z internetu, vsechny lokalni pocitace jsou az "za nim"), vykonovym (cacheovanim muze usetrit spoustu prenosove kapacity), pripadne jinym (napr. povoleni jen urcitych stranek - pokus o pristup na jine proxy server nedovoli)
Peer to peer site (Peer2Peer, P2P) 
vymenne datove site (bittorrent, KaZaa, Napster, DirectConnect...), kde si data predavaji dva(vice) koncovych uzivatelu, nejsou stahovana z zadneho centralniho serveru.

Bezpečnost síťového přístupu, zabezpečené protokoly

Bezny sitovy provoz je tvoren v "dobre vire". Kdokoli je na trase, tak muze do zprav nakukovat, i je menit. To samozrejme neni pro nektere typy komunikaci dostatecne. Aby byla sitova komunikace bezpecna, mela by zajistovat tyto veci:

  • identifikace (zjisteni identity ucastniku - ten druhy je tim, za koho se vydava),
  • autentizace (overeni pristupovych prav - nelez kam nemas)
  • duvernost (sifrovani komunikace - nikdo si to neprecte)
  • integritu (taky sifrovani - nikdo to nezmeni).

Protokoly pro bezpecny prenos informaci - z datoveho toku neni poznat, co je prenaseno. Resi se sifrovanim. Pro "uplne" (kazda sifra muze byt prolomena) bezpecne pouziti je nutne identifikatory ucastniku (fingerprinty, jmena/hesla) prenest bezpecnou cestou (rucne lokalne opsat, nikoli stahnout nezabezpecene z webu). Bezpecnost zavisi na bezpecnosti pouzite sifry a korektni implementaci algoritmu na obou stranach.

Identita ucastniku a navazani spojeni se resi pomoci asymetrickeho sifrovani, vlastni vymena pak pomoci symetrickeho. Identita je dana public klicem ucastnika (nebo jeho fingerprintem). To se typicky deje jen pro server a uzivatel svou identitu serveru "prokazuje" pozdeji pomoci jmena a hesla.

SSL, secure socket layer 
protokol v rodine tcp/ip slouzici k bezpecnemu provozu jinych protokolu. Je zalozen na sifrovani a muze pouzit nekolik ruznych algoritmu. Pouziti se sestava ze tri kroku: 1. Dohodnuti se na algoritmech, 2. autentikace ucastniku pomoci verejnych klicu, 3. vymena dat pomoci symetrickych sifer.
https - secure obdoba http protokolu 
jde o vymenu dat beznym http protokolem provozovanym nad SSL (secure socket layer)
ssh (secure shell) 
pro bezpecne terminalove spojeni se se vzdalenym serverem.
sftp 
secure file transfer protocol, je nad ssh

Do SSL/TLS se dá balit i SMTP, POP3, XMPP, ... Pro paranoiky jde i Tor a tak.

Překlad adres

NAT - network address translation - technika prekladu sitovych adres, ktery se deje na firewallu nebo routeru. Pri pouziti se vzdy projevi tyto cile/dusledky:

  • setreni jmeneho prostoru IPv4 - privatni adresy mohou byt pouzity pro spoustu pocitacu za NATem.
  • sdileni internetoveho pripojeni - internet provider poskytuje pouze jednu sitovou adresu a my chceme pripojit vice pocitacu.
  • bezpecnost - pocitace za NATem nemaji verejnou adresu a neda se na ne z internetu poslat request, protoze skonci na NAT routeru.

Krome techto "vlastnosti", ktere se projevi pri kazdem pouziti NATu, lze tuto techniku pouzit i pro dosazeni jinych cilu:

  • LoadBalancing - nekolik fyzickych serveru za jednou ip adresou a "NATovadlo :)", ktere rozdeluje pozadavky
  • Failover - server a jeho backup za jednou ip adresou. Kdyz server selze, tak se zacne pouzivat backup, aniz by o tom kdokoli vedel.

priklad - dnesni domaci routery, iptables.

Rozliseni, ktery pocitac v privatni casti ma dostat odpoved na svuj pozadavek se dela pomoci cisel portu (proto nekdy nazyvano PAT) - router pro pozadavek pocitace prideli nejaky port a "z nej" to potom posle do internetu. Kdyz prijde odpoved na tento port, tak router pak vi, komu to ma preposlat. Preposilani obema smery se deje prepisovanim adres v hlavickach a ponechani tela (payload) packetu. Proto protokoly, ktere maji adresu i v tele (IPSec) nebo navazují dodatečná spojení směrem ke klientovi (active mód FTP) nefunguji za NATem (bez explicitni pomoci od NATovadla).

Routeru se dá nastavit aby některé požadavky na sebe přeposílal daným počítačům ve vnitřní síti (port forwarding). Toho se dá využít ke zpřístupnění některých zdrojů ve vnitřní síti ven (třeba pro p2p sítě ;-). Protokol UPnP umožňuje tyto tunely vytvořit zevnitř bez speciálního nastavování routeru.

Firewally

Firewall je zařízení slouzici ke kontrole a případnému povolení/zakázání nějakého síťového provozu. V podstatě odděluje vnější síť (typicky Internet) od vnitřní sítě (LAN nebo i jeden počítač). Lze řešit v HW i SW.

Ve firemní síti firewall třeba zakazuje veškerý HTTP provoz všemu kromě proxy serveru, a zabraňuje navazování spojení zvenku. Dále se filtruje třeba SMTP, nebo některý druh přístupu pouze z důvěryhodných sítí, ...

V jednom PC je firewall softwarove který kontroluje příchozí a odchozí spojení i na úrovni aplikací -- můžu povolit spojení ven prohlížeči, ale už ho třeba zakázal malwaru.

Certifikáty

Digitální certifikát: obecné označení pro údaje, týkající se určitého subjektu a stvrzené jiným subjektem, který se zaručuje za jejich pravost (tzv. certifikační autoritou - u nas 1.CA, ve svete VeriSign). Nejčastěji je v certifikátu obsažen veřejný klíč vlastníka certifikátu, který má být veřejně přístupný (ale mohou zde být obsaženy i další údaje).

Údaje v certifikátu jsou chráněny pomocí asymetrických šifrovacích technik - jsou zašifrovány privátním klíčem vydavatele certifikátu (certifikační autority), a mohou být dešifrovány s použitím veřejného klíče certifikační autority (který je veřejně známý). Význam a věrohodnost certifikátu jsou závislé jak na věrohodnosti samotné certifikační autority, tak i na způsobu, jakým tato autorita získává a ověřuje údaje, které svým certifikátem stvrzuje.

Treba pro certifikat pouzitelny pro digitalni podpis pro komunikaci se statni spravou musite jit osobne s obcankou do 1.CA. Nikdo jiny zatim nema "licenci" na to, aby tyto certifikaty vydaval. Naproti tomu Verisign vydava vice "druhu" certifikatu, podle toho jak byla overena identita.

Pro uplnou funkci je treba pouzivat i casove znamky (timestamp). Jinak bych u cehokoli mohl tvrdit, ze to bylo podepsano nekym jinym mym certifikatem az potom, co jsem jej prohlasil za neplatny a vygeneroval si jiny.

VPN

Z fyzickeho pohledu jde o součást jiné sítě. Z logického pohledu se jedná o samostatnou sit. Muze mit vlastni adresovaní, do jinych siti pristup jen pres branu aj.

Duvod vzniku: uzivatel chce mit vlastni sit, ale nevyplati se mu ji fyzicky budovat. Jeji "simulace" je levnejsi. Provoz ve VPN je sifrovan, aby byl bezpecny. poskytuje typicky sluzby identifikace (zjisteni identity), autentizace (overeni pristupovych prav) u kazdeho vstupu uzivatele (pripojeni z domova, z jine pobocky) pres verejnou sit (napr. internet). Dale zajistuje duvernost (sifrovani komunikace - nikdo si to neprecte) a integritu (taky sifrovani - nikdo to nezmeni, aniz by se to poznalo).

Priklady pouziti:

  • uzivatel z domu do firemni site, nekolik pobocek dohromady se tvari jako jedna sit
  • ve svete telekomunikaci se vyskytuji sluzby jako "volani zdarma v ramci firmy", jejiz telefony tvori VPN (coz jsou teda asi spis jen jina cisla a tarifikace nez specialni sifrovani)