====== 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