wikipedia.infostar.cz

Protokol přenosu souborů

Protokol přenosu souborů je síťový protokol zvyklý na převodová data z jednoho počítače k jinému přes síť takový jako internet.

FTP je protokol přenosu souborů pro vyměnění a obsluhující soubory přes TCP počítačovou síť. FTP klient může se připojit na FTP server manipulovat s informacemi o tom serveru.

Nepřehlédněte: Tato stránka obsahuje strojový překlad textu z anglické encyklopedie Wikipedia. Pokud budou některé pasáže špatně srozumitelné, zkuste se podívat i na text v originále, který najdete pod odkazem File Transfer Protocol. Překlad byl vytvořen pomocí překladače Eurotran.



Metody spojení

FTP přejede TCP. To defaults poslouchat na portu 21 pro přícházející spojení od FTP klientů. Spojení s tímto portem od FTP klienta tvoří potok kontroly na kterém rozkazy jsou přešel od FTP klienta k FTP serveru a na příležitosti od FTP serveru k FTP klientovi. FTP používá ven-- kontrola skupiny, který znamená, že to používá oddělené spojení pro kontrolu a data. Tak, pro aktuální přenos souborů se konat, různé spojení je vyžadováno který je volal datový proud. Se spoléhat na režim převodu, proces nastavení nahoru datový proud je různý. Port 21 pro kontrolu (nebo program), port 20 pro data.

V aktivním režimu, FTP klient otevře dynamický port, pošle FTP server dynamické portové číslo na kterém to poslouchá přes potok kontroly a vyčkávání pro spojení od FTP serveru. Když FTP server zahájí datové spojení s FTP klientem to sváže port zdroje k přístavu 20 na FTP serveru.

Aby používal aktivní režim, klient pošle Port příkaz, s IP a port jako argument. Formát pro IP a port je “h1, h2, h3, h4, p1, p2”. Každé pole je desítková reprezentace 8 kousků hostitele IP, následovaný voleným datovým portem. Například, klient s IP 192.168.0.1, poslouchat na portu 49154 pro data spojení pošle příkaz “Port 192,168, 0, 1,192, 2”. Pole portu by měla být interpretována jako p1 × 256 + p2 = port, nebo, v tomto příkladě, 192 × 256 + 2 = 49154.

V pasivním režimu, FTP server otevře dynamický port, pošle FTP klienta server je IP adresa připojit se na a port na kterém to poslouchá (16-ti bitová hodnota rozbitá do vysokého a nízkého bajtu, jak vysvětlil to nahoře) přes potok kontroly a vyčkávání pro spojení od FTP klienta. V tomto případě, FTP klient sváže port zdroje spojení s dynamickým portem.

To používá pasivní režim, klient pošle PASV příkaz ke kterému server by odpověděl něčím podobný k “227 vstupujícího pasivního režimu (127, 0, 0, 1,192, 52)”. Syntax IP adresa a port jsou stejní jak pro argument k přístavnímu příkazu.

V prodlouženém pasivním režimu, FTP server operuje přesně stejný jako pasivní režim, nicméně to jen předá číslo portu (ne zlomený do vysokých a nízkých bajtů) a klient má předpokládat, že to připojí se na stejný IP adresa, která byla původně připojila se na. Prodloužený pasivní režim byl přidán RFC 2428 v září 1998.

Data chvíle jsou přenesena přes datový proud, potok kontroly sedí líný. Toto může způsobit problémy s velkými přenosy dat přes firewally, které měří vnější zasedání po dlouhých obdobích lenosti. Zatímco soubor může dobře být úspěšně přenesen, zasedání kontroly může být odpojeno firewallem, přimět chybu, aby byl vytvořen.

FTP protokol podporuje pokračování přerušených stahování používat příkaz odpočinku. Klient projde kolem množství bajtů to už přjímalo jako argument k příkazu odpočinku a restarty převod. V některých commandline klientech například, tam je často-zamítl ale cenný příkaz, “reget” (mínit “dostat se znovu”) ta příčina vůle přerušil “dostat” příkaz být pokračující, nadějně k dokončení, po přerušení komunikací.

