PSIA Flashcards

1
Q

Referencni model ISO/OSI

A

Open System Interconnection z roku 1984 cca

  • cilem je snadne propojeni distribuovanych sustemu
  • definuje sedmivtstvy protokolovy zasobnik
  • rozdeluje komunikaci na subproblemy
  • rika, jak zadani rozdelit a co ma umet kazda vrstva
  • vymezuje komunikaci pouze mezi dva sousedni bloky
  • implementace jednotlibcy vrstv je jendodussi nez celku - modularita
  • vrstva X poskytuje vyssi vrstve sluzby a sama pouziva sluzby nizsi vrstvy
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Obecny prehled vrstev ISO modelu

A
  1. Aplikacni
  2. Prezentacni
  3. Relacni
  4. Transportni
  5. Sitova
  6. Spojova
  7. Fyzicka
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Fyzicka vrstva

A

Nejspodnejsi
- vyhradne pro prenos bitu
- kodovnai, modulace, casovani, ridici signaly…
- sluzba: prijmi bit, odesli bit
- neinterpretuje to co prenasi, ale pouze poskytuje dopravu
- paralelni nebo seriovy prenos, synchronni a asynchronni
- fyzicke vodice, opt. vlakno, elmga vlny (ethernet, wifi)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Spojova vrstva

A

Prenasi cele ramce - bloky dat
- poskytuje prenos v primem spojeni, bez prestupnich stanic
- muze byt spolehliva ci nespolehliva
- ukolem: synchronizace ramcu - rozpoznat zacatek a konec
- resi pristup ke sdilenemu mediu
- adresace
- detekce chyb a naprava
- rizeni datoveho toku

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Sitova vrstva

A

Prenasi bloky jako pakety
- zajistuje doruceni paketu k adresatovi
- zajistuje smerovani, routing, hleda cestu k adresatovi
- ma poneti o skutecne topologii site
- pouziva smerovaci algoritmy
- je to posledni nutna vrstva pro prenosovou infrastrukturu (zbytek je doplnek nepovinny)
- nejrozsirenejsi implementaci je IP

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Transportni vrstva

A

Prevadi pozadavky komunikace vyssi vrstvy na poskytovane sluzby nizzsich vrstev - interface
- tedy prevadi pokrocila pozadavky vyssich (politik) vrstev na sluzby, ktere reale umi nizsi vrstvy (protoze vetsinou patri nekomu jinemu nez me)
- transportni vrstva tyto pozadavky prevadi
- prevadi treba nespolehlivy prenos na spolehlivejs
nespojovany na spojovany atd…

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Relacni vrstva

A

Zajistuje sestaveni, rizeni a zruseni relaci
- pro spojovanou komunikaci
- synchronizace
- siforvani
- komprese dat
- podpora transakcniho zpracovani dat

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Presentacni vrstva

A

Prevadi potrebne konverze mezi dat odesilatele a prijemce
- prevod na kodovaci algoritmy znaku
- formaty cisel
- formaty struktur
- ukazatele
- endian …

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Aplikacni vrstva

A

Jadro uzivatelskych aplikaci, ktere poterbuji komunikaci
- prenosove mechanismy el. posty
- sluzby pro pristup k distribuovanym objektum v siti

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Jak vrstvy komunikuji mezi sebou?

A

Pouze po dvou sousednich naraz, pomoci virtualniho spojeniu

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Chyba v datovych prenosech obecne

A

Typicky dochazi ve fyzicke vrstve
- sum v kanalu
- vnejsi elmag ruseni treba
- prirodni faktor

Vyjimecne i ve vyssich vrstvach
- chybna implemetace - lidsky faktor

Obecne je to zmena odeslane hodnoty - tedy prijde neco, co realne enbylo odeslano
- bud jednotliva chyba delky 1
- nebo shlukova chyba delky n (n je pocet pozic mezi prvni a posledni chybou, vse mezi nimi, tedy i spravne bity)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Detekce chyb obecne, co jsou redundantni data

A

Obecne prijemce nemuze nic usuzovat o odeslanych datech - tedy vse co prijme, tak musi povazovat za mozna realne odeslana data.

Pokud ale cestou nastane chyba, tak to prijemce nemuze poznat, protoze ocekava libovolna data od odesilatele. Tedy muze vzniknout problem, ze jsem prijal neco chyboveho a zacnu to provadet.

Reseni - pridame bit/y navic (redundantni) tedy uz jsou mimo uzitecna data v bloku, ale nejakym zpusobem jsou s nima provazana - tedy neni to libovolna posloupnost, ale presne definovana vzhledem k odeslanym uzitecnym datum tak, aby pri pripadne chybe, prijemce mel alespon sanci si to zpetne zkontrolovat, zda redundantni data mohla byt spocitana podle prijatych dat a pokud ne, tak je mozne, ze doslo k chybe

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Detekce chyb paritou

A

K uzitecnym datum pridame pouze 1 red. bit, ktery mi rika:
1 = pocet jednicek v odeslanem slove je lichy (VCETNE RED. BITU!!!)
0 = pocet jednicek v odeslanem slove je sudy (VCETNE RED. BITU!!!)
- toto se nazyva licha parita (muzeme definovat i obracnou sudou paritu)

Prijemce koukne na prijate slovo a na posledni bit, pokud je posledni bit 1, ale celkovy pocet jednicke v celem sloze je sudy - pak nastala chyba

Vyhoda - rozpozna se jednonasobna chyba - spatna parita
PROBLEM - dojde ale k dvojnasobne chybe - parita se nezmeni - chyba se nerozpozna!

Obecne parita tedy muze detekovat lichy pocet chyb, sudy pocet ale neni odhalen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Co je kodove slovo?

A

Odeslane slovo (uzitecna data plus hlavicky na zacatku) + redundantni kontrolni bity

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Detekce chyb Hamnningovou vzdalenosti

