Skip to content

Latest commit

 

History

History
1380 lines (1126 loc) · 60.9 KB

PB156.md

File metadata and controls

1380 lines (1126 loc) · 60.9 KB

PB156 Počítačové sítě

ZKOUŠKA: 10-12 otázek, volné odpovědi, opravuje i konzultuje Hladká, bude předtermín + 6 řádných termínů

NAVAZUJÍCÍ: PV233 (Cisco Academy I.), PV234 (Cisco Academy II.), PV169, PV183

"Víte, co je to hladká funkce?"

Úvod do světa počítačových sítí

Úvod

počítačová síť -- skupina počítačů a zařízení propojená komunikačními kanály, které umožňují vzájemnou komunikaci a sdílení dat mezi uživateli

  • využití: komunikace, sdílení HW, SW, souborů dat a informací
  • základní vlastnosti sítě:
    • Delivery (správný příjemce)
    • Accuracy (správnost dat)
    • Timeliness (včas)

sender (odesílatel) -- zařízení zasílající datovou zprávu

receiver (příjemce) -- zařízení přijímající datovou zprávu

message (zpráva) -- informace, které je mezi odesílatelem a příjemcem vyměňovaná

transmission medium (přenosové médium) -- fyzické médium, skrze které je zpráva mezi odesílatelem a příjemcem přenesena

protocol (protokol) -- sada pravidel řídících komunikaci mezi zúčastněnými stranami

Parametry síťových toků:

  • bandwidth (propustnost) -- udává kapacitu přenosového kanálu (bps, kbps, Mbps, Gbps...)
  • packet loss (ztrátovost paketů) -- průměrný počet ztracených paketů za určité období vyjádření v % vzhledem k celkovému počtu přenesených paketů
  • delay, latency (zpoždění přenosu) -- čas mezi odesláním a přijetím zprávy (ms)
    • RTT delay (Round-Trip-Time delay) -- čas trasy (odesílatel odešle -> příjemce přijme -> příjemce odešle -> odesílatel přijme)
  • jitter (rozptyl, kolísání zpoždění) -- variabilita zpoždění přenosu (ms, μs...)
Ideální síť Skutečná síť
transparentní vnitřní struktura ovlivňuje doručení dat
neomezená propustnost omezená propustnost
bezztrátová ztrátová
bez zpoždění a jitteru zpoždění a jitter
zachování pořadí paketů možné prohození pořadí paketů
data nejsou poškozena data mohou být poškozena

Požadované vlastnosti

  • efektivita (maximální využití zdrojů)
  • spravedlivost (stejná priorita různých toků)
  • decentralizovaná správa
  • rychlá konvergence při adaptaci na nový stav
  • spolehlivost
  • řízení toku dat (aby nenastalo zahlcení sítě)

Základní přístupy

Spojované sítě (stavové)
  • přepínání okruhů
  • před začátkem komunikace je vytvořeno spojení (okruh) a to je udržováno po celou dobu komunikace
  • pevný okruh × okruh vytvořený na přání
  • slečny spojovatelky
  • snadná implementace
  • např. analogové telefonní sítě
Nespojované sítě
  • směrování paketů
  • data nejdou po předem připravené cestě, ale jsou rozdělena do menších kousků a jednotlivé části sítě vybírají, kam paket pošlou dál (snaží se jej přiblížit cíli)
  • není potřeba uchovávat stav sítě
  • složitější implementace
  • např. Internet

Implementace funkcionality

End-to-End (E2E)
  • není nutná kooperace vnitřních síťových prvků
  • vše je v koncových bodech sítě
  • zajišťuje věrnost přenesených dat
  • větší zpoždění
Hop-by-Hop (HbH)
  • funkcionalita se opakuje na každém uzlu sítě (rozhodování, kam data pošlu)
  • prvky uvnitř sítě si pamatují její stav -> limitovaná škálovatelnost
  • důležitější je minimalizovat zpoždění -> real-time systémy

Síťové modely

  • dekompozice úkolu (analogie s posíláním dopisu poštou)

ISO/OSI model

  • ISO = název organizace, OSI = název modelu
  • 7-vrstvý model vytvořený pro zajištění kompatibility a interoperability komunikačních systémů různých výrobců
  • každá vrstva plní určitou funkcionalitu
  • každá vrstva komunikuje pouze se svými přímými sousedy
  • vrstvy jsou pouze abstrakce funkcionality, implementace je jiná

Fyzická vrstva -- přenosový média, signály, bitová reprezentace (bity)

Vrstva datového spoje -- MAX a LLC, fyzická adresa (rámce)

Síťová vrstva -- logické síťové adresování, směrování (pakety)

Transportní vrstva -- proces-proces komunikace, spolehlivost (segmenty -- TCP, datagramy -- UDP)

Relační vrstva -- relace, správa relací (data)

Prezentační vrstva -- datová reprezentace (data)

Aplikační vrstva -- síťové aplikace (data)

Rozdíl mezi ISO/OSI a TCP/IP

TCP/IP model

Vrstva přístupu k síti/médiu

Síťová (Internetová) vrstva

Transportní vrstva

Aplikační vrstva

Síťové komunikační protokoly

  • komunikace musí být nějak standardizovaná
  • průběh komunikace:
    • výzva ke komunikaci
    • akceptace komunikace
    • akceptování/odmítnutí/timeout

síťový protokol -- definice formátu a pořadí zpráv vyměňovaných mezi entitami a akce probíhající při odesílání a příjmu, určuje syntax, sémantiku a časování (např. UDP, TCP, IP, IPv6, SSL, TLS, SNMP, HTTP, FTP, SSH, Aloha, CSMA/CD,...)

Standardizace

  • stanovení norem
  • cíle: kvalita, bezpečnost, kompatibilita, interoperabilita, portabilita
  • de facto -- obecně akceptovaná vhodná technická řešení
  • de jure -- standardy nařízené kompetentními organizacemi/autoritou

Standadizační instituce

  • ANSI (American National Standards Institute)
  • EIA (Electronics Industry Assiciation) -- normalizace na úrovni fyzické vrstvy
  • IEC (International Electrotechnical Commission)
  • IEEE (Institute of Electrical and Electrionic Engineers)
  • IETF (Internet Engineering Task Force) -- příprava specifikací pro Internet
    • RFC (Request for Comments)
  • ISO (International Organization for Standardiation)
  • ITU-T (International Telecommunications Union - Telecommunications Standardization Sector)

Příklady reálných sítí

  • CESNET2
  • GEANT2
  • Internet2/Abilene

Fyzická vrstva

  • řídí děje v přenosovém médiu
  • poskytuje služby vrstvě datového spoje
  • transformuje bity na signály a naopak
  • určuje počet logických kanálů souběžně přenášejících data z různých zdrojů
  • cíl: přenést bity (obsah rámců) mezi odesílatelem a příjemcem
  • vlastnosti (parametry a návaznosti signálů, zapojení konektorů apod.) jsou určeny standardy

přenosové médium -- přenáší data mezi uzly

  • analogové přenosové médium -- éter
  • digitální přenosové médium -- koaxiál, kroucená dvojlinka

Služby

  • Bit-to-Signal Transformation -- převod bitů na signál
  • Bit-Rate Control -- kontrola počtu bitů za sekundu
  • Bit Synchronization -- synchronizace příjemce a odesílatele
  • Multiplexing -- rozdělení na logické kanály za účelem vyšší efektivit
  • Circuit Switching -- přepínání okruhů

Signály

  • data jsou přenášena pomocí (elektromagnetických) signálů
  • je nutné provést převod binárních dat na signál

signál -- časová funkce reprezentující změny fyzikálních vlastností přenosového média

  • analogový signál -- spojitý v čase, šíření po vodiči nebo bezdrátově
  • digitální signál -- diskrétní (nespojitý) v čase, šíří se pouze po vodiči

Defekty signálů

  • slábnutí -- ztráta energie, příčina: odpor vodiče
  • zkreslení -- ztráta tvaru, příčina: různá rychlost šíření signálů na různých frekvencích
  • šum -- příčina: vliv cizí energie

repeater (opakovač) -- přijímá poškozený signál a přeposílá ho dál opravený