Pokračovat nahraje je ne jak snadný. Ačkoli FTP protokol podporuje APPE příkaz připojit data k souboru na serveru, klient nezná přesnou pozici u kterého převod byl přerušen. To musí dostat velikost souboru nějaká jiná cesta, například přes výpis adresáře nebo používání příkaz velikosti.

V ASCII režimu (vidět dolů), pokračovat převody mohou být znepokojující jestliže klient a server používají různý konec linky charaktery.

Cíle FTP, jak nastíněný jeho RFC, být:

  1. Podporovat sdílení souborů (počítačové programy a/nebo data).
  2. To povzbudí nepřímé nebo nevyslovené použití vzdálených počítačů.
  3. To chrání uživatele před změnami v souborových akumulačních systémech mezi různé hostitele.
  4. To přenese data spolehlivě, a efektivně.

Problémy bezpečnosti

Originální FTP specifikace je neodmyslitelně nejistá metoda přenášejících souborů, protože není tam žádná metoda specifikovaná pro přenášející data v zašifrované módě. Toto znamená to pod většinou konfiguracemi sítě, jména uživatele, hesla, FTP příkazy a přenesené soubory mohou být zachyceni kýmkoli na stejné síti používat balík sniffer. Toto je problém společný mnoha specifikacím internetového protokolu psaný předchozí k vytvoření SSL, takový jako HTTP, SMTP a telnet. Obyčejné řešení tohoto problému má používat jeden SFTP (SSH přenos souborů protokol), nebo FTPS (FTP přes SSL), který přidá SSL nebo TLS šifrování k FTP jak specifikovaný v RFC 4217.

FTP návratové kódy

FTP serverové návratové kódy označí jejich stav číslicemi uvnitř nich. Krátké vysvětlení různých číslic je významy jsou dávány dole:

  • 1xx: Pozitivní předběžná odpověď. Akce žádala je zaveden ale tam bude další odpověď dříve, než to začne.
  • 2xx: Pozitivní odpověď dokončení. Akce žádala byl dokončen. Klient může teď dát nový rozkaz.
  • 3xx: Pozitivní přechodná odpověď. Příkaz byl úspěšný, ale další příkaz je vyžadován předtím server může jednat podle žádosti.
  • 4xx: Přechodný zápor odpověď dokončení. Příkaz nebyl úspěšný, ale klient je volný zkoušet příkaz znovu jak porucha je jen dočasná.
  • 5xx: Neustálý zápor odpověď dokončení. Příkaz nebyl úspěšný a klient by neměl pokoušet se opakovat to znovu.
  • x0x: Porucha byla kvůli syntaktické chybě.
  • x1x: Tato odezva je odpověď na žádost pro informace.
  • x2x: Tato odezva je souvisení odpovědi k informacím spojení.
  • x3x: Tato odezva je souvisení odpovědi k účetnictví a oprávnění.
  • x4x: Nespecifikovaný jak přesto
  • x5x: Tyto odezvy ukážou stav serverového souborového systému vis-- vis žádaný převod nebo jinou akci souborového systému.

Anomymní FTP

Hostitel, který poskytuje FTP službu může dodatečně poskytovat Anonymous FTP přístup také. V této přípravě, uživatelé přísně nepotřebují účet na hostiteli. Místo toho uživatel typicky vstoupí ' anomymní nebo ' ftp ' když vybízel pro uživatelské jméno. Ačkoli uživatelé jsou obyčejně žádal, aby poslal jejich e-mailovou adresu jako jejich heslo, malý k žádnému ověření je vlastně hrál na dodávaných datech.

Jako moderní FTP klienti typicky skrýt anomymní přihlašovací proces od uživatele, ftp klient poskytne fiktivního údaje jako heslo (protože uživatelská e-mailová adresa nemůže být známá aplikaci). Například, následující ftp uživatelští agenti specifikují zaznamenaná hesla pro anonymní přihlášení:

Protokol gopheru byl navrhnutý jako alternativu k anomymní FTP, stejně jako Trivial přenos souborů protokol a soubor opraví protokol.

Formát dat

Zatímco přenese data přes síť, několik reprezentací dat může být používáno. Dva nejvíce obyčejné převodové režimy jsou:

  1. ASCII režim
  2. Binární režim: V “binárním režimu”, stroj odesílání pošle každý bajt souboru pro bajt a jako takový příjemce uloží bytestream jak to přijme to. (FTP standard volá tento “obraz” nebo “já” režim)

V “ASCII režimu”, nějaká forma dat, která nejsou prostý text bude zkažená. Když soubor je poslal používání ASCII-převod typu, dopisy jednotlivce, čísla a charaktery jsou posláni používat jejich kódy ASCII znaku. Přijímací stroj uloží tyto v textovém souboru ve vhodném formátu (například, stroj unixu šetří to ve formátu unixu, stroj oken šetří to ve formátu oken). Proto jestliže ASCII převod je používán to může být převzato prostý text je poslán, který je uložen na přijímacím počítači v jeho vlastním formátu. Překládat mezi textem formáty by mohly znamenat substituting konec linky a konec souboru charaktery používaly na platformě zdroje s těmi na cílové platformě, např. stroj oken přijímat soubor od Unix stroj nahradí posuny o řádek s řádkový předěl- páry posunu o řádek. To by mohlo také zahrnovat charaktery překládání; například, když přenese se z IBM sálový počítač k používání systému ASCII, EBCDIC charaktery používané na sálovém počítači budou přeložené k jejich ASCII ekvivalentům, a když se přenese z používání systému ASCII k sálovému počítači, ASCII znaky budou přeložené k jejich EBCDIC ekvivalentům.

Standardně, nejvíce FTP klienti používají ASCII režim. Někteří klienti pokusí se určovat požadovaný převod-režim tím, že prohlédne jméno souboru nebo obsah, nebo tím, že stanoví zda server provozuje operační systém se stejným textovým formátem souboru.

FTP specifikace také vypíšou následující převodové režimy:

  1. EBCDIC režim - toto přenese bajty, kromě oni jsou zakódováni v EBCDIC spíše než ASCII. Tak, například, ASCII režimový server
  2. Místní režim - toto je určeno pro použití se systémy, které jsou slovo-orientovaný spíše než bajt-orientovaný. Například režim “L 36” moci být zvyklý na převodová binární data mezi dva 36-kousl stroje. V L režim, slova jsou namačkána do bajtů spíše než být vycpaný. Daný převaha bajtu-orientovaný hardware v dnešní době, tento režim je zřídka použitý. Nicméně, některé FTP servery přijmou to “L 8” jako ekvivalent bytí k “já”.

V praxi, tyto další převodové režimy jsou zřídka použité. Oni jsou nicméně ještě použití nějakým dědictvím systémy sálového počítače.

Text (ASCII/EBCDIC) režimy mohou také být kvalifikovány s druhem kontroly kočáru použitý (např. telnet NVT vozíková kontrola, ASA vozíková kontrola), ačkoli to je zřídka použité v dnešní době.

Si všimnout toho terminologie “režim” je technicky nesprávný, ačkoli běžně používaný FTP klienty. “režim” v RFC 959 se odkazuje na formát protokolového datového proudu (dělit, blok nebo stlačený), jak protichůdný k formátu základového souboru. Co je obyčejně nazvané “režim” je vlastně “typ”, který specifikuje formát souboru spíše než datový proud. FTP také podporuje specifikaci souboru uspořádat (“STRU”), který může být jeden soubor (dělit-orientované soubory), záznam (záznam-orientované soubory) nebo stránkovat (zvláštní typ určený pro použití s TENEX). Strana STRU není opravdu užitečný pro non-TENEX systémy, a RFC1123 sekce 4.1.2.3 doporučí to to ne být uskutečněn.

