zpět: Bakalářská státnice - Informatika - Základy informatiky - obor Správa počítačových systémů

zdroje:

Architektura ISO/OSI

  • vrstevnatá filozofie - dekompozice sítě jako celku na vrstvy

  • horizontální komunikace - protokoly, PDU (protocol data unit), entity

  • vertikální komunikace mezi vrstvami - poskytování/využívání služby, rozhraní, přechodové body

Referenční model ISO/OSI:

  • ze světa spojů, pokus o univerzální síťovou architekturu, od organizace ISO

  • od zeleného stolu, maximalistický přístup

Vrstvy ISO/OSI:

  • aplikační

    • původní představa: bude obsahovat aplikace - ale musely by být celé standardizované

    • obsahuje jádro aplikace (standardizovanou část - aplikační protokol)

  • prezentační

    • konverze dat - kódování znaků, formát čísel (Big Endian <-> Little Endian), převod mezi formáty stanice a sítě

  • relační

    • vedení relací

    • může zajišťovat synchronizaci, šifrování, podporu transakcí

  • transportní

    • přizpůsobovací vrstva nad přenosovými vrstvami

    • end-to-end komunikace

    • může měnit spolehlivost a spojovanost

    • na koncových uzlech rozlišuje jednotlivé entity (skrz přechodové body - porty) - procesy, démony, aplikace, ...

  • síťová

    • přenáší pakety, doručuje až ke konečnému adresátovi přes mezilehlé uzly

    • rounting - hledání cest v síti - algoritmy adaptivní/neadaptivní, izolované/distribuované/centralizované

    • forwarding - vykonávání přeskoku paketů na mezilehlých uzelch

    • poslední vrstva, kterou musí mít směrovače

  • linková

    • přenos celých bloků (rámců) k přímým sousedům

    • synchronizace na úrovni rámců

    • zajištění spolehlivosti (detekce a oprava chyb) - pokud je požadováno

    • spojovaná/nespojovaná komunikace

    • rozděluje se na podvrstvy:

      • LLC - ostatní úkoly

      • MAC - přístup ke sdílenému médiu

  • fyzická - přenos bitů, kódování, modulace, časování, konektory, kabeláž

Vlastnosti, kritika:

  • nebere v potaz svět počítačů

  • soustředí inteligenci do sítě

  • příliš maximalistický

  • nepočítal s lokálními sítěmi

  • některé činnosti se zbytečně opakují na několika vrstvách

  • upřednostňuje spolehlivé a spojované služby

Rodina protokolu TCP/IP (ARP, IPv4, IPv6, ICMP, UDP, TCP) - adresace, routing, fragmentace, spolehlivost, flow control, congestion control, NAT

  • historie - ARPANET, experimentální protokol NCP

  • dokumenty RFC, STD, FYI

  • organizace ISOC, ICANN, IANA, W3C

Charakteristiky, vlastnosti:

  • od jednoduššího k složitějšímu

  • nejprve praktické ověření (2 nezávislé implementace), pak standardizace

  • nespojované, nespolehlivé, best effort

  • rychlá "hloupá" síť, inteligence v koncových uzlech

  • virtuální IP (IPv4) adresy, převod mezi linkovými (ARP, RARP)

Vrstvy

  • aplikační vrstva

  • transportní vrstva - přidává porty, TCP (spolehlivé, spojované), UDP

  • síťová vrstva - individuální dle přenosové technologie, IP vytváří nad touto vrstvou "pokličku" -> všude stejné vlastnosti

  • vrstva síťového rozhraní - TCP/IP neřeší

Protokol ARP = Address Resolution Protocol

  • převod IP adresa -> linková adresa

  • broadcast s výzvou

IPv4

  • IP adresa = adresa sítě + adresa uzlu

  • 32-bitové IP adresy

  • původně: třídy adres A,B,C; speciální třída D (multicast) a E (vyhrazeno)

  • subnetting, supernetting, maska, prefix

  • CIDR (Classless Interdomain Routing)

IPv6

  • 128-bitové adresy, hierarchické členění

  • podpora QoS, bezpečnost (IPSec)

  • adresa = global routing prefix + subnet ID + relativní část

ICMP

  • protokol pro řízení komunikace, na IP vrstvě

  • oznamuje o zahazování paketů, nedostupných sítích, vypršení TTL - traceroute, ping

UDP

  • přidává pouze porty, zůstává nespolehlivý a nespojovaný -> UDP datagramy

