====== N-AP12 ======
====== Zadání ======
Správa sítí, směrování, směrovací protokoly. Firewalls, řízení přístupu.
====== Správa sítí ======
Principem správy sítí je monitoring jednotlivých prvků a analýza výsledků.
* Reaktivní řízení - reakce na problémy
* Proaktivní - detekce možnosti vzniku problémů a předcházení jim
**Dle ISO je rozdělení správy sítě na:**
* Správa výkonu (SNMP)
* Správa chyb (SNMP traps)
* Správa konfigurací (často proprietární)
* Správa účtování (detekce uživatelů)
* Správa bezpečnosti (autorizace, ochrana před zneužitím)
**SNMP (Simple Network Management Protocol)**
Rozlišuje se mezi stranou monitorovanou (hlídaný systém) a monitorovací (sběrna dat).
Tyto strany mohou běžet buď odděleně na různých fyzických strojích, nebo v rámci jednoho stroje.
__SNMP operace__ - označuje komunikaci mezi agentem a manažerem
__Monitorovaná strana__ (hlídací systém)
* spuštěn agent
* operativně shromažďuje informace o stavu systému (zařízení)
* Agent zajišťuje realizaci reakcí na požadavky manažera.
__Monitorovací strana__ (sběr dat)
* spuštěn manažer
* manager vznáší požadavky agentovi, zpravidla na zaslání požadovaných informací (zpráv)
* Získaný obsah zpráv se může dále různým způsobem zpracovávat (tabulky, grafy, …)
__SNMP TRAP__ - past na události, jde o konfiguraci agenta, kdy agent může zaslat manažerovi informace (SNMP MESSAGE) automaticky bez jeho požadavku.
* K tomu dojde zpravidla potom, kdy byla splněna předem definovaná podmínka (výpadek, kolize, dosažení hraniční hodnoty, ...), agent nečeká na odpověď.
**Ostatní:**
* SNMP používá pro komunikaci UDP protokol, díky čemuž je velmi rychlé, ale může dojít ke ztrátě (nedoručení) zasílané informace (paketu). Od verze 2 je implementována kontrola doručení.
* Slouží k získávání a nastavování hodnot na zařízeních
* Základem SNMP je definice objektů. Např. COUNTER – čítač paketů rozhraní, INTEGER – index rozhraní atd. Tyto informace jsou pak sdruženy do modulů.
* Jazyk pro definici dat se nazývá SMI.
* SNMP funguje na principu request – response, kdy řídící subjekt vydá požadavek, ten je přenesen řídícímu agentu spravované entity a následně je zpět přenesena odpověď.
* Má tři verze: druhá obsahuje navíc autentizaci a třetí šifrování. Nejvíce zařízení podporuje druhou verzi.
====== Směrování ======
Směrování (routing) označuje určování cest datagramů v prostředí počítačových sítí. Směrování zajišťují nejen routery, ale i koncové stanice (při vysílání) a jeho úkolem je doručit datagram (resp. paket) adresátovi, pokud možno co nejefektivnější cestou. Směrování zajišťuje síťová vrstva modelu ISO/OSI a je využíváno v lokálních sítích LAN i na Internetu, kde jsou dnes směrovány zejména IP datagramy. Síťová infrastruktura mezi odesílatelem a adresátem paketu může být velmi složitá, a proto se směrování zpravidla nezabývá celou cestou paketu, ale řeší vždy jen jeden krok, tj. komu datagram předat jako dalšímu. Pakety prochází řadou směrovačů. Směrování může být statické i dynamické.
===== Směrovací tabulka =====
__Směrovací tabulka__ obsahuje informace, které jsou nutné při rozhodování o směrování.
__Záznamy__ jsou ve směrovací tabulce rozděleny do řádků, přičemž každý obsahuje jednu směrovací informaci.
Řádky jsou seřazeny od nejkonkrétnějších (nejdelší maska sítě) po nejobecnější (kratší maska sítě), přičemž posledním záznamem je generalizovaný odkaz (implicitní brána) na nejbližší router, kterým v případě sítí používajících TCP/IP „vede cesta do Internetu“ (anglicky default gateway).
__Každý záznam__ (tj. řádek) ve směrovací tabulce obsahuje několik informací (ne nutně v uvedeném pořadí, typicky bývají zaznamenány další údaje, které nejsou pro výklad nezbytně nutné, tabulka je pro IP sítě):
- **cíl (Network Destination)** – obsahuje číslo cílové podsítě, pro kterou je záznam v tabulce proveden ve formátu IP adresy (např. 10.0.0.0)
- **maska podsítě (Netmask)** – maska ve spojení s číslem podsítě vymezuje rozsah IP adres, pro které je záznam platný (např. 255.255.255.0)
- **brána (Gateway)** – IP adresa routeru, kterému má případně být IP datagram předán (není vyplněno v případě, že je podsíť přímo dosažitelná, tj. nachází se přímo za v záznamu uvedeným rozhraním)
- **síťové rozhraní (Interface)** – skrze které síťové rozhraní je nutné IP datagram odeslat, pokud záznam odpovídá hledanému cíli
===== Statické směrování =====
Při statickém (též neadaptivním) směrování nejsou za běhu počítače záznamy ve směrovací tabulce nijak měněny. Může je do ní zapsat správce počítače (typicky podle údajů poskytnutých správcem příslušné počítačové sítě) nebo jsou do tabulky zapsány při startu počítače. Záznamy mohou být uchovány v konfiguračním souboru (v Microsoft Windows pak v registrech) nebo poskytovány například pomocí protokolu DHCP.
Statické směrování typicky používají koncové stanice nebo routery v malých počítačových sítích (LAN), protože záznamy není nutné v průběhu činnosti zařízení měnit a nebo proto, že jsou záznamy jednoduché.
* známe topologii
* existuje centrální směrovací tabulka, bývá zpracovávána "ručně" off-line. Díky tomu může být optimální pro danou topologii vzhledem k zadaným kritériím
* výhodou je jednoduchost, nevýhoda je vyšší citlivost na výpadky v síti a zátěž
===== Dynamické směrování =====
Dynamické (adaptivní) směrování průběžně reaguje na změny v počítačové síti (přidávání nebo odebírání podsítí) a přizpůsobuje jim obsah směrovací tabulky. Podle způsobu, jakým si jednotlivá zařízení vyměňují informace o změnách v počítačové síti, lze dynamické směrování rozdělit do několika základních skupin (které se vzájemně prolínají a kombinují). Pro distribuci těchto informací mezi směrovači se používají různé směrovací protokoly (viz níže).
* adaptabilní na výpadky
* realizováno složitými algoritmy
* dynamické periodické výměny tabulek (dochází k dočasné nekonzistenci)
* hierarchie směrování
**Směrovací schémata mohou být:**
* **Distribuovaná** vs. centralizovaná
* "**Krok za krokem**" vs. zdrojová
* **Deterministická** vs. stochastická
* **Jednocestná** vs. vícecestná
* **Dynamická** vs. statický výběr cest
... a **Internet** je... červený :-)
===== Směrování v Internetu =====
Jelikož jsou rozměry Internetu obrovské, je v něm směrování realizováno hierarchicky. Celý Internet je rozdělen na autonomní systémy //(Autonomous System, AS)//. Autonomní systém je část sítě s jednotnou směrovací politikou vůči zbytku Internetu. Typickým příkladem je síť jednoho poskytovatele připojení do Internetu a jeho připojených zákazníků. Uvnitř autonomního systému se typicky používá směrovací protokol [[http://en.wikipedia.org/wiki/Interior_Gateway_Protocol|IGP]] //(Interior Gateway Protocol)//. Předávání směrovacích informací mezi autonomními systémy řeší směrovací protokol [[http://en.wikipedia.org/wiki/Exterior_Gateway_Protocol|EGP]] //(Exterior Gateway Protocol)//.
**Používané směrovací protokoly**
* __RIP__ (Routing Information Protocol)
* velmi jednoduchý
* v malých sítích (max.15 skoků)
* všechny routery broadcastují to, co znají (na počátku jen okolní sítě)
* __OSPF__ (Open Shortest Path First)
* ve velkých sítích (provideři)
* autonomní systémy
====== Směrovací protokoly ======
**Funkce**
* výběr komunikační cesty na základě daných kritérií (propustnost, zpoždění)
* vlastní doručení dat
**Vlastnosti**
* Správnost
* Jednoduchost
* Robustnost
* Stabilita
* Spravedlivost
* Efektivnost
* Optimálnost
**Výkonnostní kritéria**
* minimalizace počtu skoků (hops) přes aktivní prvky
* minimalizace „ceny“ cesty
===== Statické algoritmy =====
* jednorázové tabulky (často ručně vytvořené)
* neflexibilní, hodí se pro statickou topologii
* lze je dobře optimalizovat
===== Dynamické algoritmy =====
Jsou dostatečně flexibilní a robustní, potřebují protokol pro zajištění aktualizace směrovacích tabulek. Dělí se na:
* **centralizované** - směrovače zasílají informace o stavu okolní sítě do jednoho centra. Řídící centrum sestavuje mapu sítě, vypočítá směrovací tabulky a rozesílá je směrovačům. Z pohledu směrovače je tento přístup velmi jednoduchý (pošle hlášení a za chvíli dostane směrovací tabulku). Navíc centrum má k dispozici kompletní mapu sítě, takže dokáže globálně určit optimální tabulky. Hlavním problémem centralizovaného přístupu je špatná škálovatelnost, protože zatěžuje přenosové kapacity sítě režijním provozem tím více, čím větší je obsluhovaná síť. Velikost sítě, kterou lze takto směrovat, je proto omezená. Dílčí problém představuje i synchronizace tabulek – směrovače poblíž centra je dostávají dříve. Centralizované směrování se proto nedočkalo širšího uplatnění.
* **distribuované** - Informace o změnách se předávají postupně mezi sousedními směrovači, až se rozšíří do celé sítě. Tento přístup je dostatečně pružný a robustní, aby zvládl i dost rozlehlé sítě. Skutečnost, že Internet stojí na distribuovaných algoritmech, je nejlepším vysvědčením životaschopnosti tohoto konceptu. Konkrétní přístupy a mechanismy se výrazně liší. Nejvýznamnějšími představiteli distribuovaných protokolů jsou: **RIP, OSPF, BGP**.
* **hierarchické** - Řeší problém rozlehlých sítí a neúměrné velikosti směrovacích informací tím, že síť rozdělují do několika relativně samostatných oblastí (autonomních systémů). Záplavové informace o změně v topologii sítě se šíří pouze v rámci oblasti. O výměnu souhrnných informací mezi oblastmi se starají hraniční směrovače (propojující jednotlivé oblasti mezi sebou). Jedna oblast tedy dostává o ostatních oblastech pouze souhrnné informace (s agregovanými prefixy). Tento způsob nabízí např. protokol **OSPF**.
* **izolované** - řešeno metodou náhodné procházky, vyžaduje zpětnou vazbu, šíření tabulek broadcastem = vysoká zátěž sítě
==== Směrování Distance Vector ====
* Předpoklad: každý směrovač zná pouze cestu (adresa) a cenu (hrana) k sousedům
* Cíl: směrovací tabulka pro každý cíl v každém směrovači
* Idea: oznam sousedům svou představu tabulky
* Distance Vector = dvojice
* využívá Bellman-Fordův algoritmus
* inicializace -- sousedé se známou cenou, zbývající uzly mají cenu nastavenu na nekonečno
* Periodické zasílání kopií DV sousedům
* Problém zacyklení (při výpadku hrany) řešen //dělením horizontu//, směrovač nikdy nesděluje cestu zpět k uzlu, od nějž se ji dozvěděl
* Typický zástupce: RIP (Routing Information Protocol)
==== Směrování Link State ====
* Stejný předpoklad a cíl jako u DV
* využívá Dijkstrův algoritmus
* Idea: šíří se topologie, cesty si směrovače počítají samy
* Pracuje ve dvou krocích
- šíření topologie (broadcast)
- výpočet nejkratší cesty (Dijkstra)
* Typický zástupce: OSPF (Open Shortest Path First)
====== Firewally ======
Firewall představuje logické odpojení od Internetu, které v podstatě rozliší mezi vnitřní a vnější sítí. Provoz, který jím pak prochází filtruje na základě nějakých pravidel. Firewall může fungovat buď na úrovni paketů nebo na úrovni aplikací – aplikační brána. Příkladem takového zařízení je router s překladem adres (NAT), i když nejde přímo o firewall.
* Paketový firewall (packet filter) funguje na základě analýzy zdrojové a cílové adresy a portů a řídících dat. Umí např. zabránit podvržení adresy zvenčí, umí blokovat iniciaci spojení zvenčí, ale povolit iniciaci spojení zevnitř sítě atd. Analyzuje hlavičky každého datagramu
* Aplikační brána komunikuje přímo s uživatelovou aplikací – komunikace může být i transparentní. Příkladem je HTTP proxy nebo antivirový server pro kontrolu pošty. Kontroluje obsah datagramů
===== Řízení přístupu =====
* __VLAN__ (zkratka pro Virtuální LAN) - je logicky nezávislá síť v rámci jednoho nebo několika zařízení. Jde o dělení sítě už na úrovni 2. vrstvy ISO/OSI, v porovnání s podsítěmi na 3. vrstvě. Obvykle bývá realizována na zařízeních zvaných přepínač, jehož porty se rozdělí na několik logicky samostatných částí.
* __NAT__ (Network Address Translation) - je způsob úpravy síťového provozu přes router přepisem výchozí nebo cílové IP adresy, často i změnu čísla TCP/UDP portu u průchozích IP paketů
* __ACL__ (access control list (seznam pro řízení přístupu)) - seznam oprávnění připojený k nějakému objektu (např. souboru). Seznam určuje, kdo nebo co má povolení přistupovat k objektu a jaké operace s ním může provádět. V typickém ACL každý záznam seznamu specifikuje uživatele a jemu povolenou operaci.
====== Předměty ======
PA159 - Počítačové sítě a jejich aplikace I
PA160 - Počítačové sítě a jejich aplikace II
PV005 - Služby počítačových sítí
====== Vypracoval ======
Tomáš Hřebíček, 256479
Marek Menšík, 255679
====== Literatura a zdroje ======
~~DISCUSSION~~