FTP – razlika između verzija

Uklonjeni sadržaj Dodani sadržaj
Nova stranica: FTP-je internet protokol koji služi za prenos datoteka.
 
preuzeto sa srpske Wikipedije
Red 1:
'''FTP''' ( {{jez-eng|File transfer protocol}} – protokol za prenos [[datoteka]]) je najčešće korišćen protokol za prenos podataka između dva [[računar]]a na [[računarska mreža|mreži]]. FTP koristi [[TCP/IP]] za mrežnu komunikaciju, što omogućava da bude pouzdan i sesijski orijentisan.
 
FTP-je internet protokol koji služi za prenos datoteka.
FTP veza se uspostavlja na zahtjev klijentskog računara prema [[server]]skom računaru. Klijentski računar mora da posjeduje program koji implementira FTP protokol (tzv. FTP klijent), a serverski računar mora da posjeduje program koji prihvata konekcije na standardnom FTP [[port]]u i takođe razumije komande protokola FTP (tzv. FTP server ili FTP [[demon]]). Kada se veza uspostavi, klijentski program šalje korisničke komande serverskom programu, koji ih obavlja i šalje odgovor. Taj odgovor može biti poruka da je komanda uspiješno obavljena, datoteka koja je zahtijevana ili poruka o grešci.
 
==FTP komande==
Slijede najčešće korišćene komande protokola FTP:
 
{|border="1" cellspacing="0" cellpadding="2"
|-
|HELP || zahtjev za spisak svih podržanih komandi
|-
|OPEN [ime serverskog računara] || komanda kojom FTP klijent uspostavlja konekciju sa FTP serverom
|-
|USER [ime korisnika koji se prijavljuje na sistem] || komanda kojom se korisnik predstavlja udaljenom sistemu i zahtijeva pristup. Korisnik može dati svoje [[korisničko ime]] ukoliko je registrovan na udaljenom sistemu, ili standardno ime anonymous za pristup javnom direktorijumu FTP servera, ako ga ima.
|-
|PASS [[[lozinka]] predstavljenog korisnika na udaljenom sistemu] || ukoliko se koristi korisničko ime anonymous, lozinka predstavlja imejl adresu korisnika; u suprotnom se zadaje lozinka korisnika na tom sistemu.
|-
|QUIT || prekidanje FTP konekcije. Može se koristiti i ekvivalentna komanda BYE.
|-
|LS [ime* udaljenog [[direktorijum]]a/datoteke ili bez argumenata] || sa zadatim imenom udaljenog direktorijuma, ovo je zahtjev za spisak datoteka i poddirektorijuma u tom direktorijumu. Ukoliko se ne zada nijedan argument, podrazumijeva se [[tekući direktorijum]]. Ukoliko se zada ime datoteke, kao odgovor se šalje isto to ime (time možemo da potvrdimo postojanje neke datoteke).
|-
|CD [ime direktorijuma na udaljenom računaru] || promjena tekućeg direktorijuma na udaljenom sistemu
|-
|LCD [ime direktorijuma na klijentu] || promjena tekućeg direktorijuma na klijentu.
|-
|PUT [ime lokalne datoteke] || komanda za slanje lokalne datoteke na udaljeni sistem. Ukoliko je ime datoteke ispravno zadato, transakcija počinje smjesta. Poslata datoteka se smješta u tekući direktorijum na udaljenom računaru.
|-
|GET [ime udaljene datoteke] || zahtjev za prenos udaljene datoteke na lokalni računar. Datoteka se smješta u tekući direktorijum lokalnog računara.
|-
|DELETE [ime udaljene datoteke] || komanda za brisanje datoteke na udaljenom računaru
|-
|RENAME [ime udaljene datoteke] || komanda za preimenovanje datoteke na udaljenom računaru
|-
|RMDIR [ime udaljenog direktorijuma] || brisanje udaljenog direktorijuma. Direktorijum se na ovaj način može obrisati samo ako je prazan.
|-
|MKDIR [ime novog udaljenog direktorijuma] || komanda za kreiranje novog direktorijuma na udaljenom računaru.
|-
|PWD || komanda za dobijanje apsolutne staze do tekućeg direktorijuma na udaljenom računaru
|}
<small>*ime se uvijek može zadati kao samo ime direktorijuma ili datoteke, ali i kao kompletna [[staza (računarstvo)|staza]] do istog, relativna ili apsolutna.</small>
 
Kada FTP klijent uputi komandu FTP serveru, FTP server odgovara trocifrenim brojem, koji predstavlja kŏd odgovora. Kodovi su određeni FTP standardom i koriste se radi brže razmjene podataka, a klijentski programi najčešće interpretiraju ovu poruku za korisnika na jezik razumljiv ljudima. Na osnovu odgovora korisnik zna da li se komanda izvršila uspiješno i kako da nastavi rad.
 
==Arhitektura FTP sesije==
FTP sesija se zapravo sastoji od dvije sesije: sesije za transfer (DTP - {{jez-eng|Data Transfer Process}}) i kontrolne sesije (PI - {{jez-eng|Protocol Interpreter}}). Kontrolna sesija se pokreće prva i šalje zahtjev za uspostavljanje veze udaljenom računaru. Nakon provjere identiteta i uspostavljanja dvosmijerne veze, klijent je u mogućnosti da šalje komande za obavljanje različitih zadataka.
 
Uspostavljanje TCP/IP veze se vrši sa porta izabranog metodom slučajnog izbora, a [[TCP i UDP port|port]] na kojem FTP server očekuje konekcije je po standardu uvijek 21.
 
Kada klijent napravi zahtjev za prenos podataka, tada se aktivira sesija za transfer koja vrši sam prenos. Za to vrijeme kontrolna sesija mora ostati aktivna kako bi se komande i poruke mogle razmjenjivati između klijentskog i serverskog računara.
 