Přenos dat

Analogový přenos binárních dat

  • modulace
  • amplitudová, frekvenční nebo fázová modulace
  • modem = MOdulátor + DEModulátor

Digitální přenos binárních dat

  • transformace kódování
  • kódování -- binární data -> digitální signál
  • problém: synchronizace vysílače a přijímače (nerozeznáme počet 1 v dlouhé posloupnosti 111...)

přímé kódování -- 0 je 0, 1 je 1, bez možnosti synchronizace

NRZ kódování -- dva signály, jeden přenáší data a druhý mění amplitudu, pokud následující bit == 1

kódování Manchester -- pokles amplitudy == 0, nárůst amplitudy == 1, nižší efektivní přenosová kapacita, plná samosynchronizovatelnost

kódování 4B/5B -- uměle zavedená redundance, umí detekovat chyby

Přenosová média

  • prostředí pro činnost fyzické vrstvy
  • voděná -- fyzický kanál mezi dvěma zařízeními (kroucená dvojlinka, koaxiál, optické vlákno...)
  • nevoděná -- nepoužívají fyzický vodič, signály se šíří éterem (rádiové, mikrovlnné či infračervené vysílání...)

Multiplexning

  • technika sdílení dostupné přenosové kapacity přenosového média souběžnými komunikacemi
  • lze uplatnit především u optických a bezdrátových přenosů
  • pro analogové signály:
    • Frequency-Division Multiplexing (FDM) -- stanice vysílající v éteru na různých frekvencích
    • Wave-Division Multiplexing (WDM) -- FDM pro optická vlákna, různé vlnové délky (každá barva reprezentuje jeden kanál)
  • pro digitální signály:
    • Time-Division Multiplexing (TDM) -- v jeden okamžik vysílá pouze jeden vysílač, střídají se, nutno dobře synchronizovat

Linková vrstva (vrstva datového spoje)

  • na úrovni LAN
  • přijímá pakety do síťové vrstvy a transformuje je do rámců
  • přenáší rámce mezi komunikujícími uzly, které jsou určeny MAC adresami
  • zaručuje spolehlivost přenosu (vynucení opakování chybně přenesené informace)
  • brání zahlcení cílového uzlu
  • řídí přístup uzlů k sdílenému přenosovému médiu
  • detekuje a opravuje chyby
    • Error Detection, Automatic Request for Retransmission (ARQ)
    • Forward Error Correction (FEC) -- samoopravné kódy (např. Hammingův kód viz. MB104)
  • kolizní doména

Služby

  • tvorba rámců (Framing) -- balení paketů ze síťové vrstvy do rámců
  • adresování (Addressing) -- fyzické/MAC adresy
  • chybové řízení (Error Control) -- detekce a korekce chyb z fyzické vrstvy
  • řízení toku (Flow Control) -- zabraňuje zahlcení příjemce (stop-and-wait, sliding-window)
  • řízení přístupu k médiu (Medium Access Control - MAC) -- eliminace kolizí při násobném vysílání

Tvorba rámců, adresace

  • Ethernetový rámec:
    • preambule (identifikace počátku rámce)
    • cílová adresa
    • zdrojová adresa
    • typ
    • data
    • CRC (Cyclic Redundancy Check) -- cyklický redundantní součet

Chybové řízení

  • chyby (změna hodnot bitů) vznikají na fyzické vrstvě
  • na linkové vrstvě probíhá detekce a korekce
  • vysílač přidá redundantní kontrolní bity, přijímat podle nich zkontroluje data
  • Error Detection, Automatic Request for Retransmission (ARQ) -- detekce & opakování přenosu
  • Forward Error Correction (FEC) -- detekce & oprava (např. Hammingův kód)

Kódy pro detekci chyb

  • sudá/lichá parita
  • cyklické kódy s kontrolní redundancí (CRC - Cyclic Redundancy Check) -- viz MB104 (n,k)-kódy, spolehlivě opravuje jednoduché chyby

Řízení přístupu k médiu (MAC - Medium Access Control)

  • cíl: eliminovat kolize
  • neřízený, řízený nebo multiplexově-orientovaný přístup

Protokoly neřízeného přístupu

  • Aloha -- stanice vysílá kdykoli má připravený rámec, při kolizi počká náhodou dobu a pak to zkusí znovu, neefektivní
  • CSMA/CD -- vysílá jen když je klid, používá se v LAN Ethernetu, nelze použít v nevoděném médiu
  • CSMA/CA -- obcházení kolizí, použitelné v nevoděném médiu

Protokoly řízeného přístupu

  • stanice smí vysílat, pouze když získá svolení
  • rezervace
  • vyzývání
  • předávání příznaku

Protokoly multiplexově-orientované přístupu

  • v médiu se přenáší víc signálů najednou
  • FDMA -- frekvence
  • TDMA -- čas

L2 sítě

  • lokální počítačové sítě (LANs)

topologie -- uspořádání stanic na médiu

kolizní doména -- určena stanicemi, které sdílí přenosové médium, při souběžném vysílání nastává kolize

Sběrnicová topologie (bus)

  • relativně snadná na instalaci
  • kolizní doména zahrnuje všechny připojené stanice
  • protokol CSMA/CD pro řízení přístupu k médiu
  • při výpadku kabelu vypadne celá síť

Kruhová topologie (ring)

  • zprávy putují v jednom směru
  • kolizní doména zahrnuje všechny připojené stanice
  • právo vysílat se určuje metodou peška
  • při výpadku kabelu nebo stanice vypadne celá síť

Hvězdicová topologie (star)

  • centrální bod (hub, bridge, switch)
  • obtížnější na instalaci
  • kolizní doména závisí na propojovacím bodu
    • hub (L1) -- všechny připojené stanice
    • bridgle, switch (L2) -- pouze sousedící stanice
  • při výpadku kabelu vypadne pouze dané zařízení

Budování L2 sítí

bridge (můstek) -- transparentní propojení sítí, zabraňuje šíření kolizí, všechen provoz prochází můstkem

  • switch -- víceportový můstek

  • založena na MAC adresách

  • můstek se učí umístění jednotlivých stanic (Backward Learning Algorithm) -- nutné pro správné přepínání rámců

Distribuovaný Spanning Tree Algorithm
  • cíl: zabránit cyklům (nepoužívat některé porty můstků)
  • všechny můstky periodicky posílají informaci o své vzdálenosti od kořene
  • pokud můstek obdrží zprávu od souseda, upraví svoji definici nejlepší cesty (kořen s menší adresou, menší vzdálenost)
  • výběr kořenového můstku
    • všechny můstky se prohlásí za kořeny
    • rozešlou informace a vyberou ten s nejnižším ID
  • výběr kořenových portů
    • každý můstek si vybere svůj nejkratší port ke kořenovému můstku
    • ostaní porty vypne
  • výběr aktivních/neaktivních portů
    • kořenový můstek nastaví všechny své porty jako aktivní
    • na spojích, kde nejsou kořenové porty, se vyměňují informace
    • ten s nižším můstkovým ID se vypne

Síťová vrstva

  • potřebujeme ji k vybudování geograficky rozlehlé sítě
  • multicast

Poskytované služby

  • propojování fyzických sítí (Internetworking) -- iluze uniformní WAN
  • tvorba paketů (Packetizing) -- přijaté segmenty transformuje na pakety (IP protokol)
  • Fragmentace paketů (Fragmenting) -- rozděluje segmenty na pakety (délka závisí na vlastnostech/schopnostech sítě)
  • Adresace (Addressing) -- poskytuje jednoznačnou identifikaci každého zařízení (IP adresy)
  • Mapování IP adres na/z fyzické adresy (Address Resolution) -- mapuje síťové adresy na fyzické adresy (ARP, RARP protokoly)
  • Směrování (Routing) -- hledání nejvhodnější cesty mezi komunikujícími entitami
  • Metoda základního monitoringu stavu sítě (Control Messaging) -- základní informace o nedoručitelnosti paketů, stavu sítě, uzlů atp. ICMP protokol

Internetworking

  • propojování jednotlivých sítí ve větší celek
  • tvoří se hierarchie
  • důvody: zpřístupnění, zvětšení dosahu služeb, optimalizace fungování sítě, překonání technických překážek