TCP

  • přidává porty, spolehlivost, spojovanost

  • potvrzování - kontinuální, jednotlivé (při chybě), řízení toku, metoda okénka

  • 3-fázový handshake a ukončení spojení

Routing

  • vyhledávání cest v síti

  • přímé/nepřímé doručování

  • statické/dynamické směrování

  • routovací protokoly - vector-distance/link-state - RIP, BGP, OSPF

  • agregace, default route

  • autonomní systémy

Fragmentace

  • maximální velikost datagramů v lokální síti (MTU)

  • fragmentace paketů - hlavička: IDENTIFICATION, FRAGMENTATION OFFSET, MORE FRAGMENTS

  • IPv4 - fragmentované pakety možno dále dělit

  • IPv6 - fragmentaci musí zajistit odesílatel -> zahození paketů, které neprojdou

NAT = Network Address Translation

  • statický NAT - 1:1 staticky

  • dynamický NAT - 1:1 dynamicky dle potřeby

  • PAT - 1:n

  • lokální IP adresy

  • Flow control = řízení toku, předcházení zahlcení, TCP: přizpůsobování toku stavu sítě a odezvě (point to point)

  • Congestion control = ochrana před zahlcením, TCP: dočasný přechod na samostatné potvrzování (v rámci celé sítě)

Rozhraní BSD sockets

  • standardizované rozhraní pro komunikaci mezi procesy na jednom počítači nebo po síti, vzniklo v BSD

  • brána k síťovým službám

  • se sokety lze pracovat přes souborové operace, souborové deskriptory

  • UNIX sockets - pojmenované sokety po komunikaci na lokálním počítači

Nespojovaná komunikace:

  • socket() - vytvoření soketu

  • bind() - napojení socketu na port

  • sendto() - odeslání datagramu

  • recvfrom() - přijetí datagramu z dané adresy

  • close() - uzavření soketu

Spojovaná komunikace:

  • server

    • socket() - vytvoření soketu

    • bind() - napojení socketu na port

    • listen() - přepnutí soketu k přijímání spojení

    • accept() - čekání na spojení, přijímání

    • send() - odeslání dat

    • recv() - přijetí dat

    • close() - uzavření soketu

  • klient

    • socket() - vytvoření soketu

    • connect() - navázání spojení

    • send() - odeslání dat

    • recv() - přijetí dat

    • close() - uzavření soketu

Další info:

Spolehlivost - spojované a nespojované protokoly, typy, detekce a oprava chyb

  • spolehlivost

    • může být zajištěna na kterékoliv vrstvě (kromě fyzické)

    • TCP/IP řeší na transportní (TCP), ISO/OSI očekává spolehlivost na všech (počínaje linkovou)

    • větši režie, zpoždění při chybách

  • nespolehlivá komunikace

    • menší režie, lepší odezva

    • výhodné pro audio/video přenosy, kde lze tolerovat ztráty

  • spojovaná komunikace - stavová, virtuální okruhy, navazování a ukončení spojení

  • nespojovaná komunikace - zasílání zpráv, datagramy (UDP), nestavová, bez navazování a ukončování

Detekce ztrát a chyb:

  • schopnost poznat, že došlo k nějaké chybě při přenosu

  • Hammingovy kódy - příliš velká redundance, nepoužívané

  • potvrzování (ACK)

    • příjemce si znovu nechá zaslat poškozená/nedoručená data

    • podmínkou existence zpětného kanálu (alespoň half-duplex)

    • jednotlivé vs. kontinuální

    • kladné a záporné

    • samostatné vs. nesamostatné (piggybacking)

    • metoda okénka

    • selektivní opakování vs. opakování s návratem

  • parita - příčná, podélná

  • kontrolní součty

  • cyklické redundantní součy (CRC)

  • druhy chyb: pozměněná data, shluky chyb, výpadky dat

  • při chybě nutno vyžádat si celý rámec znovu

Bezpečnost - IPSec, principy fungování AH, ESP, transport mode, tunnel mode, firewalls

  • IPsec - zavedení bezpečnosti do IP vrstvy, původně pro IPv6, některé věci zpětně portovány do IPv4

  • několik desítek RFC dokumentů

  • autentifikace - ověření původu dat (odesílatele)

  • kryptování - šifrování komunikace (mimo IP hlavičky)

  • může být implementováno na bráně (security gateway, lokální síť je považována za bezpečnou) nebo na koncových zařízení

  • SA (Security Association)

    • point-to-point bezpečnostní spoj (návrh uvažuje i o jiných variantách)

    • pro každý směr a každý prototokol nutné mít vlastní SA spoj

