Šířka pásma = propustnost komunikačního kanálu - zákl. pásmo baseband: pro přenos signálu s jednou frekvencí – typicky LAN - úzké pásmo narrowband: pro hlasové přenosy – typicky telefonní sítě - široké pásmo broadband: pro frekvenčně sdílené přenosové kanály – typicky WAN
Kódování: konverze dat do diskrétního signálu Modulace: konverze dat do analogového signálu (je to změna charakteristiky signálu pomocí nosného signálu) - amplitudová: málo odolná vůči rušení - kmitočtová: vhodná pro nižší rychlosti - fázová: nejodolnější, vhodná i pro vyšší rychlosti Používá se v bezdrátových technologiích, v přenosech optickými vlákny a v přenosech metalickými vodiči. Spread Spectrum – metody, které rozprostírají elektromagnetické vlny určitého rozsahu frekvencí do tzv. frekvenční domény (výsledný signál má širší frekvenční rozsah) => signál je odolnější proti rušení, proti odposlechu a zkreslení Modulační technika rozprostřené spektrum (Spread Spectrum) a její techniky pro bezdrátové přenosy - DSSS (technika přímého rozprostřeného spektra): vyšší přenosová kapacita, vnitřní WLAN (mezi budovami) - FHSS (přeskakování mezi několika frekvencemi při přenosu bitu): odolnější vůči rušení, pokrytí větších oblastí - QPSK – kvadraturní fázová modulace - 4 stavy, každý přenáší současně 2 bity
Důvody pro modulaci a kódování: - zvýšení odolnosti přenosu – menší bitová chybovost (Bit Error Ratio) - možnost synchronizace přenosu - zvýšení bezpečnosti přenosu
Pořadí bitů v signálu určuje přenosová technologie (big/little endian; little = LAN) Měření charakteristiky přenosového kanálu: C = M x b (přenosová rychlost, modulační rychlost, počet bitů v signálu) Modulační techniku Manchester používá nejvýznamnější technologie LAN – IEEE 802.3 (Ethernet) Problémy přenosů signálu: zkreslení, zpoždění, rušení => řešení: přenosové technologie (specifikace max. délek segmentů vodičů), prostředky obnovy signálu v optických a bezdrátových spojích (zesilovače, opakovače) Kapacita přenosového kanálu (max. přenosový rychlost b/s): - Ideální dle Nyquista C = 2 W log2 M .. přenosová rychlost, šířka pásma, modulační rychlost - Reálná dle Shannona C = W log2 (1 + S/N) .. přenosová rychlost, šířka pásma, poměr signál/šum
Přenosový kanál – soubor prostředků mezi uzly sítě umožňující přenos signálu (vys/přij rozhraní, přenosové médium) Vytvářejí jej přenosové technologie, jenž specifikují: - rychlost přenosu, pořadí bitů ((little: první bit nedůležitý / big: první nejdůležitější) endian), charakteristiky signálu Požadavky na přenosové technologie: vysoká přenosová rychlost, dlouhé vzdálenosti bez ztráty kvality signálu, náklady Datový spoj = organizovaný komunikační kanál Datová jednotka (rámec) musí mít zajištěno oddělení režijních informací od dat – dáno přenosovým protokolem: Flag (indik. začátku), Záhlaví (src&dest addr, řízení), Data, Zápatí (FCS – kontrola bitové správnosti), Flag (indik. konce) Typy rámců: s pevnou délkou, s proměnlivou délkou, datové proudy Řízení datového spoje zahrnuje: - Synchronizaci rámců: asynchronní – znakově orientovaný (start/stop bit po každém znaku), velká přenosová režie synchronní – bitově orientovaný (začátek seq je dohodnutý bitový vzorek (preamble)), menší režie přenosu
- Kontrola bitové správnosti (FCS) – algoritmus kontrolu určen protokolem – typy:
paritní kontrola (sudá/lichá/podélná/příčná parita); cyklická redundantní kontrola CRC – algoritmus spočte kontrolní sekvenci a vloží ji do rámce; cílový systém provede to stejné a porovná výsledky
- Řízení toku rámců a bitové správnosti – zabránění zahlcené přijímacího systému, omezení kolizí v kom. kanále Techniky pro komunikační kanály s násobným přístupem (typicky LAN) - Deterministické – Token Ring - Stochastické (CSMA): stanice monitorují stav přenosového média a začnou vysílat až když je volné) - CSMA/CD (detekce kolize) – Ověří, že je kanál volný (není-li, čeká s vysíláním). Během vysílání probíhá náslech kanálu současně s vysíláním a je-li kolize, zastaví vysílání a rozešle jamming signál, kterým upozorní ostatní - CSMA/CA (předchází kolizi) – Je-li kanál volný určitou dobu, začne vysílat. Neúspěšně? => Začne exponenciálně čekat. Obsazeno? => čeká na uvolnění a poté opět exponenciálně čeká. Využívají bezdrátové technologie.
Techniky pro dvoubodové komunikační kanály (typicky WAN): - techniky řízení toku: STOP and WAIT / SLIDING WINDOW - techniky řízení správnosti přenos: - pozitivní/negativní potvrzení (ACK/NACK) - opakování vyslání rámce po neobdržení potvrzení (ARQ) Techniky zvýšení využitelnosti komunikačního kanálu (multiplexing – sdílení spoje): - TDM (časové sdíl. sp.): rámce z více zdrojů jsou vysílaný ve zvolených časových úsecích (time slots) - synchronní TDM: pro každý zdroj je pevně stanovený časový úsek; jednodušší implementace - asynchronní TDM (statistické, inteligentní): dynam. alokace časových úseků, náročnější implementace - FDM (frekvenční sdíl. sp.): přenos více signálů (každý užívá jinou část pásma) jedním širokopásmovým médiem - OFDM (ortogonální): možno současně vysílat stovky dat.signálů, které se sčítají; využití bezdrát, optika - CDM (kódové sdíl. sp.): více zdrojů současně vysílá data zakódovaná rozdílnými kódy = sdílení TDM i FDM - MIMO (prostorový multiplexing): více antén na vys/přij pro zlepšení výkonu přenosů; využití 3G, 4G, bezdrát
Komunikační proces (proces výměny dat) – klíčové koncepty: Architektura (struktura řízení komunikace uspořádaná ve vrstvách), Služba (funkce poskytované nadřazené vrstvě), Entita, Funkce, Protokol (souhrn pravidel dialogu). - zdroj slouží: uživateli k přístupu k síťové službě přes aplikaci, k vytvoření datové zprávy, k zajištění přesunu paketů mezi vzdálenými procesy a end zařízeními, k zajištění vyslání rámců do data-linku připojeného k cílovému systému - cíl slouží: k příjmu signálu na přijímači cíl. systému, k příjmu a zpracování rámce, ke zpracování paketu Síťová architektura pomocí protokolů zabezpečuje: přístup aplikací k síťovým službám, předávání zpráv mezi vzdálenými procesy, přenos paketu mezi vzdálenými procesy, vysílání/příjem signálu a datových rámců. Služební primitiva jsou prostředky komunikace (přes přístupový bod k síť. službě SAP) mezi uživat. a poskytovat. služby: - REQUEST - generuje uživatel; aby službu vyvolal, předá poskytovateli parametry potřebné k určení služby - INDICATION - generuje poskytovatel služby; informuje, že partnerský uživatel na vzdáleném systému vyvolal akci - RESPONSE - generuje uživatel; potvrzuje dokončení předcházející procedury - CONFIRMATION – generuje poskytovatel; zpráva pro uživatele o výsledku procedury vyžadované REQUESTem
Dvě entity na téže úrovni různých systémů jsou v interakci prostřednictvím protokolů po virtuálních spojích: - virt. spoje jednosměrné: pro služby nespojované (UDP) – po předání zprávy se ukončí - virt. spoje obousměrné: pro služby spojované (TCP) – řízená komunikace Fragmentace: Datové jednotky protokolu PDU jsou generovány na každé fční vrstvě a předávány vrstvě nižší sousední. PDU = data převzatá z vyšší vrstvy + vlastní data režijní (záhlaví). Velikost PDU vyvolává potřebu fragmentace. Encapsulation: na zdroji zapouzdření (enc.); PDU se předává mezi entitami sousedních vrstev; na cíli: odpouzdření (dec.) Klíčové složky protokolů: Syntaxe: formát dat; Sémantika: význam řídících dat pro koordinaci a řízení chybovosti mezi komunikujícími entitami; Časování: časové návaznosti, pravidla dialogů. Adresa MAC – adresa fyzického síťového rozhraní: - 48 bitů uspořádaných v 6 oktetech, vyjádřená v šestnáctkovém tvaru (první 3 oktety přiděleny výrobci, zbylé NIC) - MAC broadcast adresa FF:FF:FF:FF:FF:FF – adresa všech síťových rozhraní na spoji - MAC nulová adresa 00:00:00::00:00:00 – rezervována pro cílové adresy zkušebních a prázdných rámců
Referenční model OSI (definuje funkce vytvářející komuni aplikační (přístup ke komunik. systému a síťovým službám) prezentační (transformace formátu dat) relační (správa dialogu) transportní (zajištění komunikace mezi uživ., tvorba a ukončení virt. spojení, přenos dat) síťová (způsob přenosu dat, (de)fragmentace, směrování – stanovení přenosové cesty paketů – mezi sítěmi dle logické síťové adresy) datových spojů (přepínání mezi fyzickými porty dle cílové MAC adresy) fyzická
kační proces) – vrstvy:
Multiplexing síťových architektur: různé síť. arch. užívají stejné přenosové technologie (Ethernet užívají TCP/IP, AppleTalk) Multiplexing přenosových technologií: jedna síť. arch. může využívat různé přenosové technologie Techniky přenosů: - Přepínání spojů: komutovaný spoj (dial-up) - Přepínání paketů: - virtuální spoje: vytvoření virt. přenos. kanálu, spojovaný spolehlivý přenos s QoS (bývá u vys-rych. spojů) - datagramová služba: přenosová cesta není předem známá, pakety označeny cílovou adresou Protokoly LAN: - implementace všesměrového vysílání (broadcasting), - implementace promiskuitního režimu (příjem všech vysílaných rámců), - multiplexing – služby protokolů data-linkové vrstvy sdílí více uživatelů různých architektur - adresová filtrace: příjem pouze určitých rámců - protokolová filtrace: příjem rámců, které obsahují PDU určitých protokolů síťové vrstvy - podpora skupinového vysílání – MAC multicasting Protokoly vrstvy data-link v sítích LAN; specifikace IEEE 802 určuje specifikace F a D-L vrstvy (802.3 pro Ethernet). Záhlaví IEEE 802.3 pro Ethernet (nespojovaná): flag |dst_addr |src_addr |délka |data+typ(protokoly IP/ARP/RARP) |fcs |flag Záhlaví IEEE 802.2 pro LLC (logical link control): DSAP (dst_service_acces_point) |SSAP (src_sap) |CNTL (typ služby) - protokol FDDI (fiber distributed data int) – LAN původně pro optiku, později i pro metaliku; spolehlivý,rychlý: ideál pro páteřní LAN; připojení až 500 st. v síti; záhlaví: MAC záhlaví (media access ctrl) |LLC PDU (data) |FCS |Frame status - typy rámců: datové, nedatové, tokeny (deterministický přístup, předání oprávnění k vysílání), topologie duální kruh Standardy WLAN: - standard IEEE 802.11b: dosah 100 m; rychlost 5–6 Mbps; nejrozšířenější WLAN technol. Současnosti - standard IEEE 802.11g: dosah 150 m; rychlost 12 Mbps; možnost umístit klienty a AP typu „b“ a „g“ - standard IEEE 802.11n: vylepšuje předchozí; používá techniku MIMO (příjem na více anténách) Typy propojení WLAN: BSA: služby pro oblast jednoho AP; ESS: služby mezi oblastmi APů (roaming); P2P: „ad hoc“, bez APů Standard WPAN: - standard IEEE 802.15.1-3 Bluetooth: komunikace mezi bezdrátovými zařízeními, dosah do 20 m Protokoly WAN: - HDLC (high-level data link ctrl) – flag, addr, řízení, data, FCS, flag – definuje pro spoje half a full-duplex: - 3 typy komunikujících stanic (jaké rámce vysílají komunikující stanice): primární (vysílá „příkaz“), sekundární (vysílá „odpověď“), kombinovaná (vysílá příkaz i odpověď) - 3 režimy přenosu dat (kdo může v nevyvážené configuraci zahájit přenos dat): NRM (jen prim. stan.), ARM (může i sekundární stanice), ABM (vyvážená conf s komb. stanicemi) - 2 typy konfigurace datového spoje: vyvážená conf, nevyvážená conf - 2 typy rámců: - číslovaný (obsahuje pořadová čísla rámce) datový (obsahuje uživatelská data), nedatový (řízení spoje) - nečíslovaný (bez pořad. čísel): režijní rámec (tvorba/ukončení spojení, určení režimu přenosu) - LAP (link acces protocol) tvorba a vysílání dat přes P2P spoje – vznikl z HDLC - PPP (p2p protocol) pro dial-up přístup do internetu – flag |addr |řízení |protokol(uvnitř zapouzdřeno PDU) |data |FCS |flag ustavuje 2 úrovně protokolů (LCP pro řízení spoje; autentizace uzlů, NCP pro řízení sítě; prot. pro síť. prot.) - ATM (async transfer mode) vysoké přenosové rychlosti, spojovaná komunikace s QoS, koncepce odlišná od OSI TCP/IP v současnosti nejpoužívanější síťová architektura (zvolen za zákl. protokol ARPAnetu); implementace: - user-end systémy (PC, servery,..) – implementace všech funkčních vrstev - mezilehlé uzly (switche, routery) – implementace spodních funkčních vrstev Je to standard „de facto“, jeho standardy jsou dokumenty RFC (volně přístupné) V: Vytváří rozhraní pro různé přenosové technologie LAN a WAN; N: Současným požadavkům již příliš nevyhovuje. Architektura TCP/IP vs. RM OSI || Rozhraní IP vrstvy a vrstev přenosových
Architektura TCP/IP: - vrstva síťová: směrování a přepojování dtgů, (de)fragmentace dtgů – protokoly: - IP = základní protokol sítě, vysílá dtgy, (de)fragmentuje dtgy - ARP, RARP = mapování logické síťové adresy dp fyzické adresy (IP => MAC) - ICMP = generování řídících zpráv o chybách a nestd událostech při přenosu dtgu - IGMP = správa síťových skupin (mapování skupinové MAC addr do síť. skupinové addr) - OSPF = interní směrovací protokol (uvnitř autonomních systémů) - vrstva transportní: koncový přenos dat mezi komunikujícími procesy (užívá TCP/UDP tran. prt.) - vrstva aplikační: množina protokolů poskytujících uživatelské síť. služby a systémové síť.služby - protokoly systémové: DNS (přiřazení IP addr k doménovému jménu) - protokoly uživatelské: TELNET (virt. terminál – vzdálený přístup k host. systému), FTP, SMTP
IP adresa = logická síťová adresa (32 bitů, 4 oktety) – zápis dotted decimal; složena z identifikátoru IP sítě + čísla uzlu Typy adres: - třída A S.U.U.U (1.0.0.0-126.0.0.0) ; maska 255.0.0.0 - třída B S.S.U.U (128.0.0.0-191.254.0.0) ; maska 255.255.0.0 - třída C S.S.S.U (192.0.1.0-223.255.254) ; maska 255.255.255.0 - třída D (224.0.0.0-239.255.255.255) – multicast (zbylé unicast) - třída E (240.0.0.0-255.255.255.254) – nepoužito - globální broadcast = 255.255.255.255 - vyhrazeno pro OS UNIX = 127.0.0.0 Metody adresování privátních sítí – intranetů: NAT – opakované přidělování adres || PAT – jedna společná adresa Metody adresace v LAN: - Classfull Addressing = masky pro určitou třídu (A,B,C) - Classless Addressing CIDR = princip prefixů adres (nikoliv masky) - Podsítě = určení podsíťové (subnet) masky dle počtu adresovaných zařízení v podsíti - NAT = překlad veřejných adres do privátních (a úspora veřejných adres) - VLSM = v jedné LAN více podsíťových masek (každé rozhraní má jinou masku) – efektivnější využití adresního prostoru Směrování (výběr cesty pro datagram): - přímé (předání cílovému uzlu v téže IP síti) – zdroj i cíl ve stejné IP síti; do rámce nutno vložit MAC addr cílového uzlu - nepřímé (předání routeru v síti ten předá dál) – zdroj a cíl v různých IP sítích; do rámce nutno vložit MAC addr routeru
Vyhledání MAC adresy ke známé IP adrese => protokol ARP: - vyšle ARP request na MAC broadcast a uzel, jenž pozná svou IP addr (z ARP req) pošle ARP reply se svou MAC addr ARP cache uchovává záznamy získané v předchozích ARP aktivitách Vyhledání IP adresy ke známé MAC adrese => protokol RARP: - vyšle rámec s RARP request na MAC broadcast a odpovídá mu server, který má uloženou mapu přiřazení MAC-IP
IP vrstva; IP protokol – základní protokol síťové vrstvy (tvoří dtg; zajišťuje jejich přenos přes směrovače; je-li velikost dtg > MTU => rozděluje pakety na fragmenty: další samostatné dtg, (de)fragmentaci (znovu sestavení) provádí cíl. sys. V IP datagramů jsou vloženy buď transportní pakety (UDP/TCP) z TR vrstvy nebo PDU protokolů z IP vrstvy (ICMP, OSPF). IP datagramy jsou zapouzdřeny do rámců protokolů D-L vrstvy (v rámcích D-L vrstvy také zprávy od protokolů ARP/RARP). Záhlaví IP dtg: version(4= IPv4) |HLEN(délka záhlaví) |total_length(celk.velikost dtg) |header_checksum(kontrol.součet záhl) |TTL (max. počet průchodů mezilehlými routery;je-li 0 a dtg není v cíl.IP síti=>chybová ICMP msg) |protocol(kód prt.jehož PDU je v dtg zapouzdřeno tcp/icmp)
Původně bity 8-15 pro spec. požadavků na přenos dtg. Nyní DSCP,ECN (řízení provozu (s QoS) a řízení přenosů) Řízení fragmentace: IDENTIFICATION(ident.frg) |FLAGS(příznak frgace; MF/DF more/don’t frg) |FRG OFFSET(umístění frg v rámci pův.dtg) |IP OPTION Protokol ICMP – informace o chybách a jiných událostech (v rámci IP dtg; IP záhl. |ICMP záhl.-typ,kód,checksum |ICMP data) - kým generována: cílovým uzlem dtg ke kterému se ICMP msg vztahuje nebo směrovačem, kterým tento IP dtg prochází;typy chyb: time exceeded (kód 0/1; 0 gen R,1 gen uzel), dst unreachable (nedostupný host,port,síť), redir err (gen R s nekorektně zaslaným dtg)
IP multicast – slouží ke skupinové komunikaci v IP vrstvě (podpora v adresách tř. D (224.00-239.FF), jenž jsou rezervovány pro směrovací prot. a správu multicast provozu; podpora protokolem skupinové adresace IGMP): - zdroj vysílá jeden dtg, na směrovačích se multicastem jeho kopie vysílají do větví multicast stromu - ip multicast směrovací protokoly: PIM (nezávislý protokol přenosu multicast), DVMRP (směrovací protokol přenosu multicast s vektory vzdáleností), MOSPF (protokol první nejkratší cesty pro přenos multicast) Protokol IGMP – dynamicky registruje členy, patřící do skupiny adres třídy D. – routery, používající IGMP naslouchají jeho zprávám a odesílají dotazy, aby zjistili, které jsou aktivní skupiny v LAN – routery (směrovače) spolu komunikují pomocí multicast směrovacích protokolů Formát IGMP msg (v rámci IP dtg; IP záhl. |IGMP msg-verze, typ, nepoužito, checksum) Nastavení cíl. IP addr v záhlaví dtg: obecné vyhledávání query 224.0.0.1 nebo vyhledávání urč. skupiny query ident.multic.skup. Mapování IP adresy tř. D do MAC multicast adresy: 23 bitů se kopíruje do MAC multicast (do posledních tří oktetů)
IPv6: náhrada současné IPv4 (rozsáhlejší paměť. prostor, tři typy adres – unicast (individuální), multicast (skupinové), anycast (výběrové), zvýšení bezpečnosti). IPv6 adresa má 128 bitů (šestnáctkový zápis jako u MAC adres; 8 dvojic oddělených „:“; zkrácené zápisy pro skupinu nul „::“ - lze použít jen jednou). Prefixy označujeme příslušnost k určité síti/subsíti (např. „FF::/8“ = multicast addr, „::1/128“ = loopback – IPv4 má loopback „127.0.0.1“). Záhlaví IPv6: Flow Label (ident. proudu dtgů), Payload Length (počet B dtg za std záhl.), Hop Limit (max. počet routerů), Next Header (následující IPv6 záhl. nebo typ dat), Routing Header (popis přenosové trasy), Fragment Header (řeší frgaci dtg) Princip autokonfigurace – určení vlastní IP addr: vygenerování z vlastní MAC adresy nebo dynamické přidělení DHCP serverem Protokol ND (neighbor discovery) využívá 5 zpráv ICMPv6 pro provádění 9 funkcí: - vyhledání lokálních routerů - informace o routeru a síti, ve které se nachází - kontrola existence a dostupnosti „sousedů“ v síti - odpověď na kontrolu existence a dostupnosti (obdoba ARP reply) - upozornění na potřebu změny v routovací tabulce IPsec – autentizace dtg, šifrování obsahu: - vytvoření bezpečnostní asociace (SA) mezi komunikujícími stranami protokolem IKE (Internet Key Exchange) - výměna kryptografických klíčů pro autentizaci a šifrování obsahu dtgu (ESP: formát šifrovaného dtg) Řešení koexistence IPv4 a IPv6: - dvou protokolové systémy - tunely (zapouzdření paketů IPv6 do dtgů IPv4 nebo UDP dtgů) - automatické tunelování ( - převodník 6over4 – mapuje IPv4 do posledních 32 bitů IPv6 - převodník SIT – IPv6 uzel vytváří IPv4 adresy jejich překladem do adresy IPv6 s určit. prefixem - administrované tunelování (přes zprostředkovatele) - proxy – překlad prováděný až na aplikační vrstvě (např. na web-serveru) IP routing – IP sítě jsou propojeny směrovači (routery), jejichž fce odpovídá L3 modelu OSI (a ta odpovídá IP vrstvě modelu TCP/IP) Směrovače provádějí přepojování dtgů mezi IP sítěmi (dtgová služba) a určují nejlepší cestu pro dtgy dle směrovacích map (tabulek). Architektura internetu: Core-network (jádro sítě), obsahuje Core routers pův. koncept || Autonomní systémy, obsahuje hraniční směrovače AS souč. koncept
Směrovací mapy (tabulky): směrovač získává info o IP sítích (pro každou obsahuje adresu, rozhraní, bránu a metriku) - Staticky: Adminem ručně editované záznamy; možnost chybné conf; Router nemůže tvořit alternativní cesty - Dynamicky: Informacemi šířenými směrovacími prot. se mapy vypočítávají; snadná adaptace na změny sítě; Směrování: Přímé – zdroj i cíl ve stejné IP síti; Nepřímé – zdroj a cíl v různých IP sítích.
Každý směrovač musí mít mapu pro celý internet => řešením jsou autonomní systémy (komplexy sítí a směrovačů). AS jsou registrovány u NIC a mají přidělen unique id, který používají směr. prot. v procesu vzájemné výměny směr. info. Existují 2 úrovně směrování v AS architektuře: - uvnitř AS (směrování inter. směr. prot. – IGP) - mezi AS (směrování exter. směr. prot. – EGP)
Interní protokoly IGP: - RIPv1 a RIPv2 – založené na algoritmu DVA (bellman-ford); Vysílání RIP msg skrz IP broadcast každých 30 sec. Není-li přijata RIP msg po dobu 3 min., platnost směrovací tabulky vyprší (dojde ke ztrátě konektivity) Vyváří ploché směrovací oblasti, nevytváří alternativní cesty. Implementace RIP jsou součástí OS Unix. Použití v malých a středních sítích (problémy: pomalé šíření informace, náchylnost ke vzniku smyček). Nastavení RIP na routerech a PC: - aktivní (generují a šíří RIP zprávy) || - pasivní (jen přijímají RIP zprávy od aktivních) - OSPF – založené na algoritmu LSA (dijsktr); Šíření zpráv mezi OSPF routery – komunikace pomocí přenosů multicast. Vytváří hierarchické sítě tvořené směrovacími oblastmi, vytváří paralelní cesty – rozdělení zatížení sítě. Oblasti OSPF (každá připojena k páteřní síti) zahrnují více síti. Nelze-li připojit oblast k páteři, vytvoří se virt. spoj jinudy OSPF doména:intra area(router uvnitř oblasti), inter area(router páteřní oblasti), AS hraniční směrovač(mezi OSPF doménami) OSPF pakety: hello (oslovení sousedních routerů), DBD (odpověď na hello), LSRP (žádost o vyslání LSUP), LSUP (update paket obsahuje buď info o stavu routerů v oblasti nebo seznam směrovačů připojených k LAN), LSAP (potvrzení příjmu aktuál. paketu)
Externí protokoly EGP: - EGP protokol – jednoduchý protokol na bázi stromové struktury; zjistí každému routeru sousední R se kterými bude komunikovat a periodicky tohle sousedství ověřuje. Se sousedy vyměňuje informace o dostupnosti sítí ve svém AS. - BGP protokol – hvězdicová struktura; v současnosti oficiální externí protokol Internetu (routery WAN podporují BGP). Používá transportní protokol TCP. Dokáže šířit informace i mezi interními směrovačí (uvnitř AS). Kombinuje LSA a DVA. Funkce BGP: naváže+udržuje komunik. se sousedními R, prve vyšle celou směr.mapu, nevysílá periodicky(jen aktualizuje směr.info)
Typy zpráv BGP:
- OPEN (navázání spojení se sousedním routerem) - UPDATE (předání informace o sítích, které jsou dosažitelné touto směrovací cestou nebo aktualizace směr. cest) - KEEPALIVE (periodické ověření spojení routerem) - NOTIFICATION (chybová zpráva)
Směrovače šíří své směrovací tabulky IP broadcastem nebo IP multicastem. Algoritmy pro výpočet směrovacích cest: - DVA (distance vector algorithm) – Bellman-Ford Algorithm – |NET |GATEWAY |DISTANCE – směrovače vysílají obsah své směrovací tabulky a přijímají info vysílané ostatními směrovači a podle nich aktualizují obsah své tabulky (protokoly založené na DVA definují malé přirozené číslo, které omezuje hodnotu DISTANCE (max. hopcount). Dojde-li v tabulce k dosažení této hodnoty, síť se považuje za nedosažitelnou a záznam se z tabulky odstraní – protokoly vhodné pro menší sítě). Nevýhody: vysílání celých tabulek => velké datové pakety => větší zatížení sítě - LSA (link state algorithm) – Dijkstr Algorithm – směrovače vysílají jen info o stavu spojů, ke kterým jsou připojeny a přijímají jen změny stavů spojů (poté opět počítají nejkratší cestu). LSP (link state packets) jsou vysílány všem ostatním směrovačům ve stejné směrovací oblasti (flooding). Každý směrovač si z obdržených info vytváří kompletní topologickou mapu sítě. Výhody: menší pakety, velikost obsahu nezávisí na velikosti sítě, vhodné pro velké sítě. Typy konfigurace PC routeru (základní nastavení PC routeru je IP forwarding): - Statický routing (nastavení směrovacích cest) - Dynamický routing (volba směrovacího protokolu RIP nebo OSPF) – směrovací SW Quagga - Default routing (nastavení default brány)
Vrstva transportní je nejnižší vrstva, na kterou se odvolávají síťové aplikace (systémové a uživatelské); zajišťuje sekvenční přenos dat mezi komunikujícími procesy, poskytuje službu aplikační vrstvě; transportní protokoly: - TCP
- služba se spojením - spolehlivá (zajistí doručení dat. segmentů ve stejném pořadí v jakém byly odeslány) - vytvoří mezi komun. procesy (jejich porty) virtuální 8bit full-duplex komunik. kanál - při přenosu vyloučí ztráty, bitové nesprávnosti či duplicity - TCP spojení = dvojice komunikujících socketů - spotřebitelé (uživatelské síť.aplikace): - přenos souborů mezi síťovými uzly (protokol FTP) - relace přes síťový terminál (protokol TELNET) - přístup ke zdrojům systému (protokol WWW-HTTP) - předávání elektronických poštovních zpráv (protokol SMTP) - TCP komunikace: 1) vytvoření spojení, 2) řízený přenos proudu dat s eventuálním opakovaným odesláním nekorektně přijatých segmentů 3) ukončení spojení - formát TCP záhlaví: - src port, dst port, - seq_no (pořadové číslo) = je-li nastaven flag SYN, seq_no = počáteční číslo sekvence, je-li flag SYN nenastaven, seq_no = pořadové číslo prvního datového oktetu v segmentu, - ack_no (další seq_no) představuje seq_no následujícího segmentu (vysíláno po celé TCP spojení) - data_offset (délka záhlaví) = počátek dat - window size (určuje velikost Sliding Window = počet oktetů, které je možno přenést bez ACK) - checksum (kontrolní součet) - urgent Pointer (specifikuje offset posledního oktetu urgentních dat – kde leží poslední oktet urg. dat) - řídící bity (flags): - URG (určuje platnost pole URGENT POINTER) - RST (vyvolá reset TCP spojení) - SYN (iniciuje TCP spojení) - ACK (ukončuje platnost pole ack_no) - FIN (iniciuje ukončení TCP spojení) - TCP volby(max.velikost seg přenášeného v rámci TCP,zvětšení sliding window,určení čas.známek na každý seg)
- stavy TCP spojení: - při normálním průběhu otevírání
||
- při normálním průběhu uzavírání
. - UDP - služba nespojovaná - nespolehlivá, efektivní (rychlá, malá režie provozu) - pro apps s malým objemem dat, které správnost přenosu dat samy hlídají - pro apps vyžadující multi/broad-cast - spotřebitelé (progy pro sys. síť. služby): - šíření směrovací informací (protokol RIP) - šíření systémových hodin (protokol NTP) - překlady doménových jme (protokol DNS) - správa IP sítí (protokol SNMP)
UDP datagram (v IP dtg): ip_header(src ip addr, dst ip addr, protokol, délka paketu) |udp_header(src port, dst port, délka paketu, checksum) |udp_data(spolu s udp_header je pro ně spočítán kontrolní součet checksum)
Program pro výpis informací o stavu síťového subsystému v OS počítač: netstat (-u = udp, -t = tcp, -l = listening porty) Transportní protokoly jsou prostředkem, kterým se zajistí pro uživ. app spojení dvou počítačů v IP síti Přístup k transportní vrstvě z vrstvy aplikační – multiplexing transportních služeb a IP služby: Aplikační protokoly (A vrstva) komunikují přes TCP nebo UDP (transportní protokoly T vrstvy) s protokol IP (protokol S vrstvy)
Rozhraní SAP – mezi aplikační a transportní vrstvou – identifikuje aplikační protokol, který bude transportní službu užívat Číslo portu – 16 bitová proměnná || Port – schránka na obsah transportního PDU || Socket – IP addr user end systému + č. portu Adresový prostor portů spravuje IANA (dané hty pro poskytovatele daných síť.služeb); well-known porty 1–1023; dále lze registrovat
Aplikační vrstva – poskytuje aplikacím přístup k síťovým službám, zajišťuje autentizaci komunik. stran a řídí jejich dialog – protokoly této vrstvy jsou specifikovány ve standardech RFC - protokoly základní (tradiční) - SMTP, FTP, TELNET, DNS - protokoly doporučené - SNMP, HTTP, SSH, DHCP - protokoly volitelné - implementace modelu C-S: App typu C spouští uživatel ve své relaci; App typu S (programy typu daemon) spouští root (zpravidla skriptem) Rozhraní služeb (přístup k transportní vrstvě z vrstvy aplikační),
srovnání RM OSI a TCP/IP
DHCP – slouží pro automatizované přidělování IP adres a dalších síťových parametrů (def gw, subnet mask), UDP - předchůdce DHCP – BootstrapProtocol (BootP) - protokol pronajímá (automaticky přiřazuje na základě požadavku uzlu) IP adresy - dynamicky: pronájem z rozsahu, který má server k dispozici - staticky: přiřazení IP addr k určité MAC addr - implementace S: w-k p 67(daemon dhcpd, konf v /etc/conf/dhcp.conf), C: w-k p 68 (nastavení konf na dynam. režim) - formát DHCP zprávy: IP_header |UDP_header |DHCP_msg(C msg: Discovery, Request; S msg: Offer, Acknowledge) - průběh relace: - C > DHCP discovery (C vyhledává na subsíti server), - S > DHCP offer (S posílá C IP addr a další params) - C > DHCP request (C posílá broadcast všem S o své volbě) - S > DHCP ack/nack (S posílá C dobu propůjčení adresy)
DNS
- DHCP zpráva, parametry - OP specif. operace, HTYPE typ síť. HW, HLEN délka HW addr, HOPS počet R přes které byl request forwardován - distribuovaná databáze, kterou používají TCP/IP aplikace k mapování doménových jmen do IP adres (a naopak) - může používat buď UDP nebo TCP
- založen na principu C-S, well-known port 53 - implementace: BIND (berkeley internet name domain): DNS server (daemon named), DNS klient (knihovní fce resolver), nástroje pro ověření fcí DNS (utilita nslookup), konfigurační soubory (named.conf)
- komunikační režimy DNS C–S: iterace, rekurze - formát DNS zprávy (požadavek/odpověď) DNS_header |DNS_msg (HEADER, QUESTION, ANSWERS, AUTHORITY, INFO) - sekce QUESTIONS = sekce požadavků – obsahuje jeden dotaz: - query name(vyhledávané doménové jméno) - query type(typ záznamu)- A:IPv4 addr, NS:nameserver, CNAME:alias domény, PTR:odkaz do inverzní domény, MX .. mailserver pro doručování pošty, SOA .. hlavička, vyskytuje se právě jednou
- query class - DNS záznamy (RR) tvoří: základní zónový soubor, reverzní zónové soubory,
zónový soubor pro specifické domény (i reverzní), zónový soubor pro kořenové domény
- autorita zóny = všechny subdomény pod danou zónou - protokol užívají ve vzájemné komunikaci - DNS klient s DNS servery (požadavek&odpověď) – UDP
- DNS servery (primární a sekundární DNS server) k přenosu kopií DNS databází – TCP TLD (top level domain) oblasti: - arpa (doména 2. úrovně pro ni je in-addr, in-addr.arpa je reverzní doména – např. 11.1.168.192.in-addr.arpa) - generic ( || - cc (country code) SLD (second level domain) – v TLD arpa - inverzní doména IPv4 - doménová jména „zón“ v oblasti geografické (cc) a v oblasti „generic“
Informace (jmenné mapy) pro jednotlivé zóny poskytují jmenné servery (nameservers) Databáze kořenových nameserverů jsou v v Internetu centrálně distribuovány Doménové jméno může být: - úplné (hribek.mech.les.cz.) || - relativní (hribek – platí v doméně mech.les.cz.)
NMS (network management system) – řeší problémy: rozsáhlých sítí, stále vzrůstající počet uzlů, nemožné provádět správu velkých sítí - fční oblasti managementu sítě def. dle ISO: chybový management, výkonnostní management, bezpečnostní management SNMP – správa a řízení velkých sítí, princip C-S, je to systémový služba, transport UDP, well-known porty 161 a 162 – řídící stanice NMS (Network Management Station); SNMP (simple network management protocol) – monitoring provozu v určitých uzlech sítě => ukládání do databáze (provede agent) – sběr dat od agentů (provede manager) – formát SNMP:
záhlaví(č.verze,jm.komunity) |PDU_msg(Get,Trap- v důsledku výjim.události, getBulk-požadavek k zaslání seznamu bindings)
– SNMP paket (v rámci LAN rámce): LAN_header |IP_header |UDP_header |SNMP_msg |LAN_trailer – nekompatibilita mezi SNMPv1 a SNMPv2 se řeší proxy agentem MIB (management information base) – hierarchická organizace shromažďovaných dat - každý objekt má přiděleno jméno a numerický identifikátor - 5 povinných charakteristik objektu - name, syntax- datový typ a struktura, access- přípustné operace, status- platnost objektu, description - objektově orientovaná databáze dat, data jsou sdružovány do skupin (tříd- definovány atributy, chováním, operacemi) - typy objektů: - skalární objekt (jednoduché instance objektu) - tabulární objekt (násobné instance objektu) - MIB databázi spravuje agent (SNMP server); manager (SNMP klient) může požadovat nebo nastavovat hodnoty - ve zprávách protokolu se používá číselná reprezentace určení objektů - schéma příkl.skup. udpInDatagrams (počet udp dtgů doručených), udpInErrors (počet chybových dtgů), udpOutDatagrams (počet udp vyslaných dtgů)
SMI (structure of management information) = datová reprezentace v SNMP - určuje definice pro sady vzájemně souvisejících objektů (tzv. moduly) ve třech úrovních: 1) definice modulu 2) definice objektu 3) definice oznámení ASN.1 = standard pro popis zprávy (tj. datové jednotky aplikace) – odpovídá prezentační vrstvě OSI = není programovací jazyk (většina OS má nástroje k podpoře ASN.1, podporují jej program.jaz. C++, Java apod.) = používá se k definicím datových struktur (pojmenovaných modulů) – obecný formát pojmenovaného modulu: <modul_name>DEFINITIONS::= BEGIN definice modulu, výběr instance, popis elementů END = datové typy ASN.1 (abstraktní: jednoduché (integer, boolean), strukturované (sequence), výběrové (choice)) Kódování a kódovací pravidla – odpovídá relační vrstvě OSI. = obecný kódovací formát ASN.1 – BER Triplet
EMAIL – princip store and forward, využití MX záznamů v DNS – v původní specifikaci email pouze text (protokol SMTP)
[email protected]éna - mailserver musí být na portu 25 pro poštovní službu a pro doménu MX má záznam v zón. DNS souboru Protokoly e-mail systému: - SMTP (protokol pro přenos poštovních msg) využívá TCP (tvoří neautentizované TCP spojení), well-known port 25 (C-S) - průběh relace MTA dle SMTP: C iniciuje TCP spojení => obousměr dialog (C dává S data) => ukončení příkazem - ip dtg se zprávou protokolu SMTP: ip_header |tcp header |pdu_smtp (request/reply) - příkazy SMTP (4znak. řetězce) – seřazeno sekvenčně pro předání dat: - HELLO<parametry> - identifikace klienta - MAIL<parametry> - identifikace odesílatele - RCPT<parametry> - identivikace příjemce - DATA<parametry> - žádost o příjem dat - QUIT<parametry> - uzavření SMTP dialogu a TCP spojení - princip komunikace: požadavek&odpověď(hand-shake); kód odpovědi XYZ: X-typ odp., Y-obsah odp., Z-rozlišení odp. X 1(pozitivní předběžná odp) 2(+ konečná odp) 3(+ průběžná odp) 4(neg. přechodná odp) 5(- trvalá odp) Y 0(syntaxe) 1(informativní charakter) 2(stav spojení) 3,4(nespecifikováno) 5(stav transakce u příjemce) - záhlaví zprávy elektronické pošty – příklady klíčových slov: From:, Date:, Subject:,… - MIME (protokol pro strukturování těla zprávy – specifikace obsahu těla zprávy) - Obálka |záhlaví SMTP |záhlaví MIME (Content-Type: jednoduchý/kompozitní (složen z více částí) podtyp |tělo zpráv
- POP3 (autorizovaný přístup do mailboxu ze vzdáleného klienta, výpis info o stavu mailboxu, lze označit zprávy pro výmaz) - přechod do jednotlivých stavů probíhá v příkazových sekvencích: AUTORIZACE, TRANSAKCE, AKTUALIZACE - používá TCP, well-known port 110 (C-S) - implementace: na straně S daemon, na straně C poštovní app (Outlook), příkaz=řetězec & odpověď= + ok / - err - IMAP4 (autorizovaný přístup do mailboxu ze vzdáleného klienta, lze sdílet schránku více uživateli), TCP, w-k p 143 (C-S) - značka (tag) (CHECK – check nejsou-li nové zprávy, LOGIN usr pass, CREATE name - tvoř mailbox) |příkaz |parametry - odpovědi: označené (tag OK/NO/BAD) či neoznačené (odp. na určité příkazy SELECT? => FLAGS seznam) Logické moduly e-mail systému (mail xx agent):
- MTA (transfer) – zajistí přenos zprávy, podporuje protokol SMTP - MDA (delivery) – zajistí uložení zprávy do mailboxu uživatele - MRA (retrieve) – zajistí klientovi přístup do uživatelova mailboxu (podporuje POP3 a IMAP4) - MUA (user) – vytváří rozhraní pro přístup uživatele k poštovním službám
WWW se skládá: - z jednoznačné globální identifikace www zdrojů (URL – lokalizace a vyhledání zdroje – typ URI); - formátURL http://
[: <port>] [ [? ] ] (namísto query =&=.. - std jazyk pro vytváření www dokumentů (HTML), - komunikačního protokolu (HTTP – základ systému WWW – jednoduchý prot. aplikační vrstvy, TCP, well-known p. 80) - princip C-S (požadavek&odpověď = HTTP transakce (C posílá požadavek na zaslání kopie souboru, server jej akceptuje a kopii ve své odpovědi odesílá) – odpovědi původně text docs, nyní podpora MIME - i netext.) - formát a obsah zpráv HTTP je specifikován v RFC dokumentech - současná verze HTTP/1.1; přínosy: možnost nastavení virt. serverů, podpora bezpečných transakcí - popis zprávy HTTP: verze protokolu (HTTP/1.1), request: metoda (požadavek): - GET – žádá o zaslání celé entity, specifikované v URI - HEAD – žádá o zaslání záhlaví entity, specifikované v URI - POST – odesílá obsah zprávy do entity, specifikované v URI (odeslání dat zapsaných do formuláře) - DELETE – žádá o výmaz entity, specifikované v URI
CGI – standard pro definice rozhraní mezi webserverem a externími aplikačními programy; - proměnné pro HTTP server mohou být zpracovány v CGI programech - REQUEST_METHOD určuje způsob předání informací (GET/POST) - QUERY_STRING obsahuje data přenášená metodou GET - REMOTE_ADDR IP adresa PC, z nějž přišel požadavek - AUTH_TYPE způsob použité autorizace uživatele HTTPS – HTTP šifrované přes spojení SSL nebo TLS – interakce C-S vyžaduje autentizaci S (povinně) a C (volitelně) HTTP response: 200–299 = požadavek splněn, 400–499 = chyba na straně C, 500–599 = chyba na straně S KONTEXT s WWW: hypertext. doc (odkazy URL), HTML=podmnožina specifikace SGML, vývoj web systému – konsorcium W3C Implementace HTTP serveru – WWW server Apache
FTP
||
Implementace HTTP klienta – WWW prohlížeč Mozilla Firefox.
– autorizovaný přístup do souborového systému hostitelského uzlu – obousměr. přenos kopií souborů mezi C a S – používá TCP, vytváří dvě TCP spojení - TCP spojení pro řízení (well-known port 21) – spojení celá po celou dobu FTP relace - TCP spojení pro vlastní přesun dat (well-known port 20) – spojení trvá po dobu přenosu – fáze komunikace FTP klient – FTP server - otevření řídícího TCP spojení na port 21 - identifikace a autentizace uživatele - otevření datového spojení (aktivní/pasivní) - datový přenos (na datovém spojení) - nedatové operace (na řídícím spojení) - ukončení FTP dialogu – uzavření řídícího spojení – příkazy protokolu FTP (klient) - přík. pro řízení přístupu (USER - ident.uživ., PASS - autent. uživ., CWD - změna prac. adresáře) - přík. pro stanovení parametrů přenosu (PORT - spec. datového portu C, PASV – spec. dat. portu S) - přík. služeb (RMD - výmaz adresáře, PWD - výpis cesty prac. adresáře, LIST - výpis obsahu adresáře)
Datové definice v protokolu FTP - Specifikace souboru (TYPE): typ ASCII (textový formát) nebo např. „Image“ file type (binární soubor) - Struktura souborů (STRU): „File“ st. –proud bytů, „Page“ st. –posloupnost stránek pro soubory s náh. přístupem do paměti
- Přenosový režim (MODE): výchozí „Stream“ režim – posloupnost bytů – lze použít pro všechny datové typy AKTIVNÍ vs. PASIVNÍ datové spojení:
pasivní FTP spojení: dat. spojení navazuje C (příkaz PASV), server odpovídá (posílá IP addr a naslouchající TCP port) aktivní FTP spojení: dat. spojení navazuje S (portu 20 má přenášená data), C naslouchá na portu (zaslal příkazem PORT) Odpovědi protokolu FTP (3ciferný čís. kód XYZ): X = typ odpovědi, Y = obsah odpovědi.
Protokol TFTP – jednoduchá protokol (C–S požadavek–odpověď) - používá UDP, well-known port 69, neobsahuje autentizační sekvenci (přístupy autorizovány conf. nastavením na S) - využití TFTP u bez diskových počítačů (terminály) - implementace: S (tftpd – daemon), C (tftp) - formát IP dtg s TFTP zprávou: IP_header |UDP_header |TFTP_header(typ zprávy, data záhlaví) |TFTP_data (u dat. msg) - typ zprávy: Read Request, Write Request ]- nedatové, Data ]- datová, Acknowledgement, Error ]- nedatové - data záhlaví: DATA (poř. číslo offset bloku), ACK (poř. číslo bloku potvrzovaných dat), ERROR (kód chyby,chyb.msg) TFTP Read request
TFTP Write request
- klientské aplikace DHCP A TFTP jsou uloženy v permanentních pamětech (EPROM, ROM) - po zapnutí žádá stanice o přidělení IP addr (prot. BootP/DHCP), po obdržení addr žádá TFTP S o data potřebná ke spuštění (jádro), po obdržení dat se jádro natáhne do operační paměti RAM a počítač se spustí
Protokoly vzdálených terminálů: - TELNET (základní protokol TCP/IP) - komunikace C-S, používá TCP, well-known port 23, autorizovaný přístup ke vzdálenému serveru - přenos dat nešifrovaných – možnost odposlechu během přenou - zajistí obousměrný 8bitový komunikační kanál pro procesy terminálově orientované - vyjednává podmínky komunikace mezi stranami (obě strany musí vyjednané podmínky akceptovat) - NVT: virtuální síť. zařízení vytvořené po vytvoření TCP spojení (spol.síť.terminál komunik. stran) - příklady voleb: Echo, Typ terminálu, řádkový/znakový režim, atd.. - přenášená data: Tisknutelné znaky ASCII (text. řetězce), řídící znaky ASCII, příkazy protokolu TELNET - např. Abort (ukončení procesu), EOF (konec souboru), BRK (konec), AYT (jsi tam?) - výměna podmínek komunikace (odesílatel IAC<params>, příjemce IAC<params>, typ oper.DO/DONT/WILL/WONT) - problém je v bezpečnosti = lze odchytávat data z C na S (zejména login údaje) - implementace: S (telnetd – daemon), C (program telnet/putty) - SSH zajišťuje víc funkcí než TELNET,zřizuje zabezpečený kanál pro datové přenosy,obecné označ.pro prot. i SW produkty - komunikace C-S probíhá v zabezpečeném TCP spojení - typy šifrování: symetrická a asymetrická šifra - zprávy SSH: typ zprávy určuje záhlaví (SSH má vlastní jazyk pro popis dat ve zprávách) - kryptografická kontrola integrity (platnost, konzistentnost a přenosnost) přenášených dat - bezpečnostní záruky protokolu SSH: - důvěrnost dat, integrita dat, autentizace obou komunikujících stran, autorizovaný přístup k uživ. účtům - bezpečnostní aspekty SSH: - volba a dojednání algoritmů, generování a výměna klíčů, vazba mezi klíčem a identitou - kryptografické algoritmy: - symetrické: komunikující strany užívají společný tajný klíč (secret key)=> problém distribuce tajného klíče - Diffie-Hellman algoritmus pro výměnu tajného klíče - asymetrické: komunikující strany užívají různé klíče – veřejný (public key) a privátní (private key) - hash funkce: jednocestné funkce vytvářející z libovolné bitové sekvence datový blok určené délky - implementace: S (program sshd - daemon), C (program ssh,scp – Linux; program putty/winscp – Windows)