internet (zkráceno z internetwork) -- jakékoli propojení dvou a více sítí

Internet -- konkrétní síť, celosvětový Internet

směrovač (router) -- propojovací zařízení

Modely zajištění síťových služeb

  • přepínání okruhů (Circuit Switching) -- přímé spojení mezi odesílatelem a příjemcem, bez paketů, spojovaná služba
  • přepínání paketů (Packet Switching) -- zasílání paketů (nezávislých datových jednotek), virtuální kanály, spojovaná služba
  • datagramový přístup -- nespojovaná komunikace

Adresace

  • jednoznačná identifikace každého zařízení připojeného k Internetu
  • systematické přidělování adres -> snadné směrování
  • IPv4 32 bitů -- čtyři bloky (každý s max. hodnotou 255) oddělené dvojtečkou
  • IPv6 128 bitů

IPv4: typy adres

  • Unicast (individuální) adresy -- jediný příjemce/odesílatel
  • Broadcast adresy -- více příjemců v rámci LAN, identifikace odesílatele je unicastová
  • Multicast (skupinové) adresy -- příjemcem je každý, kdo o data projevil zájem, identifikace odesílatele je unicastová

IPv4: Classful Addressing

  • první metoda přidělování adresního prostoru
  • 5 tříd adresního prostoru
  • třída A -- 2^7 sítí, každá má 2^24 uzlů
  • třída B -- 2^14 sítí, každá má 2^16 uzlů
  • třída C -- 2^21 sítí, každá má 2^8 uzlů
  • třída D -- multicastové adresy
  • třída E -- rezervní prostor

adresa sítě (NetID) -- identifikuje síť, využívá se pro směrování

adresa uzlu/rozhraní (HostID) -- identifikuje jedinečný uzel v síti NetID

př. HostID = 147.251.48.1 -> třída B: NetID = 147.251.0.0

  • problém: nedostatečné granularita -- plýtvání adresním rozsahem
  • řešení: více síťových adres menší třídy
  • nový problém: nárůst směrovacích tabulek (jejich prohledávání má lineární složitost)
  • nové řešení:
    • subnetting -- rozdělení dle organizačních složek v rámci organizace (rozložení mezi jednotlivé fakulty), tříúrovňová hierarchie (adresa sítě, podsítě a uzlu)
    • superentting -- agregace původně samostatných síťových adres v jednu větší, sníží velikosti směrovacích tabulek, protože se bude jednat o souvislý blok adres určité třídy
  • identifikace bitů, které označují síť -- princip masky sítě (1 na místech, kde je síťová adresa, 0 relativní adres v rámci sítě, použijeme operaci &&)

IPv4 Classless Addressing

  • zobecnění a rozšíření subnettingu a supernettingu
  • variabilní délka bloku obsahujícího adresu sítě
  • identifikace sítě: adresa + maska sítě
  • hierarchické přidělování adres
Classless Inter-Domain Routing (CIDR)
  • konvence pro použití IP adres, význam masek, subnettingu a supernettingu
  • CIDR bloky (namísto tříd A, B, C), jejichž velikost určuje maska
  • adresy závislé na poskytovateli (při změně je nutné přečíslovat)
  • snížení tempa vyčerpání adres

IPv4: Network Address Translation (NAT)

  • postup pro snížení tempa vyčerpání adres
  • skrytí vnitřní sítě za jednu/více externích adres
  • způsobuje ochranu vnitřní sítě
  • překlad adres při odchodu ze sítě je triviální
  • pro překlad adres při příjmu (kterému stoji paket náleží?) slouží překladové tabulky

IPv6: adresy

  • 128 bitů
  • hexadecimální zápis, 8 oddílů (po dvou bytech)
  • zkracování zápisu: vynechání počátečních nul, vynechání sekvence nulových bloků (pouze jedné!)
  • hierarchie definována RFC 3587:
    • n-bitů: globální směrovací systém
    • 64-n bitů: adresa podsítě
    • 64 bitů: adresa rozhraní
  • k popisu využíváme CIDR, třídy neexistují
  • typy adres (broadcast se nevyužívá):
    • unicast
    • multicast
    • anycast (data se doručí pouze nejbližšímu příjemci!)
  • IP datagram
  • ARP (Adress Resolution Protocol) -- slouží k mapování dynamických adres v IPv4
  • na zkoušce bývá: porovnání IPv4 a IPv6 hlaviček

Interakce L3 se spojovou vrstvou (L2)

  • hop-by-hop mechanismus doručení dat v IP sítích
  • předání/doručení na základě fyzických (MAC) adresy
  • příjemce je na stejné LAN jako odesílatel -- IP datagram obsahuje: IP adresu příjemce, rámec L2 vrstvy a MAC adresu příjemce
  • příjemce je na jiné LAN než odesílatel -- IP datagram obsahuje: IP adresu příjemce, rámec L2 vrstvy a MAC adresu směrovače; směrovač jej vloží do nového rámce a pošle dál

statické mapování -- statická tabulka párů IP a MAC adres

dynamické mapování -- ARP (Address Resolution Protocol)

ARP protokol

  • zjištění MAC adresy na základě IP
  1. ARP request paketu (IP, MAC odesílatele, IP příjemce) všem uzlům v LAN (broadcast)
  2. odpoví ten uzel, jehož IP adresa se shoduje v hledanou
  3. uzel odpovídá ARP reply paketem
  • dříve se využíval RARP (Reversed Address Resolution Protocol) ke zpětnému překladu MAC adres na IP adresy

IP protokol

  • nejrozšířenější protokol síťové vrstvy
  • zajišťuje transport datagramů na místo určení pře mezilehlé směrovače
  • host-to-host delivery
  • datagramový přístup, nespojovaná komunikace
  • nespolehlivá služba
  • doplňujíc ho podpůrné protokoly (ICMP, ARP, RARP, IGMP), které např. ošetřují nestandardní situace
  • Internet Protocol verze 4 (IPv4) -- 1981, RFC 791
  • Internet Protocol verze 6 (IPv6) -- 1998, RFC 2460

IP protokol verze 4

  • version (VER)
  • header length (HLEN)
  • differentiated services/type of services (DS/TOS) -- třída datagramu v rámci kvality služby (QoS), slouží k rozlišení důležitých datagramů
  • total length -- v bajtech
  • identification -- identifikace původního datagramu
  • flag -- 3 bity: rezerva, do-not-fragment bit (nesmí být fragmentován), more-fragment bit (není posledním fragmentem)
  • offset -- pozice fragmentu v původním datagramu, jednotka 8 B
  • time to live (TTL) -- vkládá se zhruba 2× větší číslo, než je vzdálenost mezi uzly, při průchodu se dekrementuje
  • protocol -- identifikace protokolu vyšší vrstvy, kterým má být datagram doručen
  • header checksum -- kontrolní součet hlavičky
  • source IP address -- 32-bitová IPv4 adresa odesílatele
  • destination IP address -- 32-bitová IPv4 adresa příjemce
  • options -- volitelná součást určená pro případná rozšíření
  • data

Maximum Transfer Unit (MTU) -- maximální velikost dat (total size datagramu) které lze přenést využitím L2 protokolem

Fragmentace datagramu
  • pokud je datagram příliš velký, dojde k fragmentaci
  • datagram se rozdělí na několik menších datagramů
  • využívají se pole Identification, Flags a Offset
  • fragmentace probíhá na zdrojovém uzlu nebo na směrovačích
  • datagram se skládá pouze na cílovém uzlu (riziko ztráty fragmentu)

ICMP

  • RFC 792
  • doprovodný protokol k IP protokolu
  • poskytuje informace o chybách při přenosu IP datagramů a informace o stavu sítě
  • zprávy jsou baleny do IP protokolů, hodnota Protocol nastavena na 1
  • zprávy obsahují část paketu, který způsobil chybu nebo se váže na odpověď
  • využití:
    • ping -- ICMP Echo request/reply
    • traceroute -- ICMP Time exceeded
  • ochrana proti rekurzivnímu generování -- negeneruje se při:
    • ICMP chybě
    • broadcast nebo multicast zprávě
    • poškození IP hlavičky
    • chybě fragmentu (kromě prvního)
  • generování zpráv je často výkonnostně omezeno
