Služby přenosu souborů

Z Maturita 2012
Přejít na: navigace, hledání

http://www.explorer.cz/cz/publish/43/Ftp-prenos-souboru.html
http://4iz110.vse.cz:41004/4iz110/cv4/cv4.html

Obsah

FTP

  • protokol, ale i název služby
  • určen pro předávání souborů ze serveru a na server
  • pracuje na aplikační vrstvě
  • jedná se o jeden z nejstarších protokolů a zároveň nejčastěji používanou službu pro předávání dat na Internetu
  • funguje na principu klient - server
  • používá interaktivní styl komunikace, umožňuje řízení přístupu (přihlašování login/heslo)
  • porty
    • TCP/21 - slouží k řízení, jsou jím přenášeny příkazy
    • TCP/20 - slouží k vlastnímu přenostu dat


Přenos dat

  • přenos dat je 8-bitový
  • 2 režimy přenosu dat
    • textový - dochází ke konverzi konců řádků, pokud je zdrojový a cílový systém rozdílný - Windows používá jako konce řádků posloupnost znaků CR LF, unixové systémy používají pouze znak LF
    • binární - v binárním režimu není do dat nijak zasahováno


Nejčastější použití

  • sdílení dat (hudba, videa, vlastní tvorba, apod.) - v tomto ohledu ztrácí FTP svou dřívější pozici, protože většina uživatelů (především méně technicky zdatných) používá na použití jednodušší a přístupnější sdílecí servery (ulož.to, czshare.com, ...)
  • správa účtů internetových stránek


Jak protokol funguje

    • Protokol FTP stanoví pravidla komunikace mezi klientem a serverem. Jedná se o spojovanou spolupráci. Klient naváže spojení se serverem, předá uživatelské jméno a heslo. Po navázání spojení může probíhat práce s adresáři a soubory a přenos dat mezi klientem a serverem. Spojení se obvykle ukončí z podnětu klienta. Úsek komunikace mezi otevřením a uzavřením spojení se nazývá relace.
    • V protokolu FTP se užívá pro server dvou standardních portů (20, 21). Server na nich očekává a vyřizuje požadavky klientů. Pakety na portu 21 slouží k řízení komunikace - řídicí kanál. Port 20 slouží k vlastnímu přenosu dat - datový kanál. Porty klienta jsou dynamické a přiděluje je OS
    • Řídicí kanál se po dobu relace otevře jen jednou a zůstává otevřen, zatímco datový se po přenosu dat (souboru) uzavře a pro každý datový přenos je nutné kanál znovu otevřít.
    • Podle toho, kdo otevírá datový kanál, se rozlišuje aktivní a pasivní režim spojení. Přenos souborů probíhá v textovém nebo binárním režimu v závislosti na typu souboru nebo potřebách uživatele. Chování serveru nebo klientského programu je určeno konfigurací. O komunikaci lze vést na obou stranách spojení protokol
  • Anonymní a neanonymní služba přenosu souborů
    • Anonymní servery umožňují přihlášení uživatele pomocí standardního uživatelského jména: anonymous nebo ftp. K zadání hesla obvykle stačí adresa elektronické pošty ve tvaru user@host. Umožňují prohlížení veřejných adresářů (obvykle pub a jeho podadresáře) a stahování souborů na lokální počítač. Zpravidla nepovolují zápis do struktury souborů serveru.
    • Neanonymní servery vyžadují účet uživatele pro daný server. Účet se skládá se z přihlašovacího jména a hesla. Určuje oprávnění uživatele k souborům a adresářům. Seznam účtů vytváří správce služby


Aktivní a pasivní režim spojení

  • připojení k FTP serveru je možné realizovat v aktivním nebo pasivním režimu. Pasivní režim je bezpečnější, ale ne vždy je technicky realizovatelný
  • druh spojení je určen podle toho, kdo otevírá datový kanál (klient / server)


Aktivní režim

  • jestliže datový kanál otevírá server, jde o aktivní režim spojení
  • na portu TCP/20 jsou přenášena data (data connection)
  • připojení na přenos dat navazuje server a klient naslouchá
  • problém zpravidla nastává, když se klient připojuje z privátní sítě a jeho adresa je překládána pomocí NATu
Ftp-aktivni-rezim.png


Pasivní režim

jestliže klient, jde o pasivní režim spojení (naslouchá server). V ladicím režimu klientského programu lze vidět příkazy, které nastavují aktivní nebo pasivní režim spojení. Aktivní spojení klienta lze vypsat pomocí příkazu netstat -p tcp
    • V aktivním režimu oznámí klient serveru příkazem PORT svou IP adresu a port, kde bude očekávat příchod datových paketů serveru. Při pasivním spojení klient nejdříve požádá příkazem PASV server, aby přešel do pasivního režimu. Když server souhlasí, pošle na řídícím kanálu odpověď s uvedením své IP adresy a portu, na němž datové spojení očekává.


