zpět: Bakalářská státnice - Informatika - Základy informatiky - obor Správa počítačových systémů
zdroje:
Výpisky z TCP/IP (s0cketka)
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:
Referát IPsec (ČVUT)
Slajdy předmětu Administrace Unixu (přenáška č.7, materiályn dostupné jen ze sítě MFF)
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