Příklady zpráv
  • chyby
    • destination unreachable
    • time exceeded -- vypršení TTL
  • stav sítě/uzlu
    • echo request/reply -- požadavek na odpověď

IP protokol verze 6

Důvody vzniku:
  • rychlé vyčerpání IPv4
  • slabá podpora přenosů aplikací reálného času
  • žádná podpora zabezpečení komunikace na úrovni IP
  • žádná podpora autokonfigurace zařízení
  • žádná podpora mobility
  • ...
Vlastnosti
  • rozšířený adresový prostor -- 128 bitů
  • jednodušší formát hlavičky
  • možnosti dalšího rozšíření
  • podpora přenosů reálného času
  • podpora zabezpečení přenosu -- autentizace, šifrování a verifikace integrity dat
  • podpora mobility -- domácí agenti
  • podpora autokonfigurace zařízení -- stavová a bezstavová konfigurace
Základní hlavička datagramu
  • velikost 40 B
  • neobsahuje: kontrolní součet (není), volby a fragmentační informace (v rozšiřující hlavičce)
  • Version (VER)
  • Priority (PRI)
  • Flow label
  • Payload length -- celková délka bez základní hlavičky
  • Next header -- hlavička transportního protokolu nebo rozšiřující hlavička
  • Hop limit -- zhruba odpovídá TTL v IPv4
  • Source/Destination address
Rozšiřující hlavičky
  • Hop-By-Hop Options -- volba pro všechny
  • Routing -- směrování
  • Fragment -- fragmentace
  • Encapsulating Security Payload (ESP) -- autentizace datagramu, nebo šifrování obsahu
  • Authentication Header (AH) -- autentizace datagramu
  • ...
Zabezpečení IP datagramů

IPSec - implementace zabezpečené komunikace na síťové vrstvě, povinné v IPv6, poskytuje možnost šifrování a autentizace dat

transportní režim ochrany -- vloží se rozšiřující bezpečností hlavičky

tunelující režim ochrany -- datagram se zabalí jako data do nového datagramu s bezpečnostními hlavičkami

bezpečnostní asociace (Security Association, SA) -- virtuální spojení dvou počítačů, které zajišťuje zabezpečený přenos dat, používá AH, nebo ESP, o správu se stará Internet Key Exchange (IKEv2) Protocol (RFC 4306)

Podpora mobility
  • myšlenka domovské sítě
  • Home Address -- adresa, pod kterou je stroj trvale dostupný
  • Care-of Address -- měnící se adresa
  • domácí agent -- směrovač v domácí síti, prostřednictvím kterého je zařízení trvale dosažitelné
Podpora autokonfigurace
  • stavová konfigurace
  • bezstavová konfigurace
Podpora fragmentace
  • stejné jako u IPv4, ale fragmentuje pouze zdrojový uzel
  • musíme zjistit maximální velikost paketů
  • mechanismus Path MTU Discovery

ICMPv6

  • stejný mechanismus jako ICMPv4, navíc zahrnuje funkcionalitu ARP a IGMP
  • hlavička: hodnota 58 v položce Next header
  • chybové zprávy interval: (0,127) a informační zprávy interval: (128,225)

Mechanismy pro podporu přechodu IPv4 -> IPv6

  • dvojí zásobník -- podpora IPv4 i IPv6
  • tunelování -- IPv6 zabaleno do IPv4 datagramu
  • translátory -- překládají IPv4 do IPv6 a naopak

Směrování (Routing)

= proces nalezení cesty mezi dvěma komunikujícími uzly

  • data vyšších vrstev jsou vložena do datagramů, které pak putují sítí nezávisle
  • cestu ovlivňují statické (topologie sítě) a dynamické faktory (zatížení sítě)
  • síť je matematický graf -- uzly jsou směrovače, hrany jsou jejich propojení, ohodnocení hran reprezentuje cenu komunikace -> hledáme minimální cestu v grafu
  • cena komunikace: kapacita, zpoždění, využití, reálná cena za využití linky
  • hledáme optimální trasu a dopravujeme datový paket adresátovi
  • hop-by-hop -- posouváme paket blíže cíli
  • směrování -- proces nalezení/vytváření směrovacích tabulek (globální činnost)
  • zasílání -- průchod paketů směrovaček (lokální činnost)

směrovací tabulky -- datová struktura obsahující cesty k prefixům, hledáme nejdelší prefix vyhovující požadavku (Longest-prefix Match Algorithm), lokální představa o topologii

  • je obtížné mít globální přehled o topologii sítě (složité získat, složitější udržovat aktuální)
  • Internet směruje: distribuovaně, "krok za krokem", deterministicky, jednocestně, dynamicky

Základní přístupy

Statické (neadaptivní) směrování

  • jednodušší, málo flexibilní, vhodné pro statickou topologii
  • cesty jsou vytvářeny ručně
  • při poruše nemůže být ustanovena alternativní trasa

Dynamické (adaptivní) směrování

  • složité algoritmy
  • musíme pravidelně aktualizovat směrovací tabulky (potřebujeme protokol)
  • možnost dočasné nekonzistence
  • nezaručuje pořadí doručení
Centralizované
  • RCC (Routing Control Center) -- řídí síť, vytváří směrovací tabulky pro všechny na základě jejich statusu
  • výhody: globální informace -- optimální řešení, ulehčení práce směrovačům
  • nevýhody: závislé na centru, nelze použít pro velké sítě, pomalé
Izolované
  • každý uzel se řídí sám
    • náhodná procházka -- paket je zaslán do náhodné linky
    • horký brambor -- paket je zaslán do linky s nejkratší frontou
    • záplava -- paket je poslán všem, kromě cesty, ze které přišel (zátěž sítě, ale najde optimální cestu)
    • zpětné učení -- pamatujeme si vzdálenost, kterou paket urazil (víme délku od odesílatele)
Distribuované
  • kooperace skupin uzlů, které sdílí směrovací informace -> mapa sítě
  • dohodnutí směrovacího algoritmu
  • vhodné i pro rozlehlé sítě -- Internet

Směrovací algoritmy

  • zprostředkovávají funkcionalitu směrování
  • tvorba a údržba směrovacích tabulek, doručení dat
  • spojované (virtuální kanály) × nespojované služby (datagramy)
  • centralizované (jeden uzel) × distribuované (každý uzel) algoritmy

směrovací protokol -- definice přesných pravidel komunikace a formátu zpráv nesoucích informace

Požadované vlastnosti směrovacího algoritmu

  • správnost
  • jednoduchost
  • efektivita
  • škálovatelnost
  • robustnost
  • stabilita
  • spravedlivost
  • optimálnost

Distribuované směrování

Distance Vector

  • algoritmus Bellman-Ford
  • sousední směrovače si pravidelně vyměňují kopie směrovacích tabulek
  • update informací a distance vektor čísla -- počet hopů k dané síti
  • všechny informace jen sousedům
  • trojce (cílová síť, adresa následujícího směrovače, vzdálenost do cílové sítě)
  • pomalá konvergence -- riziko vzniku smyček, řešení: dělení horizontu (směrovač neposílá informaci o cestě uzlu, od kterého se informaci dozvěděl)
  • mnoho režijních dat
Protokol RIP
  • RIPv1, RIPv2 (navíc např. autentizace směrovacích informací)
  • sítě identifikovány s využitím mechanismu CIDR
  • metrika -- počet hopů (sousední = 1, nekonečno = 16)
  • každých 30 sekund se zasílají informace
  • vhodné pro malé sítě a stabilní linky
  • nevhodné pro redundantní sítě

Link State

  • směrovače zasílá informace o lince, na kterou je připojen
  • směrovače získají kompletní topologii sítě (broadcast)
  • následné počítání nejkratší cesty (např. Dijkstra)
  • informace o svých sousedech všem
  • rychlá konvergence, zvládá rozlehlé sítě
  • složitější algoritmus, větší nároky na CPU a paměť směrovače