A

Hammingova vzdalenost dvou slov = pocet znaku, v nizchz se dve slova lisi

Hammingova zvdalenost kodu = nejnizsi pocet znaku, v nichzs se llisi ibovolna dve kodova slova = d. // Tedy mame mnozinu kodovych slov a hammingovoe vzdalenosti pro kazdy par. Hammingova vzdalenost kodu je min(hammingova zvdalenost paru)

Detekce chyb:
- rozdelime dve mnoziny - koda a nekodova slova
- pokud se kazda dve kodova slova lisi ve vice nez t znacich, pak t-nasobna chyba vzdy zmeni kodove slovo na nekodove

Kod odhaluje t-nasobne chyby, pokud je Hammingova vzdalenost kodu d>t.

Kod opravuje t-nasobne chyby, pokud je H. vzd. kodu d> 2t.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Cyclic Redundancy Check CRC

A

Patri mezi lienarni cyklicke kody
- cilem maximalizovat detekcni schopnosti pri minimalizaci red. dat

Princip:
- n-bitova data jsou reprezentovana jako ibnarni polynom stupne n-1, kde hodnoty koeficientu polynomu odpovidaji jednotlivym datovym bitum
- datovy polynom vydelime generujicim polynomem stupne k
- zbytek po deleni pridame jako red. informaci a slovo delky n+k odesleme.

Prijemce zopakuje postup a pokud nove vypocteny CRC kod lisi od prijateho = neni kodove slovo
- pokud se odeslane a nove CRC rovnaji, pak je slovo prijato ALE NENI ZARUCENO ZE NEDOSLO K CHYBE JAK VE SLOVE TAK I V CRC

