Protokoly

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Oprava odkazu - původní web sniffer nefunguje.)
(Přidány Protokoly rodiny TCP/IP, konkrétní údaje o protokolech přesunuty na samostatné stránky.)
 
(Nejsou zobrazeny 3 mezilehlé verze od 1 uživatele.)
Řádka 1: Řádka 1:
[[Category:VSE]]
+
[[Category:VSE]][[Category:Internet]][[Category:CRI]][[Category:Sítě]]
[[Category:Internet]]
+
[[Category:CRI]]
+
  
== Protokol ==
+
== 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.
  
=== Protokol ===
 
: Předpis, popisující chování objektů při vzájemné komunikaci.
 
  
=== Příklady protokolů ===
 
* HTTP
 
: přenos webových stránek
 
: nepleťte s HTML!
 
* FTP
 
: přenos souborů
 
* SSL
 
: šifrování dat při přenosu
 
* POP3, IMAP, SMTP
 
: přenos elektronické pošty
 
* DNS
 
: převod slovních názvů serverů na IP adresy.
 
  
== Protokol HTTP: příklad ==
+
== 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].
  
=== Postup při stažení webové stránky ===
 
# Uživatel zadá adresu do adresního řádku prohlížeče
 
# Prohlížeč osloví DNS server
 
:* DNS server přeloží textovou adresu na IP adresu (například '''www.oauh.cz => 212.111.4.142''').
 
# Prohlížeč naváže spojení se servrem pomocí IP adresy
 
:; => prohlížeč pošle příkaz '''GET nazev_stranky.htm''' (platí pro HTTP verze 0.9)
 
:; <= server najde soubor a pošle zpět obsah souboru (HTML kód)
 
# Prohlížeč vykreslí stránku podle popisu v jazyce HTML
 
  
  
<div class="Priklad">'''Úkol: Vyzkoušejte si ručně, co musí udělat prohlížeč!'''
+
== Stavové a bezestavové protokoly ==
  
# Najděte IP adresu serveru www.oauh.cz pomocí programu <code>nslookup</code>.
+
; Bezestavový protokol
# Zadejte IP adresu na stránky [https://websniffer.cc/ WebSniffer.cc].
+
* Server řeší každý požadavek zcela nezávisle.
# Stránka vám vypíše kompletní komunikaci se serverem.
+
* Provedení požadavku je zcela nezávislé na tom, jaké další požadavky byly v&nbsp;minulosti provedeny.
 +
* Ihned po provedení požadavku může server zapomenout veškeré informace o&nbsp;požadavku.
 +
* Příklady: HTTP, DNS,...
 +
 
 +
; Stavový protokol
 +
* Provedení požadavku závisí na tom, jaké požadavky byly v&nbsp;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>
 +
 +
<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>
 +
 +
 +
 +
== Příklady protokolů rodiny TCP/IP ==
 +
* HTTP, DNS, protokoly elektronické pošty,...
 +
* TCP a&nbsp;UDP
 +
* IP (verze 4 a verze 6), ICMP
 +
* Ethernet
 +
 +
Viz [[Protokoly aplikační vrstvy]], [[Protokoly rodiny TCP/IP]].
 +
  
  
=== Obrázky a jiné objekty ve stránkách ===
+
== Související stránky ==
Pokud je v popisu stránky obrázek či jiný vložený objekt, prohlížeč naváže nové spojení a vyžádá si stažení souboru s obrázkem (či jiným objektem).
+
* [[Protokol HTTP]], [[Protokoly rodiny TCP/IP]], [[Protokoly aplikační vrstvy]]

Aktuální verze z 14. 12. 2020, 23:53


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ů rodiny TCP/IP

Viz Protokoly aplikační vrstvy, Protokoly rodiny TCP/IP.


Související stránky

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