Protokol OSPF (Open Shortest Path First)
  • nejpoužívanější LS protokol
  • metrika: cena (1--65535, podle šířky pásma)
  • rozšíření: autentizace zpráv, směrovací oblasti (další úroveň hierarchie), load-balancing (více cest se stejnou cenou)

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ě

Hierarchie směrování

  • každý uzel celý Internet
  • každá brána zná celý Internet
  • hierarchické členění Internetu: každá brána zdá svoji podsíť, páteřní brány znají celý Internet
  • koncepce autonomních systémů

Autonomní systémy

  • cíl: snížení směrovací režie, zjednodušení správy sítě
  • každý autonomní systém (doména) má ASN (Autonomous System Number) -- 16bitové id, které přiřazuje ICANN a popisuje ho RFC 1930
  • domény -- např. CESNET, PASNET
  • děleny podle způsobu připojení do sítě
Stub AS
  • připojen pouze jednomu AS
  • hraniční směrovač -- výchozí pro všechny sítě ostatní sítě
Multihomed
  • připojen minimálně ke 2 dalším AS, ale neumožňuje přenos mezi nimi
Transit AS
  • připojen minimálně ke 2 dalším AS a umožňuje přenos mezi nim
Směrování v AS
  • intradoménové směrování -- směrování uvnitř domény (Interior Gateway Protocols (IGP) např. RIP, OSPF)
  • interdoménové směrování -- směrování mezi doménami (Exterior Gateway Protocols (EGP) např. EGP, BGP-4)
  • vnitřní a vnější protokoly musí spolupracovat
  • interní a hraniční směrovače
  • směrovací pravidla mohou zakazovat směrování přes nějaký AS v přídě výpadku (zohledňují se lokální požadavky)
Protokol EGP (Exterior Routing Protocol)
  • Distance Vector přístup
  • cílem je dosažitelnost nikoli efektivita
  • navržen pro stromovou strukturu Internetu
  • nepoužívá se, nepodporuje redundanci a neumí pracovat s cykly
Protokol BGP (Border Gateway Protocol)
  • Path Vector směrování -- posílají se celé cesty (detekuje cykly, umožňuje definici pravidel), preferuje kratší cesty, řeší pouze dostupnost
  • umožňuje definici pravidel směrování
  • pracuje nad TCP
  • používá CIDR pro agregaci cest

Multicastové směrování - IP Multicasting

  • vysíláme stejnou zprávu skupině příjemců
  • nutnost replikace dat
  • unicast (ke každému příjemci putují data zvlášť) × multicast (data se po cestě dělí)
  • stream videa, data produkovaná přístrojem, videokonference,...

IP Multicast

  • každým spojem jde nanejvýš jedna kopie dat
  • hop-by-hop
  • doručení nezaručeno
  • rozsah šíření je omezen TTL
  • identifikace skupiny pomocí multicastové adresy
  • výhody: škálovatelnost, nezatěžování sítě kopiemi
  • nevýhody: problematické účtování, problém se zajištěním doručení, snadný terč útoku (DoS, DDoS), nelze zjistit přijímající
Source Based Tree
  • aktivita shora od zakládajícího
  • periodický broadcast
  • ořezávání větví bez členů
  • omezení šířky TTL
  • pro úzce lokalizované skupiny
  • protokoly: DVMRP (RIP), MOSPF (OSPF) PIM-DM
Shared Tree (Core Based Tree)
  • ustanovené jádro - body setkání (MP)
  • zájemce o skupinu kontaktuje MP
  • aktivita zdola od příjemce
  • redukce broadcastu -> lepší škálování
  • závislost na dostupnosti jádra
  • protokoly: CBT, PIM-SM (protokolově nezávislé)

Protokoly

Internet Group Management Protocol (IGMP)
  • správa skupiny v rámci LAN
  • IGMP (RFC 1112), IGMPv2 (RFC 2236)
  • správa členství
  • přihlášení ke skupině, odhlášení ze skupiny, monitoring skupiny
Distance Vector Multicast Routing Protocol (DVMRP)
  • rozšíření unicastového DV směrování, využívá informací získaných RIP protokolem
  • 3 přístupy pro budování stromu:
    • Reverse Path Forwarding (RPF)
    • Reverse Path Broadcasting (RPB)
    • Reverse Path Multicasting (RPM)
Multicast Open Shortest Path First (MOSPF)
  • rozšíření unicastového OSPF protokolu
  • uzly počítají strom cest z kořene, kterým je zdroj multicastového vysílání
Protocol Independent Multicast - Dense Mode (PIM-DM)
  • použití v prostředí, kde je pravděpodobné, že většina směrovačů se bude účastnit multicastu
  • využívá RPF přístup
  • podobný DVMRP, ale nevyžaduje RIP
Core-Based Tree (CBT)
  • zdroj je kořen budovaného stromu
  • Rendezvous Router -- bod setkání, zvolen pro každý region AS
  • uzly v případu zájmu kontaktují bod setkání (strom se buduje od listů)
