====== Přenos dat, počítačové sítě a protokoly ======
[[switch]]
===== Správa chyba na úrovní paketů =====
==== Jmenuj a vysvětli aspoň tři chyby paketů! ====
  * Ztráta
  * Ztráta fragmentovaných dat
  * Duplikace
  * Vložení
  * Změna pořadí
==== Jaké znáš techniky znovu zasílání paketu? ====
  * Go-Back-N
  * Selektivní znovu zaslání
  * SMART
==== Uvažujme prostor sekvenčních čísel, který používá IP, maximální rychlostí linky 2 Mbps, T = A = 500 ms. Jaké je v tomto scénáři největší povolené MPL pro pakety velikosti 40 B? ====
2//n// > (2//MPL//((**M**aximum **P**acket **L**ifetime)) + //T//((Maximální doba, po kterou je odesilatel vyčkávající na potvrzení schopen mít paket připravený k znovuzaslání)) + //A//((Maximální doba, po kterou se příjemce může zdržet před zasláním potvrzení))) · //R//
//R// = 2 Mbps / 40 B = 6250 s
232((Pro TCP/IP je //n// = 32)) = (2//MPL// + 0.5 + 0.5) · 6250\\
232 = (2//MPL// + 1) · 6250\\
232 = 12500//MPL// + 6250\\
//MPL// = (232 - 6250) / 12500\\
//MPL// = 343597 s
==== Odesilatel zaslal pakety se sekvenčními čísly 10 až 15, příjemce odpověděl NACK pro paket s číslem 12. Jak se zachová odesilatel, pokud bude používat algoritmus Go-Back-N a jak v případě selektivního znovu zaslání? ====
  * **Go-Back-N**: Při detekci ztráty paketu se znovu zasílá celé chybykontrolující okno (všechny pakety, které se v něm nacházely).
  * **Selektivní znovu zasílání**: Pomocí bitové masky dává příjemce odesilateli vědět, které pakety z aktivního chyby-kontrolujícího okna dorazily v pořádku a které nikoli. Zasílány jsou jen ty pakety, které se ztratily.
>  jinak to s tim NACKem je trap, ze?
>  v go-back-n se posila ack, v selektivnim se posila kumulativni ack
===== Multicast =====
==== Jaké známe typy aplikačního multicastu podle směru komunikace? ====
  * **One-to-Many**: 1 zdroj, >1 cíl (VoIP, VoD)
  * **Many-to-Many**: >1 zdroj, >1 cíl (distribuované výpočty)
  * **Many-to-One**: >1 zdroj, 1 cíl (aplikace ve finančnictví/pojišťovnictví hromadný sběr dat)
==== Jaký je ROZSAH multicastových adres v IPv4? ====
Adresy třídy D (''224.0.0.0/4'')
==== Jaké známe tři typy DOSAHu multicastových adres v IPv4? ====
^  Dosah  ^  Adresy  ^  Příklady  ^
|  Lokální  |  ''224.0.0.0/24''  | OSPF, RIP, EIGRP, PIM, IGMP, mDNS  |
|  Globální  |  ''224.0.1.0/24''\\ ''224.0.2.0''--''238.255.255.255''  |  NTP, RSVP, Nokia, Cisco-RP, NQDS*  |
|  Administrativní  |  ''239.0.0.0/8''  |  Interní použití  |
==== Jak poznáme multicastovou MAC adresu? ====
První tři oktety ''01:00:5E''
==== Co je problém 32-to-1 overlapping? ====
IP adresy se stejnými 23((Prvních 9 se zahazuje.)) bity se mapují na stejnou MAC adresu.
==== Jaký port má na L4 vrstvě vyčleněn protokol IGMP? ====
IGMP messages are carried in bare IP packets with IP protocol number 2. There is no transport layer used with IGMP messaging.((http://en.wikipedia.org/wiki/IGMP#IGMPv3_packet_structure))
> Port naní protokol! Buď je to chyták, nebo překlep.
==== Jak se liší v IGMP Membership Query varianta General Query od varianty Group-Specific Query? ====
Membership Query podle adresy rozdělen na **General Query** (Group Address nastaveno na ''0.0.0.0'') a **Group-Specific Query**.
==== Jak se zachová směrovač, pokud dostane zprávu IGMP Leave Group? ====
Upon receipt of the Leave Group message, the router sends a series of group-specific queries for the host group. If no host responds to the group-specific queries, the router determines that there are no more members of that host group on that particular subnet and removes the entry from the IGMP interface group table.((http://technet.microsoft.com/en-us/library/cc957916.aspx))
==== Jak nakládá s multicastovým rámcem „hloupý“ přepínač? ====
Broadcast
==== Kdo je v případě CGMP ve vztahu klient-server klientem a kdo serverem? ====
router = server, switch = klient
==== Jmenujte tři unicastové a tři multicastové směrovací protokoly! ====
  - [[wp>OSPF]]
  - [[wp>EIGRP]]
  - [[wp>IS-IS]]
  - [[wp>MOSPF]]
  - [[wp>DVMRP]]
  - [[wp>PIM]]
  - [[wp>M-BGP]]
==== Co je to SPT a jak ho lze v daném grafu vybudovat? ====
[[wp>Shortest path tree]]
Acyklický spojitý faktor grafu s nezáporně ohodnocenými hranami, kde cesta mezi kořenovým uzlem a všemi ostatními uzly je nejmenší možná. Abstraktní stromová struktura, kde mezi dvěma body existuje jediná, a to nejkratší cesta.
[[wp>Dijkstra's algorithm|Dijkstrův algoritmus]] / [[wp>Floyd–Warshall algorithm|Floyd-Warshallův algoritmu]]
==== Vyjmenujte oba druhy distribučních stromů a k nim výhody a nevýhody, jež s nimi souvisí! ====
  * **(S, G) -- source trees/zdrojové stromy**
    * Pro každý zdroj multicastového provozu je vybudováván SPT ke všem jeho příjemcům se zdrojem jakožto kořenem stromu.
    * Nejkratší cesta = nejmenší zpoždění.
    * Paměťově náročné -- pro každý zdroj vlastní strom
  * **(*, G) shared trees (sdílené stromy)**
    * Existence nějakého společného bodu (tzv. rendezvous pointu RP) v topologii sdružujícího provoz od zdrojů multicastu, od kterého (jakožto kořene) je pak vybudován SPT k příjemcům.
    * Suboptimální cesta může být příčinou zpoždění
    * Lépe škáluje provoz od více stejných zdrojů
    * Paměťově méně náročné
==== Jakou metriku používá DVMRP? ====
Počet hopů
==== Co je RPF a proč je tak důležitý? ====
[[wp>Reverse path forwarding]]
Princip zajišťující, že se při směrování multicastu eliminují smyčky.
==== Popište směrování příchozího multicastového paketu na směrovači s přihlédnutím k RPF! ====
  - Zdroj dat multicastové skupiny je ověřen vůči unicastové směrovací tabulce
  - Zjistí se, jestli rozhraní leží ve směru zdroje dané multicastové skupiny, jestli:
    * ANO -- rozhraní je označeno jako "Incoming" nebo "RPF"
    * NE -- rozhraní není nijak označeno nebo jako "non-RPF"
  - Směrování multicastového paketu je pak rozhodnuto podle označení rozhraní, ze kterého přišel, jestli:
    * "RPF" rozhraní -- paket je směrován dál
    * "non-RPF" rozhraní -- paket je zahozen
==== Vyberte si tři libovolné zprávy PIM a popište je! ====
  * **Hello** -- PIM-DM uses Hello messages to detect other PIM routers. Hello messages are sent periodically on each PIM enabled interface.
  * **Prune**, **Join**, **Graft** -- **Prune** messages are sent toward the upstream neighbor for ''S'' to indicate that traffic from ''S'' addressed to group G is not desired. In the case of downstream routers ''A'' and ''B'', where ''A'' wishes to continue receiving data and ''B'' does not, ''A'' will send a **Join** in response to ''B'''s **Prune** to override the **Prune**. This is the only situation in PIM-DM in which a **Join** message is used. Finally, a **Graft** message is used to re-join a previously pruned branch to the delivery tree.
[[rfc>3973|RFC 3973]]
==== Jmenujte dva módy činnosti PIM, čím se od sebe liší a v jakých topologiích byste ten který nasadili? ====
  * **Dense (hustý) mód**
    * Pracuje inkluzívním přístupem.
    * Pravidelně zaplavuje celou síť multicastovým provozem, přičemž ty části stromu, na kterých nejsou žádní odběratelé, explicitně kořen upozorňují, aby jim nic nezasílal.
    * Každé 3 minuty.
    * Používá jen (S, G) stromy, které jsou budovány __od zdroje až k příjemcům__.
    * Vhodný do topologií s jedním zdrojem multicastu.
  * **Sparse (řídký) mód**
    * Pracuje exkluzivním přístupem.
    * Strom je budován podle poptávky příjemců, kteří kořen explicitně upozorňují, že mají zájem odebírat data z nějaké multicastové skupiny.
    * Pracuje s oběma typy distribučních stromů:
      * Zdrojové stromy jsou budovány __od zdrojů k RP__((Rendezvous point)).
      * Sdílené stromy pak __od RP k příjemcům__.
    * Používáme v topologiích s více zdroji multicastu.
    * PIM-SM nefunguje, pokud všichni neznají RP!!!
==== Jakou informaci musí směrovač mít, pokud chce používat PIMSM? ====
Rendezvous point
===== Architektura směrovačů =====
==== Jaké jsou základní funkce směrovače? ====
Směrování a přeposílání paketů.
==== Jaké jsou základní stavební prvky (funkční moduly) směrovače? ====
  * Síťové rozhraní (network interface)
  * Přepínací modul FE (forwarding engine)
  * Správa front (queue manager)
  * Správa provozu (traffic manager)
  * Propojovací deska, sběrnice (backplane)
  * Procesor pro směrování (route control processor)
==== Co je to kontext paketu a k čemu se používá? ====
  * Datová struktura obsahující informace o zpracovávaném paketu.
  * Vytvořena při vstupu paketu do zařízení.
  * Informace se postupně doplňují.
  * Paket uložen během zpracování v paměti.
  * Mezi moduly předáván kontext paketu.
  * Po vyplnění směrovacích informací v kontextu paketu je paket přenesen ze vstupního bufferu do výstupního bufferu.
  * Ingress interface number
  * Ingress interface type
  * Ingress L2 information
    * Source MAC address
    * Dest. MAC address
  * L3 information
    * Source IP address
    * Dest. IP address
    * Protocol type
    * DSCP (QoS)
    * Dest. port (TCP/UDP)
    * Source port (TCP/UDP)
==== Jaký je rozdíl mezi sdílenou a přepínanou sběrnicí u směrovače? ====
  * sdílená (shared) -- pouze jedna cesta v čase
  * přepínaná (switched) -- umožňuje paralelní přenos
==== Jaké znáte typy architektur směrovačů? Stručně je popište. ====
=== Architektura se sdíleným procesorem (Shared CPU) ===
  * Architektura podobná klasickým počítačům
    * Procesor s pamětí
      * Implementace fukčních modulů: přepojovací modul FE, správce front, správce provozu, zpracování L2/L3, směrování, správa a monitorování
    * Přídavné karty propojené sdílenou sběrnicí (backplane)
      * Sdílejí procesor i sběrnici
    * Nízký výkon -- použití pro menší sítě
    * Propustnost < 0.5 Gb/s
=== Architektura se sdílenými moduly pro přeposílání (Shared Forwarding Engine) ===
  * Paralelní zpracování paketů
    * Může docházet k přeskládání paketů
    * Přeskládání způsobuje zpomalení TCP spojení
  * Řešení přeskládání
    * Každý tok zpracován ve stejném modulu FE
  * Rozšiřitelná architektura
    * Lze přidávat moduly FE
  * Slabým místem sdílená sběrnice (shared backplane)
    * Možné nahradit přepínanou sběrnicí (switched backplane)
  * Propustnost < 5 Gb/s
=== Distribuovaná architektura (Shared Nothing) ===
  * Oddělení procesu směrování a přeposílání
    * Směrování probíhá na obecném procesoru
    * Při aktualizaci směrovací tabulky se změny přenesou i do přepínací tabulky
  * Propustnost směrovače až 640 Gbps
  * Rozšiřování omezeno počtem slotů pro síťové moduly
  * Páteřní přepínače
    * Velký počet portů pro připojené sítě
    * Rychlost optických sítí i 2.4 Gbps (OC-48)
=== Modulární propojení směrovačů (Clustered Architecture) ===
  * Několik směrovačů připojených k centrálnímu přepínači
  * Síťové moduly umístěny ve více chassis
    * Centrální přepínač
    * Propojení pomocí vysokorychlostních optických linek
  * Klastr se chová se jako jeden směrovač
    * Přepínání paketů probíhá mezi síťovými moduly v různých chassis
  * Důraz na redundanci a zálohování
    * Záložní přepínač (single point of failure)
==== Které operace jsou časově kritické na směrovači (Fast Path)? ====
  * Zpracování hlavičky IP
  * Přeposlání paketu
  * Klasifikace paketu
  * Uložení do front, plánování
==== Které operace nevyžadují přednostní zpracování (Slow Path)? ====
  * Zpracování ARP
  * Fragmentace a defragmentace
  * Pokročilé zpracování IP paketu
  * Správa a monitorování sítě -- SNMP
  * Zpracování směrovacích paketů keep-alive
  * Aktualizace směrovacích informací
==== Čím se liší distribuovaná architektura od architektury se sdílenými jednotkami FE (přepínací modul)? ====
  * Jednotka FE přemístěna na síťovou kartu
  * Každý funkční modul implementován v hardware
    * Specializované technologie ASIC a FPGA
    * Propojení hw komponent rychlými sběrnicemi
  * **Zpracování paketů přesunuto do síťového modulu**
==== Popište průchod paketu směrovačem u architektury se sdíleným procesorem, se sdílenými jednotkami FE a u distribuované architektury. ====
  - Příchod paketu -- přerušení CPU
  - Přenesení paketu do paměti po sdílené sběrnici (backplane)
  - Zpracování L2/L3 hlaviček v procesoru
  - Určení výstupního rozhraní ve FE
  - Paket zařazen do fronty správcem front
  - Paket zpracován správou provozu
  - Paket přenesen z paměti na výstupní rozhraní a odeslán
----
  - Po příchodu paketu zpracovány hlavičky a vytvořen kontext
  - Paket uložen do paměti na síťovém modulu
  - Kontext a IP hlavička přenesy a zpracovány v modulu FE
    * Použití přepínací sběrnici (forwarding backplane)
    * IP hlavička použita ke směrování
    * Nalezené informace uloženy do kontextu
  - Informace poslány zpět na vstupní síťový modul
  - Paket předán sdílenou sběrnící výstupnímu síťovému modulu
  - Paket uložen správcem fronty do paměti
  - Po zpracování správcem provozu odeslán na výstup
----
  - Paket vstoupí do síťového modulu, zpracování hlaviček L2/L3
  - Paket uložen do paměti, kontext poslán jednotce FE
  - Přepínací modul FE určí výstupní rozhraní
    * Provede se klasifikace paketu -- stanovení třídy provozu
    * Třída provozu uložena v kontextu paketu
  - Paket přenesen do paměti výstupního síťového modulu
  - Paket naplánován k odeslání správcem provozu
  - Přidání výstupních hlaviček, paket odeslán