Obsah

Zadání

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.

Vypracování

OSI a TCP/IP modely počítačové sítě

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ěrovací a přepínací protokoly pro IP sítě

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.

Distance vector

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:

Path vector

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).

Transportní protokoly

UDP

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

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.

Multithread TCP

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.

GridDT

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.

Scalable TCP

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.

High-speed TCP

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.

BIC-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.

CUBIC-TCP

Nové vydání BIC-TCP, které využívá kubickou funkci a redukuje počet fází.

Quickstart

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ě.

E-TCP

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

Fast AQM Scalable TCP používá end-to-end spoždění, ECN a stráty packetů pro detekci a předcházení zahlcení.

tsunami

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é).

Reliable Blast UDP (RBUDP)

Podobné tsunami, navrhnuté pro disk-to-disk přenosy, posílá data v uživatelsky definované rychlosti.

eXplicit Control Protocol (XPC)

Používá feedback od routerů.

Jiné přístupy

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 a IPv6

Rozídly mezi hlavičkami

Vlastnosti

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

Pokročilé vlastnosti IPv6

Extension headers

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 adresy

Anycast adresa identifikuje skupinu zařízení, ale data jsou (narozdíl od multicastu) doručena pouze jednomu (obvykle nejbližší uzl).

Path MTU discovery

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.

Neighbor discovery protocol

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ů.

Mobility support

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:

IPv6 zabezpečení

Bezpečenost je zajištěna sadou protokolů IPsec, které jsou povinnou součástí IPv6. IPsec poskytuje:

Principy přenosu dat

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é a nespojované sítě

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.

Kvalita služeb

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:

Integrované služby

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.

Diferencované služby

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:

Podpora v IPv6

V IPv6 hlavičce jsou dvě pole pro zajištění QoS:

Předměty

FI:PA159 Počítačové sítě a jejich aplikace I (podzim 2010), doc. RNDr. Eva Hladká, Ph.D.

Použitá literatura

Google

Vypracoval

DevelX - Martin Jurča

stav - 100 %