Protocol Independent Multicast { Sparse Mode (PIM-SM)
  • použití v prostředí, kde je málo pravděpodobné, že většina směrovačů se bude účastnit multicastu
  • podobný CBT, ale vytváří záložní Randezvous Pointy pro případ výpadků
  • v případě potřeby přepne do strategie Source-based Tree

Transportní vrstva

  • přijímá data odesílající aplikace a transformuje je do segmentů
  • segmenty předává cílové aplikace
  • zajišťuje doručení dat (segmentů) mezi komunikujícími aplikacemi/procesy
    • zajišťuje spolehlivost, poskytuje logický kanál
    • process-to-process delivery
  • nejnižší vrstva poskytující end-to-end služby

Služby

  • tvorba paketů (Packetizing) -- aplikace posílá pakety s transportní hlavičkou
  • řízení spojení (Connection Control) -- spojované a nespojované služby
  • adresace (Addressing) -- označení aplikací pomocí portů IPadresa:port
  • zajištění spolehlivosti přenosu (Reliability) -- řízení toku (Flow Control), řízení chyb (Error Control)
  • řízení zahlcení sítě (Congestion Control)
  • zajištění kvality služby (Quality of Service, QoS)

Adresace na L4

  • číslo portu -- adresa služby, 16bitové číslo (0--65535)
well-known porty
  • 0--1023
  • známé konkrétní služby
  • přiděluje organizace IANA
registrované porty
  • 1023--49151
  • volně použitelné, jdou zaregistrovat
dynamické porty
  • 49151--65535
  • většinou zdrojové porty odesílacích aplikací

multiplexing -- na straně odesílatele je mnoho aplikací a jeden transportní protokol -- identifikace zdrojovým portem

demultiplexing -- na straně příjemce jeden transportní protokol, vybíráme vhodnou aplikaci pro doručení, která je identifikována cílovým portem

Řízení spojení

  • spojované služby -- číslované pakety s potvrzením
  • nespojované služby -- nečíslované pakety bez potvrzení

UDP protokol (User Datagram Protocol)

  • nejjednodušší transportní protokol poskytující nespojovanou nespolehlivou službu
  • best-effort služba
  • přenos bloku dat
  • služby IP vrsty + process-to-process komunikace + jednoduchá kontrola chyb
  • zajištění spolehlivosti přenosu je na aplikaci
  • jednoduché, minimální režie (nespojované, neuchovává stavové informace na komunikujících stranách, malá hlavička)
  • aplikace: DNS (stačí jednoduchá komunikace), TFTP (má interní řízení toku a kontrolu chyb), real-time přenosy, multicastové přenosy, aktualizace směrovacích tabulek RIP protokolem,...

Hlavička paketů

  • zdrojový port (source port)
  • cílový port (destination port)
  • délka UDP paketu (length)
  • kontrolní součet (checksum)

Mechanismy zajištění spolehlivého přenosu

  • L2 vrstva kontroluje chyby pouze mezi uzly, nikoli v nich
  • mechanismus potvrzování -- pakety jsou sekvenčně číslovány
    • pozitivní potvrzování -- potvrzení přijetí
    • negativní potvrzování -- potvrzení nepřijetí/ztráty
  • ARQ (Automatic Repeat reQuest) -- znovuposlání dat

Stop-and-Wait ARQ

  • nejjednodušší
  • odesílatel čeká na potvrzení, pokud nastane timeout, pošle znovu
  • pakety číslovány střídavě 0, 1...
  • pozitivní potvrzování s číslem dalšího očekávaného paketu
  • piggybacking -- u obousměrného přenosu posíláme data i s ACKem
  • nevýhoda: lze posílat jen jeden paket

Go-Back-N ARQ

  • číslujeme sekvencí a nečekáme na potvrzení
  • mechanismus plovoucího okna (sliding window) -- uchovávání informace o odeslaných/přijatých paketech
  • okno odesílatele má velikost max. 2^počet_prvků_sekvence
  • okno příjemce má velikost 1 bit (očekáváme jeden určitý paket)
  • kumulativní potvrzování
  • nevýhoda: neefektivní pro vysoce ztrátové linky

Selective-Repeat ARQ

  • číslujeme sekvencí
  • rozšíření okna příjemce -- bufferování out-of-order paketů
  • kumulativní pozitivní a negativní potvrzování
  • okno odesílatele má velikost max. 2^(počet_prvků_sekvence-1)

TCP protokol (Transmission Control Protocol)

  • spojované služby
  • plně spolehlivý
  • přenos proudu bytů
  • handshake
  • pouze point-to-point spojení (nepodporuje multicast)
  • multiplexing, demultiplexing a detekce chyb stejné jako v UDP
  • TCP dostane od aplikace proud bytů, segmentuje je, opatří hlavičkou a předá síťovému protokolu (vytváří iluzi roury pro aplikace)

Služby

  • přenos proudu bytů
  • odesílací a přijímací buffery -- kompenzují rozdílné rychlosti a řídí rok chyb
  • segmentace dat -- velikost segmentu omezena MSS (Maximum Segment Size), určuje TCP nebo OS, přidání hlavičky, očíslování bytů

Hlavička segmentů

  • zdrojový port
  • cílový port
  • sekvenční číslo
  • číslo potvrzovaného segmentu -- číslo dalšího očekávaného bytu
  • délka hlavičky
  • rezervovaná pole
  • řídící data -- 6 bitů identifikující řídící informace
  • velikost okna
  • kontrolní součet
  • urgentní data -- zasílání dat mimo pořadí
  • volby

Správa spojení

  • full-duplexní přenos -- obě strany musí iniciovat spojení (třícestný handshake)
  • ukončení spojení je iniciováno jednou stranou a musí být uzavřeno oběma stranami

Řízení chyb

  • segment může být poškozený, ztracený, duplikovaný nebo out-of-order
  • kontrolní mechanismy: kontrolní součty, potvrzování přijatých segmentů, timeout (většinou timeout = 2×RTT Round-Trip Time)

Řízení toku (Flow Control)

  • příjemce informuje odesílatele o stavu svého bufferu

Řízení zahlcení (Congestion Control)

  • přizpůsobení rychlosti vysílání kapacitě sítě
  • závisí na informacích o síti
  • zahlcení nastává ve frontách směrovačů/switchů
    • proaktivní přístup -- snaha předcházet zahlcení
    • reaktivní přístup -- při zahlení snížit rychlost vysílání
  • cwnd (okno zahlcení) -- kolik dat lze do sítě zaslat, aniž by došlo k zahlcení
AIMD (Additive Increase, Multiplicative Decrease)
  • odhad cwnd
  • fáze Slow Start
  • fáze Additive Increase
  • fáze Multiplicative Decrese

Varianty TCP

  • liší se způsobem odhadu kapacity sítě
  • např. TCP Tahoe, TCP Reno, TCP Vegas (monitoruje RTT), TCP NewReno, TCP Hybla, TCP BIC, TCP CUBIC, Compound TCP...

Vylepšení TCP

  • Víceproudové TCP -- vylepšení při izolovaných výpadcích paketů, používá se na gridech

Konzervativní rozšíření TCP

  • GridDT -- sbírka ad-hoc modifikací
  • Scalable TCP
  • High-Speed TCP (HSTCP)
  • Early Congestion Notification (ECN)
  • E-TCP
  • FAST

Odlišné přítupy od TCP

  • tsunami
  • Reliable Blast UDP (RBUDP)
  • XCP, SCTP, DCCP, STP, Reliable UDP

Kvalita služby (QoS)

  • toky v TCP/IP jsou standardně obsluhovány se stejnou prioritou (best-effort service)

  • v určitých případech chceme určité datové toky upřednostnit před jinými, poskytnout jim určitou kvalitu služby

  • garantovaná přesnost, minimální zpoždění, omezení ztrátovosti

  • nezbytné u real-time přenosů: operace na dálku, obsluha jaderné elektrárny, apod.

  • základní parametry síťových toků:

    • spolehlivost (reliability)
    • zpoždění (latency)
    • rozptyl zpoždění (jitter)
    • přenosová kapacita (bandwidth)
  • mechanismy zajištění kvality služby:

    • plánování
    • formování/omezování toků
    • prevence zahlcení

Plánování (Scheduling)

  • souvisí s obsluhou vstupních/výstupních front na odesílateli, příjemci a vnitřních síťových prvcích
  • struktura front a způsob manipulace ovlivňuje možnosti garance zpoždění

FIFO (FCFS)

  • "Kdo dřív přijde, ten dřív mele."
  • zvýhodnění agresivních proudů, bez podpory priority

Priority Queuing

  • pakety jsou zařazeny pro prioritních tříd, každá třída má vlastní frontu
  • pakety ve vyšší prioritní třídě mají přednost
  • nevýhoda: pakety s nižší prioritou mohou vyhladovět (starvation)

Wighted Fair Queuing

  • princip prioritní fronty
  • každá fronta má váhu
  • podle váhy je z fronty uvolněn příslušný počet paketů
  • Round Robin obsluhování front
  • řeší problém vyhladovění

Formování/omezování toků (Traffic Shaping)

  • mechanismus pro řízení množství a rychlosti odesílaných paketů

average rate -- počet paketů, které lze zpracovat za určitý časový interval

peak rate -- maximální počet paketů, které lze poslat během krátkého časového intervalu (dočasně zvýšit počet posílaných paketů)

burst size -- maximální počet paketů, které lze poslat během extrémně krátkého časového intervalu (téměř naráz)

Leaky Bucket

  • vyhlazování přenosu
  • princip "děravého kyblíčku", nepravidelný tok vody je zprůměrován konstantním výtokem dírou v kyblíčku,
  • pokud je kyblíček plný, nově příchozí pakety jsou zahozeny

Token Bucket

  • umožnění krátkodobých špiček
  • umožňuje shromažďování tokenů k okamžiku nečinnosti
  • velikost kyblíčku ovlivňuje velikost krátkodobých špiček

Prevence zacyklení (Congestion Avoidance)

  • pokud je fronta plná, nově příchozí pakety se zahazují
  • může dojít k vlnám zahlcení napříč uzly (důsledek chování TCP protokolu)

Random Early Detection (RED)

  • při určitém zaplnění fronty začne fronta zahazovat náhodné pakety -> zpomalení
  • odstraňuje problém globální synchronizace

Weighted Random Early Detection (WRED)

  • viz RED, ale zohledňuje prioritu paketů

Kvalita služby Internetu

  • mechanismy zajištění kvality služby:

Integrované služby (Intergrated Services)

  • ověření zdrojů
  • rezervace zdrojů
  • přenos dat
  • rezervační protokoly: RSVP, YESSIR
  • nevýhoda: problém se škálovatelností -- nutnost udržovat stav na vnitřních prvcích sítě

Rozlišované služby (Differentiated Services)

  • označení priority paketů
  • paket označen značkou do pole Type of Service (IPv4) nebo Traffic Class (IPv6)
  • výhody: škálovatelnost, jednoduchost, žádné zpoždění způsobené rezervací

Relační vrstva

  • správa relací (dialogů)
  • jedno transportní spojení může zajišťovat více relací a naopak

relace = dialog -- spojení mezi dvěma koncovými účastníky na úrovni bezprostředně vyšší, než je vrstva transportní (analogie telefonního hovoru)

Služby relační vrstvy

  • řazení dialogu
    • plně duplexní (TWS - Two-Way-Simultaneous)
    • poloduplexní (TWA - Two-Way-Alternate) -- využívá data token
    • simplexní (One-Way)
  • synchronizace (Checkpointing) -- metoda kontrolních bodů (hlavní a vedlejší)

Protokoly

  • SSL, SDP, RPC, NetBIOS, H.245, ASP

Prezentační vrstva

  • konverze přenášených dat do jednotného formátu
  • různé architektury se liší vnitřní reprezentací dat
    • EBCDIC kód × ACII kód apod.
    • jedničkový doplňkový kód × dvojkový doplňkový kód
    • Little Endian × Big Endian
  • komunikující strany převedou data na společný "mezitvar"
  • pro popis dat se používá jazyk ASN.1 (Abstract Syntax Notation version 1)
  • další možné služby prezentační vrstvy: šifrování a komprese dat

Protokoly

  • AFP, ASCII, EBCDIC, LPP, NDR, XDR, X.25 PAD

Aplikační vrstva

  • rozhraní pro uživatele (aplikační programy)
  • zahrnuje síťové aplikace/programy a aplikační programy
  • aplikační protokoly jsou součástí síťových aplikací a definují formu komunikace mezi aplikacemi
  • aplikační protokoly definují:
    • typy zpráv (request/response)
    • syntaxi zpráv
    • sémantiku zpráv
    • pravidla kdy a jak aplikace zprávy vysílají

Základní členění aplikací

Komunikační modely

Client-Server
  • komunikaci iniciuje klient (aplikační program ovládaný uživatelem)
  • request-response mechanismus (ustanoví se spojení a uživatel vysílá požadavky na server)
  • po ukončení komunikace se kanál uzavře
  • zdroje jsou centralizovány
  • WWW, FTP, DNS, SSH,...
Peer-to-peer
  • jednotliví klienti komunikují přímo (uzly jsou si rovnocenné)
  • uzly vzájemně sdílí své zdroje
  • zdroje jsou decentralizovány
  • sdílení zdrojů
  • Gnutella, Skype, VoIP, BitCoin, BitTorrent,...
Tenký (thin) klient
  • na straně klienta se vykonává minimum výpočetní logiky
  • výhody: jednodušší, nižší nároky na HW
  • nevýhody: menší škálovatelnost, vyšší objemy přenášených dat, Single point of failure (server)
  • např. vzdálené terminály
Tlustý (fat) klient
  • většina aplikační logiky probíhá na straně klienta
  • výhody: menší nároky na server, nižší objem přenesených dat, možnost pracovat offline
  • nevýhody: vyšší HW i SW nároky na klienta (paměť, disk, CPU)
  • např. Firefox

Přístup k informacím

Pull model
  • přenos dat iniciován klientem
  • např. webové prohlížeče
  • asymetrický datový tok, rozmanité požadavky na propustnost
Push model
  • přenos dat iniciován serverem na znalosti uživatelových požadavků
  • např. streaming multimédií
  • jednosměrný datový tok, definované požadavky na propustnost

Vybrané síťové aplikace

Jmenná služba DNS (Domain Name System)

  • služba pro překlad doménových jmen na IP adresy a zpět
  • aisa.fi.muni.cz <-> 147.251.48.1
  • plochý jmenný prostor -- jména bez vnitřní struktury, nepoužitelné ve větším systému (např. zverinecFIMUNIcz)
  • hierarchický jmenný prostor -- jména s vnitřní strukturou, možnost decentralizované správy (např. zverinec.fi.muni.cz.)
  • DNS maximální počet úrovní: 128
  • každý uzel má label (63 znaků, popisuje daný uzel, kořenový uzel má label prázdný) a domain name (sekvence jmenovek, odděleny tečkou)
  • základní domény: com, edu, gov, int, mil, net, org
  • národní domény: cz, sk, pl, de

HTTP (Hypertext Transfer Protocol)

  • protokol pro přístup k datům na WWW
  • klient-server přístup
  • typy dokumentů: statické, dynamické (obsah tvořen podle požadavků klienta), aktivní (JAVA aplikace běžící na straně klienta)

hypertext -- způsob nelineárního strukturování textu s použitím odkazů

URL (Uniform Resource Locator)
  • specifikace "čehokoli" na Internetu
  • method://host:port/path
  • method -- protokol, který má být využit pro přístupu ke zdroji
  • host -- uzel, kde se nachází informace
  • port -- volitelné, využívá se, pokud je použit jiný než standardní port
  • path -- cesta k informaci + parametry

SMTP (Simple Mail Transfer Protocol)

  • mechanismus pro posílání elektronické pošty v Internetu
  • struktura zprávy:
    • obálka (envelope) -- adresa odesílatele, adresa příjemce, ...
    • zpráva (message) -- hlavičky (odesílatel, příjemce, předmět...) + tělo zprávy
  • emailová adresa: lokální-část@doménové-jméno
  • proces doručení elektronické zprávy:
    • doručení lokálnímu poštovnímu serveru -- ustanovení TCP spojení (port 25) s poštovním severem
    • předání emailu cílovému poštovnímu serveru -- SMTP protokol
    • předání/čtení emailu cílovým poštovním klientem -- protokol POP3 nebo IMAP4

Přenos souborů - FTP

  • protokol pro přenos souborů mezi uzly
  • vznikají 2 samostatná TCP spojení:
    • řídící spojení (port 21) -- otevřeno po celou dobu trvající relace, probíhá před ně řídící komunikace (o typu souboru, jeho vnitřní struktuře a přenosovém módu)
    • datové spojení (port 20) -- otevírá se pro každý přenášený soubor

Multimediální přenosy v datových sítích

  • streamování uloženého/živého audia/videa, video konference, Internetová telefonie
Zpracování zvuku
  • vzorkování a kvantování -- převod analog -> digitál
  • zpracování digitálních dat -- ekvalizace, odstranění šumu, ozvěny,...
  • komprese
Zpracování obrazu
  • obraz -- elektromagnetické vlnění
  • vzorkování a kvantování
  • framerate = počet obrazových snímků za sekundu (25 fps pro lidské oko)

Základy síťové bezpečnosti

  • bezpečná síť by měla nabízet služby:
    • Authentication (autentizace)
    • Authorization (autorizace)
    • Accounting (účtování)
  • zabezpečená komunikace má důvěrnost, integritu a nepopiratelnost
  • bezpečný (spolehlivý) systém:
    • dostupnost (availability)
    • spolehlivost (reliability))
    • zabezpečení (safety)
    • důvěrnost (confidentality)
    • integrita (integrity) -- vyhýbání se nepovoleným změnám systému
    • udržovatelnost (maintability)

