File Transfer Protocol (FTP)
është një protokoll rrjeti që përdoret për transferimin e të dhënave nga një kompjuter në një tjetër përmes një rrjeti siç është Interneti.
FTP është një protokoll për shkëmbim dhe manipulim të fajllave përmes një rrjeti kompjuterik TCP. Një FTP klient mund të lidhet me një FTP server për të manipuluar fajllat në atë server.
Përparësi e tij ndaj shërbimeve tjera është që me futjen (Loging) e kompjuterit personal në atë llogaritësin shërbyes (Server) prezantohet e gjithë amëza e llogaritësit nga aty shpejtë mund të barten ose të shkarkohen regjistra të tëra. Përpos kësaj ky shërbim ofron edhe protokollin FTP i cili e bene të mundshëm prezantimin e amëzës dhe përdorimin e saj nga një kompjuter i largët, sikur të ishte ajo amzë në vetë kompjuterin e perdoruesit.
---------------------------------------------------------------
FTP punon përmes TCP-së.Sipas parazgjedhjes lidhet portin 21 për lidhje hyrëse nga klientë FTP. Një lidhje në këtë port nga klienti FTP formon rrjedhën kontrolluese përmes së cilës barten udhëzimet nga klienti FTP tek serveri FTP dhe në raste edhe anasjelltas. FTP përdor "out-of-band control", që do të thotë se përdorë një lidhje tjetra për kontrollin dhe të dhënat. Rrjedhimisht, në mënyrë që transferi të zhvillohet, kërkohet një lidhje tjetër, e cila quhet "data stream" apo rrjedha e të dhënave. Varësisht nga mënyra e transferit, procesi i përgatitjes së data stream ndryshon. Porti 21 për kontrollim (ose program), porti 20 për të dhënat.
Në mënyrën aktive, klienti FTP hap një port dinamik, ia dërgon serverit FTP numrin e portit dinamik mbi të cilin po funksionon përmes "control stream" dhe pret një lidhje nga serveri. Kur serveri FTP fillon lidhjen e të dhënave me klientin FTP, ai lidh portin burimor me portin 20 në server.
Për të përdorur mënyrën aktive, klienti dërgon një PORT komandë, me IP-në dhe portin si argument. Formati për IP dhe port është "h1,h2,h3,h4,p1,p2". Secila fushë është një paraqitje decimale 8 bitëshe e IP-së host, e përndjekur nga një port i përzgjedhur i të dhënave. Për shembull, një klient me IP 192.168.0.1, duke "dëgjuar" mbi portin 49154 për lidhjen e të dhënave do të dërgojë komandën "PORT 192,168,0,1,192,2". Fushat e porteve duhet të interpretohen si p1×256 + p2 = port, ose, në këtë rast, 192×256 + 2 = 49154.
Në mënyrën pasive, serveri FTP hap një port dinamik, ia dërgon klientit FTP IP adresën e serverit për t'u lidhur dhe portin në të cilin po dëgjon (një vlerë 16-bitëshe e thyer në një bajt të lartë dhe të ulët, siç shpjegohet më lartë) përmes "control stream" dhe pret një lidhje nga klienti FTP. Në këtë rast, klienti lidh portin burimor të lidhjes në një port dinamik.
Për të përdorur mënyrën pasive, klienti dërgon komandën PASV ndaj së cilës serveri do të përgjigjej me diçka si "227 Entering Passive Mode (127,0,0,1,192,52)". Sintaksa e adresës IP dhe portit janë të njëjta me argumentin e PORT kamandës.
Në mënyrën e zgjeruar pasive, serveri funksionon njëjtë si në mënyrën pasive por transmeton vetëm numrin e portit (jo të thyer në bajta të lartë dhe të ulët) dhe klienti pandeh se po lidhet me adresën e njëjtë IP që ishte lidhur më parë. Mënyra e zgjeruar pasive ishte shtuar nga RFC 2428 në Shtator 1998.
Derisa transferohen të dhënat përmes data stream, control stream qëndron pa vepruar. Kjo mund të shkaktojë probleme me transfera të mëdhaja me firewall të cilat ndalin seancat pas periudhave të gjata të qëndrimit në këtë mënyrë të control stream. Derisa skedat mund të transferohen me sukses, seanca control mund të çlidhet nga firewall, duke shkaktuar ndonjë error.
Protokolli FTP përkrah vazhdimin e shkarkimeve të ndërprera duke përdorur komandën REST. Klienti bart numrin e bajteve që tanimë ka pranuar si argument tek komanda REST dhe ri-fillon transferin. Në disa klientë të linjave udhëzuese (command-line clients) për shembull, ekziston një komandë shpesh e injoruar por majft e dobishme, "reget" (që do të dhotë "merr përsëri") që do t'i mundësojë një komande "get" të ndërprerë të vazhdojë, duke shpresuar deri në përfundim, pas një ndërprerjeje të komunikimit.
Vazdhimi i ngarkimeve, siqodoftë, nuk është kaq i lehtë. Megjithëse protokolli FTP përkrah komandën APPE për të shtuar të dhëna te një skede (fajlli) në server, klienti nuk e di pozicionin e saktë në të cilin u ndërpre transferi. Ai duhet të gjejë madhësinë e skedës në një mënyrë tjetër, për shembull përmes një liste direktorie ose duke përdorur komandën SIZE.
Në mënyrën ASCII, vazhdimi i transferit mund të shkaktojë problem të shumta nëse klienti dhe serveri përdorin karaktere kompjuterike end of line të ndryshme nga njëra tjetra.
Qëllimet e FTP-së janë, siç përshkruhen nga RFC-ja e saj:
1. Promovimi i shpërndarjes së skedave (programve kompjuterike dhe/ose të dhënave).
2. Frymëzimi i përdorimit direkt apo indirekt të remote computer (kompjuterëve nga largësia).
3. Mbrojtja e një përdoruesi nga variacionet e sistemeve të ruajtjes së skedave mes hostëve të ndryshëm.
4. Transferimi i të dhënave në mënyrë të besueshme dhe efikase.
|