IPsec módy:

  • transport mode

    • IP hlavička nechráněná, tělo paketu šifrováno (data vyšších protokolů)

    • použitelné jen na koncových stanicích

  • tunnel mode

    • pakety jsou celé (včetně hlavičky) zašifrovány a vloženy do dalšího paketu, na druhé straně rozbaleny

    • povinné pro security gateways, volitelné pro koncové stanice

    • ve vnější IP hlavičce se jako příjemce uvádí security gateway na hranici cílové sítě

IPsec protokoly:

  • AH (Authentication Header)

    • komunikující strany se dohodnout na klíči

    • k datům se připojuje hash

    • chrání také před replay attack

    • provádí autentizaci a kontrolu změny dat, neprovádí šifrování

  • ESP (Encapsulating Security Payload)

    • provádí autentizaci a také šifruje obsah

    • pro šiforvání používá 3DES, Blowfish aj. (původně DES, již není považováno za bezpečné)

Dohoda klíčů:

  • před použitím prtokolu AH či ESP si musí strany dohodnout klíče

  • manuální konfigurace

  • automatická konfigurace - IKE (Internet Key Exchange) protokol

Firewally:

  • sledování a filtrování komunikace na síti

    • blokování - zabraňuje neoprávněnému přístupu

    • prostupnost - propouštění povoleného toku

  • paketové filtry - např. na routeru

  • stavový firewall (stateful) - sleduje vztahy mezi pakety, ohlíží se na historii

  • na různých vrstvách

    • síťová - pouze dle zdrojových a cílových adres a protokolu

    • transportní - také podle portů

    • aplikační - dle obsahu (dat)

  • demilitarizovaná zóna (DMZ):

    • jiné řešení bezpečnosti

    • přístup ven pouze přes speciálizovaná zařízení (proxy, brány), nelze přímo - platí pro oba směry

Zdroje:

Internetové a intranetové protokoly a technologie - DNS, SMTP, FTP, HTTP, NFS, HTML, XML, XSLT a jejich použití

DNS (Domain Name System):

  • soubor hosts

  • doména, zóna, delegace, TLD, ccTLD, gTLD

  • syntaxe jmen, FQDN (plně kvalifikované...)

  • IDN

  • name servery - primární/sekundární, autoritativní/cachovací, kořenové, replikace

  • iterativní dotaz, rekurzivní dotaz, cachování, resolvery, TTL, autoritativní odpověď

  • Resource Records (RR)

    • formát - name, type, class, TLL, rdlength, rdata

    • A, NS, MX, PTR, AAAA, SPF, TXT, SRV, ...

  • DNS protokol - TCP/UDP, truncation

SMTP (Simple Mail Transfer Protocol):

  • SMTP - protokol pro přenos zpráv

  • RFC822 - formát zpráv - 7-bitová data

  • POP3, IMAP - stahování zpráv ze schránky

  • MIME - rozšíření formátu zpráv - Quoted-Printable, Base64, mime-type

  • struktura zprávy - hlavička + tělo + přílohy

  • e-mailové adresy, MX záznamy, priority

FTP (File Transfer Protocol):

  • řídící a datová spojení

  • textový/binární režim

  • příkazy - řízení přístupu, nastavení parametrů, výkonné příkazy

  • TFTP

HTTP (Hyper-Text Transfer Protocol):

  • přenosový protokol, data v textovém tvaru, bezestavový

  • verze 0.9 - bez hlaviček, minimální možnosti

  • verze 1.0 - rozšiřující hlavičky, podpora MIME

  • verze 1.1 - virtuální servery, jedno spojení pro více přenosů (keep-alive), komprimace dat

  • GET, HEAD, POST

  • cookies

  • cachování

NFS (Network File System):

  • bezestavový (v4 již stavová), transparentní sdílení souborů

  • mount server

  • XDR - prezentační služby - definuje jednotný způsob reprezentace přenášených dat

  • RFC - Remote Procedure Call

HTML (Hyper-Text Markup Language):

  • značkovací jazyk pro hypertext, definuje obsah, nikoliv vzhled

  • CSS

  • statické a dynamické HTML dokumenty - CGI, ISAPI, NSAPI, ASP, PHP

  • skripty, Java, ActiveX

XML (eXtensible Markup Language):

  • obecný značkovací jazyk

  • popis truktury dokumentu z hlediska věcného obsahu jednotlivých částí, neřeší vzhled

XSLT (eXtensible Style Sheet Language Transformations):

  • převod dat v XML do jiného formátu

  • wcs:XSLT