autentizace -- řízení přístupu, oprávnění nebo odepření přístupu

accounting -- sledujeme, jak uživatelé využívají síťové služby

důvěrnost -- ochrana dat před neautorizovaným odhalením, zajištěno šifrováním

integrita -- ochrana dat před neautorizovanou modifikací

nepopiratelnost -- prokazatelnost odeslání či doručení zprávy

Zabezpečená síťová komunikace

kryptografie -- nauka o metodách utajování zpráv převodem do podoby, která je čitelná jen se s klíčem

Symetrická kryptografie

  • jeden klíč
  • výhody: nízká výpočetní náročnost, vhodné pro dlouhé zprávy
  • nevýhody: sdílení tajného klíče
  • např. DES, 3DES, IDEA,...

Asymetrická kryptografie

  • kryptografie s veřejným klíčem
  • veřejný a soukromý klíč
  • výhody: neposíláme šifrovací klíč, veřejný klíč může znát každý
  • nevýhody: rychlost
  • např. RSA, DSA,...
  • certifikát veřejného klíče -- ověření, kdo je opravdu držitelem veřejného klíče, obsahuje:
    • jméno vlastníka
    • hodnotu veřejného klíče
    • planost
    • podpis vydavatele certifikátu
  • certifikační autorita -- vydává certifikáty, důvěryhodné organizace

Autentizace komunikujících stran

  • autentizace heslem -- heslo je šifrováno sdíleným symetrickým heslem, negarantuje "čerstvost" hesla
  • autentizace s využitím náhodných čísel
    • žádost o náhodné číslo
    • zaslání náhodné čísla
    • odeslání náhodného čísla zpět zašifrovaného symetrickým klíčem
  • vzájemná autentizace s využitím náhodných čísel -- obousměrné

