Skip to content

Latest commit

 

History

History
1174 lines (1020 loc) · 49.9 KB

PA159.md

File metadata and controls

1174 lines (1020 loc) · 49.9 KB

PA159: Počítačové sítě a jejich aplikace I

Rekapitulace předchozích znalostí (bakalářských sítí)

Úvod

Počítačová síť

= propojení více počítačů a zařízení komunikačními kanály, které zajišťuje komunikaci uživatelů a sdílení zdrojů

  • účely PC sítě: komunikace, sdílení HW, sdílení SW a sdílení dat
  • charakteristické vlastnosti PC sítě:
    • delivery -- doručení dat do správného cíle
    • accurance -- doručení přesných dat
    • timeliness -- včasné doručení
Ideální síť Skutečná síť
transperentní pro uživatele (end-to-end- to, co je uvnitř nás nezajímá) vnitřní struktura ovlivňuje doručení dat
neomezená propustnost omezená propustnost (100 Gb/s Praha–Brno)
bezztrátová občas ztrátová (řeší to TCP)
bez zpoždění a jitteru (rozptyl zpoždění) občas zpoždění a jitter
zachování pořadí paketů možné prohození pořadí paketů (řeší to TCP)
bezporuchová občas poruchy
  • požadované vlastnosti PC sítě:
    • efektivita -- maximální využití šířky pásma
    • férovost -- všechny datové toky mají stejnou prioritu
    • decentralizovaná správa
    • rychlá adaptibilta a konvergence při změně stavu
    • multipexing/demulteplexing
    • spolehlivost
    • řízení datových toků -- zabezpečení proti zahlcení
  • základní přístupy:
    • spojované -- uskutečním spojení a pak vysílám
    • bezstavové -- vysílám bez předchozího vytvoření spojení, tento přístup je škálovatelnější (Internet)

Síťové komunikační protokoly

  • Co? (syntax) Jak? (sémantika) Kdy? (časování)
  • zabezpečují komunikaci mezi entitami (čímkoli, co odesílá a přijímá informace)
  • forma komunikace musí být ustanovena předem

Standardizace

= definice norem popisující komunikaci

  • cílem je zajistit:
    • kvalita (quality)
    • bezpečnost (security)
    • kompatibilita (compatibility)
    • interoperabilita (interoperability)
    • přenositelnost (portability)
  • druhy standardizace:
    • de facto -- někdo něco udělá a následně je to přijato komunitou
    • de jure -- určeno vyšší autoritou
  • organizace: ISO, ITU-T, ANSI, IEEE, IETF (RFC), IEC,...

Síťové modely

  • ISO/OSI
  • TCP/IP
  • model přesýpacích hodin

ISO/OSI model

  • 7 vrstev
  • každá vrstva má vlastní izolovanou funkcionalitu
  • každá vrstva komunikuje pouze s vrstvou bezprostředně nad/pod ní

ISO/OSI model vs. TCP/IP model

ISO/OSI model TCP/IP model
Aplikační vrstva Aplikační vrstva
Prezentační vrstva Aplikační vrstva
Relační vrstva Aplikační vrstva
Transportní vrstva Transportní vrstva
Síťová vrstva Síťová (Internetová) vrstva
Vrstva datového spoje Vrstva přístupu k síti/médiu
Fyzická vrstva Vrstva přístupu k síti/médiu

TCP/IP model

L1 - Fyzická vrstva

signál = funkce času reprezentující změny na fyzickém médiu

  • hlavním cílem fyzické vrstvy je přenos bitů (0 a 1) mezi odesílatelem a příjemcem
  • bity jsou ve fyzickém médiu přenášeny ve formě signálů
  • služby:
    • trasformace bity <--> signály
    • Bit-Rate control -- počet poslaných bitů za sekundu
    • synchronizace bitů -- časování bitového přenosu u odesílatele i přijímače
    • multiplexing -- proces sdílení fyzického média mezi více souběžnými komunikačními kanály, vede k vyšší efektivitě
      • Frequency-Division Multiplexing (FDM) -- pro analogové signály
      • Wave-Division Multiplexing (WDM) -- pro analogové signály
      • Time-Division Multiplexing (TDM) -- pro digitální signály
    • přepínání okruhů
  • druhy signálů:
    • analogový -- využívá modulaci
    • digitální -- využívá kódování
  • druhy přenosových médií:
    • drátová -- např. kroucená dvojlinka, koaxiální kabel, optické vlákno
    • bezdrátová -- rádiové signály, mikrovlné signály, infračervené signály

L2 - Vrstva datového spoje

  • zajišťuje přenos datových rámců mezi dvěmi komunikujícími zařízeními (určenými MAC adresou) propojenými přes sdílené přenosové médium
  • služby:
    • transformace rámce <--> pakety
    • adresace (MAC adresy)
    • detekce a oprava chyb
    • řízení toku
    • MAC Medium Access Control
Local Area Networks (LAN)
  • topologie LAN sítí:
    • bus
    • circle
    • star
    • tree
    • mesh (úplný graf)
  • zařízení v LAN sítích:
    • bridge (můstek)-- spojuje dvě části sítě, spojení je transperentní, odděluje různé části sítě, a tím zmenšuje zatížení sítě
    • switch (přepínač) -- rozbočovač, který posílá data jen tam, kam patří (ne všude)
Distributed Spanning Tree Algorithm
  • cíl: odstranit cykly při zasílání dat mezi můstky
  • všechny můstky periodicky posílají informaci o své vzdálenosti od kořene a upravují svoji definici nejlepší cesty
  1. výber kořenového můstku
  2. výběr kořenových portů
  3. výběr aktivních/neaktivních portů

L3 - Síťová vrstva

  • služby:
    • internetworking -- logické spojování jednotlivých LAN do WAN
    • *transformace segmenty <--> pakety
    • směrování paketů -- proces hledání cesty v síti mezi dvěmi uzly
    • překlad MAC adresa <--> IP adresa -- protokoly ARP (<--), RARP (-->)
    • fragmentace -- v závislosti na MTU (Maximum Transmission Unit) rozděluje datagramy na menší části (IPv6 nefragmentuje)
    • multicast -- řešení pro skupinovou komunikaci v síti (Source Based Tree, Core Based Tree)
    • kontrolní zprávy -- ICMP protokol

adresace -- unikátní a systematická adresace každého zařízení v Internetu

IPv4
  • typy adres v IPv4:
    • Unicastová adresa -- identifikace jednoho zařízení
    • Broadcastová adresa -- identifikace hostitele v LAN
    • Multicastová adresa -- identifikace skupiny zařízení, které požaduje data