Prakticky - binarni kod prevedu na polynom, kde je to x^i, kde i = 1/0 pozice binarniho kodu
Generujici polynom si zvolim a delam XOR s puvodnim kode (XOR = 1 pokud jsou hodnoty ruzne.

Zbytek po XOR pridam ke slovu

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Detekcni schopnosti CRC

A

Chyby reprezentujeme chybovym polynoem E(x), ktery se prida do odeslaneho slova M(x) vcetne CRC a prijemce dostane vysledny polynoom:

M’(x) = M(x) + E(x)
Chyba je rozpoznana, pokud chybovy polynom neni delitelny generujicim polynomem (jinak se nam proste ztrati v CRC postupu)

  1. Pokud generujici polynom G(x) ma alespon 2 cleny, pak odhali vsechny jednonasobne chyby
  2. Odhali dovjnasobne chyby, pokud ma alespon 2 cleny a nedeli zadnou dvojnasobnou chybu (x^m +1)
  3. Odhali vsechny liche chyby pokud G(x) je delitelny (x+1)
  4. Odhali vsechny shlukove chyby delky <=k, kde k=deg(G(x)), pokud G(x) obsahuje nenulovy konstantni clen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Co jsou typove CRC G(x)?

A

Priklady vhodnych generujicich polynomu pro zrovna posilana data, standardni vhodne, znaci se treba CRC-12, CRC-16 atd… kde cislo je stupen polynomu (ale neni rozvinuty full)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

TCP/IP protokol obecne

A

Je starsi nez OSI/ISO, ze 70. let, podobny prinicp deleni vrsev, ale pouze 4 vrstvy

Vrstvy:
1. sitoveho rozhrani = fyzicka + spojove
- adresace, ramce, dekompozice, rizeni pristupu ke komunikaci master/slave

  1. Sitova = stejna jako OSI
  2. Transportni = stejna jako OSI
  3. Aplikacni = relacni + prezaentacni + aplikacni funkce
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

IP Protrokol obecne, druhy komunikace a co to je

A

IP Protokol - Doruceni dat na IP adresu (pomoci IP adres)

Druhy:
1. Unicast - komunikace 1:1, tedy 1 prijemce primej
2. Broadcast - 1 odesialtel a VSEM uzlum posle zpravu
3. Multicast - 1 odesilatel a NEKOLIK uzlu vybranych dostane zpravu
4. Anycast - 1 odesilatel a posle obecne do prostoru a nevi, kdo mu odpovi a kdo ho posloucha

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

IP Adresa

A

IPv4 nebo IPv6
- 4 nebo 16 bajtu
- regionalni sprava/prideleni na uovni statu

IPv4 adresa:
treba 10.0.0.15 - tedy 4 dekadicka cisla od 0-255 (4 bajty, 1 bajt pokryuje 8 bitu, 2^8 = 256

Puvodne strukturovana do dvou casti :
[adresa site][adresa uzlu v siti], tedy adresa site je stejna pro vsechny uzly v siti a definovalo se to podle trid, jak moc posuneme hranici bitovou.

Vylepseni prinasi maska site - 32bitove cislo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Vyhrazene/dulezite IP adresy

A

Vyhrazene:
- same nuly = testovani
- [nulova sit][nejaky uzel] = nase site
- same 1 = lokalni broadcast (ale nepusti se ven do sveta)
- 127.x.x.x = loopback, adresa zpetnovazebni v ramci komunikace mezi procesy pocitace bez vysilani na sit

Privatni:
-192.168.0. az 192.168.255.0, tedy 256 siti tridy C, nejsou smerovany ve verejnem internetu
-treba firmy/skoly - setri se mistem, protoze kazda skola muze mit tu stejnou IP adresu, ale jelikoz se nesmerujou do sveta ven, tak se nepretezujou, pracovnici nemaji pristup do interneru, spatne se do toho boura, pouze v ramci nejakeho strediska

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Nabalovani adres pomoci IP adresy, jak se to resi od globalni adresy po lokalni

A

IP adresa je nabalena jako cibule - musim postupne odhalovat adresu podle “teritorialni” dulezitosti.

Tedy IP adresa ma nabalene adresy jako:
Europa - CR - Praha - lokalni sit - lokalni podsit - … - uzel v siti

Tedy pri komunikace to preposilam dal POUZE NA DALSI stupen, nezajima me vubec co je dalsim dalsim krokem, vzdy to preposlu pouze o uroven niz a neresim. Tam to prevezmou a uz vyresi podobne.

Vyhoda - nemusim mit zaznam o adresach vsech uslu, to existuje pouze v ramci urovne, musim vedet kam zpravu predat dal a to je vsechno

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

IPv6 adresy

A

16 bajtu, chybi broadcast formalne

  • 8 skupin po 4 hexa cislisich, treba:
    fedc:ba98:7654:3210:fedc:ba98:7654:3210

Mohu vynehcat pocatecni nuly pokud jich je hodne.
Blok souvislych nul mohu JEDNOU nahradit ::
0123:0000:0000:0000:fedc:ba98:7654:3210
->
123::fedc:ba98:7654:3210

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Kanonicky tvar IPv6 adresy
1. Vsechna mala hex. pismkenka 2. Vynechaji se uvodni 0 3. :: konstrukce musi byt maxmalni Pri URL adrese se IPv6 adresa da do []
26
Struktura IPv6 site
[globalni smerovaci prefix][podsite][identifiaktor lok. rozhrani] Celkem 128 bitu
27
IPv4 Transmission Routing Protocol
Pro smerovani - komu to poslu Bud poslu naprimo, nebo pres zvoleny router, nebo pres default router, nebo cesta neexistuje. Tedy je to rozhodovaci strom: 1. Vem IP adresu kam to mas poslat 2. Rozkoduj ji na mistni site/masky atd - priprav ji na raw vzhled 3. Je tam prima schoda s nejakym uzlem? - pokud ano - posli to tam - hotov - pokud ne: 4. Existuje neprima cesta pres smerovac? - pokud ano - posli to smerovaci neprimo - hotovo - pokud ne: 5. Existuje zakladni smerovac pro tuto adresu? - pokud ano - posli to neprimo zakladnimu smerovaci - hotovo - pokd ne: 6. Nelze dorucit na adresu
28
IPv4 Packet
Jak se dorucuje zprava sablona, az 64kilobajtovy balik: - hlavicka - ridici informace pro vrstvy jak se budou odloupavat - verze (IPv4 IPv6) - typ sluzby - celkova delka - identifikace fragmentu - volby (moznosti) - treba do not fragment - posun fragmentu - cislo fragmentu - zivotnost - counter se dekrementuje, dokud je zprava preposilana - protokol - urcuje druh prenasenych dat - kontrolni soucet - crc, red. data - zdrojova adresa - cilova adresa - dalsi volby ...
29
IPv6 Packet
- verze - trida provozu - proste basic volby - moznosti - posli co nejlevnejsi... - znacka toku - oznaceni sekvencnich packet stejnou znackou - at se k nim pristupuje stejne - delka dat - dalsi hlavicka - dalsi moznosti a volby - zivotnost - zdrojova adresa - cilova adresa DO dalsich hlavicek muzeme retezit nejake dalsi hlavicky ktere upresnuji parametry...
30
NAT - Network Address Transaltion NAPT - Network Address Port Translation
Protokol, ktery kdzysi zachranil Internet, protoze nebylo dostatek IP adres pro vsechny. NAT zavedl moznosti lokalni komunikace neverjnych adres v ramci sve nejake mensi podsite. Neverejne adresy se nepousteji ven, tim padem kazda uzavrena sit mohla mit pretizene IP adresy a tim se omezi jejich celkjovy pocet. NAT smerovace - umi prelozit neverejnou adresu na verejnou Princip: Mam nejakou lokalni sit kde jsou neverejne adresy a chci z ni komunikovat se svetem. Pozadam NAT smerovace, aby mi priradili DOCASNOU verejnou adresu, NAT ma pool VOLNYCH VEREJNYCH IP adres, takze on vybere nejakou volnou (taky nemusi, podle kapacity) a da mi ji docasne a poznamena si kdo ji ted zrovna drzi. Ja pak mohu komunikovat se svetem. Problem - stale omezena kapacia a ne vzdy je mozne poznat, ze ja uz tu pridelenou IP nepouzivam, takze NAT jednou za cas vymaze vsechno a obnovi si pool - timeout NAPT - vylepsuje kapacitni problemy pomoci pridani portu. Tedy ma pool verejnych volnych IP adres, ale pro kazdou z nich ma jeste i cisla portu, treba: IP_nejaka + porty[0...80], tedy pro jednu adresu mam jeste cely interval portu. Lokalni sit je pak vnimana jako jeden uzel s mnoha procesy uvnitr. - mnohem mensi spotreba verejnych adres. - ale spatna fragmentace - jestli se port ztrati, tak nepozname odkud zprava prisla, NAPT neumi resit fragmentaci pokud nastane
31
ARP - Address Resolution Protocol
Podpurny protokol pro IPv4 - poskytuje konverzi IP adresy na MAC adresu - spojkova vrstva neumi pracovat s IP adresami ale s MAC - nejaky uzel v siti si udrzuje tabulku s dictionary - IP:MAC - pokud danou IP adresu nezna, tak se broadcastem dotazuje, kdo je tato IP? Nekdo odpovi, ja jsem tato IP a moje MAC je XY....
32
ICMP Protocol
Pro hlaseni chyb pri zpracovani IP smerovani - soucast datoveho pole IP paketu - podle kodu se pozna, o jakou chybu slo - povinna cast implementace IP - neslouzi ale k zaruceni spolehlivosti komunikace - obsahuje ruzne kody - treba 0=echo reply, coz je ping, nebo destination unreachable, time exceeded - pokud se paket toci ve smyckach moc dlouho tak se zahodi a posle se zprava chybova - trecert - apliakce, ktera ukazuje smerovace od me do cilove adresy, tedy je to ze poslu ICMP echo request nekam a vypise mi to cestu, kde koncovyuzivatel mi odpovi na echo/ping. Meizitm ruzne smerovace mi mohou poslat timeout...
33
NDP - Neighbor Discovery Protocol
Umoznuje: - zjistit linkovou adresu z IP (jako ARP tedy funguje podobne) - hledat smerovace - presmerovavat - overovat dosazitelnost sousedu - 5 zprav pro zjisteni MAC adresy - kdo mate tuto adresu? ... Odpoved ja, Najdu nejblizsi smerovac -> poslu mu zpravu - tedy hleda nejblizsi smerovace a presmerovava souseda na nej?
34
Port vs Socket
Port - lokalni multiplexor pro soucasne bezici procesy - cisla <0:1024), dobre zname definovane - vstupy z vne do systemu, treba komunikace mezi mym pocitacem v siti - pocitac ma nekolik portu - brany do pocitace a apliakce na nich poslouchaji nebo komunikuji pres ne Socket - struktura definujici komunikacni kanal - obousmerny komunikacni virtualni kanal, pres ktery probiha komunikace Datat (pakety) jsou doruceny do aplikace podle trojice: 1. protokol (UDP/IP, TCP/IP...) 2. sitova adresa (IP adresa) 3. multiplexot na transportni vrstve (port) Tedy data jsou ve formatu: typ komunikace, adresa, cislo portu a potreba apliakce na tom portu a adrese posloucha treba.
35
UDP - User Datagram Protocol
Je to povinna implementace komunikace - zakaldni nejjednodussi uroven - poskytuje aplikacni rozhrani k IP - umi pouzivat porty z nic jineho - neposkytuje spolehlivost, ani emulaci spojeni, ani rizeni datoveho toku... - je to basic posli/precti tolik bytu na/z tento port... Tedy prijde nejaka zprava s IP adresou, ta se rozlozi na mensi podadresy a vybere se port, na ktery byla zprava adresovana, to udela UDP demultiplexor. Pak podle patricneho portu se to poslu na dany port kde posloucha nejaky proces.
36
UDP Paket
Celkem 8 bajtu. - hlavicka: source port, destination port, lenght (delka UDP paketu), checksum - kontrolni soucet volitelny - pak samotna data
37
TCP - Transmission Control Protocol
- povinna implementace - oproti UDP pridava hodne funkcionalit, uzivatel tedy skoro nic neresi - pouziva sockety - spolehliva komunikace po celou dobu - sekvencni cisla paketu a generovani ACK potvrzeni, v pripacde chyby se opakuje paket - emualce spojeni - rozhrani jako proud bytu - garance poradi prenasenych dat jako fronta - plne duplexni komunikace - umi ridit datovy tok - zrychlit/zpomalit - segmetnace dat do vice paketu Acknowledgment number - potvrzeni, ze mi prislo vsechno az po tento bajt - posilej data dal nebo posli jeste jednou Sequence number - cislujeme odesilane bajty od 1.
38
TPC Paket
Hlavicka - source port, dest. port, seq. number, ack. number, volby, checksum, windowd (mnozstvi dat, ktere prijemce schopen prijmout), options, padding, urgetn pointer (ukazatel na extremne dulezita data) - data
39
TCP potvrzovaci mechanismus
Zajisten pomoci: 1. Sekvenni potvrzovaci cislo - ACK 2. Znama velikost segmentu 3. Hodnota timeoutu Posilam data po kouscich hned jak dostanu predchozi potvrzeni v ramci timeoutu. Adresat uklada vsechno co prijme a pokud neco vypadlo, tak porad posila ACK na to co mu chybi, tedy pozaduje vynechana data (ale mezitim si stranou uklada to co mu chodi, aby to pak mohl poskladat zpetne dohromady) Mechanismus: 0. Velikost odesilanych dat je treba 500bajtu. 1. Posilam 1. segment s seq=1000 2. Prijemce prijal - posila ACK 1500, tedy rika "OK, posli seq=1500" 3. Posilam 2. segment s seq=1500 ALE TREBA SE TO ZTRATI 4. Prijemce tedy nic neprijal ted 5. Ja posilam 3. segment s seq=2000 6. Prijmce prijal seq=2000, vidi, ze to neni 1500, tak si to ulozi stranou ale ZASE POZADA O ACK=1500 7. Ja posilam dalsi pakety a prijmece je uklada... 8. Vyprsel timeout pro 2. segment -> musi se poslat znova 9. Poslu ztracenej segment 10. Prijemce ho dostance a zkontroluje, ze ma ACK pro vsechna mezitim doruceny pakety - hotovo...
40
Navazani/Zruseni TCP Spojeni
Tvz 3-way handsake protocol: 1. Stanovim synchronizacni cislo, ze budu cislovat od seq=999, tedy dalsi bajt bude od 1000 a cekam na tvuj ACK:NaN 2. Prijemce stanovi cislo, od ktereho bude posilat ACK, treba od ACK=1000, tedy to je stejny jako seq odesilatele a treba ze seq nastavim na 4999. 3. Odesilatel souhlasi - seq=1000, ACK=5000, tedy se krizove dohodnout na seq=X ACK=Y a seq=Y ACK=X... Zruseni: nastavim FINISH flag -> druha strana to to potvrdi FIN ACK a taky nastavi FIN flag -> dostanu zpet FIN ACK -> ukonceno spojeni oboustranne
41
TCP Congestion Contorl
Zpusob kontroly mnozstvi putujicich zprav aby nedoslo k prehlceni a hromadi. Tedy je to mechanismus jak optimalne nastavit limit posilanych zprav. Najde to uzke hrdlo a tomu prizpusobi mnozstvi odesialnych paketu. 1. Slow start - zacnu na jedne zprave, pak 2, 4, 8,... treba uzke hrdlo je 64 zpravy, tedy vracim se o krok zpet a to je optimalni pocet posilanych zprav... Tedy jako exponencialni narust pomalej 2. Congestion avoidance - kombinace s pomalym startem - od uzkeho hrdla nenavysuju exponencialne ale linearne 3. Fast Retransmit - neni treba vyckavat na timeout, pokud dojde ke ztrate paketu - pouziva duplikovane ACK - jestli je opakoavne prislo aslespon 3krat ACK s zadosti o paket - poslu ho znovu, predokladamz e se ztratil uz. 4. Fast Retransmit with fast recovery
42
DHCP - DYnamic Host Configuration Protocol
Pro prideleni adresy pri zapnuti stroje v neznamem prostredi - po nastartovani zarizeni se pta "kde jsem?", pta se serveru co se deje 1. Co je moje IP adresa? - posle DHCP broadcast - DHCP servery to zachyti a nejaky prvni posle zpravu s pridelenim adresy, maskou site atd identifikatory.... 2. Odchazim se site - moje pronajimani IP adresy konci - je volna - poslu zrpavu na shledanou, muzes tuto adresu priradit nekomu jinemu...
43
DNS - Domain Name System
Jmenny system pocitauc, pohodlnejsi pro cloveka, staly oproti IP - prirazuje jmena misto IP adres, v textovem souboru na pocitaci - uchovava distribuovana databaze - vytvarai hierarchicky strom ktery topologicky vetsinou odpovida realnemu usporadani instituci/statu/kontinentu atd... 0. nejvyssi level - root, jen nekolik desitek na svete 1. Genericke a statni domeny: cz, edu. org, com. gov... 2. Konkretnejsi instituce - cvut.cz, uz pod lokalni spravou firem 3. Jeste lokalnejsi sprava - fel.cvut.cz atd... urovne Tedy je to postupne nabalovani od nejlokalnejsi spravu site po nejvyssi topologicky/hierarchicky level. Rozdeleno na zony, databaze uchovava prevody na IP adresy Preposila zpravy mezi urovnemi, dvam zpusoby - iteracni nebo rekurzivni smerovani
44
Dva typy zpracovani DNS dotazu
1. Iterativni - vetsinou - resolver (tedy server, kteryho jsem se dotazal jako prvni) sam kontaktuje vice DNS serveru a postupne se kazdeho pta, kde najde treba ".com" - pokud nevi, tak ho odkaze dal na jiny server atd dokud nenajde odpoved - tedy sam iterativne chodi - mensi zatez na servery - pouze odpovedi typu "tady to je/hledej dal tady..." - pomalejsi ale 2. Rekurzivni - resolver preda celou praci jinemu DNS serveru a ceka na odpoved - to same udelaji vsechny urovne dalsi - odpoved se propaguje zpatky - tedy resolver se sam dotazuje vsech urovni postupne ale pro uzivatele je to rychlejsi a jednodussi pohled - vetsi zatez na jeden uzel - rychlejsi
45
Typy DNS serveru podle autority
1. Primarni - maji autoritu nad zonou (tedy informaci o ni) - v teto urovni dochazi k editaci zaznamu 2. Sekundarni - maji autoritu nad zonou - ale ma zastarale zaznamy, ktere se jednou za cas obnovi z primarnich serveru - setri pristupy k primarnim serverum na ukor mozne zastaralosti dat 3. Caching only - nemaji autoritu - poskytuji neuatorizovane odpovedi z informaci na primarnich nebo sekundarnich serverh - jeste vic snizuji trafik na primarni servery
46
Kdove zabezpeceni prenosu dat obecne
Prirazeni kodovych slov jednotlivym znakum - zobrazeni proste a na - kodove slovo je posloupnost znaku abecedy - abecedea je mnozina znaku - vlastnosti kodu - proste zobrazeni - jednoznacna dekodovatelnosti
47
Prefixove kody, Kraftova nerovnost
Prefixovy kod je takovy, ze zadna symbol jeho kodove abecedy neni predponou jineho symbolu abecedy: { 1, 21, 22, 231, 232, 24, 35, 535, 7 } je prefixový kód { 1, 21, 22, 221, 222, 24, 35, 355, 7 } není prefixový kód tedy kouknu, ze zadny nasledujici clen neni sam o sobe obsazen v predchozich clenech Kraftova enrovnost: Z n znaku lze sestavit prefixovy kod s delkami kodovanych slov d1, d2, dr... p.t.k. plati Kraftova nerovnost: n^-d1 + n^-d2 + ... + n^-dr <= 1
48
Sifrovani
Kryptologie – kryptografie: věda zabývající se šifrováním informace  Šifrovací algoritmus – funkce provádí samotné šifrování a dešifrování dat  Šifrovací klíč – vstupní parametr (de)šifrovacího algoritmu  Šifry z hlediska cíle procesu – obousměrné - při znalosti správného klíče lze dešifrovat výsledek a získat tak opět originál – jednosměrné - ukládání hesel, výtahy zpráv, digitální podpisy
49
Vytahy zprav
Jednosměrné algoritmy (hash) – z výsledku nejsme schopni obnovit originál  konstantní a poměrně krátká délka výsledného kódu (typ. 128 bitů)  vlastnosti ideální kryptologické hashovací funkce: – ze vstupu proměnné délky vytváří malou hodnotu – ze stejného vstupu vytváří vždy stejný výstup – každé výsledné hodnotě by mělo odpovídat více vstupních kombinací – malá změna na vstupu má za následek velké změny ve výstupu  Aplikace: zabezpečení dokumentů (ftp), dig. podpis
50
Teorie informaci
Vychazi z teorie pravdepodobnosti a statistiky. - nikdy nnei 100% jistota spravonosti, pouze minimalizujeme jejich pravdepodobnost vyskytu - chceme idealizovat prenosovy kanal, aby byl bezporuschovy - informacni entropie - mira neurcitosti jevu - maximalni kapacita kanalu: c = 2fn bitu za sekudnu , kde f je frekvence, n diskretni urpven - bily sum - konstantni sum, konstantni energie sumu na intervalu
51
Kodovani signalu
Obecna myslenka - zdroj informace posle zpravu, koder ji zakoduje (bezpecnost, korekce, redundance...) pak se to vsechno odesle a treba je tam ruseni po ceste. Dekodek protejsi strany se to snazi dekodovat
52
Nejcastejsi kodovani signalu
1. NRZ - Not Return To Zero - uroven signalu je primo 1 nebo 0 2. RZ - Return To Zero - polovina intervalu je +1 pri bitu 1, -1 pri bitu 0, druha polovina intervalu je nulova (tedy skokovita dvakrat casteji nez NRZ a vetsi amplituda) 3. NRZI = 1 je inverze signalu, 0 uroven zustava 4. Manchester - pouziti v Ethernetu, fazova modulace, 0 je sestup signalu, 1 je vzestup signalu, kazdy bitovy interval ma uprostred zmenu 5. Diferencialni Machester - 1 je zmena na zacatku intervalu, 0 je absence zmeny. Uprostred intervalu je vzdy zmena
53
Typy chybovych modelu pro prenosove kanaly
1. Bez pameti - nezalezi na predchozich bitech - AWGN, BSC, BEC, BAC 2. S pameti - pamatuje si prenasene bity - ovlivneno tim, ma historii... - Gilber-Elliot model 1.1. AWGN - model ktery pracuje pouze s normalni bilym sumem, tedy pouze vnejsi nahodne ruseni, treba vesmirny signal nabo sum atmosfery, tedy nepocita s zadnymi chybami, pouze s vnejsim normalni rusenim 1.2. BSC - binary symetric channel - vhodnejsi pro komunikaci na zemi, uz pocita s chybou, tedy s pravdepodobnosti P nastane zamena bitu, s pravdepodobnosti (1-P) se data odeslou spravne 2.1. Gilber-Elliot - stavovy automat jako prediktor skoku jednobitovy - markovsky retezec dvoustavovy - dva stavy Good, Bad - podle pravdepodobnosti vyskytu chyby a aktualniho stavu (pameti) se rozhodujeme zda prichozi bity jsou spravne/spatne
54
Modulace (velmi obecne)
Mechanismus, jak signal presunout do jineho pasma pro lepsi prenosovoe vlastnsoti nebo bezpecnsot. Deleni: 1. Podle vlastnosti (veliciny): - amplitudova - menim amplitudu signalu - frekvencni - fazova 2. Podle nosneho signalu - s harmonickym druhym signalem - s impulsnim druhym signalem - (druhy signal je pridany, silnejsi, nese muj puvodni signal) 3. Podle modulacniho signalu - analogovy, cislicovy Frequency hopping - preskakovani mezi pasmy pri prenosu dat - odolni vuci ruseni, mnohem sirsi pasmo prenosu, obtizna detekce a odposlech...
55
Zakladni typy datovych prenosu podle smeru, hodin...
1. Podle smeru: - jednosmerny - simplex - obousmerny stridavy - half-duplex - obousmerny soucasny - full duplex 2. Podle poctu predavanych bitu: - seriovy - paralelni 3. Podle synchronizace: - synchronni - prenasi se hodiny - asynchronni - bez hodin, ale delak prenosu musi byt znama a lokalni hodiny musi byt nastavene stejne 4. Podle pouziteho frekvencniho pasma...
56
Sdileni kapacity kanalu
Metody umoznujici rozdelit jeden fyzicky kanal na vice logickych - multiplexovani - tedy prideleni ruznych zdrojum logicke casti jednoho kanalu 1. Frekvencni deleni - tedy fyzicky kanal ma nejakou sirku pasma (frekvence) - rozdelim celkove pasmo na pozadovany pocet a kazdemu zdroji reknu, jakou dostal sirku a on bude komunikovat pouze v ramci tohoto pasma - muze dochazet k prekryvu - diry mezi pasmy mohou snizit prenosovou kapaciti - chchi co nejuzsi diry - zajistuje multiplexor a demultiplexor - multiplexorz jedne strrany prideluje (pousti) pouze jednu frekvenci kazdemu zdroji, pak na druhe strane demultiplexor (filtru, protopousti) zaase pouze urcite frekvence... 2. Casovany multiplex - proste se udela fronta a poradi a nejakou dobu vysial 1. proces, pak 2., pak 3., pak zase 1. atd... ale zaroven, tedy paket je rozdelen na kousekA, kousekB, kousekC... 3. Casovany staticky - jako normalni casovany, ale rozdeleni v ramci paketu neni rovnomerne, nejaky proces muze ziskat mnohem vetsi slot 4. Kombinovany casovy slot a frekvencni multiplext - kombinace vsech metod: - tedy mam rozdelena frekvencni pasma a i v ramci frekvence mam casovane sloty 5. Kodovy multiplex - wifi bluetoooth: - kodujeme signaly ortogonalnimi kody - vysledne signaly sdileji stejne pasmo frekvencni, ale jakoby lezi na sobe navzajem - daji se zpetnym dekodovanim rozlisit 6. Prostorovy multiplex - hlavne i elmag. signalu - vyuziva toho, ze dve lokality jsou daleko od sebe a signal mezi nimi se ztrati - tj v Praze muzu vyuzit stejne pasmo i stejny kod (signal) jako v Brne, protoze se navzajem uz nevidi a mohu ho pretezit jako (lokalni) sit
57
Topologie fyzicke vrstvy
Ruzne druhy jak muze vypadat komunikace nekolika uzlu podle fyzicke vrstvy: 1. Sbernice - vsichni napojeni na jeden drat 2. Hvezda - centralni prvek a vsichni na nem 3. Kruh - komunikace pouze soused dopredu-dozadu 4. Strom - vetveni na podstromy
58
Rizeni pristupu k mediu
Mechanismy, ktere ridi sdileni komunikacniho kanalu - obvykle casovane - soucasny pristup vice uzlu najednou vede ke kolizim - dva pristupy - deterministicky - bez kolizi - stochasticke (nahodny pristup) - s kolizemi a pocitame s nimi
59
Determenisticky pristup k mediu
1. Master-slave - vyrhazeny master uzel se dotazuje slave uzlu - sam predava komunikace, tedy komuniku pouze slave k masterovi a amster vysila sam - nevyhodna zavislost vsech uzlu na masterovi - vypadek master = konec - velmi jednoducha implementace 2. Token-Passing - rovnocenne uzly - vysila pouze drzitel tokenu - token koluje mezi uzly a je casove omezen na drzeni - po uplynuti casu se token posila dal - nezavisle na jednom master uzlu - pri rozpojeni kruhu je narocne ho zase poskladat dohromady - token putuje v kruhu 3. Delegated Token: - existuje jeden master (bus arbiter) uzel - je to master ale bez dotazovani - master urci, kdo ted bude vysilat podle specielni zpravy od slavu, tedy master sam se nikoho nedotazuje ale pouze prideluje kanal - zavislost na masterovi - vyhoda oproti master-slave ze master se sam nepta nikoho
60
Stochasticke metody pristpu k mediu
1. CSMA: - rovnocenne uzly - pokud chci vysilat, tak cekam az kanal bude volny - jakmile zjistim ze je volny -> zacnu vysilat - ve stejny moment mohou zacit vysilat i dalsi zdroje -> kolize skoro 100% - kolize se rozpozna a opravi ale nemusi 2. CSMA/CD (colision detection) - vylepseni predchozi metody o rozpoznani kolize - po kolizi zdroje cekaji random dobu ruznou aby zase nezacly vysilat ve stejny moment 3. CSAM/CA (collision avoidance) - kdyz zjistim ze je volny kanal, tak abychpredesel kolizim, tak pockam jeste nahodnou dobu, pak se znovu ujistim, ze je kanal volny, a az pak zacnu vysilat ejstli je stale volny - predejdu tomu, ze vsichni zacnou vyslat jakmile zjisti, ze je kanal volny
61
Vyhody stochastickych metod a deterministickych
Deterministicke jsou spolehlivejsi z pohledu kolizi, ale maji latenci zavislou na poctu uzlu (tedy musim treba cekat nez vsichni prede mnou dostanou token atd.) Naopak stochasticke jsou nespolehlive z pohledu kolizi, ale zato nemaji zavislost latence (doby pristupu k mediu) na poctu uzlu v siti, protoze jamile je volny kanal, tak zacnou ihned soutezit
62
Spolehliva a nespolehliva sluzba
1. Nespolehliva: - doruceni VSECH ramcu nebo paketu NENI zaruceno - muze sice provadet kontrolu spravnosti dat, ale pri zjisteni chyb se data zahodi a NEOPAKUJE se prenos - Ethernet, proste vypadky paketu 2. Spolehliva - zabezpecuje KOMPLETNI DORUCENI vsech ramcu a paketu BEZ CHYB - provadi kontrolu spravnosti - redundantni informace s daty - opakovani prenmosu pri zjisteni chyb nebo jejich oprava - treba USB
63
Zpracovani chyb pri prenosu, strategie opravy chyb
Co delat pokud vime, ze nastala chyba? 1. Ignorovat - v systemech, kde treba jedna chyba je jeden spatnej barevnej it, to neni tak hrozny, tak se proste chyba ignoruje a pouzijou se spatna data 1.5 Rozpoznat chybu (treba CRC) a treba pozadat o opakovane zaslani (treba TCP/IP komunikace s ACK) 2. Dopredna korekce - snaha chyby opravit pri prenosu, ruzne varianty a kody - treba Hamminguv kod je samoopravujici... - pouziti v nespolehlivych kanalech, kde je pomale/drahe posilat data znov - v jednosmernem kanalu, protoze neni zpusob jak dostat ACK - na streamu Mechanismy zpracovani pri nalezeni chyby a pokusu ji opravit: 1. Automatic Repeat reQuest (ARQ) - v pripade nalezeni chyby je zdroj pozadan o opakovani prenosu 2. Stop and Wait ARQ: - po odeslani dat zdroj ocekava ACK - pokud ACK nedorazi do timeout -> posilani se opakuje - nevyhody - potvezeni se muze jen ztratit -> posilam stejna data dvakrat, neefektivni pro kanaly se zpozdenim nebo pomale, protoze vzdy cekam na ACK a putuje vic zprav najednou - lze resit cislovanim ramcu a ACK 3. Go-Back-N ARQ: - je to stop and wait metoda, ktera ale neposila po jednom paketu, ale zaroven jich posle az N a pak ceka na N potvrzeni, - N potvrzeni rika, ze adresat ma vsechno prijato az po N-ty paket - jakmile zdroj dostane N potvrzeni -> pokracuje od N+1 do 2N paketu... - ALE pri nalezeni chyby se VSECHNO od posledniho potvrzeni ZAHODI a odesila se znovu 4. Selective Repeat - vylepseni Go-Back-N metdy tak, ze se v pripade chyby odesle pouze jeden errorovy paket a ne cely jeho balik - prijemce uchovava vsechny dobry paket a stranou drzi pole chybovych co nedorazily a ocekava, ze jeste pridjou - pak posila potvrzeni ze dostal treba jen M paketu a ne N, - podle poradoviho cisla prijimac posle potvrzeni ktere obsahuje poradove cislo prvniho chybneho ramce - zdroj podle prichoziho potvrzeni bud normalne p[okracuje dal nebo posila chybove pakety znovu
64
Typy propojeni dvou uzlu z pohledu cesty mezi nimi
1. Prepinani okruhu (circuit switching) - klasicka telefonie, rozhlas, TV... - mezi zdrojem a prijemce existuje fyzicka prima, souvisla cesta (roura), komunikace probiha v ni v realnem case jako tok dat - data se nehromadi, nemichaji se - vhodne pro kontinualni prenosy dat - nemusime explicitne adresovat data - protoze je to spojeni 1:1 ktere se vytvori jednou a pak je zajisten prijemce - jde o tzv spojovanou sluzbu - tedy pred komunikaci se musi otevrit spojeni, mechanismus ridi tok dat kanalem, pri promichani paketu se daji obnovit 2. Prepinani paketu (packet switching) - treba emaily - mezi prijemce a zdrojem neni zadna cesta - poslane pakety jenom odesleme jako do prostoru a prestupni body si je preposilaji - postupne predavani zasilky az nakonec se dorucena prijemci - prestupni uzly prijmou cely blok a preposlou ho dal - neni to v realnem case - musi existovat explicitne adresa kazdeho paketu - jde o tzv nespojovanou sluzbu - tedy neexistuje spojeni mezi dvema, jednotlive pakety jsou odeslany v siti a zpracovavany nezavisle na sobe, mohou se do cile dostat ruznymi cestami a promichat se
65
Propojeni distribuovanych systemu
Je spojeni siti mezi sebou aby mohly komunikovat Dva pristupy: 1. Uple prime fyzicke propojeni (zbourat zed mezi mistnostmi) 2. Dat mezikrok ktery bude predavat informace ze site A do site B (navrtat otvor ve zdi) Propojovaci prvek muze pracovat na vsech 7 vrstvach podle jeho chytrosti a podle toho se i pojmenovava Propojovaci prvek vyssich vrstev musi rozumet protokolum sebe a vsech nizsich vrstev a jeho vliv na vyssi vrstvy je v podstate transparentni. 1. Fyzicka vrstva - opakovac, rozbocovac - repeater - nejhloupeis, pouze opakuje prijimany signal - co slysim -> to poslu - umi prevadet fyzicke vrstvy (kabel na opticky vlakno atd...) - nicemu nerozumi, opakuje i to nemusi, zpozdeni... - nerozpozna adresu, nema zadne informace, nic - ke vsem bitum se chova uplne stejne 2. Linkova vrstva - most (bridge), prepinac (switch) - snazi se oddelit komunikaci v propojovanych segmentech - mosty spojuji 2 segmenity, prepinace pracuje s vice zaroven - uz musi znat adresy odkud-kam, pomoci MAC adres - zna protokoly spojove vrstvy - filtruje a cilene predava - tedy filtruje lokalni zpravy a cilene predava pouze takove ramce, ktere nejsou lokalni ale musi se predat dal - posila pouze potrebne ramce a pouze cilene mezi adresami a ne vsem zaroven - je to chytrejsi opakovac, ktery ale opakuje jen tam, kam ma a jen to, co ma - uz ale nepracuje v real time, protoze musi nejdriv data nacist do bufferu a pak az je preposilat - zpozdeni 3. Sitova vrstva - smerovac (router) - pracuje s IP adresami - podle adres paket smeruje k cili - musi znat topologii site - tedy znat komu to preposlat - ma udaje o ste v smerovaci tabulce - ktera uchovava informace o adresach a updatuje se - podle IP adresy se umi propracovat na MAC adresu, se kterou pak pracuji nizsi vrstvy - neni real-time 4. Aplikacni vrstva - brana (gateway) - alespon castecne rozumi vsem prenasenym datum - ma i bezpecnostni prvky - muze propojovat systemu s jinymi architektury nez OSI - treba MS Teams ma jinou technologii protoklu nez telefonni linka, ale presto mi brana umozni volat z MS Teams na nekoho mobilni telefon - je to v podstate chytrejsi brana mezi ruznymi architekrutami
66
Zakladni modely prenosu dat z pohledu vztahu dvou uzlu
1. Klient - Server - komunikace mezi dvema uzly distribuovaneho systemu - role se mohou dynamicky menit - Server poskytuje sluzby Kleintovi - sluzby jsou potvrzavany i nepotvrzovany - klient posle zadost na server -> server ji zpracuje -> posle odpoved (pripadne i potvrzeni) 2. Producent - Konzument - komunikace mezi jednim produkujicim (vysilajicim) uzlem a vice posluchaci - vetsinou nejaky broadcast do prostoru a je mi jedno kdo me posloucha jestli vubec neco - tedy bez potvrzeni - producent posle zadost (nejaka zprava) broadcastem vsem posluchacum a konzumenti si to zpracovavaji uz sami bez potvreni
67
Ethernet
- vznikl v 70. letech - ruzne varianty fyzicke vrstvy (neni bezdratovy) - klasicky ethernet - koaxialni tlusty kabel na ktery se napojuji uzly - nebo optickle vlakno - tenky koaxialni kabel - nebo stromovita struktura s hvezdicovou spolu - krouceny par pro kazdy podstrom - ... Linkova vrstva se sklada z MAC (CSMA-CD, Token Ring, Wireless LAN,...) a LLC - podvrstva MAC CSMA-CD se snazi opakovat chybne pakety pod nejaky counter, pokud se to nepovede do timeoutu counteru tak se paket zahodi - MAC ramec: [ preambule] - slouzi k synchronizaci prijimace [start delimiter] - posloupnost bitu pro rozpoznani zacatku ramce [ cilova adresa] [ globalni adresa] [ delka ramce, padding, red. data...] Propojeni v Ethernetu: 1. Opakovac - viz vyse, - rozbocovac - analogii opakovace se strukturovanou kabelazi - pracuje s vetsim poctem portu naraz - nizka cena - musi byt stejna prenosova rychlost vsech segmentu - propojuje i ruzne fyzicka vedeni 2. Most a prepinace - viz vyse analogicky