Šifrování

  • zajištění důvěrnosti přenosu
  • používá se symetrická kryptografie
  • k přenesení klíče se použije asymetrická kryptografie, Diffie-Hellman

Digitální podpis

  • zajištění integrity a nepopíratelnosti přenosu (a autentizaci stan)
  • obrácený mechanismus asymetrické kryptografie: zpráva je podepsána soukromým klíčem a ověřena veřejným klíčem
  • podepisuje se hash zprávy
  • hashovací funkce musí být jednosměrná (z hashe nelze získat zprávu) a one-to-one (z různých zpráv nedostaneme stejný hash - je to málo pravděpodobné)
  • např. SHA-256

Protokoly

  • bezpečnostní koncepty lze realizovat na aplikační, transportní a síťové vrstvě

IP Security (IPSec)

  • kolekce protokolů zajišťujících bezpečnou komunikace na síťové vrstvě
  • protokoly:
    • Authenticatoin Header (AH) -- autentizace odesílatele a integrita
    • Encapsulation Security Paload (ESP) -- autentizace odesílatele, integrita, důvěrnost přenosu
  • módy:
    • transportní mód -- IPSec hlavička se vloží mezi IP hlavičku a tělo zprávy
    • tunelovací mód -- IPSec hlavička se vloží před původní IP hlavičku a vygenerována nová IP hlavička
  • výhody: zabezpečení datových toků mezi uzly, není třeba upravovat aplikace
  • nevýhody: bez automatizovaných prostředků pro správu klíčů

Secure Sockets Layer (SSL)

Transport Layer Security (TLS)

  • zabezpečení na transportní vrstvě
  • HTTP -> HTTPS, FTP -> FTPS
  • nevýhoda: nutnost úpravy aplikací

Pretty Good Privacy (PGP)

  • zabezpečení na aplikační vrstvě
  • zasílání bezpečné elektronické pošty
  • důvěrnost, integrita, autentizace i nepopiratelnost

Bezpečná architektura sítě

  • základní principy a protokoly
    • síťové protokoly a jejich pružnost
    • redundance
  • zabezpečené a pružné směrování
    • ochrana spojení a cest
    • agregace spojení
    • vícecestné směrování
  • odolné překryvové sítě (RON)
  • zabezpečené DNS

Samoorganizující se sítě

P2P sítě

  • "virtuální" síť utvořená nad již existující sítí
  • překryvová síť slouží k indexování a zjišťování peerů, po fyzické síti se přenáší data
  • nový peer musí mít "kontakt" na alespoň jednoho člena sítě

Centralizované P2P systémy

  • centrální servery, které poskytují služby (např. koordinace akcí v síti)
  • když peer získá potřebné informace (od severu), komunikuje přímo s peerem, který má požadovaná data
  • nevýhody: single point of failure, slabá škálovatelnost a robustnost, nízký výkon pro velký počet účastníků
  • např. vědecké výpočty (BOINC), sdílení dat (Napster), IM (Jabber),...

Decentralizované (pure) P2P systémy

  • každý peer má jen částečné informace o celé síti

  • je obtížnější najít peera s požadovanou informací

  • výhody: decentralizace, škálovatelnost, robustnost, výkon

  • např. Gnutella

  • plochá struktura -- rovnoměrné rozložení funkcionality mezi uzly

  • hierarchická struktura -- více vrstev při směrování, lepší izolace chyb, bezpečnost, cache...

Topologie překryvné sítě
  • nestrukturovaná -- lokalizace dat je výzvou
  • strukturovaná -- existuje mapování mezi daty a peery (distribuované hashovací tabulky), vyšší režie

Hybridní P2P systémy

  • kombinují výhody centralizovaného a decentralizovaného přístupu
  • super peers -- vybraní peers, které mají roli severu

bezdrátová sít -- buněčná struktura, základní stanice propojeny drátem, např. GSM, UMTS, WLAN

Bezdrátové ad-hoc sítě

  • využití při živelných pohromách, vojenských akcích, weareble gadgets, doprava, kolaborativní výpočty
  • bez vnitřní infrastruktury
  • uzly jsou autonomní
  • topologie je dynamická
  • omezený dosah
    • single-hop -- všichni na dosah
    • muti-hop -- k uzlu se dostanu přes jiný uzel
  • výhody: rychlé vybudování, obtížněji napadnutelné (díky decentralizaci), efektivní využití rádiového spektra
  • problémy: samoorganizace, dosah, mobilita, řízení přístupu, směrování

Bezdrátové senzorové sítě

  • malá zařízení, málo paměti, málo energie...
  • interakce s prostředím
  • záchranné akce - sledování teploty okolí (proti požárům v odlehlých částech lesů)
  • monitoring prostředí
  • zemědělství -- zavlažování a hnojení tam, kde je potřeba
  • inteligentní budovy a mosty

Historie komunikačních sítí

Historie komunikace

  • kouřové signály
  • semaforová abeceda
  • 1837/8 -- telegraf
  • 1866 -- transatlantický kabel
  • 1865 -- potrubní pošta
  • 1876 -- telefon (Alexander Graham Bell)
  • 1910 -- dálnopis
  • 1949 -- modem

Přenosová média

  • 1880 -- koaxiální kabel (Oliver Heavyside)
  • 1881 -- kroucená dvoulinka (Bell)
  • 1966 -- optická vlákna (Charles Kuen Kao -- Nobelova cena za fyziku)

První sítě

  • 1971 -- ALOHA (Norman Abramson)
  • 1973/4 -- Ethernet (Xerow PARC, Robert Metcalfe)

Arpanet

  • vývoj 60. léta
  • 1969--1990
  • motivací byla decentralizovaná síť, která by byla funkční i při jaderném útoku
  • Interface Message Protocol (IMP) -- rozhraní mezi pc a sítí ARPANET

TCP/IP

  • 1978 první verze protokolů
  • Vinton Gary Cerf a Robert Elliot Kahn
      1. 2011 se vyčerpaly IPv4 adresy
  • další protokoly: DECNet, AppleTalk, IPX/SPX (byly vytlačeny TCP/IP)

Směrování

  • 1958 -- Bellmanův-Fordův algoritmus
  • 1959 -- Dijkstrův algoritmus (publikován)

DV algoritmy

  • 1975 -- DRP (DEC Routing Protocol)
  • 1984 -- EGP (Exterior Gateway Protocol
  • 1988 -- RIP (Routing Information Protocol)
  • 1989 -- BGP (Border Gateway Protocol)

LS algoritmy

  • 1989 -- OSPF (Open Shortest Path First)
  • 1987 -- IS-IS (Intermediate System to Intermediate System)

Transportní protokoly

  • 1981 -- UDP
  • 1981 -- TCP
  • 1984 -- RDP
  • 1984 -- ATP (AppleTalk Transaction Protocol)
  • 1985 -- SPX (Sequenced Packet Exchange)
  • 2003 -- RTP (Real-time Transport Protocol)

Internet

  • 1975 -- rozdělení ARPANETu na ARPANET (akademická půda) a MILNET (armáda)
    1. léta -- BITNET, CSNET (akademické a výzkumné organizace)
  • 1986 -- vysokorychlostní NSFNET
  • 1987 -- pojem Internet

World Wide Web

  • CERN, 1989
  • Sir Tim Berners-Lee
  • hypertext
  • 1993 -- Mosaic (první webový prohlížeč zpracovávající obrázky a text)

Historie akademické sítě v ČR

  • 1990 -- připojení k síti EARN (European Academic and Research Network)
  • 1991 -- ČSFR připojena k Internetu
  • 1992 -- zahájen provoz Internetu
  • 1992/3 -- rozdělení na SANET a CESNET
  • 1996 vznik sdružení CESNET
  • 2004 -- síť CESNET2
  • Metacentrum

chyby ve slajdech: 08 str. 38: "diskétní vzorky" 09 str. 5: "Zavezpečení" 10 str. 2-3, 9, 21, 39: chybí obsah slajdu 11 str. 15: Vinton Gary Cerf -> Vinton Gray Cerf