Protokoly
Z MiS
(Rozdíly mezi verzemi)
(Přidán úkol - hledání v DNS pomocí nslookup. Přidán odkaz na Protokoly pro práci s elektronickou poštou.) |
(Přidány stavové a bezstavové protokoly, přidán pojem rodina protokolů.) |
||
Řádka 1: | Řádka 1: | ||
[[Category:VSE]][[Category:Internet]][[Category:CRI]][[Category:Sítě]] | [[Category:VSE]][[Category:Internet]][[Category:CRI]][[Category:Sítě]] | ||
− | == | + | == Síťový protokol == |
− | + | * Jako protokol se v počítačových sítích označují pravidla, popisující chování objektů při vzájemné komunikaci. | |
+ | * Umožňují, aby spolu komunikovala zařízení a aplikace rozdílných výrobců — za předpokladu, že všichni výrobci dodrží komunikační protokol. | ||
+ | |||
+ | |||
+ | |||
+ | == Rodina protokolů == | ||
+ | * Problematické může být předávání dat mezi jednotlivými vrstvami síťové architektury. | ||
+ | * V praxi tedy máme skupiny protokolů jednotlivých vrstev, které jsou navrženy tak, aby mohli komunikovat nejen odesilatel s příjemcem, ale aby správně fungovala komunikace mezi jednotlivými vrstvami. | ||
+ | * Takové skupině protokolů se říká ''rodina protokolů''. | ||
+ | * V dnešních sítích používáme nejčastěji protokoly [https://cs.wikipedia.org/wiki/TCP/IP rodiny protokolů TCP/IP]. | ||
+ | |||
+ | |||
+ | |||
+ | == Stavové a bezestavové protokoly == | ||
+ | |||
+ | === Bezestavový protokol === | ||
+ | * Server řeší každý požadavek zcela nezávisle. | ||
+ | * Provedení požadavku je zcela nezávislé na tom, jaké další požadavky byly v minulosti provedeny. | ||
+ | * Ihned po provedení požadavku může server zapomenout veškeré informace o požadavku. | ||
+ | * Příklady: HTTP, DNS,... | ||
+ | |||
+ | === Stavový protokol === | ||
+ | * Provedení požadavku závisí na tom, jaké požadavky byly v minulosti provedeny. | ||
+ | <div class="Priklad"> | ||
+ | ; Příklad stavového protokolu — FTP | ||
+ | * U FTP běží po celou dobu připojení k serveru řídící spojení. Samostatné datové spojení se navazují pro přenos jednotlivých souborů. | ||
+ | * Pokud požadujeme provedení operace se soubory příkazy <code>GET</code>, <code>PUT</code>, <code>DELETE</code> či další, výsledek bude závislý na předchozí komunikaci. | ||
+ | * Umístění souboru závisí na tom, ve kterém adresáři se právě nacházíme. To jsme nastavili v předchozí komunikaci požadavky s příkazem <code>CD</code>. | ||
+ | * Museli jsme se nejprve připojit k serveru a přihlásit (příkaz <code>open</code>), jinak není možné provádět požadavek na práci se soubory. | ||
+ | * Protokol FTP tedy označujeme jako ''stavový'' — skutečný efekt příkazu je závislý na předchozích požadavcích. | ||
+ | </div> | ||
+ | |||
+ | <div class="Poznamka"> | ||
+ | ; Poznámka — Dnešní webové aplikace často realizují ''stavové'' chování — to ale není vlastnost protokolu HTTP! | ||
+ | * Pokud aplikace takové chování vyžaduje, musí prohlížeč a server spolupracovat navíc nad rámec běžného protokolu HTTP. | ||
+ | *:(Například využít technologie cookies a PHP SESSION, či využít některý framework, který využití těchto technologií zjednodušuje). | ||
+ | * Aplikace tím de-facto linkovou vrstvu, která v architektuře TCP/IP chybí. Protokol HTTP sám toto chování realizovat neumí. | ||
+ | |||
+ | ; Příklady stavového chování: | ||
+ | * Zobrazení nákupního košíku v e-shopu závisí na tom, jaké zboží jsme předtím do košíku vložili. | ||
+ | * Zobrazení známek v Bakalářích závisí na tom, jaký žák je přihlášení — každý uvidí v reakci na stejný pokyn jiné známky. | ||
+ | </div> | ||
Řádka 32: | Řádka 73: | ||
** přenos souborů z klienta na server — '''nezabezpečený!''' | ** přenos souborů z klienta na server — '''nezabezpečený!''' | ||
+ | * TCP a UDP | ||
+ | ** Protokoly, které v rodině protokolů TCP/IP řeší úkoly transportní vrstvy. | ||
+ | * IP | ||
+ | ** Protokol pro přenos dat na síťové vrstvě. | ||
Více protokolů a odpovídající čísla portů viz [[Protokoly aplikační vrstvy]]. | Více protokolů a odpovídající čísla portů viz [[Protokoly aplikační vrstvy]]. |
Verze z 4. 5. 2020, 09:57
Obsah |
Síťový protokol
- Jako protokol se v počítačových sítích označují pravidla, popisující chování objektů při vzájemné komunikaci.
- Umožňují, aby spolu komunikovala zařízení a aplikace rozdílných výrobců — za předpokladu, že všichni výrobci dodrží komunikační protokol.
Rodina protokolů
- Problematické může být předávání dat mezi jednotlivými vrstvami síťové architektury.
- V praxi tedy máme skupiny protokolů jednotlivých vrstev, které jsou navrženy tak, aby mohli komunikovat nejen odesilatel s příjemcem, ale aby správně fungovala komunikace mezi jednotlivými vrstvami.
- Takové skupině protokolů se říká rodina protokolů.
- V dnešních sítích používáme nejčastěji protokoly rodiny protokolů TCP/IP.
Stavové a bezestavové protokoly
Bezestavový protokol
- Server řeší každý požadavek zcela nezávisle.
- Provedení požadavku je zcela nezávislé na tom, jaké další požadavky byly v minulosti provedeny.
- Ihned po provedení požadavku může server zapomenout veškeré informace o požadavku.
- Příklady: HTTP, DNS,...
Stavový protokol
- Provedení požadavku závisí na tom, jaké požadavky byly v minulosti provedeny.
- Příklad stavového protokolu — FTP
- U FTP běží po celou dobu připojení k serveru řídící spojení. Samostatné datové spojení se navazují pro přenos jednotlivých souborů.
- Pokud požadujeme provedení operace se soubory příkazy
GET
,PUT
,DELETE
či další, výsledek bude závislý na předchozí komunikaci. - Umístění souboru závisí na tom, ve kterém adresáři se právě nacházíme. To jsme nastavili v předchozí komunikaci požadavky s příkazem
CD
. - Museli jsme se nejprve připojit k serveru a přihlásit (příkaz
open
), jinak není možné provádět požadavek na práci se soubory. - Protokol FTP tedy označujeme jako stavový — skutečný efekt příkazu je závislý na předchozích požadavcích.
- Poznámka — Dnešní webové aplikace často realizují stavové chování — to ale není vlastnost protokolu HTTP!
- Pokud aplikace takové chování vyžaduje, musí prohlížeč a server spolupracovat navíc nad rámec běžného protokolu HTTP.
- (Například využít technologie cookies a PHP SESSION, či využít některý framework, který využití těchto technologií zjednodušuje).
- Aplikace tím de-facto linkovou vrstvu, která v architektuře TCP/IP chybí. Protokol HTTP sám toto chování realizovat neumí.
- Příklady stavového chování
- Zobrazení nákupního košíku v e-shopu závisí na tom, jaké zboží jsme předtím do košíku vložili.
- Zobrazení známek v Bakalářích závisí na tom, jaký žák je přihlášení — každý uvidí v reakci na stejný pokyn jiné známky.
Příklady protokolů
- HTTP
- Přenos webových stránek mezi klientem a serverem.
- Podrobněji viz Protokol HTTP.
Nepleťte s jazykem HTML — to je jazyk pro popis vzledu webové stránky!
- DNS
- Převod doménových jmen serverů na IP adresy.
- Viz také Wikipedia → Domain Name System.
- Například:
www.oauh.cz
→ 212.111.4.142
- Úkol — Najděte IP adresu serveru
- Najděte IP adresu serveru
www.oauh.cz
pomocí programunslookup
v příkazovém řádku Windows:
nslookup www.oauh.cz
- Najděte IP adresu jiného serveru.
- POP3, IMAP, SMTP
- Přenos elektronické pošty.
- Více viz: Protokoly aplikační vrstvy
- SSL
- šifrování dat při přenosu
- FTP
- přenos souborů z klienta na server — nezabezpečený!
- TCP a UDP
- Protokoly, které v rodině protokolů TCP/IP řeší úkoly transportní vrstvy.
- IP
- Protokol pro přenos dat na síťové vrstvě.
Více protokolů a odpovídající čísla portů viz Protokoly aplikační vrstvy.
Související stránky
Další zdroje
- Domain Name System. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2020, 3. 3. 2020 v 11:09 [cit. 2020-05-04]. Dostupné z: https://cs.wikipedia.org/wiki/Domain_Name_System