# Model ISO/OSI
- **Referenční model** popisující, **jaké vrstvy** by měly tvořit síťovou komunikaci a **jaké úkoly** by dané vrstvy měly plnit.
- Reálně se nevyužívá, protože v době, kdy vznikal, už fungoval Internet a aplikace tohoto modelu by vyžadovala změnu všech počítačů
- V praxi se používá model TCP/IP
- Je navíc nepraktické oddělovat vrstvy (fyzickou a linkovou), protože jejich úkoly jsou příliš provázané
- Šifrování nebo komprese na prezentační vrstvě se dříve využívalo málo, takže se rozhodlo, že ty aplikace, které je potřebují, si je implementují samy
## Porovnání modelu ISO/OSI a TCP/IP
#|ISO/OSI |TCP/IP
-|------------|-----------------------
7|Aplikační |Aplikační
6|Prezentační |--------
5|Relační |--------
4|Transportní |Transportní
3|Síťová |Síťová
2|Linková |Vrstva síťového rozhraní
1|Fyzická |Vrstva síťového rozhraní
## 1) Fyzická vrstva
- **Kódování a dekódování dat** - převod bitů na signál a zpět
- **Bitová synchronizace** - zjistí, kde začíná a končí přenos 1 bitu
- **Drdožení parametrů rozhraní** - druh konektoru, jeho vlastnosti, kolik V atd.
## 2) Linková vrstva
- **Rámcová synchronizace** - označení flagem (značkou) kde začíná a kde končí rámec
- **Zabezpečení proti chybám** - paritní bit, CRC32
- **Přístup ke sdílenému médiu** - CSMA/CD
- **Adresace (MAC)**
## 3) Síťová vrstva
- **Směrování** - hledání cesty k cílovému zařízení
## 4) Transportní vrstva
- **Rozdělení větších úseků dat na menší úseky** (segmenty)
- detekce chyb
- **Multiplex aplikací** - rozhoduje, které aplikaci patří příchozí data
## 5) Relační vrstva
- **Udržování relace** - uchovávání informací mezi jednotlivými spojeními
- např. obsah košíku v e-shopu zůstane dostupný i při příštím spojení
- **Řízení dialogu** - dodatečná pravidla pro přenos dat (kdo může posílat, kdo musí čekat,...)
- **Synchronizační body při přenosu** - při pádu spojení se znovu posílají pouze data, která předtím neprošla synchronizačním bodem (a už jsou tedy stažená)
- **Řízení transakcí**
- Transakce = skupina akcí, které musí být provedeny buď všechny, nebo žádná z nich
- Síťové rozhraní si pamatuje, které kroky transakce byly provedeny a dokáže je odvolat, pokud se nepovede dokončit i zbytek transakce
## 6) Prezentační vrstva
- **Šifrování**
- **Komprese dat** - snížení objemu dat při zachování podstatné informace
- **Převod formátování dat** - UTF-8, ASCII, Little a Big Endian
## 7) Aplikační vrstva
- **Prokoly**, které řeší skutečné potřeby aplikace/uživatele
- IMAP (143), POP3 (110), SMTP (25) - e-mailové protokoly
- **FTP** (21 server, 20 klient) - nezabezpečený přenos souborů
- **SSH** (22) - připojení k příkazovému řádku vzdáleného serveru
- **DNS** (53) - zjistí IP adresu cílového počítače podle doménového jména
- **DHCP** (67 server, 68 klient) - dynamické přidělování IP adres
- **HTTP** (80) - přenos webových stránek ze serveru na klienta
- SSL - šifrování dat při přenosu -> FTPS