IPv6
  • typy adres v IPv6:
    • Unicastová adresa -- identifikace jednoho zařízení
    • Multicastová adresa -- identifikace skupiny zařízení, které požaduje data
    • Anycastová adresa -- stejné jako multicast, ale data jsou doručena pouze jednomu členu ze skupiny
Směrování (routing)
  • statické směrování -- nepřizpůsobuje se, je vhodné pro menší neměnící se sítě
  • dynamické směrování -- reaguje na změny sítě, využívá komplexnější algoritmy
    • centralizované -- jeden uzel řídí zbytek
    • izolované -- každý uzel pracuje sám
    • distribuované -- uzly spolupracují
  • požadované vlastnosti směrovacího algoritmu:
    • přesnost
    • jednoduchost
    • efektivita a škálovatelnost
    • robustnost a stabilita
    • férovost
    • optimálnost
  • Distance Vector -- Bellmanův-Fordův algoritmus, uzly sdílí informace o síti pouze svým sousedům (RIP protokol)
  • Link-State -- Dijkstrův algoritmus, uzly sdílí informace o svých sousedech všem (OSPF protokol)
  • routování v autonomních sítích pomocí BGP-4 protokolu (Border Gateway Protocol)

L4 - Transportní vrstva

  • služby:
    • trasformace data <--> pakety
    • kontrola spojení
    • adresace portů -- 16 bitové číslo (0--65535)
    • spolehlivost spojení -- Flow Control (proti přetížení příjemce) a Error Control
    • QoS (Quality of Sevice)
    • kontrola přetížení sítě
  • Connection-oriented services (ustanoví se spojení, pakety jsou číslovány) vs. Connection-less services (neustanoví se spojení, pakety nejsou číslovány)
  • UDP protokol -- rychlý, jednoduchý, bezspojový, ale nespolehlivý protokol
  • TCP protokol -- spojovaný a spolehlivý protkol

L7 - Aplikační vrstva

  • poskytuje služby uživateli
  • obsahuje aplikační protokoly (HTTP, SMTP, FTP, DNS, RTP/RTCP,...)
  • klasifikace aplikací:
    • klient-sever vs. peer-to-peer
    • pull model (přenos dat je iniciován klientem) vs. push model (přenos dat je iniciován severem)
    • aplikace s nízkými/výsokými požadavky na síť

Pokročilé funkce

Úvod do IPv6

Důvody přechodu na IPv6

  • vyčerpání bloků IPv4
  • potřeba zabezpečení komunikace
  • nebyla podpora autokonfigurace
  • nutnost podporovat mobilitu

Vlastnosti IPv6

  • větší adresový prosotr 2^128
  • jednodušší formát hlavičky (konstantní délka) -> nižší režie na směrovačích -> vyšší propustnost
  • možnost dalších rozšíření
  • podpora real-time přenosů
  • podpora zabezpečené komunikace
  • podpora moblity
  • podpora autokonfigurace zařízení -- samoorganizace sítě

IPv6 adresa

  • hexadecimální zápis
  • čtveřice znaků oddělených :
  • zkrácení zápisu: a) vynechání nul zleva b) vynechání bloku obsahujícího samé nuly ::
  • struktura adresy:
    • n bitů -- globální směrovací prefix
      • 16 bitů -- hodnota 2001
      • 16 bitů -- RIR (Regional Internet Registry)
      • 16 bitů -- LIR (Local Internet Registry)
    • 64 - n bitů -- adresa podsítě
    • 64 bitů -- adresa rozhraní
  • CIDR notace -- neoddělujeme adresu sítě a podsítě
  • typy adres:
    • unicast -- jednomu
    • multicast -- všem ze skupiny
    • anycast -- jednomu ze skupiny

Path MTU Discovery

  • fragmentace v IPv6
  • fragment se zahodí a odešle se ICMPv6 "Packet too big" zpráva, která se vrací zdroji, který musí upravit data

IPv6 Neighbor Discovery Protocol

  • rozšíření ARP prokolu z IPv4
  • je součástí ICMPv6 protokolu
  • funkce:
    • autokonfigurace (stavová nebo bezstavová)
    • určuje konfigurační informace
    • detekuje duplicity
  • ICMP zprávy:
    • RS (Router Solicitation) -- výzva routeru
      • požadavek routeru na dodání adresového prefixu a dalších autokonfigurančních informací
    • RA (Router Advertisement) -- odpověď routeru
      • slouží jako odpověď na RS
      • router pravidelně rozesílá informace o adresovém prefixu a flag bits
    • NS (Neighbor Solicitation) -- výzva sousedovi
      • získání link-layer adresy souseda
      • ověření dosažitelnosti souseda
      • detekce adresových duplicit
    • NA (Neighbor Advertisement) -- odpověd souseda (příznaky: R - router, S - solicited, O - override)
      • slouží jako odpověď na NS
      • při změně link layer adresy se rozešle zpráva o změně
    • ICMP Redirect

L2 rozpoznávání adres

  • založena na NS a NA ICMP zprávách

Detekce duplicitních adres (DAD Duplicate Address Detection)

  • používá se během autokonfiguračního procesu
  • využívá NS zprávy
  • uzel pošle zprávu se svojí vlastní adresou, pokud se nějaký uzel ozve, v síti se nachází duplicita

Detekce nedosažitelnosti souseda (NUD Neighbour Unreachability Detection)

  • uzel pravidelně kontroluje dostupnost svých sousedů
  • dva přístupy:
    • vysokoúrovňový protokol (např. TCP) informuje IPv6, že komunikace proběhla, tady je uzel přístupný
    • pokud k tomuto nedošlo, musí "živost" uzlu zkontrolovat IPv6
  • možné statusy sousedních uzlů:
    • incomplete -- probíhá rozpoznávání adresy, čeká se na odpověď nebo timeout
    • reachable (dosažitelný)
    • stale -- od posledního potvrzení uběhlo více než ReachaleTime
    • delay -- vyplršel limit dosažitelnosti

Autokonfigurace

  • stará se o ni DHCP
  • typy:
    • stavová
    • bezstavová
Bezstavová autokonfigurace
  • předpokládá, že routery v síti ví, co mají dělat
  • čas od času informují o konfiguraci (RA zpráva)
  • nové uzly čekají na RA zprávu nebo si ji vyžádají pomocí RS zprávy
  • při generování nové adresy se nejdříve vygeneruje link-local adresa (z MAC adresy nebo náhodně) a následně se ověří, jestli je unikátní (DAD), potom se přiřadí na IP rozhraní a kontaktuje se router, který dodá další instrukce pro konfiguraci globální adresy

