Protokoly

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(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ě]]
  
== Protokol ==
+
== Síťový protokol ==
: Předpis, popisující chování objektů při vzájemné komunikaci.
+
* 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 &mdash; FTP
 +
* U&nbsp;FTP běží po celou dobu připojení k&nbsp;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&nbsp;předchozí komunikaci požadavky s&nbsp;příkazem <code>CD</code>.
 +
* Museli jsme se nejprve připojit k&nbsp;serveru a&nbsp;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ý'' &mdash; skutečný efekt příkazu je závislý na předchozích požadavcích.
 +
</div>
 +
 
 +
<div class="Poznamka">
 +
; Poznámka &mdash; Dnešní webové aplikace často realizují ''stavové'' chování &mdash; to ale není vlastnost protokolu HTTP!
 +
* Pokud aplikace takové chování vyžaduje, musí prohlížeč a&nbsp;server spolupracovat navíc nad rámec běžného protokolu HTTP.
 +
*:(Například využít technologie cookies a&nbsp;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&nbsp;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&nbsp;e-shopu závisí na tom, jaké zboží jsme předtím do košíku vložili.
 +
* Zobrazení známek v&nbsp;Bakalářích závisí na tom, jaký žák je přihlášení &mdash; každý uvidí v&nbsp;reakci na stejný pokyn jiné známky.
 +
</div>
  
  
Řádka 32: Řádka 73:
 
** přenos souborů z&nbsp;klienta na server &mdash; '''nezabezpečený!'''
 
** přenos souborů z&nbsp;klienta na server &mdash; '''nezabezpečený!'''
  
 +
* TCP a&nbsp;UDP
 +
** Protokoly, které v&nbsp;rodině protokolů TCP/IP řeší úkoly transportní vrstvy.
  
 +
* IP
 +
** Protokol pro přenos dat na síťové vrstvě.
  
 
Více protokolů a&nbsp;odpovídající čísla portů viz [[Protokoly aplikační vrstvy]].
 
Více protokolů a&nbsp;odpovídající čísla portů viz [[Protokoly aplikační vrstvy]].

Verze z 4. 5. 2020, 09:57


Obsah

Síťový protokol


Rodina protokolů


Stavové a bezestavové protokoly

Bezestavový protokol

Stavový protokol

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ů

Nepleťte s jazykem HTML — to je jazyk pro popis vzledu webové stránky!
Úkol — Najděte IP adresu serveru
  • Najděte IP adresu serveru www.oauh.cz pomocí programu nslookup v příkazovém řádku Windows:
nslookup www.oauh.cz
  • Najděte IP adresu jiného serveru.

Více protokolů a odpovídající čísla portů viz Protokoly aplikační vrstvy.


Související stránky


Další zdroje

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje