Počítačové sítě: OSI a TCP/IP modely počítačové sítě, směrovací a přepínací protokoly pro IP sítě, transportní protokoly. IPv4 a IPv6, pokročilé vlastnosti IPv6. Principy přenosu dat, spojované a nespojované sítě, kvalita služeb.
ISO OSI model počítačové sítě:
ISO OSI model není moc používán, v praxi se používá TCP/IP model:
Směrování je proces nalezení cesty v síti mezi dvěmi komunikujícími uzly. Směřování je zajištěno routery, které využívají směrovací protokoly pro zjištění informací o síti.
Internet je rozdělen na autonomní systémy - cílem je zmenšit overhead routování. Vrámci internetu se pak rozlišuje mezi směrováním vrámci autonomního systému a mezi autonomními systémy.
Sousední routery si periodicky vyměňují svoje směrovací tabulky. Metrikou je obvykle počet „hopů“. Využívá se Bellman-fordův algoritmus.
Distance vector protokoly:
Routery si vyměňují informace o stavu jejich linek a udržují si informaci o kompletní topologii sítě. Nejkratší cesty jsou počítány Dijstrovým algoritmem.
Link State protokoly:
Varianta distance vectoru - routery si nevyměňují pouze informace o konzových bodech ale celé cesty, což umožňuje lehčí detekci cyklů a definování pravidel/politiky.
Path vector využívá BGP (border gateway protocol) protokol. BGP podporuje redundanci, poradí si s cykly, byl navržen kvůli růstu Internetu a požadavcích na podporu komplexních topologií. BGP přenáší informace o sítích v autonomním systému do jiných autonomních systémů. BGP stojí nad TCP protokolem, umožňuje definování směrovacích pravidel. Jako metriku používá počet „hopů“. Vnitřní routery autonomního systému jsou informovány o sousedních autonomních systémech pomocí IGBP (Internal BGP).
UDP (User Datagram Protokol) poskytuje jednoduchý bezstavový přenos bez handshaků. Protokol nezajišťuje spolehlivost přenosu a uspořádání packetů. UDP packet obsahuje pouze zdrojový a cílový port, délku, kontrolní součet a samotná data.
TCP (Transmission Control Protocol) poskytuje spolehlivé a uspořádané doručení packetů. Protol vyžaduje handshake před samotným začátkem přenosu dat. TCP packet obsahuje zdrojový a cílový port, číslo sekvence, acknowledgment číslo (pro flag ACK), data offset, 3 vyhrazené bity, 9 bitů pro různé flagy (SYN, FIN, ACK, …), velikost okna, kontrolní sumu, urgentní pointer (pro flag URG), volitelné podmínky (pokud je data offset větší než 5) zarovnané nulami v případě potřeby a samotná data.
Protokol využívá velikost okna pro kontrolu zahlcení sítě/příjemce.
Využívá více TCP proudů na přenos dat. Vylepšuje chování TCP pouze při izolovaných strátách packetů. Nevýhodou je vyšší složitost, lineární start a synchronní přetěžování front a cache v routrech.
Představuje kolekci ad-hoc úprav: sstresh (rychlý start). Má upravé chování změny velikosti okna (AIMD): nárast o $a$ při úspěchu, $b$-násobek při stratě packetu.
Mění chování změny velikosti okna: nárast o $0.1 \times cwnd$ při úspěchu, o $0.01$ při ACK a pokles na $0,875 \times cwnd$ při ztrátě packetu. Při malé velikosti okna nebo vysoké míře strát přepne do AIMD módu.
Používa kontrolu zahlcení AIMD/MIMD: nárast o $a(cwnd)$ při úspěchu, o $\frac{a(cwnd)}{cwnd}$ při ACK. Při stratě packetu zmenší $cwnd$ na $b(cwnd) \times cwnd$. Na sítích s malou velikostí okna nebo vysokou strátovostí emuluje správání klasického TCP.
Výchozí algoritmus v Linuxové jádře (od 2.6.8 nahoru). Používá binární vyhledávání pro nalezení $cwnd$. Má 4 fáze: reakce na strátu packetu, aditivní nárast, binární vyhledávání, testování maxima. BIC-TCP je místy považováno za příliš agresivní na TCP - obzvlášť na pomalých sítích nebo s krátkým RTT.
Nové vydání BIC-TCP, které využívá kubickou funkci a redukuje počet fází.
Využívá pole QS TTL a Initial Rate v IP packetu. QS TTL nastaví na libovolně (dostatečně) velikou hodnotu a Initial Rate na požadovanou rychlost, kterou chce vysílat, a pošle SYN packet. Každý router po cestě s podporou QS sníží QS TTL o jedna a sníží Initial Rate v případě potřeby. Příjemce pošle QS TTL a Initial Rate v SYN/ACK packetu vysílajícímu. Vysílající se dozví, jestli všechny routery podporují QS (porovnání QS TTL a TTL). Vysílající pak nastaví vhodné $cwnd$ a začne používat algoritmus kontroly zahlcení (např. AIMD). Protokol ale vyžaduje změny na IP vrstvě.
Early Congestion Notification (ECN), součást Advanced Queue Management (AQM), je bit, který nastavují routery pokud se blíží zahlcení, musí být zrcadlen příjemcem. Vysílající musí reagovat na ECN stejně jako na strátu packetu. Administrátoři ale musí nakonfigurovat AQM/ECN.
E-TCP mirroruje ECN pouze jednou (při prvním výskytu), příjemce zmrazí velikost $cwnd$ při ECN bitu. Protokol vyžaduje zavedení malých syntetických strát v síti kvůli férovosti a změnu reakce příjemce na ECN bit.
Fast AQM Scalable TCP používá end-to-end spoždění, ECN a stráty packetů pro detekci a předcházení zahlcení.
Používá TCP pro kontrolní kanál (dohoda parametrů, požadavky na retransmisi - NACK namísto ACK, dohoda ukončení spojení), UDP pro přenos dat (MIMD kontrola zahlcení, vysoce nastavitelné).
Podobné tsunami, navrhnuté pro disk-to-disk přenosy, posílá data v uživatelsky definované rychlosti.
Používá feedback od routerů.
SCTP: Multi-vláknové, multi-zdrojové přenosy (uzl může mít víc IP adres). Orientované na zprávy jako UDP, zajišťuje spolehlivý, uspořádáný přenos.
DCCP: Nesplehlivý protokol (jako UDP) s kontrolou zahlcení kompatibilní s TCP.
STP: Založeno na CTS/RTS, jednoduchý protokol implementovatelný v HW, který nemá sofistikovanou kontrolu zahlcení.
Reliable UDP: Zajišťuje spolehlivé a uspořádané doručení. Původně navrženo pro IP telefonii.
XTP(Xpress Trasfer Protocol), atd…
IPv4 | IPv6 | |
---|---|---|
Adresa | 32 bitů (4 bajty) | 128 bitů (16 bajtů) |
Adresný prostor | víc než 109 možných adres | víc než 1038 možných adres |
Hlavička | variabilní délka - náročné na zpracování | fixná délka 40 bajtů - efektivnější |
Speciální pole v hlavičce | mnoho druhů, obvykle nepodporováno kvůli výkonu | odstraněno nebo nahrazeno jinými vlastnostmi |
Velikost packetu | 65536 bajtů max | normální packet do 65536 bajtů, „jumbogram“ až do 4 miliard bytů |
Alokace adres | třídou (A, B, C), CIDR, lokální pouze vrámci linky, adresy pro expanzy už vyčerpány | IPv4 kompatibilita, hierarchické podle registrátora, poskytovatele, odběratele a podsítě, hierarchické podle geografické oblasti, lokální využití linkou nebo oblastí, víc než 70% rezervováno pro expanzi |
Zápis adres | 4 čísla 0-255 oddělená tečkami | hexadecimální, zapsáno po 4 ve skupinách, oddělené dvojtečkami, podpora skratek (vynechání úvodních nul a sekvence nulových bloků) |
Typy adres | unicast, lokální broadcast, limitovaný multicast, experimentální anycast (není dostupný globálně) | unicast, multicast (linka, oblast, organizace, libovolné seskupení), anycast (nejbližší zařízení ze skupiny) |
Fragmentace | na libovolném uzlu sítě, snižuje výkon směrování | učiněno pouze koncovými uzly, zlepšuje se tak výkon |
Quality of Service | definováno, ale nepoužíváno konzistentně | flow label, priority, podpora pro real-time data a distribuci multimédií |
Zabezpečení | limitována, řešeno pomocí IPsec | IPsec součástí (není bezpečnější než IPv4) |
Správa konfigurace | převážně manuální | automatická konfigurace na základě fyzických adres, bezstavová automatická konfigurace |
Správa routování | BGP-4 mezi subdoménami, velké směrovací tabulky, OSPF a RIP v subdoménách | IDRP mezi doménami, agregované tablky pro menší nároky na úložiště, aktualizované OSPF a RIP |
Hlavička IPv6 packetu obsahuje pouze nejzákladnější a nejnutnější informace. Pro účely rozšíření umožňuje IPv6 tzv. extension headers, které představují dodatečné hlavičky packetu. Tyto hlavičky je možné řetězit. Tuto funkcionalitu využívá například IPsec v IPv6.
Anycast adresa identifikuje skupinu zařízení, ale data jsou (narozdíl od multicastu) doručena pouze jednomu (obvykle nejbližší uzl).
Před zahájením samotného přenosu mezi uzly musí zařízení zjistit vhodnou velikost packetů, protože IPv6 nepovoluje fragmentaci packetů (router packet zahodí a pošle zpátky ICMPv6 Packet Too Big). Proces funguje tak, že zdrojové zařízení pošle packet velikosti MTU lokální linky. Pokud se vrátí ICMPv6 Packet Too Big, zmenší velikost na velikost uvedenou v ICMPv6 packetu a pokus opakuje.
Slouží primárně na překlad IP adresy na fyzickou adresu. Tento protokol je používán na:
Prokol sestává z následovných ICMP zpráv:
Pozn.: protokol je možné využít i pro inverzní vyhledání sousedů.
Podpora mobility je založená na myšlence že i mobilní zařízení jsou někde doma. Mobilní zařízení má proto adresy:
Terminologie:
Když mobilní zařízení není v domácí síti, zaregistruje si svoji care-of adresu u HA.
Pro ověření identity mobilního zařízení (že opravdu vlastní home adresu i care-of adresu) se používá Return Routability (RR) Procedure:
Bezpečenost je zajištěna sadou protokolů IPsec, které jsou povinnou součástí IPv6. IPsec poskytuje:
Přenos dat po sítí vyžaduje kódování dat do podoby, kterou je možné přenést médiem a umožňuji detekci nebo opravu chyb. Tato problematika je detailně spracována v otázce 13.
Spojované sítě při vytváření spojení vytvoří dedikovaný okruh mezi komunikujícími uzly. Tento okruh je pak dedikován po celou dobu komunikace komunikujícím uzlům. Spojované sítě snadno zajišťují QoS.
Nespojované sítě nevytváří okrhy, jsou best-effort. V nespojovaných sítích komunikuje tolik uzlů, kolik síť unese a všechni mají rovnaký přístup k prostředkům sítě - QoS se zajišťuje těžko.
Zajištění kvality služeb (Quality of Service - QoS) spočíva v prostředí sítí primárně na zajištějí jistého přenosového pásma, rozptylu nebo odezvy.
Existují dvě navrhnuté architektury pro poskytování datových proudů s prioritami a zárukou kvality:
Aplikace oznámí síti svoje požadavky na kvalitu. Síť skontroluje jestli jsou dostupné požadované zdroje a jestli je možné požadavku vyhovět. Síť odmítne vytvoření spojení pokud není možné požadavku vyhovět. Pokud je možné požadavku vyhovět, síť upovědomí všechny prvky sítě na cestě k cíli spojení aby si rezerovali zdroje pro proud dat.
Nevýhodou je, že je nutné udržovat stav vnitřních uzlů sítě, co může vést k problémům se škálováním.
Přesná definice požadovaných QoS parametrů není vždy nutná - obvykle postačí záruka, že se kvalita spojení nezhorší od vytvoření.
Difirencované služby nevyžadují protokoly pro rezervaci zdrojů. Každý packet je označen třídou priority při vytvoření (vstupu do sítě), která je uložena v Traffic class poli IPv6 packetu. Vnitřní uzly sítě spracovávají packet na základě jeho priority.
Hlavní výhody:
V IPv6 hlavičce jsou dvě pole pro zajištění QoS:
FI:PA159 Počítačové sítě a jejich aplikace I (podzim 2010), doc. RNDr. Eva Hladká, Ph.D.
DevelX - Martin Jurča
stav - 100 %