Bakalářská státnice - Informatika - Základy informatiky - ISPS - Sítě a internetové technologie

Z ωικι.matfyz.cz
Přejít na: navigace, hledání

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


zdroje:


Architektura ISO/OSI[editovat | editovat zdroj]

  • 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[editovat | editovat zdroj]

  • 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[editovat | editovat zdroj]

  • 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[editovat | editovat zdroj]

  • 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[editovat | editovat zdroj]

  • 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í[editovat | editovat zdroj]

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