Charakteristické příkazy aktivního a pasivního režimu

Aktivní

PORT 146,102,64,219,4,150
200 command successfully executed

Pasivní

PASV
227 Entering Passive Mode (195,113,144,229,220,154)
  • Klientské programy
    • Rozeznáváme textové a grafické klientské programy, a to podle typu uživatelského rozhraní. Mezi textově orientované klientské programy FTP patří např.: MS DOS klient (příkazová řádka DOS), MS DOS Clarkson FTP klient (volně šiřitelný vzorový program), ale i aktuální MS FTP klient Windows XP.
    • V současné době převládají grafické klientské programy. K nim patří WS_FTP, FileZilla nebo interní grafický klient v programu WinCmd / TotalCmd. Prohlížeče stránek WWW bývají rovněž vybaveny interním klientským FTP programem. Data získaná z FTP serverů jsou prezentována v textové podobě doplněné o grafické prvky jako stránky HTML.
    • Výhody neváhody graf/text klientů
      • Grafické klientské programy FTP mají snadný způsob ovládání a podporují různé funkce. Usnadňují konfiguraci programu, umožňují vytvářet a ukládat profily relací, a obecně automatizují co nejvíce funkcí. V konečném účinku nastavení jejich chování a ovládání poněkud zakrývá základní způsob komunikace a charakter služby.
      • Textové klientské programy se ovládají méně snadno, avšak někdy bývá jejich repertoár funkcí bohatší. Generování výstupu v textovém tvaru je rychlejší než generování např. HTML stránky s obsahem adresáře. Vyžadují lepší porozumění protokolu přenosu souborů a TCP/IP vůbec. Pro výuku jsou vhodnější.
  • Režimy přenosu
    • V různých operačních systémech existují rozdíly v reprezentaci textových souborů. Textový soubor obsahuje tisknutelné znaky a některé řídicí znaky. Dělí se na řádky. Konce řádků jsou v různých OS zobrazeny odlišně. V DOS/Windows: CR+LF. UNIX: LF, MAC: CR.
    • Při přenosu textového souboru v režimu ASCII dochází u různých operačních systémů k převodu zobrazení. V režimu binary se libovolný soubor přenáší beze změny zobrazení a délky. Binární přenos slouží např. k přenosu obrázků (např. typu .gif, .jpeg, aj), komprimovaných souborů, atp


Výhody

    • serverová část je jednodušší, než běžný HTTP server (neplatí pro odlehčené HTTP servery)
    • na rozdíl od HTTP má protokol širší možnosti (nastavení práv, mazání, upload, …)


Nevýhody

    • hesla a soubory jsou ve standardním protokolu zasílána jako běžný text (nejsou šifrovaná)
      • snižuje bezpečnost (ohrožuje jméno, heslo, ale i přenášená data)
      • existují rozšíření FTP protokolu, která tento nedostatek odstraňují (např. FTPS)
    • FTP server má delší odezvy
      • nemožnost sloučit přenos více (malých) souborů do jednoho zvyšuje časovou režii i zátěž serveru
    • v některých sítích je povolen pouze protokol Hypertext Transfer Protocol|HTTP (tj. povoleno pouze prohlížení webových stránek)


Zabezpečení

  • FTP protokol v současné době už není považován za bezpečný → byla pro něj definována některá rozšíření
  • možnosti zabezpečení komunikace:
    1. VPN - privátní tunel, jedná se o zabezpečenou komunikaci i když FTP zabezpečeno není (šifrován je vlastní tunel, nikoli samotná FTP komunikace)
    2. FTPS - obdoba HTTPS (předají si klíče, pak šifrují)
    3. SFTP- postaveno nad jiným zabezpečeným protokolem (nejčastěji SSH)
    4. SCP - viz SFTP, ale nepoužívá pro zabezpečení SSH
      • programy - např. WinSCP, Putty (terminál),...
FTPS:
	Client ------------------------------> Server
	       <------------------------------
	               veřejný klíč

	KS - Š --------------------------------- Š -> KS
	     |	                                 | 
	    Kvs			

SSH

SSH (Secure Shell) je zabezpečený komunikační protokol v počítačových sítích, které používají TCP/IP (port 22). SSH byl navržen jako náhrada za telnet a další nezabezpečené vzdálené shelly (rlogin, rsh apod.), které posílají heslo v nezabezpečené formě a umožňují tak jeho odposlechnutí při přenosu pomocí počítačové sítě. Šifrování přenášených dat, které SSH poskytuje, slouží k zabezpečení dat při přenosu přes nedůvěryhodnou síť.

  • Výhody
    • SSH používá zabezpečený protokol čímž se liší od předchůdců.
Osobní nástroje
Jmenné prostory
Varianty
Akce
Navigace
Nástroje