IPv6 podpora přenositelnosti

  • každé zařízení má domácí síť, ve které má domovskou adresu
  • CN Correspondent Node CN (korespondenční uzel) -- uzel, který vysílá zprávy
  • HA Home Agent -- router v domácí síti, která přeposílá data, která přijdou na domácí adresu na mobilní adresu (pokud se zařízení nachází mimo domácí síť), přeposílá veškeré zprávy
  • route oprimitation -- HA přepošle aktuální adresu zařízení a pak komunikace probíhá přímo

Return Routability procedura

  • ověření korespondenční a domácí adresy
  • Home Test Init (HoTI) zpráva
  • Care-of Test Init (CoTI)
  1. mobilní uzel zašle HoTI přes HA
  2. mobilní uzel zašle CoTI přímo
  3. ověřovatel zašle zpět přes agenta Home Init Cookie a Home Nonce Index přes HA
  4. ověřovatel zašle Care-of Init Cookie a Care-of Nonce Index přímo
  5. obě strany vypočítají 20-bytový Management Key, který je následně použit k ověření provázací aktualizace

IPv6 bezpečnost

Běžné bezpečnostní praktiky

CIA
  • confidentiality (důvěrnost) -- přenášené nebo uložené informace nemohou být čteny nebo měněny neautorizovanou stranou (šifrování)
  • integrity (integrita) -- libovolná změna přenesených nebo uložených informací může být detekována (kontrolní součty)
  • availability (dostupnost)
AAA
  • autentizace -- jednotlivec nebo skupina je tím, za koho se vydává
  • autorizace -- autentizovaní uživatelé mají přístup k správným informacím
  • accounting -- logování informací
Šifrování
  • symetrické -- soukromý klíč
  • asymetrické -- veřejný klíč
  • message digest (hash) -- funkce, která bere vstup libovolné délky jako výstup vrátí (unikátní) kód fixní délky

Podpora zabezpečení v IPv6

  • IPSec (RFC 2401 + RFC 4301)
  • IPSec obsahuje:
    • AH Authentication Header -- protokol pro autentizaci
    • ESP Encapsulation Security Payload -- protokol pro šifrování
    • definice pro šifrování, rozšifrování, autentizaci a další bezpečnostní opatření
    • správa šifrovacích klíčů
SA Security Associations
  • popis druhu zabezpečeného spojení mezi dvěmi zařízeními
  • klíč + šifrovací a dešifrovací mechanismus + parametry algoritmu
  • tři parametry:
    • SPI Security Parameter Index
    • IP Destination Address -- komu je SA určeno
    • Security Protocol Identifier -- pro AH nebo pro ESP
  • klíče je možné vyměnit pomocí Internet Key Exchange version 2 (IKEv2)
  • dva způsoby přepravy:
    • transportní mód -- zpráva je nejdřív chráněna a pak až je k ní přidána hlavička
    • tunelovací mód -- IPSec je použito k ochraně kompletního zabaleného IP datagramu (včetně hlavičky)
AH Authentication Header
  • autentizace části a nebo celého datagramu
  • poskytuje autentizaci nikoli soukromí
ESP Encapsulating Security Payload
  • protokol chránící data před zobrazením neautorizovanou stranou
  • šifruje data
  • poskytuje autentizaci i soukromí
  • neutentizuje vnější IP hlavičku

IPv6 kvalita služby

  • dřív nebyla potřeba, best-effort přístup stačil
  • s příchodem multimediálních přenosů jsme začali míst vysší nároky
  • integrované služby -- potřebujeme protokol, který předem zajistí zdroje
  • diferencované služby -- pakety mají označenou prioritu
  • pole v hlavičce paketu využívaná pro QoS:
    • Traffic Class -- 1 byte určující prioritu paketu, (DiffServ CodePoints DSCP hodnoty)
    • Flow Label -- 20bitové pole určující příslušnost paketu k určitému flow, stále nevíme, jak toto pole efektivně využívat

flow -- sekvence souvisejících paketů odeslaná do jedné destinace

Integrované služby

  • vnáší stavovost do bezstavové sítě
  • postup:
    • uzavření kontraktu se sítí (je třeba protokol RSVP, YESSIR)
    • odmítnutí --> snížím požadavky nebo počkám na vhodnější chvíli nebo
    • přijmutí --> přenos

Diferencované služby

  • zachovává bezstavovost sítě
  • lépe škáluje
  • neodpovídá přesně potřebám paketů
  • méně práce pro směrovače

Přechod na IPv6

Portování aplikací

  • složitost konverze záležití na komlexitě aplikace
  • aplikace může být:
    • IPv4 only
    • zvlášť IPv4 a IPv6
    • nezávislá na verzi IP protkolu
  • problémy s portováním:
    • parsování adresy -- hexadecimální adresa je obtážněji parsovatelná, je nutné využít knihovnu
    • adresový paměťový prostor -- IPv4 adresy bývají často ukládány v 32-bitových unsigned integer proměnných, některé systémy ale nativně používají 128-bitový datový typ
    • URL a textová reprezentace IP adresy -- URL nepovoluje notaci s dvojtečkami (ty jsou užívány pro označení portů), je nutné použít hranaté závorky: http://[fe80::219:d1ff:fe06:e908]:8080/
    • více adres -- s IPv6 může mít jedno rozhraní více adres
  • užitečné struktury:
    • struct addrinfo
    • struct sockaddr_in6
    • struct sockaddr_storage
  • užitečné funkce:
    • getaddrinfo
    • getnameinfo

Světová interoperabilita Ipv6 a IPv4

  • mechanismy pro společnou existenci Ipv4 a IPv6
  • dual stack
    • zařízení podporuje obě verze naráz
    • výhody: flxibilní, jednoduché
    • nevýhody: náročné na zdroje (běží dva různé zásobníky na protokoly), aplikace musí umět rozpoznat, o který protokol se jedná
  • tunneling
    • IPv6 datagramy jsou zabaleny do IPv4 datagramů
    • výhody: až bude vše na IPv6, nebude nutné provádět žádné změny
    • nevýhody: zátěž pro routery, obtížně se řeší chyby, je to zdroj útoků
  • překladače (NAT-PT)
    • překlad IPv6 <--> IPv4
    • nouzové řešení
    • výhody: umožňuje přímou komunikaci
    • nevýhody: nepodporuje pokročilé služby IPv6, NAT router je single point of failure

Pokročilé techniky směrování

Směrovní

