N-INS 5. Počítačové sítě
Zadání: Základní pojmy, Principy, Architektury. Spojované a nespojované sítě, OSI model, Protokoly v prostředí Internetu. Směrování, základní služby počítačových sítí, správa a bezpečnost sítí.
Základní pojmy, Principy, Architektury.
Počítačová síť = souhrnné označení HW a SW prostředků pro komunikaci mezi počítači. Smysl = aplikace.
Architektura sítě = struktura, z jakých částí se skládá a jak spolupracují. Většina sítí je organizována ve vrstvách (s tím pak souvisí ISO/OSI model) a počet vrstev a jejich vlastnosti se liší síť od sítě.
Protokol = Pravidla komunikace (pokud je komunikace mezi dvěma uzly možná, komunikují spolu stejné vrstvy). Součástí protokolu je: Syntax (formátování dat, tvar signálových prvků), Sémantika (řídící informace, reakce na chyby) a Časování (rychlost přenosu signálů po médiu)
Multiplexing je metoda pro sdílení přenosového média mezi více signály, které jsou zkombinovány do jednoho a šetří tak vytížení drahého zdroje (Wave division, Time division multiplexing)
Paket
- data jsou rozdělena kvůli multiplexování
- délka paketu ovlivňuje chování sítě (menší ⇒ férovost, delší ⇒ výkon)
- fixní déka ⇒ stabilní kvalita)
Vlastnosti (Ideální vs. reálná síť)
Transparentní struktura pro aplikace (end-to-end) vs. reálná struktura
Propustnost (neomezená vs. limitovaná )
Zpoždění (0 vs na aktivních prvcích a při přenosu)
Rozptyl (Jitter) (0 vs vysoký)
Pořadí doručení
Poškození dat a výpadky
Topologie
Spojované vs. Nespojované sítě (Connection-oriented vs. Connectionless)
Jde o to, zda je na začátku ustanoveno spojení a jeho vlastnosti (cesta v síti, kvality) nebo se jestli může každý paket cestovat „podle svého“ (⇒ problémy s kvalitou).
Spojované
Spojované siete sa zväčša delia ešte na 2 podskupiny, a to podľa spôsobu ustálenia spojenia na:
Circruit switching
Ustanovení spojení/okruhu před vlastním přenosem dat.
častěji se jedná o spolehlivé sítě (potvrzení doručení, opakování přenosu při chybě)
využitie celej šírky pásma s konštantným oneskorením
pouze unicast
např. telefonní spojení, SONET
Virtual circruit (switching)
komunikácia operujúca nad paketmi
virtuálne spojenie ustanovené pred samotným prenosom dát
pakety sú usporiadané
protokol nemusí byť nutne spoľahlivý
napr. TCP,
Nespojované
menší overhead, umožňuje multicast a broadcast
pakety mají v hlavičce adresu a cestují „podle svého“, mohou dorazit v různém pořadí
OSI model
Abstraktní model standardizující oblast sítí a síťových protokolů. Je složen ze sedmi vrstev, každá má definovánou množinu vlastností a funkcí. Každá vrstva využívá služeb sousední nižší vrstvy a poskytuje služby sousední vyšší vrstvě.
Paralelou může být komunikace dvou manažerů ve firmě. Dopis musí projít až na nějnižší vrstvu - pošťáka, který jej doručí. Zároveň je nutné upravit obálku tak, aby ekvivalent ve druhé společnosti zprávě rozuměl.
Mnemotechnická pomůcka k pořadí vrstev: Please Do Not Tell Secret Passwords Anytime.
Aplikační – Poskytuje aplikacím přístup ke komunikačnímu systému (Telnet, SSH,
FTP, SMTP).
Prezentační – Transformuje data do tvaru pro aplikace (např. MIME).
Session – správa relací mezi aplikacemi. Ustavení, udržení a ukončení relace. (SSL, RPC, SIP).
Transport – Zajišťuje přenos dat mezi koncovými uzly, řeší spolehlivost a pořadí doručení (TCP, UDP).
Network – „Vrstva routerů“, směrování v síti a síťové adresování. Přenos paketů mezi různými sítěmi (nesousedí spolu). (IP)
Data Link (Spojová) – „Vrstva switchů“, poskytuje spojení mezi sousedními uzly na lokální síti. Rozděluje data z vyšších vrstev na rámce, které jsou sítí odesílány. Umí opravovat (kódováním) jednoduché chyby a hlásit neopravitelné. Je schopna logicky odělit dvě vedlejší sítě. Zajišťuje přístup k médiu, soupeření o něj. Protokoly jsou Ethernet, TDMA, CSMA, atd.
Physical – Definuje fyzikální vlastnosti signálu na médiu. (Manchester na Ethernetu)
- má na starosti multiplexing, prípadne aj circruit switching
- rieši synchronizáciu prenosu (formou kódovania)
- prenos pomocou analogových signálov (zmenou amplitudy, zmenou frekvencie) alebo digitálnych signálov (NRZ-L, manchester)
V internetové praxi se často používá de facto standard TCP/IP model, který má jen 4 vrstvy.
Protokoly v prostředí Internetu
IP (Internet Protocol)
Otevřený škálovatelný protokol síťové vrstvy. Zajišťuje dopravu dat mezi uzly. Určen pro velké sítě.
Dvě verze: IPv4 a IPv6
IPv4
Adresy jsou 32 bitové. Možný počet adres: 4 bil. Kdysi se přidělovaly tzv. adresní třídy1)
Třída | Bity na začátku (třída) | Formát ID sítě | Formát adresy v rámci sítě | Počet možných sítí | Počet adres v síti |
A | 0 | a | b.c.d | 27 = 128 | 224 = 16 777 216 |
B | 10 | a.b | c.d | 214 = 16 384 | 216 = 65 536 |
C | 110 | a.b.c | d | 221 = 2 097 152 | 28 = 256 |
V roku 1993 však byl systém tříd nahrazen mechanizmem Classless Inter-Domain Routing. Adresu můžeme zapsat ve tvaru např. 192.0.2.0/24
, kde číslo za lomítkem znamená, jak dlouhý prefix adresy (v bitech) identifikuje síť. Zbytek bitů lze použít k adresování v rámci sítě.2)
IPv6
Adresy jsou 128 bitové. Mělo by být dostatek adres, takže by nemělo být potřeba NATu. Příklad IPv6 adresy: fe80:0000:0000:0000:0202:b3ff:fe1e:8329
. Zápis jde zkracovat: fe80::202:b3ff:fe1e:8329
.3)
Charakteristiky IPv6
fragmentácia (rozdelenie paketu) možná už len v zdroji správy. V prípade priveľkého paketu je zdroju zaslaná správa Packet too Big (ICMPv6)
Neighbor discovery protokol - sčasti podobný ARP, okrem toho detekuje duplikácie adries a ponúka možnosť autokonfigurácie IPv6 adresy nového člena
Prevody medzi IPv4 a IPv6
ICMP (Internet Control Message Protocol)
Doprovází IP, slouží k zjišťování stavu sítě a k odhalení chyb při přenosu paketů.
ICMP zprávy: Destination unreachable, Redirect, TTL expired, Echo request/reply
TCP (Transmission Control Protocol)
= Spojovaná služba transportní vrstvy
žádné ztráty (potvrzuje zaslané zprávy)
PiggyBacking (potvrzení posílá spolu s dalšími daty)
zachovává pořadí paketů (čísluje)
pokud nedorazí paket, příjemce vyšle potvrzení o nedoručení a všechny následující pakety zahazuje
existuje několik různých implementací protokolu (Tahoe, Reno, Vegas – názvy dle měst v Nevadě :))
4 základní algoritmy
Pomalý start
congestion window (cwnd
), vysílající definuje objem dat, který smí být vyslán
receiver advertised window (rwnd
), příjemce definuje objem dat, který akceptuje
po každém potvrzení se zvyšuje cwnd
o jeden segment (512 B)
dochází k exponenciálnímu navyšování objemu posílaných dat až do ssthresh
, pak končí
Zábrana zahlcení
nárůst pouze lineární
cwnd
se zvyšuje o segment pouze za RTT
Round Trip Time – čas, jenž data potřebují na cestu mezi vysílajícím a přijímajícím a zpět)
Rychlá retransmise
Rychlé vzpamatování
jedná se o způsob, jak předejít návratu do fáze pomalý start po ztrátě paketů
posíláme více dat a čekáme na potvrzení, podle toho pak upravíme cwnd
Implementace TCP Reno, exponenciální část křivky = Slow start, lineární nárůst = Congestion avoidance, pokračování od hodnoty ~ssthresh
= fast recovery
UDP (User Datagram Protocol)
Nespojovaná, nezajištěná služba (odpovědnost za pakety nese aplikace) transportní vrstvy. Určená pro prostý přenos paketů. De facto je to rozšíření IP protokolu o informaci o portech.
IGMP (Internet Group Management Protocol)
Slouží k ustavení multicastové skupiny (analogie unicastového ICMP)
ARP (Address Resolution Protocol), RARP (Reverse ARP)
překlad IP adres (Network vrstva) na fyzické adresy (Data Link vrstva)
Směrování
problém nalezení cesty mezi dvěma uzly , která splňuje zadané omezující podmínky
Pakety prochází řadou směrovačů.
Síť je reprezentována jako graf. Uzly = prvky sítě, Hrany = komunikační linky. Ohodnocení hran = cena komunikace.
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
(Internet)
Směrovací schémata dle sémantiky doručení (komu)
Unicast – specifický uzel (dominantní způsob doručení, jinými se zde ani nezabýváme),
Broadcast – Všechny uzly v síti,
Multicast – Skupina uzlů, která projevila zájem o vysílání (spôsoby: source based tree – aktivita od zakladajúceho vs. core based tree – záujemca kontaktuje skupinu),
Anycast – nějaký uzel (nejbližší),
Geocast – uzly v geografické oblasti.
Statické směrování
známe topologii ⇒ lze dobře optimalizovat
existuje centrální směrovací tabulka, bývá zpracovávána „ručně“
jednoduché, ale citlivější na výpadky v síti a zátěž
Dynamické směrování
adaptabilní na výpadky, flexibilní a robustní
realizováno složitými algoritmy, které aktualizují tabulky
dynamické periodické výměny tabulek (občas dochází k nekonzistenci)
Dělí se na
Centralizované – stav se posílá do centra, které distribuuje tabulky, není robustní
Distribuované – uzly spolu vzájemně spolupracují (BGP, OSPF, RIP alg.), informace se postupně předává mezi uzly
Izolované – řešeno metodou náhodné procházky, vyžaduje zpětnou vazbu, šíření tabulek broadcastem ⇒ vysoká zátěž sítě (záplavový alg.)
Směrovací algoritmy (dynamické směrování)
vybírají cestu na základě daných kritérií (propustnost, zpoždění, minimalizace počtu skoků (hops) přes aktivní prvky, minimalizace „ceny“ cesty)
doručují data
požadované Vlastnosti: Správnost, Jednoduchost, Robustnost, Stabilita, Spravedlivost, Efektivita, Optimálnost
Distance Vector (rodina protokolů)
Směrovače znají na začátku pouze cestu a cenu k sousedům, ostatní uzly nekonečná cena, snažíme se aby všichni věděli vše
Distance Vector = dvojice <Cíl, Cena>
Směrovač periodicky informuje sousedy o změnách v topologii (rozesílá DV toho co zná ~ jeho představa o síti)
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
Tzv. princíp „Posielam susedom všetko, čo viem“
Link State (rodina protokolů)
Směrovače znají na začátku pouze cestu a cenu k sousedům, ostatní uzly nekonečná cena, snažíme se aby všichni věděli vše {stejné}
Směrovače informují všechny uzly v síti o změnách v topologii
Idea: šíří se topologie, cesty si směrovače počítají samy
Tzv. princíp „posielam všetkým len to, čo viem o mojich susedoch“
Pracuje ve dvou krocích
šíření topologie (broadcast)
výpočet nejkratší cesty (Dijkstra)
Hierarchie směrování v Internetu: V lokálních sítích a podsítích, V autonomních systémech (AS, jsou číslované identifikátorem přidělovaným ICANN), Mezi autonomními systémy, Páteřní směrování
Směrování v lokální sítí
na základě cílové IP adresy, IP adresy odesílatele a masky sítě odesílatele se prohledá routovací tabulka a najde se nejdelší prefix a packet se pošle na adresu příslušné brány.
Směrování uvnitř AS
- Autonomní systém (AS) je množina IP sítí a routerů pod společnou technickou správou, která reprezentuje vůči Internetu společnou routovací politiku.
- Na základě nějakého vnitřního routovacího protokolu (IGP) znají vždy všechny routery v autonomním systému nejkratší cesty do všech míst AS.
- Internet by teoreticky mohl tvořit jediný autonomní systém, ale routovací tabulky by pak byly příliš veliké a technicky těžko zvládnutelné. Proto je rozdělen na více autonomních systémů, mezi kterými se routuje pomocí BGP protokolu.
Směrování mezi AS realizují tzv. brány. (Viz BGP Protokol.)
Typy AS: Multihomed (udržuje spojení s více ISP pro případ výpadku, žádná tranzitní data), Stub (napojen na jen 1 ISP), Transit (pro připojování dalších ISP. Přijímá i data, která nejsou určena pro něj (otázka obchodu))
Protokoly dle hierarchie | Distance Vector | Link State | Path Vector | poznámka |
LAN | - | - | - | |
uvnitř AS (IGP) | RIP (Routing Information Protocol) | OSPF (Open Shortest Path First) | - | orientováno na výkon |
mezi AS | | - | BGP (Border Gateway Protocol) | orientováno na škálovatelnost a možnosti určování politiky |
OSPF
- Na hranicích OSPF area jsou zpravidla routery náležející jak do vnitřní sítě, kde používají OSPF (nebo I-BGP) tak ven, kde používají zpravidla BGP-4.
- používá Dijkstrův algoritmus pro nalezení cesty
BGP-4
Path Vector (rodina protokolů)
Základními operacemi BGP routeru jsou: Vysílání oznámení, Přijímání a filtrování oznámení, Výběr cesty.
Základem protokolu je zasílání oznámení („advertisements“), která obsahují adresu cílové sítě, atributy cesty a identifikaci next-hop routeru
Předpokládá se, že BGP peerové nelžou o tom co posílají – případně lze filtrovat, pokud by posílali nesmysly. Filtrují se také vlastní cesty pro případ vzniku cyklů.
Zasílání oznamů definuje administrátor systému a umožňuje mu řídít kam potečou data.
Peerování se vesměs realizuje nepsanými dohodami či smlouvami. Příkladem je NIX.CZ.
BGP peering se realizuje ustaveným TCP spojením na portu 179, může být i autentizované.
Routovací tabulka vnějšího BGP směrovače v současné době roste k 200 tis. záznamů.
Základní služby počítačových sítí
Informace
Komunikace (textové, hlasové, video, sdílení plochy a dat, …)
Distribuované výpočty a gridy. (buzzword „Cloud“, sdílení výkonu a prostoru)
Zábava
Některé konkrétní protokoly:
DNS – překlad IP adres na human-readable
DHCP – automatická konfigurace sítě
(s)
FTP, SCP – sdílení souborů v síti
SSH – Vzdálený přístup
Kerberos – autentizace
NTP (Network Time Protocol) – synchronizace času
SMTP, POP3 – email
pre hlbší opis protokolov vhodné pozrieť vypracovanie pre bakalárskych študentov: https://docs.google.com/file/d/0ByTydqeVhmJFLXJrQWN6S3dQdVU (str. 106 - aplikačné protokoly)
Správa sítí
= monitoring jednotlivých prvků a analýza výsledků.
Dle ISO se správa sítě dělí 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)
Přístupy ke správě
SNMP (Simple Network Management Protocol)
je součástí balíku protokolů „Internet Protocol Suite“
je určen pro správu zařízení na IP sítích, typicky routery, switche, servery, pracovní stanice, tiskárny, atd.
Vystavuje konfigurační proměnné monitorovaného zařízení
funguje na principu request – response:
řídící subjekt vydá požadavek,
ten je přenesen agentu spravované entity
a následně je zpět přenesena odpověď.
Bezpečnost
Klasickou kryptografickou úlohou je bezpečná komunikace po nezabezpečených kanálech.
Podrobnější pohled požaduje od kryptografických funkcí zabezpečení:
Utajení (Confidentality) -– kdy přenášeným informacím rozumí jen příjímající a odesílající subjekt.
Integrita (Integrity) –- kdy přenášená informace nemůže být nepozorovaně změněna.
Nepopiratelnost (Non-repudability) -– kdy odesílající subjekt nemůže popřít odeslání informace.
Autentizace – zjištění a prokázání identity buď příjemce nebo odesílatele informace.
Anonymita –- nemožnost spojit si činnost se subjektem, který ji provádí.
Nesledovatelnost -– nemožnost spojit si dvě různé akce jednoho subjektu.
Kryptografie v rychlosti
Obecně jsou kryptografické funkce matematické funkce, které lze rozdělit na skupiny:
Symetrická kryptografie
Stejný klíč pro šifrování i dešifrování.
Problém: distribuce klíčů.
Výhody: vysoká rychlost, malá délka klíčů
Typickými zástupci jsou AES, IDEA, 3DES. Dříve zejména DES.
Asymetrická kryptografie
Dvojice klíčů veřejný klíč/soukromý klíč.
Problémy:
Jak se přesvědčit, že veřejný klíč skutečně patří danému subjektu?
Pomalost asymetrické kryptografie.
Délka klíčů
Výhody:
Typickým zástupcem je šifra RSA, dále podpisové schéma DSA, ECDSA nebo El-Gamal.
Hašovací funkce
= funkce, které pro určitý vstup generují vždy stejný otisk.
V ideálním případě mají vlastnosti: Jednosměrnost (z otisku nelze dopočítat vstup), Bezkoliznost (nelze najít dvě zprávy se stejným otiskem).
Funkce se používají v elektronickém podpisu jednak pro zajištění integrity a také pro obcházení problému pomalosti asymetrické kryptografie (podepisuje se jen krátký otisk zprávy).
Mezi nejpoužívanější funkce v současné době patří SHA-1 u které se očekává nahrazení funkcemi SHA-2. Z dřívějších jde zejména o MD5.
Digitální podpis
Nebo také elektronický podpis dle direktivy evropské komise o elektronickém podpisu je informace připojená k nějaké zprávě, která zajišťuje právě zmíněné funkce:
V současné době realizován převážně pomocí prostředků asymetrické kryptografie ve spojení s hašovacími funkcemi.
Autentizace –- potvrzujeme, že data pocházejíod určitého subjektu (autentikace, autentifikace jsou patvary)
Autentizační protokoly
Kerberos
Autentizační protokol (má v současnosti 5 implementací) založený na principu autentizace dvou stran (A, B) přes důvěryhodného prostředníka (autentizační server T). A i B sdílí tajemství s T, mezi sebou nikoliv.
po úvodní autentizaci klienta/terminálu vůči autentizačnímu serveru je klientovi přidělen tzv „ticket“ pro další autentizaci vůči (unix) serverům poskytujícím nějaké služby
KDC (key distribution center): server sdílí klíč s každým klientem; (klienti však mezi sebou klíče nesdílí); distribuuje klíče, které generuje.
KTC (key translation center): generování klíčů může zajišťovat tento dedikovaný server
protokol SSL/TLS
autentizace pomocí certifikátů a protokolu typu výzva–odpověď
po úvodní autentizaci je ustanoven symetrický klíč, kterým je šifrována všechna následující komunikace
mezi aplikační vrstvou a protokolem TCP
složen z komponent:
Record Layer Protocol –- umožňuje integraci s protokoly vyšší úrovně (http, ftp, …)
Handshake Protocol -– úvodní domluva parametrů a autentizace
Change Cipher Specification Protocol -– použití nových parametrů šifrování
Alert protocol –- informace o chybách a varováních
IPsec (Internet Protocol Security)
PAP (Password authentication protocol)
CHAP (Challenge-Handshake Authentication Protocol)
challenge/response protokol
obě strany znají heslo, neposílá se přes síť
Periodicky sa zasiela challenge, ktorý sa stále mení. Obe strany si pre daný challenge vypočítajú na základe tajnej informácie hash, ktorý si následne porovnajú. Protokol ako obrana proti replay útoku.
RADIUS a TACACS+
Služby pro autentizaci a následnou autorizaci přístupu v UNIX sítích.
RADIUS je složitější, používá challenge response, může být hiearchický a umí i záložní server.
Protokol je rozšiřitelný.
WiFi sítě
Typy síťových útoků
Odposlouchávání (Eavesdropping, Wiretapping)
Identity spoofing (IP spoofing) – vydávání se za někoho jiného
Man-in-the-Middle – narušení komunikace dvou a více entit vydáváním se za druhou stranu
Denial of Service – útok přetížením, službu nadměrnými požadavky vyřadíme
Skenování TCP/UDP portů
Phishing – sociálne-inženýrský útok, od oběti získaváme heslo podvodnými stránkami a maily
Použité zdroje
-
PV157 –- Autentizace a řízení přístupu
PA159 – Počítačové sítě a jejich aplikace I
PV005 – služby počítačových sítí
-
-
-
-
-
-
-
Přílohy
5.pdf – rozšíření některých témat a soukromé zpracování, vycházelo se z této wiki na přelomu roku 2013/2014. Nekonzultováno s kantory.
Vypracoval
zdenek.kedaj@gmail.com, hotovo