FTP a internetové prohlížeče

Nejnedávnější internetové prohlížeče a správcové souborů mohou se připojit na FTP servery, ačkoli oni mohou postrádat podporu pro rozšíření protokolu takový jako FTPS. Toto dovolí manipulaci vzdálených souborů přes FTP přes rozhraní podobné tomu užitý na místní soubory. Toto je děláno přes FTP URL, který nabude tvar ftp (s): / / < ftpserveraddress >     (např., ftp://ftp.gimp.org/). Heslo může volitelně být odevzdáno URL, např.:     ftp (s): / / < login >: < heslo > @ < ftpserveraddress >: < port >. Většina webu-prohlížeče vyžadují použití pasivního režimu FTP, který ne všechny FTP servery jsou schopné zacházení. Některé prohlížeče dovolí jen stahovat souborů, ale nabídnout žádný způsob, jak nahrát soubory k serveru.

FTP a zařízení Nata

Reprezentace IP adresy a čísla portu v přístavu poroučejí a PASV odpověď představuje další problém pro Network adresový překlad (Nat) zařízení v zacházení FTP. Zařízení Nata musí změnit tyto hodnoty, tak že oni obsahují IP adresa Nat-ed klienta a port volený zařízením Nata pro spojení dat. Nová adresa a port chtějí pravděpodobně se lišit v délce v jejich desítkovém reprezentování originální adresy a portu. Toto znamená to měnit hodnoty na kontrole spojení zařízením Nata musí být děláno opatrně, měnit TCP sekvenci a potvrzovací pole pro všechny následující balíky. Takový překlad není obvykle vykonávaný ve většině zařízeních Nata, ale zvláštní aplikační vrstvové brány existují pro tento účel.

FTP přes SSH (ne SFTP)

FTP přes SSH (ne SFTP) se odkazuje na praxi tunelování normální FTP zasedání přes SSH spojení.

Protože FTP používá rozmanitá TCP spojení (neobvyklý pro TCP/IP protokol, který je ještě v použití), to jde zvláště nesnadno tunelovat přes SSH. S mnoha SSH klienty, pokoušet se připravit tunel pro kanál kontroly (počáteční klient-k-spojení serveru na portu 21) bude chránit jediný ten kanál; když data jsou přenesena, FTP software podle jednoho koncového přání vytvořil nové TCP souvislosti (kanály dat) který obejde SSH spojení, a tak mít žádnou důvěrnost, ochrana integrity, etc.

Jinak, to je nutné pro SSH klientský software mít specifickou znalost FTP protokolu a monitoru a přepsání FTP řídí zprávy kanálu a samosprávně otevírá nové forwardings pro FTP datové kanály. Verze 3 SSH bezpečnost komunikací je souprava softwaru a GPL povolil FONC jsou dvě sady programů, které podporují tento režim.

FTP přes SSH je někdy odkazoval se na jak zabezpečit FTP; toto by nemělo být zmateno jinými metodami zajištění FTP, takový jak s SSL/TLS (FTPS). Jiné metody přenášejících souborů používat SSH to být nepříbuzný FTP zahrnovat SFTP a SCP; v každém tito, celá konverzace (kredit a data) je vždy chráněn SSH protokolem.

Viz též

Další četba

  • RFC 959 – protokol přenosu souborů (FTP). J. Postel, J. Reynolds. Oct-1985. Tento obsoleted předcházet RFC 765 a dříve FTP RFCs couvá k originálu RFC 114.
  • RFC 1579 – firewall-přátelský FTP.
  • RFC 2228 – FTP bezpečnostní rozšíření.
  • RFC 2428 – rozšíření pro IPv6, Nat, a prodloužený pasivní režim. Sep-1998.
  • RFC 2640 – internacionalizace protokolu přenosu souborů.
  • RFC 3659 – rozšíření k FTP. P. Hethmon. Březen-2007.

Externí odkazy