= nalezení cesty mezi dvěma uzly, cesta musí splňovat určité podmínky

  • cílem směrování je nalézt optimální cestu a doručit data příjemci
  • většinou hop-by-hop přístup
  • grafový problém: uzly = routery, hrany = datové linky, ohodnocení hran = cena komunikace
  • alrogitmy Bellmanův-Fordův a Dijkstra
  • Praha--Brno 40 Gb/s
  • směrování v Internetu:
    • distribuované
    • hop-by-hop
    • deterministické
    • single-path
    • dynamický výběr cesty

Distribuované směrování

  • Distance Vector -- Bellmanův-Fordův algoritmus, uzly sdílí informace o síti pouze svým sousedům (RIP protokol)
  • Link-State -- Dijkstrův algoritmus, uzly sdílí informace o svých sousedech všem (OSPF protokol)
  • Path Vector -- posílají se celé cesty (detekuje cykly, umožňuje definici pravidel), preferuje kratší cesty, řeší pouze dostupnost
Srovnání DV a LS

Link State vs. Distance Vector

Distance Vector Link State
složitost změna ceny linky se propaguje jen nejbližšímu sousedovi a těm, které to ovlivní změna ceny linky se propaguje na všechny uzly, O(nE) zpráv
rychlost konvergence count-to-infinity problém (směrovací cykly), může být pomalejší než LS algoritmus O(n^2), , zasílá O(nE) zpráv, trpí na oscilace
robustnost nesprávný výpočet je šířen sítí špatný výpočet se šíří jen sousedům
použití menší sítě menší i rozsáhlé sítě

Autonomní systémy

  • cílem je rozdělení Internetu na autonomní systémy, abychom zjednodušili management a zmírnili přetížení routerů
  • Autonomous System Number (ASN) -- 16bitové ID
  • autonomní systémy odpovídají administrativním doménám (např. CESNET, PASNET apod.)
  • typy podle připojení k Internetu:
    • Stub
    • Multihomed
    • Transit
  • oddělené směrování:
    • internní -- v rámci AS, protokoly: RIP, OSPF, (E)IGRP, IS-IS
    • externí -- mezi AS, protokoly: BGP-4

Distance Vector směrovací protokoly

RIP protokol (Routing Information Protocol)

  • první
  • RIPv1 (broadcast), RIPv2 (multicast), RIPng
  • formáty zpráv v RIPv2:
    • příkaz
    • verze
    • identifikátor adresové rodiny
    • IP adresa
    • metrika
    • route tag
    • subnet mask
    • next hop
  • přechod mezi dvěma sousedními směrovači je 1 hop
  • každých 30 si směrovače UDP protokolem vyměňují informace
  • za 180 vteřin nastává timeout souseda
  • použití: pro malé sítě

IGRP protokol Interior Gateway Routing Protocol

  • překonává limity RIPv1 omezený počet hopů a jedinou metriku na počítání hopů
  • puživá složenou metriku na základě:
    • Bandwidth (B)
    • Delay (D)
    • Reliability (R)
    • Load (L)

EIGRP protokol (Enhanced Interior Gateway Routing Protocol)

  • vylepšuje IGRP:
    • loop-free směrování
    • spolehlivost doručení
    • variable length subnet masking
    • ...

Link State směrovací protokoly

OSPF protokol (Open Shortest Path First)

  • nyní nejpouživanější
  • metrika 1--65535 (nejlepší--nejhorší) číslo přiřazené každému síťovému rozhraní směrovače
  • OSPF zprávy jsou zabaleny přímo do IP datagramu

IS-IS protokol (Intermediate System To Intermediate System)

  • metrika 0--63 nebo rozšíření na wide metric
  • IS-IS zprávy jsou zabaleny v rámcích
  • běží na 2 vrstvě (datového spoje)
  • dobře škáluje na větších sítích

Path Vector směrovací protokoly

BGP protokol (Border Gateway Protocol)

  • aktuální verze: BGP-4
  • podpora redundantních topologií, umí řešit cykly
  • povoluje defnici směrovacích pravidel
  • používá metriku počítání hopů
  • používá CIDR pro agregaci cest
Internal Border Gateway Protocol IBGP
  • mechanismus, který poskytuje informace o externích AS, interním routerům v AS

Architektura směrovače

Funkce směrovače

  • směrování -- vytváření a udržování směrovací tabulky
  • přeposílání paketů -- na zákldaně směrovací tabulky, forwardovací tabulka
Forwardovací funkce
  • validace IP hlavičky -- ověření kontrolního součtu, délka hlavičky, správnost protokolu
  • zpracování TTL
    • odečtení jednotky z TTL
    • pokud je TTL <= 0, paket je zahozen
    • jinak se přepočítá kontrolní součet
  • vyhledání dalšího směrovače
  • fragmentace -- pokud je to nutné kvůli dalšímu MTU (Maximum Transmission Unit)
  • zajištění speciálních podmínek
  • klasifikace paketu
  • překlad paketu
  • prioritizace provozu
Směrovací funkce
  • směrovací protokol
  • konfigurace systému
  • management systému
Části směrovače
  • síťové rozhraní
  • forvwrdovací nástroje
  • správce fronty
  • správce provozu
  • Backplane -- zprostředkovává konektivitu pro síťová rozhraní
  • Route Control Processor -- zodpovídá za směrovací protokoly