==FTP klijenti==
Programi koji implementiraju FTP protokol i dozvoljavaju krajnjem korisniku da uspostavi konekciju i vrši razmjenu datoteka sa udaljenim računarima se zovu FTP klijenti. U početku razvoja [[Internet]] tehnologije, ovi programi su bili vrlo prosti i dozvoljavali su samo direktan unos FTP komandi. Vremenom uz razvoj grafičkih interfejsa ovi programi su postali komforniji za rad i krajnji korisnik ne mora da zna komande da bi koristio protokol, nego sistemom prozora i menija zadaje zahtjeve. Na tržištu se nalazi mnoštvo komercijalnih kao i besplatnih programa, a najčešće dolaze i uz sam [[operativni sistem]].
 
==Kritike==
*I lozinke i sadržaji datoteka se prenose bez šifrovanja, bajt po bajt, te mogu biti presretnuti i iskorišćeni za neovlašćen pristup serveru i samom prenešenom sadržaju. Razna proširenja FTP-a rješavaju ovaj problem ubacivajući međuslojeve za šifrovanje koristeći algoritme poput [[SSL]]-a ili [[TLS]]-a.
*Protokol koristi više konekcija u jednoj transakciji, jednu za kontrolnu sesiju, po jednu za svaki zahtjev. Ovo otežava rad administratorima zaduženim za kontrolu [[zaštitni zid|zaštitnog zida]].
*U aktivnom režimu rada, klijent odabira proizvoljan port za komunikaciju sa serverom, što takođe otežava rad zaštitnog zida koji propušta sadržaj samo na određenim portovima. Ovaj problem se najčešće rješava koristeći pasivni režim rada.
*Moguće su zloupotrebe u FTP ugrađenih mogućnosti za preusmjeravanje sadržaja da bi se sadržaj preusmjerio na neki drugi računar.
*FTP ima velike zastoje u radu zbog velikog broja komandi potrebnih za početak transakcije.
*Ne postoji kontrola integriteta podataka - ako se transakcija prekine iz nekog razloga, primalac nema način da provjeri da li je primljeni sadržaj kompletan. Određeni serveri sadrže proširenja koja uz sadržaj šalju i [[MD5]] sumu (koristeći komandu <code>SITE MD5</code>) ili CRC odsječak, ali čak i tada je neophodno da ih klijent eksplicitno zatraži. U nedostatku takvih metoda, provjera kompletnosti se najčešće odvija nezavisno od FTP protokola.
*Pri prenosu datoteka, ne prenose se i dodatni podaci poput datuma kreiranja, poslednje izmjene isl. Po prijemu, datoteci se dodjeljuju trenutni datum i vrijeme. Proširenja FTP-a, poput SFTP-a, dozvoljavaju i prenos ovakvih atributa. Trenutno je u planu da se proširenjem standarda FTP-a uključe i ovakve mogućnosti, ali većina popularnih klijenata i servera za FTP to još uvijek ne podržava.
 
==Literatura==
* Brian Komar, 1999., „TCP/IP“, Kompjuter biblioteka. ISBN 86-7310-037-2
 
==Spoljašnje veze==
*[ftp://ftp.rfc-editor.org/in-notes/rfc959.txt Request For Comments - zvanični standard]
 
==Vidi još==
*[[HTTP]]
*[[TCP/IP]]
*[[Spisak internet protokola]]
 
[[category:Računarstvo]]
[[category:Internet]]
[[category:Internet protokoli]]
 
[[af:File Transfer Protocol]]
[[als:File Transfer Protocol]]
[[ar:إف.تي.بي]]
[[az:FTP]]
[[bar:File Transfer Protocol]]
[[be-x-old:FTP]]
[[bg:Протокол за трансфер на файлове]]
[[bn:ফাইল ট্রান্সফার প্রোটোকল]]
[[bs:File Transfer Protocol]]
[[ca:Protocol de transferència de fitxers]]
[[cs:File Transfer Protocol]]
[[da:FTP]]
[[de:File Transfer Protocol]]
[[el:File Transfer Protocol]]
[[en:File Transfer Protocol]]
[[eo:Dosiero-Transiga Protokolo]]
[[es:File Transfer Protocol]]
[[eu:FTP]]
[[fa:افتیپی]]
[[fi:FTP]]
[[fr:File Transfer Protocol]]
[[ga:FTP]]
[[gl:File Transfer Protocol]]
[[he:File Transfer Protocol]]
[[hr:FTP]]
[[hu:File Transfer Protocol]]
[[ia:File Transfer Protocol]]
[[id:File Transfer Protocol]]
[[is:FTP]]
[[it:File Transfer Protocol]]
[[ja:File Transfer Protocol]]
[[ka:FTP]]
[[kk:FTP]]
[[ko:파일 전송 프로토콜]]
[[ku:FTP]]
[[lt:FTP]]
[[lv:FTP]]
[[nl:File Transfer Protocol]]
[[nn:File Transfer Protocol]]
[[no:FTP]]
[[pl:FTP]]
[[pt:File Transfer Protocol]]
[[ru:FTP]]
[[simple:FTP]]
[[sk:File Transfer Protocol]]
[[sl:FTP]]
[[sq:Protokolli i transmetimit te regjistrave FTP]]
[[sr:FTP]]
[[sv:File Transfer Protocol]]
[[tg:FTP]]
[[th:เอฟทีพี]]
[[tl:FTP]]
[[tr:Dosya aktarım iletişim kuralı]]
[[uk:FTP]]
[[uz:FTP]]
[[vi:FTP]]
[[zh:文件传输协议]]