Algoritmy pro vyhledávání IP adres

  • Classful Addressing -- přímé forwardování
  • CIDR (Classless Inter-Domain Routing) -- Longest Prefx Matching
    • požadavky:
      • lookup speed -- wire-speed forwarding
      • využití paměti -- efektivní algoritmus využívá cache paměť
      • škálovatenost -- rychlost i paměť (velikost forwardovací tabulky narůstá)
      • aktualizovatelnost -- cesty se mění vlemi často
    • algoritmy:
      • naivní algoritmy -- linerání vyhledávání
      • Trie-based algoritmy -- Binary Tries, Multibit Tries, Compressed Multibit Tries (trie" comes from "retrieval")

Filtrování a klasifikace IP pakatů

  • umožňuje:
    • speciální zacházení s různými typy paketů
    • flexibilitu účtování a cenění
    • bezpečnost
  • probíhá pomocí údajů v hlavičce paketu
Algoritmy
  • naivní
  • Two-dimensional Solutions -- Hierarchical Tries, Set Pruning Tries, Grid-of-Tries
  • d-dimensional Solutions
  • Divide and Conquer Approaches -- Lucent Bit Vector, Aggregated Bit Vector, Cross-Producting, Recursive Flow Classification
  • Tuple Space Approaches
  • Decision Tree Approaches -- Hierarchical Intelligent Cuttings (HiCuts), HyperCuts,
  • Hardware-Based Solutions -- Ternary Content Addressable

Traffic Engineering v IP sítích

= objevování, jaké další cesty jsou v síti k dispozici, jaké je aktuální vytížení provozu v síti a směrování provoru i na cesty, které nejsou nejkratší, aby docházelo k optimálnímu využití síťových zdrojů

  • dosahujeme toho kombinací:
    • rozšíření k existujícím IGP protokolům
    • monitoringem provozu
    • směrovacími technikami
  • proces:
    • měření provozu --> matice provozu
    • získání topologie a konfigurace ze sítě
    • určení váhy hran -- aktualizuje se většinou jednou denně nebo týdně

Objevování síťové utilizace

  • je potřeba mít přehled o využití zdrojů v rámci celé sítě
  • síťový provoz záleží na dení době
  • metody:
    • Simple Network Management Protocol (SNMP)
    • NetFlow
    • sFlow, ntop,...

Objevování síťové topologie

  • u malých statických systémů postačí manuální konfigurace
  • u velkých dynamických systémů využíváme automatizované systémy
    • rozšíření IGP, OSPF, IS-IS

Výpočet váhy linku

  • minimalizační problémy
  • Single-Commodity Network Flow
  • Multicommodity Network Flow
  • Shortest Path Routing and Network Flow -- založeno na váze linku
  • Multicommodity shortest path-based routing flow

Multiprotocol Label Switching

MPLS (Multiported Label Switching)

  • technologie na pomezí 2. a 3. vrstvy
  • spočítáme, kam mají být pakety stejného typu (označíme je stejným labelem) poslány, a pak je posíláme sátle stejnou cestou, což vede k zrychlení
  • Edge Label-Switched Routers (Edge-LSRs)
    • Ingress-LSR
    • Egress-LSR
  • Core Label-Switched Routers (Core-LSRs)
  • hezky popsáno zde: https://dsn.felk.cvut.cz/wiki/_media/vyuka/cviceni/x36mti/petrim2-doc.pdf
  • Grid-enabled GMPLS

Generalizované MPLS

  • zobecnění MPLS na další vrstvy a rozhraní
  • návěstí může být vloženo do všho, co může přenášet data

QoS-Based směrování

= směrování, kdy se výběr cest řídí podle znalosti dostupnosti zdojů a QoS požadavků na tok

  • cíle:
    • splnit požadavky koncového uživatele na QoS
    • optimalizovat využití zdrojů v síti
    • při přetížení síte podávat lepší výsledky než best-effort přístup
  • využívají se různé metriky (bandwidth, delay, jitter,...)
  • dochází k rezervaci zdrojů
  • problémy:
    • volba metriky a počítání cesty
    • propagace znalostí a údržba
    • Scaling by hierarchical aggregation
    • administrativní kontrola
    • integrace QoS-based směrování a Best-effort směrování
  • algoritmy:
    • source-based routing algorithms -- každý router má kompletní informaci o stavu sítě, špatná škálovatlenost
    • hop-by-hop routing algorithms -- každý router má informace pouze o routeru o 1 hop blíž cíli, problém se škálováním a smyčkami (pokud nejsou konzistentní informace v různých routerech)
    • hierarchical routing algorithms -- skládá se z několika vrstev, informace mají hraniční směrovače na každé vrstvě, dobře škáluje, nižší přenost stavových informací

Private Network-Network Interface (PNNI)

  • hierarchický dynamický směrovací protokol pro ATM sítě
  • založen na link-state algoritmu
  • nepodporuje multicast a policy směrování

QoS routing extensions to OSPF (QOSPF)

  • QoS rozšíření pro OSPF
  • hierarchický protokol založený na link-state algoritmu
  • do metriky Link State Advertisements jsou přidány pouze link bandwidth a propagation delay
  • pro každou cestu algoritmus vypočítá nejširší-nejkratší cestu
  • využívá Bellmanův-Fordův i Dijkstrův algoritmus

TCP - protokoly pro sítě s vysokou propustností a vysokou latencí

Tadiční TCP a jeho problémy

  • zajišťuje spolehlivost přenosu
  • zhodnocení chování:
    • agresivita -- schopnost využít dostupnou šířku pásma
    • responsivita -- schopnost zotavit se ze ztráty paketu
    • férovost -- rozdělení šířky pásma mezi víc TCP sreamů (záleží na RTT a MTU)
  • problém: velké vzdálenosti s velkou šířkou pásma
  • kontrola toku (flow controll)
    • deterministický feedback od příjemce (rwnd)
  • kontrola zahlcení (congestion controll)
    • množství dat, které je síť schopna přinášet (cwnd)
  • --> ownd = min(rwnd, cwnd) -- z toho vypočítáme bandwidth
  • tradiční TCP:
    • Tahoe -- Slow start --> Congestion Avoidance, přeposlání celého aktuální okno
    • Reno -- Slow start --> Congestion Avoidance --> Fast Recovery (rychlejší onbovení po ztrátě paketu)
    • Vegas -- monitoruje RTT během přenosu, pokud detekuje růst, tak preventivně změnší okno

Vylepšení tradičního TCP

Multi-stream TCP

  • problém: TCP reaguje na statistické výpadky (i když síť není zahlcená, ale je např. jen poškozený paket)
  • rozdělení na více vláken
  • nevýhoda: komplikovanější implementace

Web100

  • prostředí, ve kterém je možné nakonfigutovat prostředí přenosu, aby bylo z pohledu rychlosti optimální
  • distribuované

Konzervativní rozšíření TCP

GridDT

  • kolekce ad-hoc modifikací
  • korekce sstresh
  • úpravy AIMD pro kontrolu zahlcení

Scalable TCP

  • mění AIMD na MIMD (Multiplicative Increase Multiplicative Decrease)
  • lepší zrychlení a férovost

High-Speed TCP

  • přechod mezi AIMD a MIMD
  • jeho chování značně ovlivňuje stav sítě

H-TCP

  • vyšší agresivita
  • složitější vzorce pro výpočet cwnd

BIC-TCP

  • výchozí algoritmus v Linuxovém jádře
  • pro výpočet cwnd používá binární vyhledávání
  • fáze:
    • reakce na ztrátu paketu
    • additive increase
    • binární vyhledávání (dává prosor dalším tokům)
    • maximum probing

CUBIC-TCP

  • využívá kubickou funkci

TCP rozšíření s IP podporou

  • fáze slow-startu by mohla být zlepšena při využítí interakce se 3. vrstvou

QuickStart

  • návrh: 4bytová volba v IP hlavičce, která se skládá z polí QS TTL a Initial Rate
  • vyšle se SYN paket, který "zarezervuje zdroje" a vrátí se zpět k odesílateli s informací, podle které se přizůsobí cwnd

E-TCP

  • ECN Early Congestion Notifcation -- 1 nebo 0, příznak o tom, že se blíží zahlcení
  • reaguji na to, jak bych ztratila paket

FAST Fast AQM Scalable TCP

  • podobný Vegas, ale může využívat ECN
  • provádí různě velké kroky v závislosti na vzdálenosti od equilibra

Jiné přístupy

tsunami

  • kombinace TCP (řízení) a UDP (nahrnutí co nejvíce dat do sítě)
  • záplavová vlna

RBUDP Reliable Blast UDP

  • TCP - řízení, UDP - přenos dat
  • u toho, kdo vysílá zůstává kompletní kopie dat
  • příjemce označí pomocí vektoru, které data došla nebo nedošla, a pošle zpět
  • zajištění, že dojdou veškerá data

XCP

  • komunikuje se směrovači a získává od nich zpětnou vazbu (přes ICMP), jakým způsobem jsou doprvavovány pakety

SCTP, DCCP, STP, Reliable UDP, XTP,...

Peer-to-peer (P2P) sítě

  • patří do aplikační vrstvy

Klient-Server systémy

  • centrální server (může mít více kopií)
  • server přijímá a odbavuje požadavky od klientů (sekvenčně nebo paralelně)
  • výhody:
    • jednoduchost vývoje
    • udržovatelnost
    • bezpečnost (za bezpečnost odpovídá server)
  • nevýhody:
    • škálovatelnost
    • spolehlivost (server je single point of failure)
  • klienti jsou na serveru nezávislí, mohou být různí
  • např. SSH, webový server a prohlížeč, FTP

P2P systémy

  • distribuavané
  • skládá se z indentických modulů, z nichž každý může být serverem nebo klientem
  • každý komunikuje s každým
  • úlohy v systému:
    • budování systému
    • nalezení dat v systému
  • výhody:
    • perfektní škálovatelnost (čím vější počet uzlů, tím lepší fungování)
    • spolehlivost (systém funguje i když některý z uzlů neodpovídá)
  • vlastnosti: symetričnost, škálovatelnost, heterogenita, decentalizace, dynamičnost, sdílení zdrojů, samoorganizace
  • využití: WoW, vědecké výpočty, sdílení obsahu

Generická P2P architektura

  • aplikační vrstva
    • co má za úkol síť dělat
    • sdílení souborů, směrovací protokoly, IM,...
  • mezivrstva (middleware)
    • úkoly:
      • bezpečnost
      • vyhledávání zdrojů
      • struktura a vytváření skupin z uzlů připojených do sítě
  • základní překryvová síť
    • úkoly:
      • podpora virtuální sítě
      • vyhledávání nových uzlů
      • rozesílání zpráv mezi uzly
    • transportní protokoly: TCP, UDP
    • metrika: počet hopů mezi peery (může odpovídat více hopům v reálné síti)

Překryv sítě (Overlays)

  • klíčové parametry překryvu sítě:
    • poloměr -- nejdelší vzdálenost mezi libovoulnou dvojcí peerů (počet hopů nebo latence), snažíme se ho minimalizovaz
    • průměrný stupeň -- s kolika dalšími uzly je uzel propojen, snažíme se jej udržet v rozumné velikosti
  • topologie:
    • random mash (náhodné propojení) -- záplavové metody vyhledávní (není to moc efektivní)
    • tiered (vrstvy) -- stromovitá hierarchie superuzlů, které mají informace o svých "potomcích"
    • ordered lattice (uspořádaný svaz) -- uspořádání do mřížky, dotazy vždy směřují k sousedům, distribuované hašovací tabulky

Peer Discovery

  • P2P síť je většinou virtuální překryv nad běžnou sítí
  • novému uzlu stačí, aby našel jeden uzel z P2P sítě a následně se semoorganizačně do sítě začlení
  • objevování peerů:
    • statická konfigurace -- manuální kofigurace, každý uzel musí být předkonfigurován se seznamem dalších peerů v síti, vhodné pro malé statické sítě
    • centralizovaný adresář -- server, který má informace o všech peerech, novému peeru stačí kontaktovat server
    • Member Propagation Techniques with Initial Member Discovery -- kontaktuji jednoho peera, který mi poskytne informace o části sítě nebo o cleé síti

Sevice/Resource Discovery

  • klíčová je lokalizace informací
    • centalizovaná P2P -- server, který má přehled, kde co je
    • čistá P2P -- náhodně se prozkoumává, dokud se informace nenajde

Taxonomie P2P systémů

Centralizované P2P systémy

  • snaží se kombinovat vlastnosti P2P a Klient-sever
  • centralizované jsou pouze informace o systému, data jsou přímo mezi peery
  • výhody: rychlejší vyhledávání
  • nevýhody: single point of failue --> nižší robustnost a škálovatelnost
  • např. WoW

Decentralizované P2P systémy

  • výhody: robustní a dobře škálující
  • nevýhody: lokalizace nabízených služeb
  • dělení podle struktury:
    • ploché -- funkcionalita je rovnoměrně rozprostřena na všechny peery
    • hierarchické -- různé úrovně peeru, které mohou mít jiné vlastnosti
  • dělení podle topologie:
    • nestrukturované -- každý peer je zodpovědný za svá data, lokalizace dat je obtížná
    • strukturované -- využívá se distribuovaná hašovací tabulka pro lokalizaci dat, přidávání uzlů je komplikovanější (musíme přerozdělovat data)
  • např. Gnutella

Hybridní P2P systémy

  • super peers -- komunikace probíhá mezi superuzly, které mají na starost pár dalších běžných uzlů

Směrování v P2P sítích

  • směrování přes centrální jednotku
  • směruji podle svých infromací o peerech
  • záplavy
  • Routed DHT Queries

Úvod a motivace

  • metriky efektivity:
    • úložiště -- kolik informací systém má o tom, kde jsou data uložena
    • efektivita -- systém umí rychle lokalizovat požadovaná data
    • použitelnost -- čím širší dotaz můžeme položit, tím lépe
    • pokrytí -- jak moc systém pokrývá systém dotazů, které můžeme pokládat
    • škálovatelnost

Směrování v nestrukturovaných P2P sítích

  • žádný z uzlů nemá informace co a kde je na uzlech uloženo
  • po jistém počtu kroků je dotaz zahozen
  • vyhledávací strategie:
    • DFS
    • BFS
  • heuristické vyhledávací strategie:
    • iterativní vnořování -- vícenásobné BFS vnořování
    • directed BFS -- intellingent search, snaží se odhadnout, kteří sousedé jsou nadějní a těm to zasílá (ukládá si o sousedech informace) --> redukce počtu zpráva
    • vyhledávání v lokálních indexech -- uzel si drží infromace o sousedech do hloubky k (držíme a aktualizujeme více informací)
    • náhodná procházka -- omezeno pomocí TTL
    • k-náhodná procházka -- na začátku je požadavek rozeslán k náhodným sousedům
    • Random Breadth First Search (RBFS) -- v každém kroku rozesílém k náhodným sousedům
    • adaptibilní pravděpodobnostní vyhledávání (APS) -- procházka kdy sousedé, kterým přeposílám jsou vybíráni podle určité pravděpodobnosti
      • optimistický přístup
      • pesimistický přístup
    • Interest-Based Shortcuts -- množina uzlů s podobným zájemem

Směrování ve strukturovaných P2P sítích

  • dotaz jsou schopny zodpovědět přesně a v krátkém čase
  • je komplikovanější zapojení nového uzlu do sítě
Systémy využívající distribuované hašovací tabulky:
  • Chord
    • jednoduchý, oblíbený, často používaný
    • každý uzel má svůj id, osah má id
    • každý uzel nese obsah podle svého id
    • uzly jsou provázány podle id
    • uzly jsou uspořádány do kruhu
    • problém nastává u větších sítích (procházíme sekvenčně)
    • škálovatelný algoritmus -- využití finger table (každý uzel obsahuje odkaz na více uzlů podle mocnin dvojky)
  • Content Addressable Network (CAN)
    • využívá d-dimenzionální kartézské souřadnice
    • id uzlu je mapováno na bod v prostoru
    • prostor je rozdělen na oblasti
    • uzel spravuje data, jejichž id padnou do jeho oblasti
    • uzly znají svoje sousedy
    • při přidání nového uzlu se oblast rozdělí a udpatují se informace kolem
  • Pastry
    • PRR stromy
    • id uzlu je sekvence číslic (hexadecimální)
    • data přísluší uzlu, které má nejdelší společný prefix
    • uzly mají směrovací tabulku pro směrování zpráv
    • leafeset -- seznam příbuzných uzlů (pomocná tabulka)
  • Tapesty
    • podobné jako Pastry, ale hledá se společný sufix
Systémy založené na skip listech
  • skip list struktura
    • peers jsou zřetězené podle svého id
    • v další vrstvě je zřetězena jen polovina, v další čtvrtina atd.
    • v horní úrovni je pouze jeden uzel, který se snadno přetíží
    • O(log(n))
  • skip graph
    • všechny uzly jsou ve všech úrovních
    • vektor příslušnosti
    • propojeny jsou uzly se stejným prefixem
    • O(log(n)), ale již nedochází k přetížení jednoho uzlu
  • SkipNet
    • podobné jako skip graph
    • uzly jsou organizovány do kružnice
    • na nejnižší úrovni je jedna kružnice obsahující všechny uzly
    • na další jsou dvě kružnice, atd.
Systémy založené na stromových strukturách
  • P-Grid
    • virtuální binární strom
    • každý peer je v listu stromu
    • každý z peerů je zopodvědný za všechny datové položky, které jsou rovny id uzlu
    • datové položky mohou být znásobeny pro zvýšení robustnosti
    • O(log_2(N))
    • nevýhoda: nemusí být vyvážený
  • P-Tree
    • vyvážený P-Grid
    • B+ stromy
  • BATON
    • vyvážený binární strom
    • i ve vnitřních uzlech jsou peerové nesoucí obsah
    • přidává další propojení podle podobnosti obsahu (nejbližší "horizontálně")

Směrování v hybridních P2P sítích

  • dva typy uzlů:
    • super uzly -- nemá data, ale informace o tom, kde jsou data
    • klientské uzly -- má data
  • Edutella
    • hyperkostka
    • souřadnicový systém
  • Gnutella
    • částečné mash propojení
    • záplava
  • The structured superpeers

Ad-hoc sítě, MANETs

Mobilní bezdrátové ad-hoc sítě

= množina autonomních uzlů, které komunikují každý s každým, formují síť a zabezpečují spojení decentalizovaným způsobem

  • zařízení je v pohybu
  • každý uzel má funcionalitu koncového uzlu i směrovače
  • jednohopová síť -- každý je v dosahu s každým
  • multihopová síť -- mohu komunikovat i přes jiný uzel
  • výhody: rychlé, levné, odolné
  • nevýhody: samoorganizace, komplikovanější MAC a směrování
  • příklady: vysokozdvižné vozíky ve skladu, řešení katastrof, komunikace aut, distribuované počítání
  • VANET (Vehicular Ad-hoc Networks)
    • komunikace aut
    • zjednodušená situace: mapové podklady, předvídatelnost pohybu

Bezdrátové senzorové sítě

  • jsou zaměřeny na komunikaci s okolím
  • vybaveny senzorem
  • propojeny se stanicí, která sbírá data a posílá je dál
  • příklad: péče o lesy, zábrana požárům, pohyb zvěře, přesné zemědělství, sledování budov a mostních konstrukcí (proti zemětřesení)
  • baterie nebo dobíjení např sluneční energií
  • podmínky funkčnosti:
    • musí být pokud možno pravidělně rozmístěny
    • energie

MANETs vs. WSNs

  • společné věci:
    • nebudujeme infrastrukturu
    • limitace energie
    • bezdrátová komunikace
  • rozdíly:
    • množství dustupné energie
    • velikost procesoru
    • dostupná paměť
    • hustota
    • mobilita
    • heterogenita
    • účel

MANETs vs. P2P

  • společné:
    • samoorganizující se sítě s dynamickou topologií
    • uzly jsou zodpovědné za směrování
    • neexistuje centrální řídící jednotka
  • rozdíly:
    • motivace (P2P -- logická infrastruktura, MANET -- fyzická infrastruktura)
    • spojení
    • důvěrnost spojení
    • lokalizace (jak daleko moou zařízení)
    • směrování
    • fixní vs. mobilní zařízení
    • struktura

Medium Access Control v ad-hoc a senzorových sítích

  • řízení přístupu k sdíleným zdrojům
  • cíl: minimalizovat kolize při vysílání
  • kolize --> zahození dat --> nové vysílání --> stojí to energii
  • problémy:
    • nelze vysílát a přijímat v jeden okamžik
    • vysílající neumí odhadnout, jestli u příjemce nedochází ke kolizi (interference)
    • vysoká chybovost
    • uzly jsou mobilní
  • požadavky:
    • šetření energie
    • malý overhead
    • malé množství chyb
    • vysoká propustnost
  • efekty podílející se na vysoké spotřebě energie:
    • kolize
    • přeslechy
    • idle listening
    • protocol overhead

Klasifikace protokolů

  • Contention-based protocols
  • Contention-based protocols with reservation mechanisms
  • Contention-based protocols with scheduling mechanisms

Contention-based protokoly

  • žádný způsob zerezvace
  • nezaaručuje QoS
  • přístupy:
    • sender-initiated protocols
    • receiver-initiated protocols
  • problémy:
    • Hidden terminal problem -- příjemce už něco přijímá
    • Exposed terminal problem -- vysílání je rušeno již probíhajícím vysíláním
BTMA Busy Tone Multiple Access
  • dva kanály:
    • datový
    • řídící -- informace o tom, že právě vysílám
  • nevýhody: špatné využití pásma
MACA Multiple Access Collision Avoidance
  • používá handshake
  • Request to Send (RTS)
  • Clear to Send (CTS)
  • Network Allocation Vector (NAV)

Zlepšení energetické efektivity

Power-Control MAC (PCM) protocol
  • šetří energii
  • vypočítá optimální intenzitu signálu
Sensor-MAC (S-MAC)
  • sezory se periodicky vypínají a zapínají, aby šetřily energii
  • provoz non-stop většinou není vyžadován, stačí měřit jednou za x minut

Ad-hoc směrování

  • vyžaduje se spolupráce směrovacího a MAC protokolu
  • Address-based routing -- každý uzel má unikátní identifikátor (adresu)
  • Data-centric forwarding -- uzly nemusí mít přesnou adresu, přeposílá se podle obsahu

Address-based ad-hoc směrovací protokoly

  • dělení:
    • proaktivní protokoly -- uzly vytvářejí směrovací tabulky a následně podle nich směrují
    • reaktivní protokoly -- snaží se najít cestu pro data pouze pokud je potřeba
  • jiné dělení:
    • table-driven -- znají pouze další krok k cíli
    • source-routing -- znají kompletní cestu do cíle
  • a ještě jedno:
    • ploché protokoly -- všechny uzly mají stejný algoritmus
    • hierarchické protokoly -- některé uzly jsou mocnější
  • a poslední:
    • location-based -- využíváme informaci o poloze uzlu (např. GPS)
    • non-location-based

Proaktivní protokoly

  • Destination Sequence Distance Vector (DSDV)
    • vychází z RIP
    • Bellmanův-Fordův algoritmus
    • uzly si vyměňují celé směrovací tabulky pouze se sousedními uzly
    • všichni ví všecno
    • nevýhody: špatně škáluje
  • Optimized Link State Routing (OLSR) Protocol
    • záplava
    • speciální uzly, které fungují jako agregátory
    • nevýhody: nepodporuje multicast, má problémy s bezpečností

Reaktivní protokoly

  • Dynamic Source Routing (DSR)
    • source-based protokol
    • využívá Route Request (RREQ) a Route Reply (RREP) pakety
    • vhodné pro menší sítě
    • záplava
  • Ad Hoc on Demand Distance Vector (AODV)
    • používá TTL
  • Dynamic MANET On Demand (DYMO)
    • posílá se celá cesta

Specializované směrovací protokoly

  • geografické směrování -- zabývá se fyzickým umístěním uzlů (GPS)
  • Energy-Aware Routing Protocols -- klade v potaz energii uzlů

Multimédia

= informace složená z více typů médií (audio, video,...)

  • obrázek řekne víc než tisíc slov (Vojna a mír)
  • např. videokonference, multimediální elektronická pošta, web TV,...
  • konverze analog <--> digitál
  • komprese
    • zprátová
    • bezztrátová

Charakteristika médií

Text

  • FTP, HTTP, SMTP,...
  • namá příliš velké požadavky na zpoždění, šířku pásma (komprimujeme), chybovost (záleží na aplikaci!)

Audio

  • anolog
  • vzorkování a kvantování
  • požadavky:
    • tolerance ztráty paketů 1-2 %
    • zpoždění řešíme bufferováním

Grafika a animace

  • statické
  • komprese
  • pyramidové kódování -- postupně se zpřesňující výsledek
  • error tolerantní
  • žádné velké podmíny na zpoždění

Video

  • sekvence obrázků
  • analog
  • vzorkování a kvantování
  • značné požadavky na síť
  • nekomprimované video má velké rozměry
  • techniky pro omezení chyb:
    • posílám více verzí v nižší kvalitě
    • při výpadku nahradíme rámec nějakým příbuzným (předcházejícím nebo následujícím)
    • interleaving -- rámce v paketu nejdou za sebou, ale jeden pakt obsahuje např 1, 5, 15 rámec, druhý 2, 6, 16 atp.
    • interpolace -- z okolních rámců dopočítáme chybějící část

Klasifikace médií

  • v relálném čase
    • diskrétní média
    • kontinuální média
      • tolerující zpoždění
      • netolerující zpoždění
  • ne v reálném čase

Požadavky multimédií na síť

Požadavky na provoz

  • zpodění (delay)
    • zpracování paketu -- komprese, zpracování
    • přenos paketu
    • propagace zpoždění -- se vzdáleností zpoždění roste
    • směrovací a queuing zpoždění
  • RTT Round-trip time -- dvojnásobek zpoždění
  • jitter -- rozptil zpoždění
  • šířka pásma (bandwidth) -- záleží na druhu TCP, UDP to neřeší vůbec
  • požadavky na chyby -- přenos v nižší kvalitě, opravné kódy

Funkční požadavky

  • multicast
  • bezpečnost
  • mobilita
  • Session Management

Session management

Media Description
  • umožňuje distribuci informací o session

Session Description Protocol (SDP) -- formát pro popis přenášených médií (typ, kódování apod.)

Session Initiation Protocol (SIP)

Session Announcement
  • umožňuje účastníkům oznámit budoucí session

Session Announcement Protocol (SAP) -- oznámení o existenci nové session

Session Identification
  • identifikuje jednotlivé proudy médií (audio, video, text,...)

Real-Time Transport Protocol (RTP) -- obálkový protokol nad UDP, přidává informace, jak mají být dané pakety zpracovávány

Session Control
  • synchronizace (audia, videa, textu,...)
  • pozastavení, přetočení apod.

Real-Time Control Protocol (RTCP) -- kontrolní protokol pro RTP, dělá statistiku provozu

Real-Time Streaming Protocol (RTSP) -- stremování živých přenosů